=Start=
缘由:
最近这2个CPU级别的安全漏洞实在是太「火」了,虽然说底层的那些机制我也不是太了解……但是作为一个有职业素养的企业安全人员,多花些时间关注漏洞原理、修复机制、修复进度还是很应该的,所以在看了多个关于Meltdown和Spectre漏洞的公告之后整理出此篇文章。
正文:
参考解答:
一、事件概述
2018年1月4日,Jann Horn等安全研究者披露了”Meltdown”(CVE-2017-5754)和”Spectre”(CVE-2017-5753 & CVE-2017-5715)两组CPU特性漏洞。
据悉,漏洞会造成CPU运作机制上的信息泄露,低权限的攻击者可以通过漏洞来远程泄露(浏览器形式)用户信息或本地泄露更高权限的内存信息。
实际攻击场景中,攻击者在一定条件下可以做到:
- 泄露出本地操作系统底层运作信息,秘钥信息等;
- 通过获取泄露的信息,可以绕过内核(Kernel),虚拟机超级管理器(HyperVisor)的隔离防护;
- 云服务中,可以泄露到其它租户隐私信息;
- 通过浏览器泄露受害者的帐号,密码,内容,邮箱,cookie等用户隐私信息;
目前相关的平台,厂商,软件提供商都在积极应对该系列漏洞,部分厂商提供了解决方案。
二、漏洞介绍
针对英特尔处理器涉及到两种攻击方法,分别为Meltdown和Spectre,Meltdown涉及CVE编号CVE-2017-5754,而Spectre涉及CVE编号CVE-2017-5753和CVE-2017-5715。
Meltdown破坏了位于用户和操作系统之间的基本隔离,此攻击允许程序访问内存,因此其他程序以及操作系统的敏感信息会被窃取。这个漏洞“熔化”了由硬件来实现的安全边界。允许低权限用户级别的应用程序“越界”访问系统级的内存,从而造成数据泄露。
Spectre则是破坏了不同应用程序之间的隔离。问题的根源在于推测执行(speculative execution),这是一种优化技术,处理器会推测在未来有用的数据并执行计算。这种技术的目的在于提前准备好计算结果,当这些数据被需要时可立即使用。在此过程中,英特尔没有很好地将低权限的应用程序与访问内核内存分开,这意味着攻击者可以使用恶意应用程序来获取应该被隔离的私有数据。
三、影响范围
现代处理器(CPU)的运作机制中存在两个用于加速执行的特性,推测执行(Speculative Execution)和间接分支预测(Indirect Branch Prediction)。这两组CPU漏洞的利用依靠推测执行特性,通过用户层面应用从CPU内存中读取核心数据。推测执行技术从1995年开始应用,所以近20年的Intel,AMD,Qualcomm厂家和其它ARM的处理器几乎都受到影响。
Meltdown的具体影响范围:
- Intel CPU用户:几乎所有(1995年之后的所有的CPU型号,除了2013年之前的Intel 安腾和Atom外)
- AMD CPU用户:根据AMD公司的声明,目前AMD CPU不受Meltdown漏洞影响
- ARM CPU用户:根据ARM公司的声明,包括Cortex-A75在内的少数ARM核心CPU受影响
Spectre的具体影响范围:
- Intel CPU用户:几乎所有
- AMD CPU用户:几乎所有
- ARM CPU用户:根据ARM公司的声明,包括Cortex-A8, Cortex-A9等在内的约十种ARM核心CPU受影响,其他类型的ARM CPU不受影响
除了CPU厂商之外,还包括其上的:
- 操作系统:Windows、Linux、macOS、Android;
- 云服务提供商:亚马逊、微软、谷歌、腾讯云、阿里云等;
- 各种私有云基础设施;
- 桌面用户可能遭遇到结合该机理组合攻击。
四、相关公告
- Intel
- Microsoft
- Amazon
- ARM
- MITRE
- Red Hat
- Xen
- Mozilla
- VMware
- AMD
五、检测方法
Windows用户,通过使用微软公司发布的检测PowerShell脚本,能够判断Windows系统是否受漏洞影响。
- 首先,需要安装相应的PowerShell模块,对应命令:PS> Install-Module SpeculationControl
- 其次,需要调用相应脚本,对应命令:PS> Get-SpeculationControlSettings
- 最后,开启的保护会显示为True,未开启的保护则会显示为False。
Linux用户,可以通过各种PoC来进行验证(谨慎进行):
- https://github.com/turbo/KPTI-PoC-Collection
- https://github.com/paboldin/meltdown-exploit
- https://github.com/raphaelsc/Am-I-affected-by-Meltdown
- https://github.com/RealJTG/Meltdown
- https://github.com/Eugnis/spectre-attack
- https://github.com/ionescu007/SpecuCheck
- https://github.com/HarsaroopDhillon/SpectreExploit
六、防御方法/建议
对于一般用户而言:
- 升级最新的操作系统和虚拟化软件补丁:目前Windows、Linux、macOS、Xen等都推出了对应的系统补丁,升级后可以阻止这些漏洞被利用;
- 升级最新的浏览器补丁:目前微软IE、Edge和Firefox都推出了浏览器补丁,升级后可以阻止这些漏洞被利用;
- 等待或要求你的云服务商及时更新虚拟化系统补丁;
- 安装安全软件:安全软件一般会在第一时间发现可能的利用这些漏洞的攻击程序并进行杀除及防护;
- 避免安装来路不明的软件。
参考链接:
- https://meltdownattack.com/
- https://spectreattack.com/
- https://access.redhat.com/articles/3311301
- https://mp.weixin.qq.com/s/2FvvFUT8taRPv6GOHzNW-g
- http://mp.weixin.qq.com/s/x_ny_KYSb6Wvp98AzI1B6Q
- http://threat.guanjia.qq.com/detail/26.html
- https://www.anquanke.com/post/id/93599
- https://www.anquanke.com/post/id/93735
=END=
《 “CPU级漏洞之Meltdown(CVE-2017-5754)与Spectre(CVE-2017-5715/5753)” 》 有 15 条评论
处理器A级漏洞Meltdown(熔毁)和Spectre(幽灵)分析报告
https://weibo.com/ttarticle/p/show?id=2309404192764286877696
影响全球的CPU漏洞深度解读:熔断与幽灵
https://mp.weixin.qq.com/s/x_ny_KYSb6Wvp98AzI1B6Q
CPU乱序执行和预测执行导致的安全问题
https://zhuanlan.zhihu.com/p/32654221
处理器A级漏洞Meltdown(熔毁)和Spectre(幽灵) FAQ
https://mp.weixin.qq.com/s/9Wop6tilOlUTiaTMBtPsJw
现代CPU中的预测执行和乱序执行相关机制漏洞通告
https://mp.weixin.qq.com/s/e_ASsDJAZ9m6wFTF865yXA
Local Exploit for Meltdown
https://github.com/dendisuhubdy/meltdown
`
# install gcc cmake first
mkdir build
cd build
cmake ..
make
./meltdown
`
MeltdownSpectreReport可用于对一个或多个Windows计算机查询Meltdown和Spectre漏洞的缓解状态,它使用并行实现快速数据收集,这对于快速查询、判断公司内部受影响的Windows机器列表会是一个很大的帮助(Query mitigation status of Meltdown and Spectre against one or multiple Windows computers. It uses parallelization for fast data collection.)
https://github.com/vrdse/MeltdownSpectreReport
Spectre & Meltdown vulnerability/mitigation checker for Linux.
A simple shell script to tell if your Linux installation is vulnerable against the 3 “speculative execution” CVEs.
https://github.com/speed47/spectre-meltdown-checker
https://github.com/RealJTG/Meltdown
这个是搞笑的吗?还是太深奥了
之前没细看代码内容是啥,为此刚才特地去GitHub上看了commit记录,发现第一个提交的版本大体也是这样的逻辑。。。
我也没看懂。。。/:&-(
利用 Meltdown 与 Specter 漏洞的恶意软件已出现
https://thehackernews.com/2018/02/meltdown-spectre-malware-hacking.html
全补丁下再次利用CPU漏洞攻破KASLR
http://www.iceswordlab.com/2018/02/06/meltdown/
攻击现代微处理器 – Meltdown, Spectre,来自 RedHat
http://people.redhat.com/jcm/talks/FOSDEM_2018.pdf
Windows 7 Meltdown 补丁发现严重漏洞
https://www.solidot.org/story?sid=55960
https://github.com/ufrisk/pcileech
`
你认为英特尔芯片的 Meltdown 漏洞是灾难?还有更严重的,那就是 Meltdow 的补丁。微软向 Windows 7 释出的 Meltdown 补丁,它允许任意进程任意读写内核内存。在 2018 年 1 月到 2 月之间打了补丁的 64 位 Windows 7 系统存在该严重漏洞,而没有打补丁或打了 3 月份补丁的 Windows 7 系统不受影响。想知道你的 Windows 7 系统是否受到影响,可以从 Github 上下载 PCILeech 测试。
`
一文读懂CPU漏洞“裂谷”TotalMeltdown
http://www.freebuf.com/vuls/167028.html
http://blog.frizk.net/2018/03/total-meltdown.html
https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-1
https://www.coresecurity.com/blog/getting-physical-extreme-abuse-of-intel-based-paging-systems-part-2-windows
https://www.intel.cn/content/www/cn/zh/architecture-and-technology/64-ia-32-architectures-software-developer-system-programming-manual-325384.html
https://github.com/ufrisk/pcileech
Exploiting CVE-2018-1038 – Total Meltdown,针对之前微软Windows7 x64 和 Windows Server 2008 R2 安全补丁中存在的漏洞(CVE-2018-1038)分析与利用
https://blog.xpnsec.com/total-meltdown-cve-2018-1038/
Poc
https://gist.github.com/xpn/3792ec34d712425a5c47caf5677de5fe
2018年Windows漏洞年度盘点
https://mp.weixin.qq.com/s/CtjPAuCJ1znw6pGHlpaR1w
`
一、前言
漏洞是影响网络安全的重要因素,而漏洞攻击作为恶意攻击的最常用手段,更是有着目标行业化、手段多样化的趋势,不论是个人还是企业,都面临着严峻的漏洞威胁。
2018年在轰动式的“幽灵”、“熔断”两大CPU漏洞中揭开序幕。“震网3漏洞利用挖矿”、“412挂马风暴”等安全事件发生表明,漏洞利用攻击,不再是APT组织的“专属”,漏洞利用正往“低成本化”趋势发展。
过去一年,Windows、Office、IE、Flash等高危漏洞频繁被曝光,而各种野外漏洞利用更是攻击层出不穷,更给个人和企业的网络安全带来了严峻的威胁。本报告主要重点分析2018年Windows平台的漏洞攻击态势,并给个人和企业合理化的漏洞防护建议。
二、2018年Windows平台漏洞盘点
2.1 2018年Windows安全公告数量
2.2 Windows漏洞影响产品&系统分布
2.3 2018年漏洞攻击的地区&行业分布
2.4 国内用户整体漏洞修复情况&高危漏洞修复情况
2.5 Windows漏洞危害类型分布&漏洞危害等级分布
2.6 Windows漏洞利用病毒分布&被利用的漏洞分布
2.7 2018年Windows平台高危漏洞盘点
三、2018典型漏洞安全事件
3.1 “新一代幽灵”——英特尔CPU漏洞持续升级
3.2 Office公式编辑器再曝新漏洞,商贸信钓鱼攻击屡试不爽 (CVE-2017-11882、CVE-2018-0802、CVE-2018-0798)
3.3 Adobe系列产品多次报警,0day漏洞屡遭曝光
3.4 老漏洞被反复利用,“永恒之蓝”是否真的永恒?
3.5 Windows下半年频现0day漏洞
四、如何做好漏洞防护
4.1 个人用户漏洞防护
4.1.1 及时修复安全漏洞开启安全软件实时防护
4.1.2 培养良好的计算机使用习惯
4.2 企业用户漏洞防护
4.2.1 建立有效的漏洞情报监控体系,建设完善的漏洞补丁管理能力
4.2.2 安全演练,培养员工良好的信息安全意识
五、回顾2018,展望2019
5.1 思维进化,道高一丈
5.2 千里之堤毁于蚁穴,人永远是最大的漏洞
5.3 需建设多维、立体的安全能力体系
`
容器中可预测CPU隔离技术在Netflix的应用
https://mp.weixin.qq.com/s/fe5wzpxZKEeqB9po0Ym0Bw
https://medium.com/netflix-techblog/predictive-cpu-isolation-of-containers-at-netflix-91f014d856c7
Controlling the Performance Impact of Microcode and Security Patches for CVE-2017-5754 CVE-2017-5715 and CVE-2017-5753 using Red Hat Enterprise Linux Tunables
https://access.redhat.com/articles/3311301
`
# echo 0 > /sys/kernel/debug/x86/pti_enabled
# echo 0 > /sys/kernel/debug/x86/retp_enabled
# echo 0 > /sys/kernel/debug/x86/ibrs_enabled
`
https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html