机器学习被带到沟里了?

      机器学习被带到沟里了?无评论

  ――恶意软件可轻易逃脱检测(包括Gmail)

机器学习被带到沟里了?

  近年来机器学习越来越火,被很多人视为神器,指哪打哪,所向披靡,地球人已经不是对手了。很多安全领域的难题也用到机器学习技术来解决,比如垃圾邮件分类、僵尸号检测、恶意软件分类等。去年微软在Kaggle上赞助了一个Windows恶意软件分类比赛[1],冠军队赛前并没有任何恶意软件知识,仅凭基本的机器学习技能就赢得第一名,模型准确率接近100%。这似乎意味着数据科学家开始来抢安全专家饭碗了!

  然而,今年NDSS‘2016有一篇论文[2]指出:机器学习做安全只是看起来很美。论文标题Automatically EvadingClassifiers[3],作者来自美国弗吉尼亚大学。该论文采用遗传编程(GeneticProgramming)随机修改恶意软件的方法,成功攻击了两个号称准确率极高的恶意PDF文件分类器:PDFrate[4]和Hidost[5]。实验中所有500个恶意PDF样本被稍加修改后都被判为无害,然而其携带的恶意代码照样在目标平台中运行。值得注意的是,这些逃逸检测的恶意文件都是算法自动修改出来的,并不需要PDF安全专家介入。

  两个受攻击的分类器PDFrate和Hidost分别采用PDF文件内容和PDF文件结构作为分类特征,在原测试数据集中均显示出极佳的分类性能。然而,攻击实验结果表明,不论是文件内容还是文件结构都不能训练出可靠的恶意PDF分类器。尽管在训练数据中确实可以观察到两类样本在文件结构(内容)上的差异,这些差异往往并非必然,以此训练出来的分类器将存在很大盲区。举个例子,现实中收集到的恶意PDF样本往往文件尺寸都比较小,因为攻击者通常只要把一小段可执行代码植入PDF就够了,并不需要真正的PDF页面。用机器学习训练分类器时,把文件尺寸作为特征或许可以在特定的数据集中帮助区分恶意/无害样本,然而这并非是恶意软件的真正特征,攻击者只须简单地植入更多PDF内容页就可以迷惑分类器。

  机器学习用在安全业务中到底可不可行,学术界一直争议不断。这篇论文以扎实的证据指出:安全领域的任务有其特殊性–攻击者会不断改变策略,至少不能以传统的机器学习视角来看待安全类问题了。以后安全从业者接触到本领域的机器学习分类器,不应该只问准确率、误报率之类的传统度量,而应该认真思考一下其分类特征是否靠谱,否则机器学习做安全只是看起来很美而已。

  作者在宣讲论文时还披露了Gmail内嵌的恶意软件分类器更加脆弱,只须4行代码修改已知恶意PDF样本就可以达到近50%的逃逸率,10亿Gmail用户都受到影响。然而Google安全团队表示恶意软件检测是个大难题,他们暂时也无能为力。计算机安全行业如何保护亿万用户任重而道远!

  参考链接:

  [1]  Windows恶意软件分类比赛:https://www.kaggle.com/c/malware-classification/

  [2]  论文全文下载:NDSS会议网站2016-0315-automaticallyevading-classifiers

  [3]  从百度文库下载报告Slides:http://wenku.baidu.com/view/0f30f8dba6c30c2258019e02

  [4]  A C S A C ‘ 2 0 1 2: P D F r a t e h t t p s ://w w w . a c s a c .o r g /2012/ o p e n c o n f / m o d u l e s / r e q u e s t . p h p ? m o d u l e = o c _program&action=summary.php&id=70

  [5]  NDSS’2013 :Hidosthttp://www.internetsociety.org/doc/detection-malicious-pdf-files-based-hierarchical-documentstructure

发表评论