Catalin Cimpanu 发布的文章

OpenBSD logo

在 OpenBSD 的测试快照中加入了一个新的功能,每次当 OpenBSD 用户重启或升级计算机时都会创建一个独特的内核。

该功能被称之为 KARL( 内核地址随机化链接 Kernel Address Randomized Link ),即以随机的顺序重新链接其内部的内核文件,从而每次生成一个独特的内核二进制文件。

当前的稳定版中,OpenBSD 内核使用预先定义好的顺序来链接和加载内核二进制文件中的内部文件,这导致所有用户的内核都是一样的。

KARL 与 ASLR 不同

KARL 由 Theo de Raadt 开发。KARL 会在安装、升级和重启时生成一个新的内核二进制文件。当用户启动、升级和重启机器时,最新生成的内核会替换已有的内核二进制,而操作系统会生成一个新的内核,其将用于下次启动、升级和重启,周而复始。

不要将 KARL 和 ASLR( 地址空间布局随机化 Address Space Layout Randomization )相混淆,ASLR 是一种用于随机化应用代码执行的内存地址的技术,以防止知道应用或内核运行的特定区域而被针对性利用。

de Raadt 说,“它仍然装载在 KVA( 内核虚拟地址空间 Kernel Virtual Address Space )中的同样位置,这不是内核的 ASLR!”

相反,KARL 以随机的内部结构生成内核二进制,这样漏洞利用程序就不能泄露或攻击内核内部函数、指针或对象。技术性的解释参见下面内容。

一个独特的内核是这样链接的,启动汇编代码仍放在原处,接着是随机大小的空隙,然后是随机重组的其它 .o 文件。这样的结果就是函数和变量之间的距离是全新的。一个指针的信息泄露将不会暴露其它指针或对象。这或许会减少可变体系架构的组件,因为指令流的多态性被嵌套偏移的改变所破坏。

“因此,每次的新内核都是独特的。”de Raadt 说。

该功能是最近两个月开发的

该功能的开发始于五月份,首次讨论出现于六月中旬的 OpenBSD 技术邮件列表中。KARL 最近出现于 OpenBSD 6.1 的快照版本中。

“当今的情况是许多人从 OpenBSD 安装内核二进制,然后这个相同的内核二进制将运行六个月以上。当然,如果你重复地引导这个相同的内核二进制,其内存布局也是一样的。这就是现在我们所提交的代码解决的问题。”de Raadt 说,“然而, -current 快照包含了一些我正在和 Robert Peichaer 开发的将来的变化。那个变化将可以使你每次重启都启动到一个新链接的内核上。”

KARL 是一个独有的功能

一个销售针对隐私的硬件产品的初创企业 Technoethical 的创始人 Tiberiu C. Turbureanu 对 Bleeping Computer 说,这是一个 OpenBSD 独有的功能。

“在 Linux 中没有实现它,”Turbureanu 说,“看起来很棒的想法”,估计有可能该功能会移植到 Linux 内核中。

不过,Linux 刚刚增加了对 KASLR( 内核地址空间布局随机化 Kernel Address Space Layout Randomization )的支持,该功能是将 KSLR 移植到了内核本身,它会将内核加载到随机的内存地址。

该功能在上周发布的 Linux 4.12 中默认启用。这两者的不同是 KARL 是装载不同的内核到同一个位置,而 KASLR 则是装载相同的二进制到随机的位置。目标相同,做法不同。

在 Windows 中没有支持 KARL,但是微软使用 KASLR 已经很多年了。反病毒创客公司 Emsisoft 的 CTO Fabian Wosar 正在全力将 KARL 增加到 Windows 内核中。

“OpenBSD 的这个思路需要进一步发扬到(当前的 Windows 内核防护中),这样大家都可以有一个独特内核二进制了,”Wosar 在和 Bleeping Computer 的私人谈话中说到。

“即便是你知道了(随机的)内核起始点,你也不能用它来找到要定位的特定函数,函数相对于内核起始点的位置是随系统不同而不同的,”Wosar 补充说。

其它的操作系统平台,如 Windows 和 Linux ,如果拥有 KARL 将极大的改善其用户的安全性。

永恒之石

研究人员们发现有一个新的蠕虫病毒正在通过 SMB 文件共享漏洞传播,但是不同于 “想哭” WannaCry 勒索病毒的构成,这个病毒利用了 7 个 NSA 黑客工具,而不是 “想哭” WannaCry 勒索病毒的两个。

这个蠕虫病毒的存在首次发现是在周三,它感染了 Miroslav Stampar 的 SMB 文件共享的蜜罐,Miroslav Stampar 是克罗地亚政府计算机应急响应小组成员,也是用来探测和利用 SQL 注入漏洞的 SQLMAP 工具的制造者。

永恒之石利用了七个 NSA 的工具

Stampar 命名这个在样本中被发现的病毒为 “永恒之石” EternalRocks ,其基于蠕虫病毒可执行的特性,它通过 6 个以 SMB 文件共享漏洞为中心的 NSA 工具来感染暴露在外网的一台开启 SMB 端口的计算机。这些被叫做 永恒之蓝永恒战士永恒浪漫永恒协同的 SMB 漏洞被利用危害易受攻击的计算机,而 SMBTOUCHARCHITOUCH 这两个 NSA 工具起到了检测 SMB 文件共享漏洞的作用。

一旦这个蠕虫病毒获得了最初的立足点,那么它会用另一个叫做 DOUBLEPULSAR 的 NSA 工具扩散到新的易受攻击的机器上。

永恒之石名字的起源

“永恒之石”名字的起源

“想哭”勒索病毒爆发,用了一个 SMB 蠕虫病毒感染计算机并扩散给新的受害人,这影响了超过 24 万受害者。

不同于“永恒之石”,“想哭”的 SMB 蠕虫病毒只利用了永恒之蓝这一个漏洞做初步感染,然后通过 DOUBLEPULSAR 来扩散到其他的计算机上。

“永恒之石”更加复杂,但危险性较低

作为蠕虫病毒,“永恒之石”没有“想哭”那么危险,这是由于它当前不传递任何恶意的内容,然而,这并不意味着“永恒之石”不复杂,据 Stampar 说,实际恰恰相反。

首先,“永恒之石”要比“想哭”的 SMB 蠕虫病毒更加隐蔽,一旦病毒感染了一台计算机,它会发起有两个阶段的安装过程,其中另一个是延迟执行的。

在病毒的第一个安装过程阶段,永恒之石获取一个感染计算机主机的立足点,下载 tor 客户端,然后连接到它的命令控制服务器,其定位在暗网的一个 .onion 的域名上。

在一个预定的时间内,一般是 24 个小时,命令控制器会响应,这个长延迟执行进程的做法最有可能绕过沙盒安全测试环境和安全研究人员们对病毒的分析,因为没多少人愿意一整天来等命令控制器响应。

没有停止开关的域名

此外,“永恒之石”病毒也会用和一个与“想哭” SMB 的蠕虫病毒文件相同名字的一个文件,以此愚弄安全研究人员来误判它。

但是不同于“想哭”病毒,永恒之石不包括停止开关的域名,但这是安全研究人员唯一用来停止“想哭”病毒爆发的方法。

在病毒隐匿期满且命令控制器有了响应,永恒之石开始进入安装过程的第二阶段,它会下载一个名为 shadowbrokers.zip 的归档形式的第二阶段恶意组件。

这个文件能够自解压,它包含着 shadow Brokers 黑客组织在 2017 年 4 月泄漏的七个 NSA 的 SMB 漏洞工具。 这个蠕虫病毒会开始一个快速的 ip 扫描过程并且尝试连接随机的 ip 地址。

shadowbrokers.zip的内容

在 shadowbrokers.zip 压缩包里发现了 NSA 工具的配置文件。

“永恒之石”可以马上成为武器

由于该病毒集成的漏洞较多且广泛,缺少停止开关的域名,而且有它的隐匿期,如果病毒的作者决定用它来作为勒索、银行木马、远程控制或者其他功能的武器,“永恒之石”可能会对 SMB 端口暴露在互联网的易受攻击的计算机造成严重的威胁。

就目前来看,蠕虫病毒看起来像是一个试验,或者是恶意软件作者在进行测试或者为未来的威胁而做的微调。

然而,这并不意味着“永恒之石”是无害的,感染了这个病毒的计算机是通过命令控制服务器来控制,并且蠕虫病毒的制造者能够利用这个隐藏通讯连接,发送新的恶意软件到这台感染了病毒的电脑上。

此外,DOUBLEPULSAR,这是一个带有后门的植入仍然运行在感染了永恒之石的 PC 上,不幸的是,该病毒的作者没有采取任何措施来保护这个 DOUBLEPULSAR 的植入,这意味这缺省其运行在未被保护的状态下,其他的恶意的用户能使用它作为把感染了永恒之石的计算机的后门,发送他们自己的恶意软件到这些感染病毒的 PC 上。

关于这个病毒的感染过程的 IOC 和更多信息能够在 Stampar 在几天前设置的 [GitHub] 仓库上获得。

SMB 漏洞的混战

当前,有许多人在扫描旧的和未打补丁的 SMB 服务,系统管理员已经注意到并且开始给易受攻击的计算机打补丁,关闭旧版的 SMBv1 协议,慢慢的来减少被永恒之石感染的计算机数量。

此外,像 Adylkuzz 这类恶意软件,也会关闭 SMB 端口,来阻止来自其它威胁软件的进一步利用,这同时也导致了“永恒之石”和其它利用 SMB 漏洞的恶意软件潜在目标数量的减少,来自 ForcepointCyphortSecdo 的报告详细介绍了当前针对 SMB 端口的计算机的威胁情况。

虽然如此,系统管理员补丁打的越快,系统越安全,“蠕虫病毒感染速度正在和系统管理员给机器打补丁速度比赛”,Stampar 在一次私人谈话中告诉 BleepingComputer 记者,“一旦计算机被感染,它能在任何时间将其作为武器,不论你打多时间多近的补丁。”

(题图:Miroslav Stampar, BleepingComputer & Ana María Lora Macias


作者简介:

Catalin 涉及了各方面,像数据泄漏、软件漏洞、漏洞利用、黑客新闻、暗网、编程话题、社交媒体、Web技术、产品研发等领域。


via: https://www.bleepingcomputer.com/news/security/new-smb-worm-uses-seven-nsa-hacking-tools-wannacry-used-just-two/

作者:CATALIN CIMPANU 译者:hwlog 校对:wxy

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

在 Mozilla 宣布计划阶段性废弃 SHA-1 算法签名的证书一年后,SHA-1 的使用量得到了显著下降。据 Firefox 的数据看,使用量从去年的 50% 降至今年三月的 3.5%,而到这个月仅占到加密流量的 0.8%。

Mozilla 最近宣布,从 Firefox 51 开始,该浏览器将对 SHA-1 签名的证书显示“不可信的连接”错误信息。Firefox 51 将发布于 2017 年 1 月,Mozilla 最初计划于 2017 年初拉黑 SHA-1 证书。

Mozilla 率先推动了 SHA-1 废弃

在去年秋天荷兰和法国的大学研究人员们发现可以非常容易地破解 SHA-1 加密后, Mozilla 率先推动了 SHA-1 废弃的活动。

在 Mozilla 制定了其阶段性废弃 SHA-1 算法的时间表之后,谷歌微软也跟着做了相同的决定,这些计划得到了 NIST 的支持。从 2016 年元旦开始,浏览器厂商们就禁用了之后新签发的 SHA-1 签名的 SSL/TLS 证书。

SHA-1 废弃基本上完成了

即便是有一些例外,甚至还有一些争议,但是在多数情况下,CA 厂商们都遵从了此次 SHA-1 禁用行动,SHA-1 市场份额的降低表明了他们的工作成果。

如今,之前签发的使用 SHA-1 签名的旧证书仍然被标为可信,但是从 2017 年元旦开始,浏览器厂商们就会将这类证书标为不可信,无论其签发日期是何时。

Mozilla 的加密工程师 J.C. Jones 说,特殊情况下,比如在内部站点或其它封闭性网络内,如果 SHA-1 证书是由手动导入的根证书签发的,Firefox 不会显示该警告。

在 2015 年底,Facebook 和 Cloudflare 提议允许 CA 厂商们为那些不支持 SHA-2 和其它算法的老浏览器签发 SHA-1 证书,但是这个倡议基本上没得到响应,尽管这有一定的意义。

Mozilla 宣布计划将在明年发布的 Firefox 52 中支持 TLS 1.3,TLS 1.3 是当前仍在开发中的 TLS 安全协议的最新版本。

之前,Mozilla 已经在六月中发布的 Firefox 49 的开发版本中添加了对 TLS 1.3 的支持,当然,由于该协议还在开发阶段,所以基本上还没有支持它的网站,因此该特性并未默认启用(需要通过 about:config 来启用)。

在一篇公告中,Mozilla 首席工程师兼 互联网架构委员会 Internet Architecture Board (IAB)成员 Martin Thomson 说,Firefox 52 将是第一个为所有用户启用 TLS 1.3 支持的稳定版 Firefox 浏览器。

TLS 1.3 协议得到了 Mozilla、Chrome、Edge 等主流浏览器的欢迎

TLS 协议是 HTTPS 网站工作的基础,它负责用户浏览器和 Web 服务器之间的建立加密通讯的安全操作。TLS 1.3 当前仍是 IETF 的草案,这里可以查看该草案。

“TLS 1.3 移除了陈旧和不安全的加密基元,它采用现代化的分析技术使之更安全,更保密,它将保护更多的数据,也会比 TLS 1.2 更快,” Thomson 解释说,“TLS 1.3 提供了一个 0-RTT 模式,消除了握手往返的延迟。”

他还说,Mozilla 计划使用 TLS 1.3 规范的第 16 个草案,但是会随时更新使用最新的草案,直到部署最终版本。

此外,9 月份时,CloudFlare 宣布在他们的服务器上添加了 TLS 1.3 的支持。而其他主流浏览器厂商,比如微软和谷歌也分别宣布在 Edge 和 Chrome Canary 中支持 TLS 1.3。

Chromium 没有你想象的自由

UnGoogled Chromium 是一个 Chromium 浏览器的定制版本,但是不包括任何 Google 服务或功能。它不是一个 Google 的 Chrome 版本,而是一个 Chromium 版本——这是 Chrome、Vivaldi 和 Opera 等浏览器的开源代码母本。

虽然 Chromium 是一个开源项目,但是一直处于 Google 的影响之下,它的大多数贡献者都是 Google 工程师,因此 Chromium 的许多功能都包括了 Google 特有的服务。比如说,Chromium 预配置的搜索引擎是 Google、使用 Google 的 Safe Browsing API 来扫描每个你访问的 URL 的安全性,而且加载了一大堆的 Google 的二进制程序来提供各种内部服务。这意味着,许多用户数据仍然会被发往 Google 的服务器。

从 Chromium 中去除 Google 的部分

一位名为 Eloston 的开发者决定解决这个问题,他分叉了 Chromium 的源代码,并移除了各种 Google 特有的服务。据其说,他移除了 Safe Browsing API、WebRTC、Omnibox 地址栏搜索功能,以及各种 Google 域名下的服务,比如 Google 主机检测器、Google URL 跟踪器、Google 云消息等等。他也移除了 Google 加入其中的所有闭源二进制,这会影响到一些功能,比如 URL 自动格式化(比如地址栏自动隐藏 https://)。

此外,UnGoogled Chromium 也会强制在新选项卡打开弹窗,并允许用户保存更多 URL 类型的数据。

从截图上,UnGoogled Chromium 和其它的基于 Chromium 的浏览器看起来差不多,但是底层有了不少变化。

下载和源代码

下载地址: https://github.com/Eloston/ungoogled-chromium/releases/latest ,支持 Debian、Ubuntu、Windows、macOS。

源代码:https://github.com/Eloston/ungoogled-chromium

Linux 基金会宣布成立了 JS 基金会 JS Foundation ,该基金会是一个包容性项目,用于促进指导 JavaScript 生态中各种核心开源项目的发展,其主要任务是管理和资助这些项目,以及培育 JavaScript 生态。

Linux 基金会已经对 JS 生态进行了大量投资

Node.js 社区内部分裂之后,Node.js 代码分成了两个不同的项目:io.js 和 Node.js。后来两个项目和好之后,在 2015 年, Linux 基金会帮助创立了 Node.js 基金会,两个项目合并代码并归于统一的 Node.js 基金会。

JS 基金会也遵循 Node.js 基金会的模式,基金会成员将会支持各种 JavaScript 项目,包括技术指导、人力资源和资金。

IBM 和三星也是基金会成员

基金会的成员包括 Bocoup、IBM、Ripple、Samsung、Sauce Labs、Sense Tecnic Systems、SitePen、StackPath、University of Westminster 和 WebsiteSetup 等。

初始包括的项目有:Appium、 Chassis、 Dojo Toolkit、 ESLint、 Esprima、 Globalize、 Grunt、 Interledger.js、 Intern、 Jed、 JerryScript、 jQuery、 jQuery Mobile、 jQuery UI、 Lodash、 Mocha、 Moment、 Node-RED、 PEP、 QUnit、 RequireJS、 Sizzle 和 webpack。

这些大多数都是顶级的 JavaScript 项目,被成千上万的开发者们所使用。然而我们注意到, Node.js 项目由于有自己的基金会,并没有加入到 JS 基金会之中。

如果同意加入 JS 基金会,这些项目将会从公共开发战略中受益,以消除当今 JavaScript 社区中的混乱状况。基金会会设立所有项目共同遵循的目标,并为核心项目提供资金支持。这些核心项目现今用于服务器端应用、浏览器、云应用和物联网设备。

jQuery 基金会变成了 JS 基金会

JS 基金会并不是凭空建立的,它的核心就是之前的 jQuery 基金会。虽然 jQuery 现在已经发展放缓,甚至很多开发者都惊奇 jQuery 仍然还活着,因为目前已经出现了各种更好的工具。 但是 jQuery 在某种意义上仍然是 JavaScript 的代名词。jQuery 基金会的很多成员在 JavaScript 领域内都很有影响力,所以成立新的 JS 基金会将有助于发挥它们的作用,促进 JavaScript 生态的进一步发展。