针对日益复杂的网络环境依靠安全研究人员人工追查和分析恶意软件显然已经不能满足多数用户的防护需求。
因此微软在近期的安全博文中揭示了如何通过机器学习技术自动化及多层次分析尽早的识别出新的恶意软件。
目前在Windows Defender反病毒软件中已经应用多层机器学习模型,按不同阶段所获得数据进行针对分析。
如图:自上而下分别是本机启发式分析、元数据学习模型、样本分析学习模型、动态分析模型和大数据分析。
在本机启发式分析中可疑文件如果被认为问题较大那么将会自动进行第二阶段分析,无问题则会自动被放行。
自元数据分析开始全部在微软云端进行自动化分析,这个时候会检测可疑文件的源代码然后按特征进行分类。
接着可疑文件会被作为样本继续进行执行分析,分析结果将会与云端数据库中已有的类似结果进行对比分析。
如果还是无法确定可疑文件到底是不是恶意软件的话,那么将会执行云端分析中的重头戏:引爆式分析模式。
引爆式(动态)分析和大数据分析:
在这里Windows Defender将会把可疑的文件放在沙盒中运行,然后观察可疑文件在运行时做出的各种行为。
例如可疑文件试图修改或者复制其他文件、修改注册表键值、试图注入其他进程等等都会被记录再进行分析。
分析结果将会和云端数据库中具有同类行为的恶意软件结果进行对比,这样即使是新恶意软件也可以被识别。
数十分钟确定恶意软件变种实例:
2017年10月14日11:47位于俄罗斯圣彼得堡的 Windows Defender 用户从某恶意网站下载到了某可疑文件。
该可疑文件看起来非常像是Adobe Flash Player的更新程序,但实际上该更新程序确是坏兔子勒索软件变种。
Windows Defender在本机进行启发式分析时认为无法信任,于是校验可疑文件后开始连接云端服务器查询。
在查询云端服务器后发现已经有几个元数据学习模型认为文件可疑,但也没有模型认为这个文件就是恶意的。
紧接着Windows Defender将本机可疑文件锁定等待继续分析,数秒后云端返回结果认为恶意概率为81.6%。
但是Windows Defender默认拦截所需概率为90%,因此该文件还没有达到可以直接被拦截阻止运行的情况。
稍等片刻后云端服务器发现全球已有 8 位受害者被勒索软件控制,经比对后发现这些勒索软件行为非常类似。
于是在圣披德堡的这位用户的Windows Defender开始在沙盒中动态分析,分析完成后将结果上传云端对比。
对比后确认其行为与已被勒索软件控制的电脑上的恶意软件行为相似,于是判断文件恶意概率上升到90.7%。
该概率已经达到Windows Defender的拦截需求,因此云端服务器便下发指令要求Windows Defender拦截。
至此这个坏兔子勒索软件的最新变种在十几分钟内被成功识别,其他电脑上遇到此变种后全部直接阻止运行。
最后,可惜提供机器学习样本的那8位用户已经被感染勒索软件了
领取专属 10元无门槛券
私享最新 技术干货