平心而论:机器学习如何应对勒索软件
6周内2次,全世界被勒索软件攻击搅了个人仰马翻。这种锁定电脑上文件来要钱的的恶意软件,令人痛苦抓狂又莫可奈何。
很明显,世界需要更好的防御手段,而这些手段也很应景地开始出现了——虽然来得很慢,且是以修修补补的方式出现。它们的到来,我们应感谢人工智能。
勒索软件未必比偷偷潜入我们电脑的其他恶意软件更狡诈或危险,但却更恶劣,有时候甚至是毁灭性的。其他恶意软件大多不会采用勒索软件的粗暴方式夺走你的数字资产,也不会威胁你交出几百美元赎金。
除了这些风险,很多人还不擅长跟上安全软件更新。最近的两次大规模勒索软件攻击,痛打的是没装上几个月前就发布的Windows更新的那些人。
安全软件自身也有问题。比如上周的勒索软件攻击,安全研究人员测试的60种安全服务中,仅有2种检测到了。
加州安全厂商Proofpoint的专家称:“很多普通应用,尤其是Windows上的应用,与恶意软件的表现也相差无几,很难鉴别出来。”
怎样找出恶意软件
早期时候,识别病毒之类的恶意程序,一般就是将代码与已知恶意软件数据库做匹配。但该技术只能鉴别出数据库中包含的已知恶意软件,对新变种无能为力。
于是,安全公司开始根据软件行为描述恶意软件。勒索软件的案例中,安全软件可以检测通过加密来锁定文件的行为。但这样又可能会把正常的计算机操作也误报成勒索软件,比如文件压缩行为。
更新的技术涉及检查行为组合。比如,不显示进度条的文件加密行为,就可能被标记为可疑隐秘行为。但这也有识别出有害软件太迟的风险,可能导致部分文件已被锁定。
更好的恶意软件识别方法,通过观察通常与不良意图相关的特征:比如,伪装PDF图标以掩饰其真实意图的程序,就会被隔离。
此类恶意软件分析不依赖具体代码匹配,也就不容易被规避。而且,可以在潜在危险程序开始执行前就执行此类检测。
机器 VS 机器
诚然,2到3种特征可能无法正确区分恶意软件和合法软件。但几十个特征呢?上百,乃至上千种呢?
对此,安全研究人员转向了机器学习——人工智能的一种形式。该安全系统分析良性和恶意软件样本,找出恶意软件中可能会出现的因素组合。
遭遇新软件时,该系统会计算其是恶意软件的概率,根据既定阈值进行屏蔽或放行。若有恶意软件潜入,只需调整计算或重设阈值即可。时不时地,研究人员就会用新行为训练机器学习算法。
军备竞赛
另一方面,恶意软件作者也可获得这些安全工具,调整自己的代码,查看能否规避检测。有些网站已提供了用主流安全系统检测软件的接口。最终,恶意软件作者会开始创建他们自己的机器学习模型,对战安全人工智能。
德米特里·阿尔普洛维奇,加州安全厂商CrowdStrike共同创始人兼首席技术官,称即便某系统提供99%的防御,调整攻击以获取那1%的成功也只是个数学问题。
不过,采用机器学习的安全公司仍然宣称可封锁绝大部分恶意软件,不仅仅是勒索软件。SentinelOne甚至为勒索软件提供100万美元的担保,而且至今尚未有任何赔付。
根本挑战
那么,为什么勒索软件依然横行呢?
普通杀毒软件,甚至一些免费版,都能帮助封锁新型恶意软件——因为很多都加入了行为检测和机器学习技术。但此类软件仍然依赖那些用户不太擅长更新的恶意软件数据库。
下一代服务,比如CrowdStrike、SentinelOne和Cylance,倾向于用机器学习完全替代数据库。
但这些服务专注企业客户,每台电脑年度许可要40~50美元。中小企业往往不具备此等预算,或者不关注此类防御。
这些安全公司也尚未打算发售消费级产品。尽管Cylance计划在7月发布消费者版本,该公司同时也称该销售很难实施——至少要到个人遭到攻击或知道有亲朋遭到攻击才会考虑发售。
正如Cylance首席执行官指出的:“没遭到龙卷风袭击的时候,何必要买龙卷风保险呢?”