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进行演讲,每一步都算是不小的成长,很累不过还算充实。

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

不忘初心。

写了好几年的博客,却一度不知道认认真真写那些文章的意义,只是一直把它当作一片净土,用来整理自己的思绪,写给关系密切的朋友和莫名找来的陌生人看。
就这样一写写了六七年,已然成为了一种习惯,努力坚持着。定期为空间和域名续费,升级程序和插件,自己写皮肤……

2012.8.1

5天假期的最后一个下午,晚上又将踏上北上的火车。原以为5天会过的有点漫长,可是在亲友家人和兄弟的小聚之后,才发现能安安静静地跟爸妈在一起的时间所剩无几。最后一天没有应酬,跟爸妈待在一起,聊天吃饭看电视,翻看以前的照片,读我大学里写给他们的信。

CARO 2012欧洲之旅。

维也纳

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

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

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

重游布拉格。

3月中旬的时候,我被公司派到布拉格参加经理培训。这是我第二次去布拉格,上次去是在10年的8月份,可惜只待了一天,来去匆匆,并没有欣赏到这座欧洲古城的全貌。这次在布拉格停留5天,可以慢慢体会那里的生活节奏和城市文化,所以便有了新的认识和感受。

因为回来之后一直在倒时差,加上年初的工作繁忙,所以直到这几天才能静下心来整理此次布拉格之行的记录。还好这次我吸取了上次写布尔诺游记的教训——靠回忆来整理游记无论体力还是脑力劳动,工作量都巨大。所以这次在布拉格的5天,每天晚上回到酒店,我都会记下我当天的见闻感受。这样便有了这篇日记形式的博客。

我和黑莓。

当心灵手巧的我克服重重困难让我那奄奄一息的9700重生之后,我决定写篇博客记录一下我的黑莓情节。

8700

我的第一部黑莓手机是曾经风靡一时的8700G。其实当初买这个手机纯属意外, 大概是在09年夏天,我的前一部手机LG kc550在上海客运总站被偷。当时穷酸的我决定先买一部简单的手机凑合着用。在把心理价位锁定在500左右之后,我选中了一部诺基亚的低端手机,可是到手后发现是移动定制版的,不喜欢只好退掉。后来突然想到当时的同事Face同学给我看过她买了玩的黑莓手机,全键盘的很酷,好像挺能糊弄人。我上淘宝一顿搜索之后,于是认领了自己的第一部黑莓手机,500元的换壳版8700G。那时候8700系列应该已经停产了,所以基本上所有的8700都是翻新的。但如此低廉的价格能买到一部智能手机,更重要的是还是彩屏的!

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.