周日下午,本年度的DEFCON正式闭幕。趁着还有印象,照着手上的笔记先把和技术有关的内容整理出来,暂且算是第一部分。
对DEFCON和老美黑客们各种欢乐的吐槽,以及二战赌城的见闻(或许)以后再写。
想下载DEFCON 19所有演讲PPT的115网盘链接(30天有效)的朋友请按^A,解压密码是上海交通大学八字校训的全拼(注意平翘舌)
http://u.115.com/file/aq6yt40x
下面是一些我记了笔记而且和演讲者交流过的几个(Android为主)
- This is REALLY not the droid you’re looking for
一句话:Android平台上的Phishing
以facebook app为例,攻击者创建一个界面和facebook app登陆界面相同的“phishing activity“(这可以通过反向工程FB App的资源文件实现),再创建一个后台运行的service。这个service会监控目前处于前台的app列表,如果发现facebook app正在运行,则启动phishing activity,同时强制override后退键,使得用户在phishing activity输入用户名和密码后按下BACK键会返回到facebook app,这样phishing activity便成功窃取到了用户的登陆凭证。此外,创建一个监听”BOOT_COMPLETE“的Broadcast receiver完成自启动。
这个安全问题的核心在于Android允许了activity抢占前台,即强行占领屏幕获取输入焦点,在用户无法判别真伪的情况下骗取用户输入敏感信息。总体上来说并不是一个技术含量很高的hack。
- Seven Ways to Hang Yourself with Google Android
Android平台上有关Inter-Component Communication的一些常见安全问题,原因及解决方法。一句话:Google的文档太渣,开发者经常受到误导导致没有利用好Android提供的安全机制。Android不安全么?Android security framework不比iOS、Symbian、Meego简单。关键是文档跟不上代码的步伐。可以理解这种苦恼,编了代码能用就行呗,还管文档干嘛。但是Google啊,你tmd写Android出来可是要大伙给你写App的,你文档写的烂,又米有官方教程,让开发者混个屁啊。百度知道、CSDN、Bufferoverflow上的答案可没人敢保证是正确的啊。
安全问题1:Unauthorized Intent Receipt。Implicit intent在没有permission保护的情况下可能被投递到恶意component,从而构成Eavesdropping。此外,在设定filter优先级的情况下,还可以强制拦截intent,构成Denial-of-Service攻击。解决方法:在同一个应用内尽量使用explicit intent,如果必须使用,一定要创建custom permission把目标component保护起来。
安全问题2:Intent Spoofing。类似前一个问题,在component没有被permission保护的情况下,intent spoofing可能使victim component产生一些意外的行为。解决方法:用permission保护component
安全问题3:Sticky Broadcast Interception。sticky broadcase是一种特殊的broadcast,在投递后不会被系统删除。作为一个broadcast,它又是全局可读可写,这就导致一个恶意程序可以选择性地监视和删除特定的sticky broadcast,从而进行denial-of-service攻击
安全问题4:insecure storage。不多说了,app写在SDcard上的数据最好加密
安全问题5:insecure network communication。不多说了,尽可能使用SSL
安全问题6:SQL injection。不多说了,Android提供了参数化的SQL查询,不用那是自找麻烦。
安全问题7:over-privileged apps。开发者为了可用性,在manifest中声明本来不需要的permission,这与the principle of least privilege冲突。解决方法:READ THE FUCKING DOCUMENT
其实这几个安全问题多少有种“不实际”的味道在里面。很多发言者设计的场景都有很强的假设在里面,只是由于android app基数巨大,总可以找到满足场景的app。发言者Erica Chin就是UCBerkeley的PhD,今年上半年刚发了一篇Mobisys的paper。比起DEFCON上的介绍,还是论文更详细。
推荐大家Google Scholar搜索下这几篇论文:Analyzing Inter-Application Communication in Android, Permission Re-Delegation: Attacks and Defenses,一篇Mobisys和一篇USENIX,都是很好的论文。前一篇主要讲问题1和2和3,后一篇主要探讨问题7。
顺带一提,Erika Chin长的真悲剧啊,现场上看比她主页上的还难看(想看照片的自行google)。Yekaterina Tsipenyuk O’Neil倒是个美人。
- Getting the SSLizzard
一句话:利用Android和iOS平台上SSL漏洞进行MITM攻击。
iOS(~4.3.5)和Android(~2.3.4)对SSL的证书处理不当,使得伪造的证书可以通过检查,这样中间人就能够和用户创建SSL连接,从而进行MITM攻击。
技术细节没有在演讲中提到,不过从现场的demo来看,这个问题在iOS上广泛存在,而现场的Android姜饼用户有一些没有这个问题,这个和演讲者提到的2.3.4存在少许出入。
其他一些值得推荐的talk:
没看过的,值得推荐的:
- Abusing HTML5(没挤进去,满场)
- Physical Memory Forensics for Cache(内存)
- Port-scanning without sending packets(标题就够吸引人了)
- Sneaky PDF (内容对没有PDF背景的人可能有些艰深)
- Black Ops of TCP/IP 2011 (演讲者风趣幽默,内容一般,想看Bitcoin的可以进来看看)
- 3 generations of DoS attack (科普)
- UPnP mapping(从外网绕过NAT!推荐)
- Kernel Exploitation (演讲者来自Canonical, Ubuntu Security Team成员,Defcon CTF比赛2006和2007冠军队伍成员。强烈推荐!要求有一些Linux Security Module和关键内核数据结构的背景)
- IP4 truth(IPv6是个骗局么)
- hacking chrome OS(Chrome应用和扩展的安全,XSS大展宏图的新领域)
- Pillaging DVCS Repos For Fun And Profit (版本控制系统的信息泄露)
- VoIP Hopping the Hotel: Attacking the Crown Jewels through VoIP (强烈推荐CISCO的去看一看,教你怎么用宾馆里的VoIP电话上外网。VLAN traversal和trunk port问题)