LBE“免root主动防御”分析

注:转载请注明出处

LBE在新版本V5.1中增加了"免ROOT"的功能,可以在不root的情况下实现root后才有的功能,比如卸载系统软件、主动防御等。

经过百度安全实验室的分析,LBE的免ROOT功能是利用Android签名验证漏洞(编号9695860)替换了系统应用SettingsProvider,然后在SettingsProvider进程里以System权限加载执行LBE自己的功能模块,达到root后才能实现的功效。下面我们来分析这个"免ROOT"实现的主要步骤。

apktool 2.0+netbeans 7.3调试apk

Apktool 2.0优化了调试的支持,相对1.5.3的版本,主要做了以下改进:
1. 可以配合Netbeans 7.3调试apk
2. 支持显示寄存器的值,这是非常好的改进(1.5.3只可以显示函数参数P的值)
 
目前2.0还没有release,这是我自己编译的版本,下载地址:http://pan.baidu.com/share/link?shareid=1438815794&uk=369410799
netbeans 7.3下载地址:https://netbeans.org/downloads/
 
具体调试方法,以test.apk为例:

Android 4.3中SE Android展望

Android 4.3中增加了一些功能,比如OpenGL SE 3.0。但是大部分报道中却没有提到安全性方面的一个改进:SEAndroid。Android在4.3中"正式"引进了SEAndroid,这将对Android系统未来的安全体制带来不可忽略的影响。

SEAndroid是SELinux in Android。SELinux全称Security Enhanced Linux,即安全增强版Linux,它并非一个Linux发布版,而是一组可以套用在类Unix操作系统(如Linux、BSD等)的修改,主要由美国国家安全局(NSA)开发,已经被集成到2.6版的Linux核心之中,现已有十几年的开发和使用历史,是Linux上最杰出的安全子系统。

Android 第二个签名漏洞 #9695860 揭秘

注:本文谢绝盗用和转载。

在android master key (#8219321)签名漏洞爆出来不久,国内的安全团队"安卓安全小分队"在其博客(http://blog.sina.com.cn/u/3194858670)发布文章称发现另外一个android签名漏洞,但是小分队提出的利用该漏洞的方法存在一定的局限性,所以理论上可行,但是实际危害并不大。不久之后,Cydia创始人saurik在其网站(http://www.saurik.com/)上发布文章,称其发现了利用这个漏洞更好的方法。可能是因为构造特殊zip包的难度较大,也或者Master key的影响还未散去,这个新发现的漏洞虽然比Master key具有更大的破坏性,却一直没得到重视。

该漏洞(编号9695860)的主要原理是,android在解析Zip包时,C代码和Java代码存在不一致性:Java将short整数作为有符号数读取,而C将其作为无符号数。

Android签名漏洞#8219321揭秘

上周,移动安全公司Bluebox Security研究人员宣布他们发现了一个Android严重漏洞,这个漏洞允许攻击者修改应用程序的代码但不会改变其加密签名。据说,这个漏洞自Android 1.6(Donut)以来就一直存在,隐藏长达4年之久,当今市场上99%的Android产品都面临这一问题。

每个Android程序是一个apk文件,从文件格式上来说,apk其实是一个zip压缩包。这个压缩包里包含了android程序的所有内容,包括配置文件,编译后的程序代码(classes.dex),程序依赖的资源文件,以及加密签名。Android 系统会根据这个签名来验证apk文件是否合法,以防止正常软件被非法篡改。同一个应用(指包名相同)如果签名不同则不能覆盖安装。所以,可想而知,如果一旦签名被绕过,android应用就会真假难辨。

AVAR杭州小忆。

本来说从杭州回来后要好好歇一歇的,没想到一晃一个月过去了,竟是仍然片刻没有休息。

周末来公司做点事,趁着机器跑任务的空当,写点东西,回顾一下最近的事情,也好多少给久不更新的博客积点人气。

去年ISF 2011是我第一次正式参加安全界的会议,时隔一年,期间经历了慕尼黑的CARO 2012,到今年的AVAR 2012进行演讲,每一步都算是不小的成长,很累不过还算充实。

演讲这事,听起来有些风光,但如果想给听众带来点真材实料,其实是要花不小的心血。单单持续研究课题就不到两年,而整理成中英文的论文,再到写演讲稿以及准备演讲,这些也足足花了三个月的时间。还好最后的演讲还算满意,现在看来虽也有不足的地方,但毕竟是第一次,尚可接受。

CARO 2012欧洲之旅。

维也纳

Student Agency的黄色大巴平稳地行驶在布尔诺通往维也纳的公路上,我望着窗外旷野上一望无际的绿色,心旷神怡。

红房子,绿草地,风车。也许这远非维也纳的全部,可我却早已为这自然美景深深折服,原来在科技和工业发达的欧洲真的存有人与自然如此和谐的地方。将来有机会一定要在这里生活,我如是对自己说。

途中突然发现的一片湖,湖水很清澈。再好的相机也比不上人眼的身临其境。

ISF 2011,脱库事件和其他。

最近CSDN等知名网站密码泄漏的事情闹得沸沸扬扬,我的1个主帐号和几个马甲不幸中招,然后我才突然想起来前几天我的新浪微博两次被莫名其妙添加关注和粉丝,看来是这几次脱库有点关系。于是我也在慌乱之中洋洋洒洒地改了无数密码。

平静之余,我想起来11月底在上海参加的ISF 2011。这是我第一次参加比较正式的安全界的会议,虽说ISF的规模和影响力在业内还不是非常地知名,但是于我来说仍有重要的意义。

VA2FO插件更新0.2,增加FO转VA功能。

插件介绍:一个可以直接在OD里实现“物理地址和虚拟地址相互转换”的插件。详细请看上一篇文章

这个功能早就想加进去了,这几天才终于抽出点时间实现。

目前增加了“物理地址”转“虚拟地址”的功能,所以现在这个版本包含了“虚拟地址”和“物理地址”“相互转换”的功能,并且修复了上个版本的几个小问题。

ZeroAccess’s trick – A wolf in sheep’s clothing.

In previous article, my colleague talked about a new way to inject virus codes into other normal processes in order to bypass firewall’s detection. During the continuous research of ZeroAccess, we find there’re some improvements for this series of anti-detection and anti-debug methods. And what’s most interesting is ZeroAccess seems to really like lsass.exe. It often wears lsass’s clothing.

In this case, the variation of ZeroAccess did not use ZwMapViewOfSetion to inject into explorer.exe. It just used normal ZwAllocateVirtualMemory and ZwWriteVirtualMemory to fill in explorer.exe’s memory with virus codes.

After entered explorer’s virus code space, it will first calls RtlAddVectoredExceptionHandler to install an exception handler.