OSDI’10 Best Paper: Efficient System-Enforced Deterministic Parallelism

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享

(没有打分)

NSDI 2012 Best Paper

(1个打分, 平均:5.00 / 5)

蒋清野 。《HP Cloud Services--Performance Testing》

大家好,我叫蒋清野。大家都知道,OpenStack项目经过两年的发展,已经开始进入试商用的阶段。HP是最早推出基于OpenStack的公有云服务的公司,RackSpace也于最近退出了基于OpenStack的公有云服务。这两个IaaS服务在一定程度上可以反映OpenStack项目的成熟程度。我从今年4 月份起就在HP Cloud Service上进行一些测试性的项目。借OpenStack亚太峰会这个机会,将我在HP Cloud Service上获得的一些数据与各位同行进行分享,希望能够得到大家的批评和指教。

(1 分钟)

阅读全文»

(4个打分, 平均:4.50 / 5)

《弯曲评论论文集》(中) 。纪念邓稼先(1924/6/25–1986/7/29)

(8个打分, 平均:5.00 / 5)

谷歌的混合研发模式(Google’s Hybrid Approach to Research)

(2个打分, 平均:3.00 / 5)

NDSS 2012 见闻2

NDSS 2012第二天的正式session比较少, 只有3个. 除此之外,有一个keynote speak 以及2个Sponsors的talk. 今天的三个session中, 我自己比较感兴趣的是smartphone security的5篇文章. 其他两个session 一个是 social network相关, 另外一个是crypto. 对这两个session 我都不太感兴趣, 因此基本上 skip 了这两个session的大部分的 talk,而把重点放在smartphone 这个session.

从11年开始,smartphone security相关的文章就逐渐在安全会议上出现. 最近两年比较活跃的smartphone security的group主要有 berkely 的 David Wagner dawn song 的group(其中比较杰出的学生是Adrienne Felt, 11年各有USENIX Security和CCS进帐), penn state 的 patrick mcdaniel的group(其学生Willim Enck的TainDroid 揭开了对smartphone app的privacy问题的研究, 现为NC State的AP), NC State的Xuxian Jiang的group, 欧洲的Ahmad-Reza Sadeghi的group. 其他的group 比如indiana的 xiaofeng wang, UCSB的Kruegel, RICE, Washington也会有零星的关于smartphone的paper出现.

今年录用的5篇smartphone的paper中, 其中2篇来自Xuxian Jiang的group, 两篇来自Ahmad-Reza Sadeghi的group, 另外一篇来自Vienna的sba-research. 根据我自己的观察, Vienna 对计算机安全的研究也比较活跃的,经常能在四大会议上见到来自于Vienna的研究人员的文章.

这个session的第一篇文章题目为”Guess Who’s Texting You?”. 这篇文章对目前流行的9个message app(比如WhatsApp)进行了系统地安全方面的研究, 并且发现了这些app中存在一些漏洞. (1)称为account hijacking. 这些message app都有一个特点,也就是使用电话号码来作为account. 为了防止用户使用别人的电话号码作为account, 在注册的时候需要用户输入自己的电话号码并提交到服务器, 然后app的服务器端会返回一个验证的短信. 用户需要输入这个验证短信然后提交到服务器端,从而完成注册的过程. 然而有一些app在设计这个验证过程的时候没有考虑周全从而留下一些安全隐患. 比如某一个app 在验证的时候, 首先在app端生成一个随机验证码, 然后把这个验证码发送给服务器. 接着服务器会把这个验证码作为短信形式发送到手机(短信能确保验证码是发送到注册的时候提供的号码而不是其他人的号码). 最后手机的app会根据之前产生的验证码和用户输入的通过短信接受的验证码进行比对. 问题在于,如果attacker可以窃听app和服务器之间的通信, 那么可以直接获取app发送给服务器的验证码, 然后把这个验证码输入app 就能完成(以任意号码)为帐号的注册过程 (2)Unrequested SMS/phone calls  这个就比较简单了. 比如我觉得某人不爽, 我就不断的以他的手机号码 注册. 这样 app的远端服务器会一直给这个人的号码发送短信( 效果和 在街上办证的小广告上写上别人的电话号码类似). (3) Message Manipulation   某一个app的远程服务器在发送短信的时候没有作校验. 导致attacker可以直接给这个app的服务器发送数据从而完成向其他用户发送短信. 比如在浏览器中输入下面的URL http://xxx/number=xxx1&message=xxx2 就能向xxx1用户发送xxx2短信. 这篇paper还提到了其他的攻击, 比如修改用户的status 状态. 有兴趣的朋友可以阅读这个文章. 实际上读起来很轻松.

第二篇和第三篇都是来自Ahmad-Reza Sadeghi的group. 和第一篇attack类型的文章不同, 这两篇文章都是defense的文章. 一个是MoCFI, 提出了一种在ARM 架构下enforce CFI 的方法. 另外一篇提出了解决confused deputy 问题的思路. CFI 实际上是微软在05年提出的一个概念. 它主要解决control flow hijack问题. 其基本思路是首先分析程序中的control flow,从而得出CFG.也就是说一个跳转指令会跳转到什么地方(当然由于indirct jump的存在, 是不可能完全的CFG的) 然后在run time的时候去check 看看这些跳转指令的目标地址到底是不是在预料之中. 如果不是, 就表示control flow 可能被hijack了. MoCFI的工作流程如下, 首先通过静态分析 程序得到CFG. 对于indirct jump,有一些地址在静态分析的时候得不到目标地址, 这需要一些 heuristic 的帮助. 另外对函数调用,则通过shadow stack的方法来保存返回地址. 在生成CFG后, 当load一个程序的时候, 对程序中的跳转指令进行 rewrite, rewrite成Trampolines. 然后在Trampolines中再跳转到 CFI runtime checking的代码.具体的细节可以参见这篇paper.我对MoCFI能被录用是很惊讶的.因为这篇paper除了engineering的effort 以外,我看不出来有很大的challenge和contribution的存在, 也看不来其新颖性.  另外一篇文章是解决Android中的confused deputy问题. 由于Android permission机制的存在. 一个app 如果需要执行一些操作(比如发送短信), 那么它必须有相应的权限. 然而如果有短信权限的app不恰当(非故意)地暴露了一个接口, 从而其他没有相应权限的app可以通过这个接口完成发送短信的操作.这篇paper 针对这个问题提出了相应的solution. 大体思路还是 MAC, 基于policy的那一套…. 我对这一类policy的文章不太感兴趣.

第四和第五篇文章来自于Xuxian Jiang的组. 他们做了两个系统, 一个是woodpecker, 用来检测 android phone 中自带的app 是不是存在confused deputy问题. 另外一个是DroidRanger, 用来检测官方和第三方Android市场中是不是存在恶意软件. Woodpecker 通过静态分析的方法来进行的. 它会首先确定一些感兴趣的危险的API, 然后看看从app的接口到这些API是不是存在路径. 然后对于这样的每一条路径,再进行symobilc execution 去看看这条路径是不是可达. 如果是的话, 然后人工确定这条路径中有没有权限检查的部分. 如果没有, 则说明这条路径可能会有confused deputy问题. 他们对几个流行的phone 进行检查后发现,这些phone 预装的应用多多少少都存在一些问题. 其中HTC EVO 4G 问题最严重.  在没有权限的情况下, 装在HTC EVO 4G的第三方app 可以完成录音,发送短信的操作. 应该说这个漏洞是比较严重的, 因为恶意软件可以通过这个漏洞来完成窃听通话和发送短信到收费号码的操作. 正是如此, 他们的这个工作受到了媒体的广泛报道. (demo video). 另外一篇paper则开发了一个系统称为DroidRanger, 用来检测官方和第三方市场中的恶意软件. DroidRanger 用基于行为(他们称为permission based behavior footprint)的signature来检测已知病毒的新sample. 另外这个系统还采用了heuristic 的方法来检测未知(zero-day)病毒. 他们从5个android 市场(1个官方,4个第三方)下载了20多万个免费app, 从中发现了大于200个的恶意软件(包括两个zero-day恶意软件. 其中大部分在第三方市场). 实际上这个系统和Google 最近release的bouncer 有点神似. 也就算说Google 实际上已经注意到恶意软件可能利用android market来传播的事实并且已经提供了相应的解决方案.

对于其他的两个session 我没有太关注. 总体而言, smartphone的5篇paper 整体质量高于11年CCS的smart phone的文章. 不过我认为,这些工作的深度仍然显得不够deep.这也是可以理解的.一般在一个新领域, 大家总是先把容易作的idea做完. 然后再去啃硬骨头.期待今年的 USENIX security和 Oakland 会有相关的好文章出现.

PS: 今天San Diego的天气是阴天,下午下了小雨. 晚上走在 酒店旁边的海边小道还是很惬意的. 脑中不禁想起了许巍的歌: 阵阵晚风吹动着松涛,吹响这风铃声如天籁,站在这城市的寂静处让一切喧嚣走远……

(2个打分, 平均:5.00 / 5)

NDSS 2012 见闻1

NDSS全称Network & Distributed System Security Symposium, 是学术界研究安全的community 中认可的四大安全会议(ACM CCS, IEEE Oakland, USENIX Security and ISOC NDSS) 之一. 相比ACM和IEEE这样的老牌学术组织, 举办这个会议的ISOC可能听说过的人比较少, 但是搞网络的同学应该都知道RFC为何物吧.而RFC就是由ISOC的下属组织IETF负责的.由此可见ISOC这个组织的地位.

NDSS的会议通常都是在加州的San Diego举行, 今年也不例外, 不过今年的会议场地改在了Hilton San Diego Resort & Spa. San Diego现在的温度大约在10-20度之间,正是一年中比较宜人的季节. 而能在这样的季节来到加州参加NDSS, 也算是比较幸运的. 当我到达San Diego的时候, 阵阵的海风吹在身上,将十几个小时长途旅行所都带来的疲惫一扫而光.

第一天的晚上先去注册地方领取了会议的论文集.和过去不一样,现在的论文集都改成了USB盘存储的电子档. 这给我们带来了便利,再也不用背着笨重的论文集回去了. 粗粗扫了一下今年的program, 发现今年的topic中比较多的是 social network, web, mobile, smart phone, network security. 而传统的host 的security 比如os/virtualization只有一个session. 由此也可以透露出来现在的安全研究乃至技术发展的一个趋势, 那就是你无法不承认 web/social network and smart phone 正在改变着我们的生活.

NDSS今年共有258篇投稿,从中接收了46篇正式的paper, 录用律大概是17%.录用率不高,但正是这样的高标准保证了会议的质量和reputation. 而好的reputation又保证会有高质量的论文会投到这里来. 在今年被录用的论文中,有不少作者是来自于中国大陆的海外学子.尤其值得祝贺的是,国内高校今年也有一篇论文被录用.这篇论文是来自于清华大学段海新老师的实验室. 这应该是第二次有来自中国内地学校的论文被NDSS录用(第一篇被NDSS录用的内地文章应该是来自于北大的韦韬组的博士生王铁雷).

2月6日是会议的第一天.首先是由会议的general chair和program chair讲话.今年的program chair是纽约州立石溪的 Radu Sion. 一般来说能做到program chair这个位置的,多多少少应该是会来事的. 果然这radu一上场就充满气场, 其演讲很能调动现场气氛并且很有煽动力. 可能是由于文化方面的原因, 这一点也是在海外的华人教授们大多缺乏的.

之后是cisco的John N. Stewart所带来的invited talk, 此人的title是Vice President and Chief Security Office. 是个胶片高手. 大概讲了一些当前安全问题的变化以及如何应对这些变化的一些策略. 当然是从high level来说.听完他的报告,感觉听到了一些东西又感觉什么东西都没听到.不知道这是不是听这类报告都会有的感觉?

会议的第一个session是network. 由于我对这个session不是很感兴趣就没有参加. 第二个session是Social Networks and User Behavior的第一场.共有三篇paper.第一篇是来自法国的一个组所做的文章”You Are What You Like”. 从题目来看就直到关注的应该是用户的privacy问题. 顺便提一句, 用户privacy是最近安全领域研究的一个热点问题,特别是在social network和smart phone越来越普及的今天. 但是对于privacy, 虽然学术界做了很多工作,但是我认为这个问题实际上用户也需要参与进来. 如果用户硬是要在其微博上暴露自己的隐私,那么再好的研究也解决不了问题. 再顺便说一句, facebook能值1000亿刀,恐怕和其掌握了海量的用户privacy是分不开的. 这篇paper的idea实际上比较直接,就是如何从用户喜欢的音乐来infer用户的其他信息:比如年龄,国家,性别等. 实际上这个idea我们大部分人都能想到. 比如喜欢李宇春音乐的玉米大部分应该是90后(或者至少是85后)的中国人. 第二篇paper是研究如何用social network来保护Distributed hash tables. 其基本想法是大体是利用social network中关系来区分恶意节点和好的节点.第三篇paper是如何在线区分social network中的垃圾信息的. 演讲的小伙英语非常棒, 本来以为是native speaker,后来到其主页一看原来是来自北大08届的.这篇paper所用的方法实际上也是比较传统的. 通过提取垃圾信息的一些特征来对信息进行cluster从来区别正常的信息和垃圾信息.我想这个方法在垃圾邮件的识别上应该有成熟的应用了吧.不过由于其是在线区分垃圾信息,因此对于实时性会有一些要求. 这个session的三篇paper总体感觉是取胜在数据集的获取以及最终的结果方面. 实际上它们所用的方法和idea 大部分人都能想到.但是如何获取海量的数据以及如何验证自己的idea,这个是他们所独到的地方.也就是说他们比能想到而没有去作的人走远了一步,从而能有一篇不错的paper.

第三个session是mobile. 这个session的主题大体是和移动网络相关的,共有4篇文章.这些文章和具体的网络协议比如GSM, UTMS相关. 因此不太明白其详细的过程.不过大体的思路我都还差不多听明白了. 第一篇文章是如何通过GSM协议广播的一些信息来推断某一个用户是不是在某一个区域或者不在某一个区域.第二篇papaer是 基于mix-zone的policy 来保护用户location 隐私方面的第一个pratical study. 所谓mix-zone的policy 是把 地理位置分为app zone和mix zone. 只有在某一个app zone内,特定的app才能获得位置的更新. 比如一个app 的app zone是某一个银行. 那么只有在银行内,这个app才能获取位置信息的更新,进入mix zone后这个app就没有办法获取位置信息的更新了.这个方法主要用来防止对用户location的持续tracking. 第三篇paper是说如何获取UMTS 用户的location.不过其用的方法和第一篇不一样.它是通过向用户发送probe封包然后根据返回的数据的属性来倒推用户位于哪里. 最后一篇文章比较有意思.这篇文章研究了现在比较流行的femtocell中可能存在的安全隐患. femtocell是一种便携式的基站,可以被部署在办公室或者家里提高手机信号的覆盖率.其前段是RF信号发射和接受,后端是通过有线网络(比如DSL)连接达到运营商(比如联通)的网络中. 但是如果femtocell被attcker攻破的话,会带来哪一些安全隐患是这篇paper所讨论的主题.实际上femtocell就是一台小的嵌入式设备,本身一定会存在一定的漏洞.attacker可以利用这些漏洞来执行代码.这篇paper所演示的设备在firmware更新(recovery)的时候存在一个漏洞:没有check远端更新服务器的有效性. 因此attacker可以伪造一个远端更新服务器来更新含有恶意代码的firmware. 另外虽然要更新的firmware是加密和签名的.但是用来解密的key是从远端服务器push过来.并且如何校验firmware的integrity是通过新的firmware中的配置文件来进行的….

第四个session是 cloud和crypto. 我的理解是这个session的paper 主要关注在cloud存储加密数据所带来的一些问题. 由于cloud是不受数据的拥有者控制的,因此在把数据放到cloud中总有一个担心:我的数据是安全的吗? cloud提供商会不会窃取我的数据? 同存放在一台物理cloud上面的其他恶意客户会不会窃取我的数据. 因此,通常来说存放在cloud中的数据需要是加密的.但是加密也都会带来一定问题. 比如我想去查询加密数据,看看是不是含有特定的关键字怎么办?我们不能在cloud上进行解密然后再查询(这样解密的数据有可能被窃取). 那么有什么方法可以在加密的情况下进行查询呢?这个seesion 有一篇文章讨论的是这个问题.  由于对crypto 不是很感兴趣, 这个seesion 的其他talk没有去参加.

这次NDSS会议和往届不同的地方在于多了一个invited paper的session. 这些paper多是在PC member meeting的时候有争议不能被录用为正式paper的文章.但是又有一些PC member觉得这些paper有一些好的地方. 因此, 这届会议把这些paper录用为invited paper, 会有1页出现在最终的proceeding中并且也会在会议上进行pressent. 被录用的invited paper中,有一篇来自dawn song(弯曲的朋友一定不会陌生)组,称为free market的文章. 这篇文章讨论的是google 提供的Android in app billing service中存在的问题.这个问题本身并不在于这个in app billing service,而在于app的开发者没有正确这个service使用从而导致attacker可以购买app中提供的虚拟商品而不用付钱. 简单说就是 app的开发者没有再次校验由in app billing service 返回的含有支付成功的消息, 因此attacker可以伪造这个消息从而让app认为支付成功而实际上并没有支付.

第一天的会议议程差不多是这样. 第二天的议程同样值得期待,关于smart phone security的session(共5篇文章)比较值得关注. 同样在第二天会议后,我会带来后续的更新.

(3个打分, 平均:4.67 / 5)

GENI-Explore Networks of the Future

(1个打分, 平均:5.00 / 5)

下一代互联网体系结构

(3个打分, 平均:2.33 / 5)

弯曲推荐:程序分析--原理部分

(6个打分, 平均:5.00 / 5)