安全实践者总被教育说要更智慧地使用数据。但问题是,很多数据科学家都迷失在自己的数学和算法世界中,而疏于从业务角度阐述自己的研究价值。
大数据平台Dataiku分析架构师兼销售工程负责人肯尼斯·桑福德( Kenneth Sanford )博士称,安全专家需与数据科学家更紧密合作,理解公司企业想要达成的目标,比如是想要合规,还是想要确定如果遭遇勒索软件攻击会造成什么损失。
桑福德表示,“定义业务问题非常重要,像是宕机时间的业务损失和不合规的经济处罚之类的。”
Rapid7首席数据科学家罗博·路迪斯( Bob Rudis )补充道,公司企业需后退一步,观察他们的过程,确定哪些可以通过数据科学做得更好。
公司企业需问问自己安全问题与业务问题之间的联系。
桑福德和路迪斯构建了一套六步创建内部DNS查询分析模型的方法,可以有效减少甚至清除掉查询中的恶意代码。
1. 定义业务问题
安全实践者经常迷失在技术细节中而没有仔细考虑手头的业务问题。举个例子,如果目标是分析DNS查询请求,确定要分析的是成千上万的内部DNS请求还是某网站或电子商务站点的外部DNS请求就很重要。只要确定出哪些才是更重要的,数据科学家就能建立模型分析这些活动。
2. 确定哪些数据源最适合解决问题
这一步决定模型解决业务问题的样式。如果公司确定要解决的是内部用户点击网络钓鱼链接的问题,就需要建立针对所有内部DNS请求的模型。从所需数据类型的角度看,你将需要合法电子邮件集、被黑电子邮件集和电子邮件源IP及源域名的集合。数据科学家需能创造性地想象出一个所有数据都可用的世界。
3. 列出数据清单
这一步你需要盘点可用数据,列出数据清单。虽然应该尽善尽美,认识到局限所在也是必要的。说回DNS主题,大多数DNS数据来自于路由器、手机、服务器和工作站。你需要盘点所有查询类型,确定是否符合自己能处理的格式,确定自己是否具备恰当存储并访问这些数据的IT基础设施。如果你存储空间不够,那就需要搞清楚自己到底需要什么,配置这些基础设施需要花费多少预算。
4. 实验多种数据科学技术
现在可以坐下来打开电脑实验哪种数据科学技术最适合自己了。是高度可解释的线性模型,还是高深莫测的深度学习算法?无论哪种,切记不要为了追求高深的数学而部署算法。目标应该始终指向选出最佳方式,让机器给出人力所不及的分析,让公司能够做出明智的决策。DNS案例中,就是构建能持续以高置信度判定DNS请求是否恶意的模型。
5. 从现实世界视角测试
测试时,团队会希望确定模型是否产生过多误报或漏报,以及分析是否够快,是否能支撑业务所需。从现实世界角度测评模型很重要。DNS样例中,你应测试模型能否减少公司内部产生的恶意DNS查询请求的数量。
6. 监测与持续改进
测试过程可能持续数周,一旦测试完成,就是时候将模型应用到生产中了。但是,必须认识到,这些模型需要持续的监测和改进。这与部署杀毒软件不同,杀毒软件你每隔几周就会收到可用于更新的病毒特征码。模型则需要持续监测以确保能符合公司抵御恶意DNS请求的目标。