分类 新闻 下的文章

拿到这本《Linux 二进制分析》,我不禁心生感慨。

对于软件逆向工程这门手艺来说,最难的便是入门。软件逆向不同于软件的编写。基于汇编语言的软件逆向将绝大多数的人拦在了门外。少部分人打开了这扇门,又为门后的贫瘠所震惊 —— 相关资料少且不系统。

一直以来, Windows 由于其在桌面端的广泛应用而不断受人关注,相关的书籍也不断出新。但随着移动端设备的逐渐崛起,*nix 系统占据了市场的主流。但是基于 *nix 的逆向开发一直都处在荒芜的状态,为少数人所掌握。现在,移动端设备成为新的安全隐患增长点,我们也为此忧心忡忡。于是,我们组织译者,翻译了这本 《Linux 二进制分析》 Learning Linux Binary Analysis

1、LCTT 的新台阶

Linux 二进制分析》是棣琦的译作,也是我们 Linux 中国审校的第一本书。在我看来,这是 Linux 中国 LCTT 翻译组的一个新的里程碑。

自 2013 年 9 月 LCTT 创立以来,已有 250 余位志愿者参与到我们的翻译组,累计翻译了近三千篇各种 Linux 相关的文章。但是直到这本《Linux 二进制分析》的出版,我们 LCTT 第一次真正意义上完成了一本书的翻译、校对、审核的工作。我们的工作上了一个新的台阶。

2、作者简介

Ryan O‘Neill,是一名在逆向工程、软件开发、安全防御和取证分析技术方面深有建树的计算机安全专家,曾就职于 Pikewerks、Leviathan 安全集团,最近在 Backtrace 担任软件工程师。

除了这本书以外,他之前还写了大量相关的论文,比如 “Modern day ELF Runtime infection via GlobalOffsetTable poisoning”、“Extending the ELF core file format for forensics snapshots”。丰富的经历和研究,使他在 ELF 二进制研究上有着超出前人的成就,这些成就,最终促成了这本《Linux 二进制分析》的出版。

3、译者简介

棣琦,本名张萌萌,是一个集美貌与智慧并存的程序媛。目前是百度研发工程师, 业余时间爱好翻译。当别人周末约会、逛街时,她选择了开启一段艰辛的翻译之旅,焚膏继晷大半年,一字一句的翻译、一行一行的校对。

Linux 二进制分析》不同于其他 Linux 技术书籍,国内和 Linux 二进制分析相关的图书、资 料十分的少,远不如其他方面的资料那般充盈,对于她来说,除了要对文章进行翻译,还要通读国内外的相关文献,以保证译文的翔实和准确。

棣琦在翻译……

此外,由于这本书内包含了大量的实战操作内容,她也需要花费大量的时间进行重复操作、验证,以确保书的内容可以被读者重新实践。

4、内容分享

这本书的内容详实,可以帮助读者快速建立起 Linux 二进制分析的整体框架,并且使用了大量的篇幅来介绍 ELF 文件格式,为读者打下良好的基础;并通过取自工作中不同场景下二进制分析的实战来帮助读者明晰二进制分析的重要性和效果,一方面可以让读者不至于只能读到枯燥无味的内容解读,另一方面,也让这本书成为安全工程师的“牛津词典”,在工作中遇到问题,可以翻到对应章节,重温操作、理念。

章节介绍

  • 第 1 章,Linux 环境和相关工具,简要介绍了会在本书中用到的 Linux 环境和相关的工具。
  • 第 2 章,ELF:二进制格式,帮助读者了解 ELF 文件格式
  • 第 3 章,Linux 进程追踪,教会读者使用 ptrace 系统调用读写进程内存并注入代码。
  • 第 4 章,ELF 病毒技术 - Linux/UNIX 病毒,介绍了 Linux 病毒的历史、病毒的工程化和围绕病毒进行的相关研究。
  • 第 5 章,Linux 二进制保护,解释了 ELF 二进制保护的基本原理。
  • 第 6 章,Linux 下的 ELF 二进制取证分析,通过解析 ELF 目标文件来研究病毒、后门和可疑的代码注入。
  • 第 7 章,进程内存取证分析,将会介绍如何解析进程的地址空间,以研究内存中的恶意软件、后门和可疑的代码注入。
  • 第 8 章,ECFS 一一扩展核心文件快照技术,是对 ECFS 这一用于深入进程内存取证分析的新开源产品的介绍。
  • 第 9 章,Linux /proc/kcore 分析,介绍了如何使用 /proc/kcore 进行内存分析来检测 Linux 内核中的恶意软件。

5、我对书的评价

在过去,安全工程师们想要学习 Linux 二进制分析,只能通过搜索引擎来搜索有限的资料,不管是中文的还是英文的,都颇为琐碎,工程师们不得不在一个又一个网页间不断跳转,以求得知识的完备性,然而互联网上的资料虽多,但真正有价值的内容却不多,大多是一些颇为浅薄的内容。

这本书的出现,填补了 Linux 二进制分析方面的空白,一方面,体系化的内容设计使得安全工程师能够在读完此书后建立起 Linux 二进制分析的完整知识体系。读者在后续需要继续研究时,只需要在此书的基础上,查询其他相关的资料,丰满自己的知识体系即可。另一方面,对于一些开始在工作中使用 ELF 分析的工程师来说, Ryan 的经验也可以真正的帮助他们更好的工作,这才是这本书最难得的。

如果你已经开始了相关的安全工作又或者希望从事软件逆向研究的相关工作,那么你一定不能错过这本书。

6、欢迎交流

译者棣琦已经召集了一个专用的微信群来讨论有关本书的话题,欢迎大家加入(限时):

微信群

如果你加入时二维码已经过期,或者群已经超过百人,你也可以加棣琦的微信,让她拉你进群:

棣琦的微信

福利

作为 Linux 中国参与制书流程的第一本书,我们从出版社那里为大家争取到了福利。在异步社区价值 59 的图书,我给你打 7 折,只要 39.99。

扫描下方二维码,即可下单购买这本《Linux 二进制分析》,欢迎大家转发此文或转发如下图片:

图书

Let’s Encrypt 将于 2018 年 1 月开始发放通配证书。通配证书是一个经常需要的功能,并且我们知道在一些情况下它可以使 HTTPS 部署更简单。我们希望提供通配证书有助于加速网络向 100% HTTPS 进展。

Let’s Encrypt 目前通过我们的全自动 DV 证书颁发和管理 API 保护了 4700 万个域名。自从 Let's Encrypt 的服务于 2015 年 12 月发布以来,它已经将加密网页的数量从 40% 大大地提高到了 58%。如果你对通配证书的可用性以及我们达成 100% 的加密网页的使命感兴趣,我们请求你为我们的夏季筹款活动(LCTT 译注:之前的夏季活动,原文发布于今年夏季)做出贡献。

通配符证书可以保护基本域的任何数量的子域名(例如 *.example.com)。这使得管理员可以为一个域及其所有子域使用单个证书和密钥对,这可以使 HTTPS 部署更加容易。

通配符证书将通过我们即将发布的 ACME v2 API 终端免费提供。我们最初只支持通过 DNS 进行通配符证书的基础域验证,但是随着时间的推移可能会探索更多的验证方式。我们鼓励人们在我们的社区论坛上提出任何关于通配证书支持的问题。

我们决定在夏季筹款活动中宣布这一令人兴奋的进展,因为我们是一个非营利组织,这要感谢使用我们服务的社区的慷慨支持。如果你想支持一个更安全和保密的网络,现在捐赠吧

我们要感谢我们的社区和我们的赞助者,使我们所做的一切成为可能。如果你的公司或组织能够赞助 Let's Encrypt,请发送电子邮件至 [email protected]


via: https://letsencrypt.org/2017/07/06/wildcard-certificates-coming-jan-2018.html

作者:Josh Aas 译者:geekpi 校对:wxy

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

Linux 基金会在其企业开源指南文集中为开发和使用开源软件增加了三篇新的指南。

这个有着 17 年历史的非营利组织的主要任务是支持开源社区,并且,作为该任务的一部分,它在 9 月份发布了六篇 企业开源指南,涉及从招募开发人员到使用开源代码的各个主题。

最近一段时间以来,Linux 基金会与开源专家组 TODO Group(Talk Openly, Develop Openly)合作发布了三篇指南。

这一系列的指南用于在多个层次上帮助企业员工 —— 执行官、开源计划经理、开发者、律师和其他决策者 —— 学习怎么在开源活动中取得更好的收益。

该组织是这样描述这三篇指南的:

  • 提升你的开源开发的影响力, —— 来自 Ibrahim Haddad,三星美国研究院。该指南涵盖了企业可以采用的一些做法,以帮助企业扩大他们在大型开源项目中的影响。
  • 启动一个开源项目,—— 来自 Christine Abernathy,Facebook;Ibrahim Haddad;Guy Martin,Autodesk;John Mertic,Linux 基金会;Jared Smith,第一资本(Capital One)。这个指南帮助已经熟悉开源的企业学习怎么去开始自己的开源项目。
  • 开源阅读列表。一个开源程序管理者必读书清单,由 TODO Group 成员编制完成的。

Some Offerings in the 'Open Source Guides Reading List' Enterprise Guide

企业开源指南的 ‘阅读列表’ 中的一部分产品 (来源:Linux 基金会)

在九月份发布的六篇指南包括:

  • 创建一个开源计划: 学习怎么去建立一个计划去管理内部开源使用和外部贡献。
  • 开源管理工具: 一系列可用于跟踪和管理开源项目的工具。
  • 衡量你的开源计划是否成功: 了解更多关于顶级组织评估其开源计划和贡献的 ROI 的方法。
  • 招聘开发人员: 学习如何通过创建开源文化和贡献开源项目来招募开发人员或从内部挖掘人才。
  • 参与开源社区: 了解奉献内部开发者资源去参与开源社区的重要性,和怎么去操作的最佳方法。
  • 使用开源代码: 在你的商业产品中集成开源代码时,确保你的组织符合它的法律责任。

更多的指南正在编制中,它们将和这些指南一样发布在 Linux 基金会和 GitHub 的网站上。

TODO Group 也发布了四个 案例研究 的补充材料,详细描述了 Autodesk、Comcast、Facebook 和 Salesforce 在构建他们的开源计划中的经验。以后,还有更多的计划。


via: https://adtmag.com/articles/2017/11/06/open-source-guides.aspx

作者:David Ramel 译者:qhwdw 校对:wxy

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

它终于发生了。如今,全世界超算 500 强全部都运行着 Linux。

Linux 统治了超级计算。自 1998 年以来,这一天终于到来了,那时候 Linux 首次出现在 TOP 500 超级计算机榜单上。如今,全世界最快的 500 台超级计算机全部运行着 Linux

上以期榜单中最后的两台非 Linux 系统,是来自中国的一对运行着 AIX 的 IBM POWER 计算机,掉出了 2017 年 11 月超级计算机 500 强榜单

总体而言,现在中国引领着超级计算的竞赛,其拥有的 202 台已经超越美国的 144 台。中国的超级计算机的总体性能上也超越了美国。其超级计算机占据了 TOP500 指数的 35.4%,其后的美国占 29.6%。随着一个反科学政权掌管了政府,美利坚共和国如今只能看着它的技术领袖地位在持续下降。

在 1993 年 6 月首次编制超级计算机 500 强榜单的时候,Linux 只不过是个“玩具”而已。那时的它甚至还没有用“企鹅”作为它的吉祥物。不久之后,Linux 就开始进军超级计算机领域。

在 1993/1994 时,在 NASA 的 戈达德太空飞行中心 Goddard Space Flight Center ,Donald Becker 和 Thomas Sterling 设计了一个 货架产品 Commodity Off The Shelf (COTS)超级计算机:Beowulf。因为他们负担不起一台传统的超级计算机,所以他们构建了一个由 16 个 Intel 486 DX4 处理器的计算机集群,它通过以太网信道聚合互联。这台 Beowulf 超级计算机 当时一时成名。

到今天,Beowulf 的设计仍然是一个流行的、廉价的超级计算机设计方法。甚至,在最新的 TOP500 榜单上,全世界最快的 437 台计算机仍然采用受益于 Beowulf 的集群设计。

Linux 首次出现在 TOP500 上是 1998 年。在 Linux 领先之前,Unix 是超级计算机的最佳操作系统。自从 2003 年起,TOP500 中 Linux 已经占据了重要的地位。从 2004 年开始,Linux 已经完全领先于 UNIX 了。

Linux 基金会的报告指出,“Linux [成为] 推进研究和技术创新的计算能力突破的驱动力”。换句话说,Linux 在超级计算中占有重要地位,至少是部分重要地位。因为它正帮助研究人员突破计算能力的极限。

有两个原因导致这种情况:首先,全球的大部分顶级超级计算机都是为特定的研究任务去构建的,每台机器都是用于有唯一特性和需求优化的单独项目。为节省成本,不可能为每一个超算系统都去定制一个操作系统。然而,对于 Linux,研究团队可以很容易地修改和优化 Linux 的开源代码为的他们的一次性设计。

例如,最新的 Linux 4.14 允许超级计算机去使用 异构内存管理 (HMM)。这允许 GPU 和 CPU 去访问处理器的共享地址空间。确切地说,TOP500 中的 102 台使用了 GPU 加速/协处理器技术。这全是因 HHM 而使它们运行的更快。

并且,同样重要的是,正如 Linux 基金会指出的那样,“定制的、自我支持的 Linux 发行版的授权成本,无论你是使用 20 个节点,还是使用 2000 万个节点,都是一样的。” 因此,“利用巨大的 Linux 开源社区,项目可以获得免费的支持和开发者资源,以保持开发人员成本与其它操作系统相同或低于它们。”

现在,Linux 已经达到了超级计算之巅,我无法想像它会失去领导地位。即将到来的硬件革命,比如,量子计算,将会动摇 Linux 超级计算的地位。当然,Linux 也许仍然可以保持统治地位,因为,IBM 开发人员已经准备将 Linux 移植到量子计算机上


via: http://www.zdnet.com/article/linux-totally-dominates-supercomputers/

作者:Steven J. Vaughan-Nichols 译者:qhwdw 校对:wxy

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

摆脱了 Xen,新的 C5 实例和未来的虚拟机将采用“核心 KVM 技术”

AWS 透露说它已经创建了一个基于 KVM 的新的 管理程序 hypervisor ,而不是多年来依赖的 Xen 管理程序。

新的虚拟机管理程序披露在 EC2 新实例类型的新闻脚注里,新实例类型被称为 “C5”,由英特尔的 Skylake Xeon 提供支持。AWS 关于新实例的 FAQ 提及“C5 实例使用新的基于核心 KVM 技术的 EC2 虚拟机管理程序”。

这是爆炸性的新闻,因为 AWS 长期以来一直支持 Xen 管理程序。Xen 项目从最强大的公共云使用其开源软件的这个事实中吸取了力量。Citrix 将其大部分 Xen 服务器运行了 AWS 的管理程序的闭源版本。

更有趣的是,AWS 新闻中说:“未来,我们将使用这个虚拟机管理程序为其他实例类型提供动力。” 这个互联网巨头的文章中计划在“一系列 AWS re:Invent 会议中分享更多的技术细节”。

这听上去和很像 AWS 要放弃 Xen。

新的管理程序还有很长的路要走,这解释了为什么 AWS 是最后一个运行 Intel 新的 Skylake Xeon CPU 的大型云服务商,因为 AWS 还透露了新的 C5 实例运行在它所描述的“定制处理器上,针对 EC2 进行了优化。”

Intel 和 AWS 都表示这是一款定制的 3.0 GHz Xeon Platinum 8000 系列处理器。Chipzilla 提供了一些该 CPU 的新闻发布级别的细节,称它与 AWS 合作开发了“使用最新版本的 Intel 数学核心库优化的 AI/深度学习引擎”,以及“ MXNet 和其他深度学习框架为在 Amazon EC2 C5 实例上运行进行了高度优化。”

Intel 之前定制了 Xeons,将其提供给 Oracle 等等。AWS 大量购买 CPU,所以英特尔再次这样做并不意外。

迁移到 KVM 更令人惊讶,但是 AWS 可以根据需要来调整云服务以获得最佳性能。如果这意味着构建一个虚拟机管理程序,并确保它使用自定义的 Xeon,那就这样吧。

不管它在三周内发布了什么,AWS 现在都在说 C5 实例和它们的新虚拟机管理程序有更高的吞吐量,新的虚拟机在连接到弹性块存储 (EBS) 的网络和带宽都超过了之前的最佳记录。

以下是 AWS 在 FAQ 中的说明:

随着 C5 实例的推出,Amazon EC2 的新管理程序是一个主要为 C5 实例提供 CPU 和内存隔离的组件。VPC 网络和 EBS 存储资源是由所有当前 EC2 实例家族的一部分的专用硬件组件实现的。

它基于核心的 Linux 内核虚拟机(KVM)技术,但不包括通用的操作系统组件。

换句话说,网络和存储在其他地方完成,而不是集中在隔离 CPU 和内存资源的管理程序上:

新的 EC2 虚拟机管理程序通过删除主机系统软件组件,为 EC2 虚拟化实例提供一致的性能和增长的计算和内存资源。该硬件使新的虚拟机管理程序非常小,并且对用于网络和存储的数据处理任务没有影响。

最终,所有新实例都将使用新的 EC2 虚拟机管理程序,但是在近期内,根据平台的需求,一些新的实例类型将使用 Xen。

运行在新 EC2 虚拟机管理程序上的实例最多支持 27 个用于 EBS 卷和 VPC ENI 的附加 PCI 设备。每个 EBS 卷或 VPC ENI 使用一个 PCI 设备。例如,如果将 3 个附加网络接口连接到使用新 EC2 虚拟机管理程序的实例,则最多可以为该实例连接 24 个 EBS 卷。

所有面向公众的与运行新的 EC2 管理程序的 EC2 交互 API 都保持不变。例如,DescribeInstances 响应的 “hypervisor” 字段将继续为所有 EC2 实例报告 “xen”,即使是在新的管理程序下运行的实例也是如此。这个字段可能会在未来版本的 EC2 API 中删除。

你应该查看 FAQ 以了解 AWS 转移到其新虚拟机管理程序的全部影响。以下是新的基于 KVM 的 C5 实例的统计数据:

实例名vCPURAM(GiB)EBS*带宽网络带宽
c5.large24最高 2.25 Gbps最高 10 Gbps
c5.xlarge48最高 2.25 Gbps最高 10 Gbps
c5.2xlarge816最高 2.25 Gbps最高 10 Gbps
c5.4xlarge16322.25 Gbps最高 10 Gbps
c5.9xlarge36724.5 Gbps10 Gbps
c5.18xlarge721449 Gbps25 Gbps

每个 vCPU 都是 Amazon 购买的物理 CPU 上的一个线程。

现在,在 AWS 的美国东部、美国西部(俄勒冈州)和欧盟地区,可以使用 C5 实例作为按需或点播服务器。该公司承诺其他地区将尽快提供。


via: https://www.theregister.co.uk/2017/11/07/aws_writes_new_kvm_based_hypervisor_to_make_its_cloud_go_faster/

作者:Simon Sharwood 译者:geekpi 校对:wxy

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

最近流传着这样一个传闻,Linux 桌面版已经突然流行起来了,并且使用者超过了 macOS。其实,并不是的。

有一些传闻说,Linux 桌面版的市场占有率从通常的 1.5% - 3% 翻了一番,达到 5%。那些报道是基于 NetMarketShare 的桌面操作系统分析报告而来的,据其显示,在七月份,Linux 桌面版的市场占有率从 2.5% 飙升,在九月份几乎达到 5%。但对 Linux 爱好者来说,很不幸,它并不是真的。

它也不是因为加入了谷歌推出的 Chrome OS,它在 NetMarketShareStatCounter 的桌面操作系统的数据中被低估,它被认为是 Linux。但请注意,那是公正的,因为 Chrome OS 是基于 Linux 的

真正的解释要简单的多。这似乎只是一个错误。NetMarketShare 的市场营销高管 Vince Vizzaccaro 告诉我,“Linux 份额是不正确的。我们意识到这个问题,目前正在调查此事”。(LCTT 译注:已经修复该错误)

如果这听起来很奇怪,那是因为你可能认为,NetMarketShare 和 StatCounter 只是计算用户数量。但他们不是这样的。相反,他们都使用自己的秘密的方法去统计这些操作系统的数据。

NetMarketShare 的方法是对 “从网站访问者的浏览器中收集数据到我们专用的请求式 HitsLink 分析网络中和 SharePost 客户端。该网络包括超过 4 万个网站,遍布全球。我们‘计数’访问我们的网络站点的唯一访客,并且一个唯一访客每天每个网络站点只计数一次。”

然后,公司按国家对数据进行加权。“我们将我们的流量与 CIA 互联网流量按国家进行比较,并相应地对我们的数据进行加权。例如,如果我们的全球数据显示巴西占我们网络流量的 2%,而 CIA 的数据显示巴西占全球互联网流量的 4%,那么我们将统计每一个来自巴西的唯一访客两次。”

他们究竟如何 “权衡” 每天访问一个站点的数据?我们不知道。

StatCounter 也有自己的方法。它使用 “在全球超过 200 万个站点上安装的跟踪代码。这些网站涵盖了各种类型和不同的地理位置。每个月,我们都会记录在这些站点上的数十亿页的页面访问。对于每个页面访问,我们分析其使用的浏览器/操作系统/屏幕分辨率(如果页面访问来自移动设备)。 ... 我们统计了所有这些数据以获取我们的全球统计信息。

我们为互联网使用趋势提供独立的、公正的统计数据。我们不与任何其他信息源核对我们的统计数据,也 没有使用人为加权。”

他们如何汇总他们的数据?你猜猜看?其它我们也不知道。

因此,无论何时,你看到的他们这些经常被引用的操作系统或浏览器的数字,使用它们要有很大的保留余地。

对于更精确的,以美国为对象的操作系统和浏览器数量,我更喜欢使用联邦政府的 数字分析计划(DAP)

与其它的不同, DAP 的数字来自在过去的 90 天访问过 400 个美国政府行政机构域名 的数十亿访问者。那里有 大概 5000 个网站,并且包含每个内阁部门。 DAP 从一个谷歌分析帐户中得到原始数据。 DAP 开源了它在这个网站上显示其数据的代码 以及它的 数据收集代码。最重要的是,与其它的不同,你可以以 JSON 格式下载它的数据,这样你就可以自己分析原始数据了。

美国分析 网站上,它汇总了 DAP 的数据,你可以找到 Linux 桌面版,和往常一样,它仍以 1.5% 列在 “其它” 中。Windows 仍然是高达 45.9%,接下来是 Apple iOS,占 25.5%,Android 占 18.6%,而 macOS 占 8.5%。

对不起,伙计们,我也希望它更高,但是,这就是事实。没有人,即使是 DAP,似乎都无法很好地将基于 Linux 的 Chrome OS 数据单列出来。尽管如此,Linux 桌面版仍然是 Linux 高手、软件开发者、系统管理员和工程师的专利。Linux 爱好者们还只能对其它所有的计算机设备 —— 服务器、云、超级计算机等等的(Linux)操作系统表示自豪。


via: http://www.zdnet.com/article/no-the-linux-desktop-hasnt-jumped-in-popularity/

作者:Steven J. Vaughan-Nichols 译者:qhwdw 校对:wxy

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