20160328-听印第安纳大学王晓峰教授学术报告——安全领域的Big Data

#talk #android

为时一个半小时的学术报告,还是蛮充实的,王晓峰教授的语速颇快,而且是中英夹杂的来说,他本人也解释说这个报告用英语做过很多次,这次是第一次尝试添加中文来说。所以很多时候需要快速的切换语境来理解他的意思,不过还蛮有趣,个别其他方向的专业词汇稍微不太理解。

王晓峰教授一开始提到的最多的词就是integration,一体化、整合、集成。也就是说现在的安全问题不是单单一个方面,需要面对很复杂的情况。列举了几个情况:

  • Cloud-Client
  • Cloud service
  • Cloud-Device
  • App-OS
  • Device-Device(IoT)

介绍了几个例子,比较有趣的提两个:

  1. 亚马逊购物:甲在亚马逊买了一些东西,他的邻居知道他买了一些东西,可能并不完全知道这次买的都是什么物品,但是会知道有几样是什么(比如5、6个货物)那么,在亚马逊的购物记录里,查询下,在某一个比较小的时刻里,同时买了这5、6个货物的都有谁,就很有可能发现甲,从而知道甲还买了什么,进而知道甲之前还买了什么,甲不想暴露出来的购物记录都可以被看到。(需要在大数据里查找到某一个小时刻里的5、6个货物)
  2. 人类基因数据:基因数据泄露,可以通过基因来得知这个人长什么样。比如hair colour等等,可以从基因完全推知出来这个人的样貌。

这些都是开场白,哈哈,王教授也说讲了半个小时的开场白。正题第一个部分是我最感兴趣的地方,Android Malware 检测。

主要还是关于检测repackaging的app。之前的一些检测都是基于特征(signature)、行为(behavior)等等,但是王的团队提出了一个他们声称very crazy的方法(确实有点crazy……)拿一个新的app,runtime实时和250w个(未来期望达成1000w的数量级……)已有app比较,查找Diff/Com Code。有相同的code就摘出来,很有可能就是repackage的。并且还对app的mata元数据进行比较,相同的太多就suspicious。还有就是一个repackage的app一般不会动原始app的UI,毕竟要模仿和伪造,他们就对UI操作进行了View Graph,提到了Centroid-base View Analysis方法,但是图的相似度比较问题在计算机科学与技术里本来就是个hard problem,所有他们又进行改进,将图变成标量再变成数字,比较200w个数字特征就没有那么困难了。

也就是把CFG(control flow graph)变成了一个3D-CFG(三维),然后寻找这个三维图形的重心,将这个重心数量化,记为m-core。m-core就是可以进行比较的数据,大大简化了使用图进行比较。

接着ppt一闪而过的方案设计,我看到了“260 GB”,还在想硬盘不大啊,ssd吗?的时候,发现了是260 GB memory……holy ***!40 cores 2.4GHz……wtf!真的很crazy啊。(抱歉我只看到了这两个数据)

提到了Virustotal检测平台,它使用几十种方案同时检测,所以有较高的覆盖率,但是跟各个单独方案比较,王教授的团队提出的这个方案还是coverage最高最好的。项目已经开放给公众使用了,应该是叫Mass Vetwww.appomicsec.com)

第二个提到的工作是关于网站攻陷。美国很多政府部门和教育机构的网页里会被添加卖假药的语句和链接,也就是网站被攻陷了(他们称作Promotional Infection),在一个很正常的文章里,突然会出现一个卖假药的文字链接,可点击的文字,不去读的话根本不可能发现。所以就需要semantic analysis,好像是使用了google的api来搜索内容,显示的包括题目、链接和一些短介绍或者描述。具体的方法这里没有细听,开小差了。

时间关系第三部分没有讲,就到了提问环节。我提了个问题……关于第一个工作里,比对的数据(就是那250w app)里是否有malware呢,还是都是良性benign的。王教授说有malware,但是他们在采集这些数据之前数据集会先自我进行比较,而且不断采集google play上更新的新app,还提到了有些新app可能过段时间就没了,说明google也在不断的检测和删除malware。(其实我感觉王教授还是没有正面回答我的问题,数据集里到底是否有malware,如果有,不就类似一个黑名单匹配了么……也可能是我还没有理解,应该找下他们的论文看看,而且提到了CFG很有用,之前的刘鹏教授也提到了)

最后还是用王教授引用的乔帮主的话做结束吧:Stay Hungry. Stay Foolish.