分类 新闻 下的文章

Linux 用户又有一个木马需要苦恼了,就像以往一样,这些坏蛋大多部署在被劫持的 Linux 系统上,并在接受到命令后发起 DDoS 攻击。

发现了这件事的 Dr.Web 的安全研究人员说,木马似乎是通过 破壳漏洞 Shellshock 感染的这些 Linux 机器——现在仍然有很多设备没有补上这个漏洞。

该木马被命名为 Linux.DDoS.93,它首要会修改 /var/run/dhcpclient-eth0.pid 这个文件,并通过它在计算机启动时运行。如果该文件不存在,就会自己创建一个。

当该木马运行起来以后会进行初始化,它会启动两个进程,一个用于与 C&C (控制)服务器通讯,另外一个用于确保木马的父进程一直运行。

该木马启动 25 个子进程进行 DDoS 攻击

当控制该木马网络的攻击者发起攻击命令时,这个木马会启动 25 个子进程来进行 DDoS 攻击。

当前,该木马可以发出 UDP 洪泛(针对随机或特定端口),TCP 洪泛(简单的包,或给每个包随机增加至多 4096 字节的数据)和 HTTP 洪泛(通过 POST、GET 或 HEAD 请求)。

而且,该木马还能自我更新、自我删除、终止自己的进程、ping、从 C&C 服务器下载和运行文件。

当它发现某些名字时会关闭

这个木马还包括一个功能,如果在扫描计算机内存并列出活动的进程时发现如下字符串会关闭自己:

privmsg
getlocalip
kaiten
brian krebs
botnet
bitcoin mine
litecoin mine
rootkit
keylogger
ddosing
nulling
hackforums
skiddie
script kiddie
blackhat
whitehat
greyhat
grayhat
doxing
malware
bootkit
ransomware
spyware
botkiller

这些字符串大多数与信息安全领域有关,似乎是为了防止安全研究人员的反向工程研究,或者是为了避免感染该恶意软件作者自己的机器。

在感染过程中,该木马也会扫描它的旧版本,并会关闭旧版本然后安装一个新的。这意味着这是一个自动更新系统,该木马的最新版本总是会出现在被感染的机器上。

Linux 是过去一个月以来最热门的木马攻击平台,在最近 30 天内,安全研究人员已经发现、分析和曝光了其它五个 Linux 木马: RexPNScanMiraiLuaBotLinux.BackDoor.Irc

之前我们还哀叹,谷歌的 AngularJS 2.0 的稳定版看起来年底也未必能见到,然而,在 9 月 14 日谷歌总部召开的一个会议上,突然就宣布最终的稳定版发布了——而这距离前一个版本 RC7 的发布才过去了一天。

AngularJS 2.0 的开发始于 2014 年秋天,最初计划是一年后发布正式版本,然而随着项目的日渐庞大,就日复一日的拖延下来了,不过,还好,终于在两年后正式发布了。

这个最终版,按照其官方的说法是:

“最终版”意味着什么?意味着它的稳定性已经得到了大范围用例的验证;意味着它已经针对产品化、文件尺寸和性能进行过优化;意味着借助预编译技术和内置的延迟加载机制,我们可以确信你能发布出最快、最小的应用,并且横跨浏览器、桌面和移动平台;意味着为开发人员准备的 Angular CLI 和风格指南得到了大幅强化。

为什么这么期待 AngularJS 2 呢?这个框架是一个革命性的 Web 开发框架,它在 2010 年 10 月的时候,采用微软的 TypeScript 重写后,更是如虎添翼,不但性能提升、功能增强,资源占用也更少了。不过,有一个不好的消息是, AngularJS 2.0 和 1.x 是不兼容的,因此如果是用 1.x 编写的应用,可能面临着大量的重写和移植工作。

作为一个持续了两年才开发完的前端框架,它的功能特性和亮点显然不是我们一篇短文就可以道尽的,因此这里只是提到一些最引人注目的特性:

  • 提前(AOT)编译
  • 内置按需加载
  • 新的 Angular 命令行接口
  • Angular 样式指南
  • 支持 ES5 和 ES6
  • 集成 React Native 和 NativeScript
  • ……

好了,渴望尝试的 AngularJS 用户们,可以从其官网 https://angular.io/或[GitHub](https://github.com/angular/angular)上下载,这里还有一个[五分钟入门教程](https://angular.io/docs/ts/latest/quickstart.html)。(显然,你知道的,这些都是墙外的。)另外,也有一个官方认可的中文站可以去访问:https://angular.cn/

[更新] 文末补充了小米公司的申明。

你是否拥有一台小米,HTC,三星或者是一加的 Android 手机呢?

如果回答是肯定的,那么你应该意识到,几乎所有的智能手机厂商提供的定制 ROM,如 CyanogenMod、Paranoid Android、 MIUI 或者一些其它的 ROM 都带有预装主题和用来提高设备的性能的应用。

但是,对于这些设备制造商预装的程序和服务,你是否多有考虑呢?它们的目的是什么,它们是否会对个人的安全或者是隐私构成威胁。

出于这些问题答案的好奇心,一位来自荷兰的计算机专业的学生,同时也是一位安全爱好者,他拥有一台小米 4 智能手机,
正着手调查一个名为 “AnalyticsCore.apk” 的神秘预装程序。它 7 * 24 小时不间断的在后台运行,即使你删除它了还会重新出现!

小米是世界上最大的智能手机制造商之一,此前一直被批评为传播恶意软件,(它)发售预装了间谍软件/广告软件和 Android 操作系统的分支版本的手机,在没有经过用户同意的情况下,从设备中秘密窃取用户的数据

小米能够在你的设备上静默安装任何应用

在向该厂商的支持论坛询问 AnalyticsCore 的目的无果之后, Thijs Broenink 开始着手逆向此应用的代码,发现这个应用每隔 24 小时,都会从公司的服务器检查是否有该程序的更新。

在这些查询请求里,该应用将会发送设备的识别信息,包括手机的 IMEI、型号、MAC 地址、随机数、软件包名称及其签名。

如果在服务器上检测到名为 “Analytics.apk” 软件有更新的版本,它将会在后台自动的开始下载,然后安装,这一切都发生在用户不知情的情况下。

“我无法在 Analytics 中找到任何证据,所以我猜测应该有权限更高的小米应用在后台进行安装。”Broenink 在他的博客中如是说。

当前的问题是,你的设备如何验证此 APK 的正确性,以确保它真的是一个 “Analytics” 程序呢。

Broenink 发现,手机端根本没有进行任何的检查就将此程序安装到用户的手机中,这也就意味着黑客有利用此漏洞的可能。

这也就意味着小米能够远程静默的将任何程序在服务器端重命名为“Analytics.apk”后安装到用户的手机。

“所以看起来小米可以在 24 小时内把他们想要静默安装的任何(签名的?)程序包替换到你的手机上。我无法确定这个应用程序安装器什么时候被调用。但是我猜测,要是将自己的程序重命名为 Analytics.apk 后放置在正确的目录下,然后等着就会被安装了。”Broenink 说。

黑客也能利用此后门

研究人员无论是在该公司网站还是 Google 找了许久都没有发现 AnalyticsCore 程序的实际目的。很难说小米为什么在数百万的设备上放置这个神秘的“后门”。

正如我以前说过的:没有一个后门是只有他的创造者才能访问的。

所以,黑客或者是情报机构,是不是可以利用小米的这一后门在 24 小时内将恶意软件推送到数百万的设备上呢?!

更加讽刺的是,整个过程采用 HTTP 连接,也就是说它很容易受到中间人攻击。

“这听起来是一个致命的漏洞,因为它们拥有我的 IMEI 和设备的型号,它们可以专门为我的设备安装任何 APK。”Broenink 说。

即使在小米论坛,也有很多的用户对此神秘的 APK 及其目的表示疑虑。

“根本不知道这货的目的,就算是删除了它,一段时间后,它又出现了。”一位网友说道。
另一个用户表示,“如果查看电池用量程序,你会发现这货总是在最上面,鬼知道它吃了我多少电量。”

如何阻止它秘密安装呢?作为一个临时的解决方案,小米用户可以安装一个防火墙应用,然后在其中屏蔽所有小米相关域名的网络连接。

截至目前,在公司论坛上还没有小米团队的成员对 Broenink 提出的问题表示回应。我们将会持续关注此事件。

同时,如果你是小米的用户,如果在使用过程中有神秘奇怪的事情,在下方评论,以让我们知道。

来自小米的官方申明

一位小米的发言人联系到了最初发表本文的 The Hacker News,按 Thijs Broenink 的要求给出了一份官方声明,解释了关于该后门可以让黑客及小米自己在数以百万计的受影响设备上隐秘地安装任意应用的情况,声明说到:

“AnalyticsCore 是一个内置的 MIUI 系统部件,其用途是数据分析,以帮助改善用户体验,比如 MIUI 错误分析。”

虽然该公司并没有对在无需干预的情况下就能够在你的设备上自动地后台安装任何应用表示否认或发表评论,不过该发言人澄清说黑客不能够利用这个“自升级”功能。

“出于安全考虑,MIUI 会在安装或升级过程中检查 Analytics.apk 的签名,只有该 APK 来自官方并正确签名才会安装。”发言人补充道。
“任何没有官方签名的 APK 都不能安装。因为 AnalyticsCore 是确保更佳的用户体验的关键,它支持自升级功能。从发布于 4 月/ 5 月的 MIUI V7.3 开始,会启用 HTTPS 用于以后的安全数据传输,以防止任何中间人攻击。”

我们将会进一步接触小米了解其无需用户干预自动安装应用的能力。

尽管我们对百度今年工作焦点的关注集中在这个中国搜索巨头在深度学习方面的举措上,许多其他的关键的,尽管不那么前沿的应用表现出了大数据带来的挑战。

正如百度的欧阳剑在本周 Hot Chips 大会上谈论的,百度坐拥超过 1 EB 的数据,每天处理大约 100 PB 的数据,每天更新 100 亿的网页,每 24 小时更新处理超过 1 PB 的日志更新,这些数字和 Google 不分上下,正如人们所想象的。百度采用了类似 Google 的方法去大规模地解决潜在的瓶颈。

正如刚刚我们谈到的,Google 寻找一切可能的方法去打败摩尔定律,百度也在进行相同的探索,而令人激动的、使人着迷的机器学习工作是迷人的,业务的核心关键任务的加速同样也是,因为必须如此。欧阳提到,公司基于自身的数据提供高端服务的需求和 CPU 可以承载的能力之间的差距将会逐渐增大。

对于百度的百亿亿级问题,在所有数据的接受端是一系列用于数据分析的框架和平台,从该公司的海量知识图谱,多媒体工具,自然语言处理框架,推荐引擎,和点击流分析都是这样。简而言之,大数据的首要问题就是这样的:一系列各种应用和与之匹配的具有压倒性规模的数据。

当谈到加速百度的大数据分析,所面临的几个挑战,欧阳谈到抽象化运算核心去寻找一个普适的方法是困难的。“大数据应用的多样性和变化的计算类型使得这成为一个挑战,把所有这些整合成为一个分布式系统是困难的,因为有多变的平台和编程模型(MapReduce,Spark,streaming,user defined,等等)。将来还会有更多的数据类型和存储格式。”

尽管存在这些障碍,欧阳讲到他们团队找到了(它们之间的)共同线索。如他所指出的那样,那些把他们的许多数据密集型的任务相连系在一起的就是传统的 SQL。“我们的数据分析任务大约有 40% 是用 SQL 写的,而其他的用 SQL 重写也是可用做到的。” 更进一步,他讲道他们可以享受到现有的 SQL 系统的好处,并可以和已有的框架相匹配,比如 Hive,Spark SQL,和 Impala 。下一步要做的事情就是 SQL 查询加速,百度发现 FPGA 是最好的硬件。

这些主板,被称为处理单元( 下图中的 PE ),当执行 SQL 时会自动地处理关键的 SQL 功能。这里所说的都是来自演讲,我们不承担责任。确切的说,这里提到的 FPGA 有点神秘,或许是故意如此。如果百度在基准测试中得到了如下图中的提升,那这可是一个有竞争力的信息。后面我们还会继续介绍这里所描述的东西。简单来说,FPGA 运行在数据库中,当其收到 SQL 查询的时候,该团队设计的软件就会与之紧密结合起来。

欧阳提到了一件事,他们的加速器受限于 FPGA 的带宽,不然性能表现本可以更高,在下面的评价中,百度安装了 2 块12 核心,主频 2.0 GHz 的 intl E26230 CPU,运行在 128G 内存。SDA 具有 5 个处理单元,(上图中的 300MHz FPGA 主板)每个分别处理不同的核心功能( 筛选 filter 排序 sort 聚合 aggregate 联合 join 分组 group by

为了实现 SQL 查询加速,百度针对 TPC-DS 的基准测试进行了研究,并且创建了称做处理单元(PE)的特殊引擎,用于在基准测试中加速 5 个关键功能,这包括 筛选 filter 排序 sort 聚合 aggregate 联合 join 分组 group by ,(我们并没有把这些单词都像 SQL 那样大写)。SDA 设备使用卸载模型,具有多个不同种类的处理单元的加速卡在 FPGA 中组成逻辑,SQL 功能的类型和每张卡的数量由特定的工作量决定。由于这些查询在百度的系统中执行,用来查询的数据被以列格式推送到加速卡中(这会使得查询非常快速),而且通过一个统一的 SDA API 和驱动程序,SQL 查询工作被分发到正确的处理单元而且 SQL 操作实现了加速。

SDA 架构采用一种数据流模型,加速单元不支持的操作被退回到数据库系统然后在那里本地运行,比其他任何因素,百度开发的 SQL 加速卡的性能被 FPGA 卡的内存带宽所限制。加速卡跨整个集群机器工作,顺便提一下,但是数据和 SQL 操作如何分发到多个机器的准确原理没有被百度披露。

我们受限与百度所愿意披露的细节,但是这些基准测试结果是十分令人鼓舞的,尤其是 Terasort 方面,我们将在 Hot Chips 大会之后跟随百度的脚步去看看我们是否能得到关于这是如何连接到一起的和如何解决内存带宽瓶颈的细节。


via: http://www.nextplatform.com/2016/08/24/baidu-takes-fpga-approach-accelerating-big-sql/

作者:Nicole Hemsoth 译者:LinuxBars 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

MySQL 开发团队于 12 日宣布 MySQL 8.0.0 开发里程碑版本(DMR)发布!

可能有人会惊奇 MySQL 为何从 5.x 一下跳跃到了 8.0。事实上,MySQL 5.x 系列已经延续了很多年,从被 Oracle 收购之前就是 5.1,而收购之后一直维持在 5.x,比如 5.5,5.6,5.7 等等。其实,如果按照原本的发布节奏,可以把 5.6.x 当成 6.x,5.7.x 当成 7.x。所以,只是换了版本命名方式而已。

不过这次发布的 MySQL 8.0.0 开发版本还是有不少亮点的。

MySQL 8.0.0 亮点

  • 事务性数据字典,完全脱离了 MyISAM 存储引擎
    真正将数据字典放到了 InnoDB 中的一些表中,从此不再需要 FRM、TRG、PAR 文件啦!Information Schema 现在以数据字典表的一个视图出现。原则上可以完全不需要 MyISAM 数据表类型了,所有的系统表都可以放到 InnoDB 之中。
  • SQL 角色
    角色是一系列权限的集合。可以创建角色,给某个用户授予和去除角色。这对于权限管理很方便。
  • utf8mb4 字符集将成为默认字符集,并支持 Unicode 9
    默认字符集将从 latin1 改为 utf8mb4,默认 定序 collation 将从latin1_swedish_ci 改为 utf8mb4_800_ci_ai
  • 不可见索引
    可以将一些索引设置为不可见,这样 SQL 优化器就不会用到它,但是它会继续在后台保持更新。当有需要时,可以随时恢复可见。
  • 对二进制数据可以进行位操作
    不仅仅可以对 BIGINT进行位操作,从 8.0 开始也支持对 [VAR]BINARY/[TINY|MEDIUM|LONG]BLOB进行位操作了。
  • 改进了对 IPv6 和 UUID 的操作
    INET6_ATON()INET6_NTOA() 现在可以进行位操作了,因为INET6_ATON()现在返回的是VARBINARY(16) 数据类型(128 位)。改进了 UUID 操作,引入了三个新的函数 UUID_TO_BIN(), BIN_TO_UUID()IS_UUID() 。MySQL 并没有特殊的 IPv6 和 UUID 数据类型,而是以VARBINARY(16) 数据类型保存的。
  • 持续性的全局变量
    可以用 SET PERSIST 来设置持久性的全局变量,即便服务器重启也会保持下来。
  • 性能数据库 Performance Schema 的改进
    比如对性能数据库增加了 100 多个索引,可以检索更快。
  • 重构 SQL 分析器
    持续不断的逐步改进 SQL 分析器。旧的分析器由于其语法复杂性和自顶向下的分析方式从而有严重的限制,导致难以维护和扩展。
  • 成本模型
    InnoDB 缓冲区现在可以估算主内存缓存区中的有多少表和索引,这可以让优化器选择访问方式时知道数据是否可以存储在内存中还是必须存储到磁盘上。
  • 直方图 Histograms
    通过使用直方图,用户或 DBA 可以对数据分布进行统计,这可以用于查询优化以寻找优化的查询方案。
  • 改进扫描性能
    改进了 InnoDB 范围查询的性能,可提升全表查询和范围查询 5-20% 的性能。
  • 重构 BLOB
    重构 BLOB 加速了片段读取/更新操作,可以加速 JSON 数据的操作。
  • 持久化自增值
    InnoDB 会持久化保持自增序列的最大值到 redo 日志中。这个改进还修复了一个非常老的 199 号 bug。
  • 临时表
    取消对压缩临时表的支持,并存储临时表的元数据到内存中。

其它的更多重要改进和细节,请参考 MySQL 8.0.0 发布公告这里

下载

目前 8.0.0 还是开发版本,如果你希望体验和测试最新特性,可以从 dev.mysql.com 下载各个平台的安装包。不过,MySQL 软件包是越来越大了,Linux 平台上的二进制打包后就将近有 1 GB。如果在产品环境中使用,在 8.0 没有进入稳定版本之前,请继续使用 5.7 系列,当前最新的版本是 5.7.15 GA 版本——这只有 600 M 多。

最新的源代码放在 GitHub 上,感兴趣的朋友可以去看看,其中有不少是中国人的贡献。

这是 Apple 开源 Swift 之后首次发布的重大版本。Swift 3 是一个重要版本,包含了多达上百项的主要改进,包括对语言核心和标准库的改进,Linux 版本增加了核心库,并首次发布了 Swift 包管理器

Swift 3 不兼容于之前发布的 2.2 和 2.3,也就是说,之前为 2.2 和 2.3 开发的代码,需要经过修改才能运行在 3.0 上。具体的不兼容情况和迁移信息请参见: SE-0005SE-0006迁移指南。这些改变主要来自对标准库 API 的命名,也完全改变了导入 Objective-C API 到 Swift 的方式。不过 Xcode 8.0 代码迁移工具能自动处理许多必要的源代码变化。

Swift 3.0 的文档也相应更新了,更多语言细节可以参考这里,或免费的 iBook。

平台支持方面,Linux 版本现在包括了 Swift 核心库Swift 包管理器。Ubuntu 14.04 和 15.10 用户可以下载官方发布的二进制版本。而对 Mac 平台, Swift 3.0 会作为 Xcode 8.0 的一部分出现。

源代码也可以在 GitHub 上下载到: