通杀所有系统的硬件漏洞?聊一聊Drammer,Android上的RowHammer攻击
通杀所有系统的硬件漏洞?聊一聊Drammer,Android上的RowHammer攻击
大家肯定知道前几天刚爆出来一个linux内核(Android也用的linux内核)的dirtycow漏洞。此洞可以说是个神洞,通过dirtycow,一个普通权限的app可以做到root权限的文件任意写,随后还可以转化为android上的通用root。就在大家纷纷埋头研究dirtycow的时候,Drammer横空出世,号称也可以root最新版的Android 6.0.1,同时还放出了CCS论文和POC。
那么这个Drammer到底是什么东西呢?
Drammer可以说是一种针对android设备的攻击方式,利用的是内存芯片设计上的一个缺陷。然而,这个问题并不是只出现在Android系统上,而是所有使用内存的系统都会出现这个问题。最早提出这种攻击方式的人是卡内基梅隆大学的Yoongu Kim写的一篇paper -《Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors》 在这篇文章中,作者提到有个有趣的现象,如果不断的访问两个具有"侵略者"性质的虚拟地址会让一个具有"受害者"性质的内存数据进行位翻转,更神奇的是这个具有"受害者"性质的内存可能会在当前进程可访问的虚拟地址以外。
为什么会有这种现象呢?
原因是内存厂商为了能让内存芯片存储更多的数据,于是将内存中的DRAM(The Dynamic Random Access Memory)cell越做越小并且离的越来越近,从而导致相邻的cell在通电的过程中会受到影响。因此,如果我们不断的访问某个位置上的内存,就可能会造成相邻的内存进行位翻转。随后google project zero还通过PC上的linux提权,证明了这种现象的确存在并且可以用来进行攻击(https://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html)并将这种攻击方式称为RowHammer。因此,这次出现的drammer是受之前研究的启发,从而实现了Android上的rowhammer攻击,所以drammer全称其实是DRoid and rowhAMMER。
在Android上,整个攻击的基本思路是:1. 先找到用户态可以flush内存的api,比如Android上的ION。2. 然后利用这个api配合上FLIP FENG SHUI技术进行rowhammer攻击。目的是位翻转Page Table Entry (PTE)并让其指向一个攻击者可以控制的内存上。3. 修改PTE从而控制整个物理内存。配合其他漏洞还可以做到远程攻击(DEMO:https://www.vusec.net/projects/drammer/)。
原来硬件上设计的缺陷还会出现这种问题,是不是感觉脑洞已经快要爆炸了。并且这次的攻击与操作系统和软件无关,纯粹是硬件上的漏洞导致的。因此,不光是linux和Android,Windows, OS X和iOS应该也是受影响的。唉,May god bless all electronic devices.
作者:蒸米@阿里移动安全,更多Android、iOS技术文章,请访问阿里聚安全博客
通杀所有系统的硬件漏洞?聊一聊Drammer,Android上的RowHammer攻击的更多相关文章
- DedeCMS全版本通杀SQL注入漏洞利用代码及工具
dedecms即织梦(PHP开源网站内容管理系统).织梦内容管理系统(DedeCms) 以简单.实用.开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,近日,网友 ...
- CVE-2017-11882:Microsoft office 公式编辑器 font name 字段栈溢出通杀漏洞调试分析
\x01 漏洞简介 在 2017 年 11 月微软的例行系统补丁发布中,修复了一个 Office 远程代码执行漏洞(缓冲区溢出),编号为 CVE-2017-11882,又称为 "噩梦公式&q ...
- 【渗透实战】那些奇葩的WAF_第二期_无意发现通杀漏洞,空字节突破上传!
/文章作者:Kali_MG1937 CSDN博客号:ALDYS4 QQ:3496925334 未经许可,禁止转载/ 该博文为本人18年左右的渗透记录,文法粗糙,技术含量极低,流水账文章,且今日不知为何 ...
- 网站安全检测 漏洞检测 对thinkphp通杀漏洞利用与修复建议
thinkphp在国内来说,很多站长以及平台都在使用这套开源的系统来建站,为什么会这么深受大家的喜欢,第一开源,便捷,高效,生成静态化html,第二框架性的易于开发php架构,很多第三方的插件以及第三 ...
- Postsharp 破解工具(通杀版,持续更新)
2019.04.18 重要说明 VS2019 正式版已经发布了,Postsharp v6.2.2-Preview(预览版)也开始支持VS2019.不过截至目前,该预览版还不是特别稳定,因此提醒下大家在 ...
- 利用Ossim系统进行主机漏洞扫描
利用Ossim系统进行主机漏洞扫描 企业中查找漏洞要付出很大的努力,不能简单的在服务器上安装一个漏洞扫描软件那么简单,那样起不了多大作用.这并不是因为企业中拥有大量服务器和主机设备,这些服务器和设备又 ...
- linux查看系统的硬件信息
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说. cpu lscpu命令,查看的是cpu的统计信息. blue@blue-pc:~ ...
- 【阿里聚安全·安全周刊】 全美警局已普遍拥有破解 iPhone 的能力 | 女黑客破解任天堂Switch,称硬件漏洞无法修复
本周的七个关键词: 破解 iPhone丨 女黑客破解任天堂丨假的身份证 丨 扫黄打非丨华盛顿特区发现手机间谍设备 丨 Telegram被俄罗斯监管机构告上法庭丨价值5万美金的Firefox浏览器漏洞 ...
- linux查看系统的硬件信息【转】
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说. cpu lscpu命令,查看的是cpu的统计信息. blue@blue-pc:~ ...
随机推荐
- [转]ubuntu 下无法启动chrome
这很不爽,google了半天也不知道答案(搜索到要重装chrome,可是我怎么都卸载不干净.....),最终解决方法如下: -------------------------------------- ...
- Blender 之 Splash 代码分析
注:以下内容基于 Blender 2.7x 版本工程,其它低版本可能有改动. Blender启动完成时,会出现一个画面,英文叫Splash.默认是打开的,可以在设置里关闭.在文件菜单里点击用户首选项( ...
- Datazen配置
Datazen是被微软收购的移动端全平台的数据展现解决方案.此篇主要介绍其服务器端的配置过程. 在上一篇的基础安装完成之后,在浏览器敲入如下地址进入系统的控制面板(留意安装的时候配置的是80 web端 ...
- Android应用请求获取Root权限
应用获取Root权限的原理:让应用的代码执行目录获取最高权限.在Linux中通过chmod 777 [代码执行目录] /** * 应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限) ...
- CozyRSS开发记录17-Html2Xaml
CozyRSS开发记录17-Html2Xaml 1.RssContentView还需要优化 上回做了RssContentView的显示,但是对于rss返回的描述(摘要),连换行的没有,更别说里面还有h ...
- 高性能的JavaScript--加载和执行
写在前面 JavaScript在浏览器中的性能,可认为是开发者所要面对的最重要的可用性的问题,此问题因JavaScript的阻塞特征而复杂,也就是说JavaScript运行时其他的事情不能被浏览器处理 ...
- SMARTY模板中如何使用get,post,request,cookies,session,server变量
{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中 ...
- js获取URL中的参数
js获取URL中的一些参数的意思 location对象 含有当前URL的信息. 属性 href 整个URL字符串. protocol 含有URL第一部分的字符串,如http: host 包含有URL中 ...
- jquery的animate({})动画整理
在网页制作的过程中少不了用到各种动画,形式多种多样,flash,css,js,canvas,等等都能实现,对于其优劣和效果只能说各有千秋. 什么是动画效果,其实网页中的渐变效果就是一种很基础的动画,动 ...
- [bzoj4722]由乃
身为10班人,就凭标题,这道题是一定要做的. 但是做了才发现有毒....所以是信念和题解和大腿支撑了我! 先"假设"自己实力过硬,推出了结论:当区间过大时,必定存在一种方案可以输出 ...