安全技术运营的学习与笔记9
2023-6-12 18:3:36 Author: OnionSec(查看原文) 阅读量:5 收藏

本篇涉及安全技术运营中的静态规则挖掘与机器智能(使用AI类算法来解决具体问题的方式)的应用,不知不觉断更快一个月了啦,一边忙工作的事情加上有一点点焦虑,时不时对抗下emo。但其中最主要的原因是关于AI的内容笔者涉猎很少很少,没有做过工程实践,这块有一定门槛,因此相关的笔记便显得有些心虚,也是渐渐地根据工作的环境以及相关的论文或书籍进行补充理解和学习。本次参照学习的书籍为《基于数据科学的恶意软件分析》,里面有关特征空间与决策边界的内容非常棒,言简意赅非常容易理解,基于机器学习系统的本质在于使用的算法会提供一个概率值,有点类似于统计分析。

“机器学习和其他类型的计算机算法之间存在根本区别。传统算法告诉计算机该做什么,而机器学习系统通过样本的学习来解决问题。”,传统的场景我们需要利用人力创建特征增加检测能力,但利用机器学习的特性可以自动地完成特征创建。虽然能自动地完成特征创建,但是安全场景下不可能一个方法解决所有的问题,因此凡事需要辩证地看待。

渐渐地我发现,一个AI系统(不管是传统的机器学习还是新兴的深度学习)在安全方向上的应用最终都逃不过它的误报率是否符合现实情况,误报率比准确率要更重要。漏报可能会随着系统的完善渐渐地消失,而误报则是一开始出现就会影响整体的安全系统与效果。换位思考下,如果我是需要安全建设的客户,购买了对应的安全服务(产品或系统等),但是购买的服务误报率比较高,我每天都要花费不少时间精力投入处理误报情况。久而久之,人的耐心便会被消磨,甚至于会反感某类产品。因此站在正常社会活动的角度下,人是作为主体而存在的,误报率需要控制在合适的范围,结合书中提及的情况,在恶意文件场景下,低于万分之一的误报率是合理的。不过换一种角度,安全事件本身就隐藏在大量的正常数据中,因此高检出意味着能增大发现攻击的概率,而低检出往往存在漏报的可能,而漏报的后果会导致攻击已经发生且会成功,成功的攻击活动给客户带来的影响是巨大的,如何权衡在工程实践中的各种指标也是特别需要注意的内容。

回到在安全技术运营中的内容,作为一个安全检测系统,可能会遇到各种各样的检测工具或方法,例如基于启发式的检测。目前最常出现的是yara,利用yara检测各种各样的元数据或特征来汇总整合得到结果,yara是一种类似杀毒检测扫描的工具,不仅可以作为主动扫描挖掘工具也可以作为被动检测的一部分。yara可能是一种能快速上手但精进很难的工具,主要是每天都会有大量的恶意文件出现,而基于特征的系统慢慢是落后于新恶意文件,因此如何半自动化或自动化提取特征来增强检测能力也是比较重要的一环。启发式检测也会利用yara,例如“一般情况下,低启发规则可以直接用来做鉴定,甚至可以直接部署到客户端启发式杀毒引擎中;而高启发规则用来发现新的恶意程序,需要安全工程师进一步确认,客户端可能会在一些特定的场景下部署。”,这是一种比较理想情况下的运营场景。

启发式发掘主要用于两种场景:低启发用于已知恶意程序变种的自动化鉴定;高启发用于变化较大的恶意程序变种的发现,甚至是未知的恶意程序发现。上述的启发式挖掘是传统的安全检测系统的一环,也被称为专家系统,专家系统的本质是一个由安全人员驱动的系统,因此人在系统中的参与度占比会比较大,参与人越多系统能力越强,需要不断地持续运营。假设一旦停滞,由于安全是一个持续变化的过程,因此系统的效果便会变差。随着AI在一些行业中的应用,安全方向也成为了它的试验场,主要是由于专家系统投入的成本不断增加,运营难度也再不断增加,因此需要另一种思路来解决这种困难。AI在恶意文件中的应用有二分类(鉴黑)、多分类(家族分类与识别)等,因此本质是利用AI来帮助我们解决一直以来都会遇到的问题,AI的核心是立足于大量数据的前提,因此如果面临的困难是处理并不多的数据,有可能用不上AI这种方法,同时也发挥不出它的功能,重点是解决大量数据场景下的安全问题。

“影响识别效果的另一个重要因素是训练集的纯度。如果用于训练的恶意样本之中混杂了一些白文件,那么可能会导致模型的偏差,出现较多的误报,如果用于生产环境,这是很大的风险。”数据集的质量影响很大,所以这也是为什么OpenAI会花很多时间与成本投入在数据集的标注上面,大量的采用人工去标注让模型得到比较好的输入数据。在关于机器学习识别恶意文件的章节内容中,介绍的比较简单,因此如果要扩展阅读还需要补充阅读一些额外的材料与简单动手实践下业界比较成熟的算法与方法。在系统完成后,在最终的上线与部署之前还需要灰度,也就是旁路预上线,旁路预上线(预上线是有效控制误报的最佳实践),如果效果达到预期,再正式上线。

在特征工程中,主要聚焦于静态维度,因此特征数量在理论上是不收敛的,是无穷变化的,这导致了特征工程的运营对象是海量的,给安全运营工作带来了困难。所以针对这些困难,又提出了基于行为的识别技术。通过观察安全事件,不同的攻击活动中可能会存在相同的行为,因此攻击技术与对应的攻击行为是相对收敛的。对恶意行为进行运营,可以使运营对象呈数量级降低,使得运营工作变得更加从容。这也是基于行为维度的识别与检测系统的来源,同样也是面对困难进行抽象而来的一种思路,我们经常会遇到的安全场景便是提交未知文件让沙箱进行分析,沙箱是一种模拟自动化分析过程的系统。“沙箱技术是安全运营流程中的一项关键技术,可以应用在威胁的识别发现、自动化分析、威胁情报生产提取、解决方案自动化测试等重要场景。”,可以说在安全运营场景下,沙箱的占比很大,同时也是恶意文件场景不可或缺的一环。

下一篇会涉及行为维度相关的内容


文章来源: http://mp.weixin.qq.com/s?__biz=MzUyMTUwMzI3Ng==&mid=2247485233&idx=1&sn=55cb8d03e5a247fbc5ff67d2594ccbb3&chksm=f9db5072ceacd9649a7b4607fb3c232abfd9f8a048aba6e11cbbfc9836c5ce88e82d61db5ad9#rd
如有侵权请联系:admin#unsafe.sh