用户行为分析、网络威胁检测,一股新的浪潮正在持续发酵。安全数据分析被用于掌握情况、发现问题和预测风险,并带来了潜力不可限量的营销前景。理想的情况是从攻击中提取出机器学习程序所支持的数据,并把它交给算法,然后一切安全状况尽在掌握。
作为信息安全工具,“机器学习”的噱头显然掩盖了数据科学不那么吸引人但却本质的一面:数据的收集和准备(后者占据了数据科学家约80%的时间)。事实是,机器学习和其他算法需要应用于适当、干净、容易理解的数据来获取有效的结果。
安全市场存在这种误导性的风向不足为奇,但是当这种情况出现在安全领域,就可能带来有害的影响。信息安全有如此多复杂而不同的数据集,并通过自动化分析为不同的利益群体(比如首席信息安全官,安全运维人员,IT运维人员,风险委员会)拼接和呈现。
如果机器学习产品夸下海口却成果有限,那么对数据一向执怀疑态度的人会咬住这一点不放,甚至包括那些决定安全项目预算的人。只要搞砸一次,他们就不可能再次购买同数据驱动的方案。
如果你要购买一个宣称能“点数据成金”的分析/度量工具,你应先考虑一下几条关键信息:
1. 该工具需要那些数据来得到其所所承诺的结果?
有些分析产品如果没有按照特定方式从系统获取的数据,就根本无法工作。举例而言,如果你想购买的平台使用web代理数据,你给它的登录许可带来的风险和你为了安全所做的种种措施该如何权衡呢?怎样满足信息安全增长的登录需求?怎样满足其数据存储需求?
为了获取你所要的信息,你需要更多来自于全网的数据。否则,你决策时可能仅仅只会基于所看见的危险,而非不能忽视的所有重要风险。
如果你的分析产品有特定的数据或数据集无法获取,厂商应该告知你决策所用的信息完整性和营销材料上存在差异。
此外,你还要考虑为了获取不同的数据来源需要做的种种琐碎工作。这些数据归谁所有:信息安全厂商还是第三方(如基础设施或外部供应商)?你能得到它吗,又以何种格式呢——数据被修改了么?这至关重要,因为如果这种情况发生,这会影响可能的分析结果。
你获取数据的速度有多快,你又能在数据创建后多久才能获取它?是仅仅通过一个API从云中获取数据(比如脆弱性数据),还是网络团队不得不通过你的基础层来转存日志(比如活动目录事件日志)?数据生成和获取之间的延迟可能会影响你及时采取行动的能力。
2. 产品安装后需要收集多久数据以实现承诺的准确性和有效性水平,另一方面,在这之前的什么时候,结果是可用的(哪怕达不到理想水平)?
机器学习模型需要被训练。例如,对于一个用于寻找网络异常行为的威胁检测工具,必须先提供涵盖所有近期常见的网络行为的数据。如果模型有更多的数据,它将更擅长发现真正不寻常的行为。当使用该工具解决特定时间的问题时,厂商应该及时提供给你有关模型训练的所有具体说明细节。
3. 分析工具输出的数据以何种方式呈现?要把这些输出变成可操作的“结果”,你的团队需要什么后续工作?
如果你的新威胁检测方案每天都产生1500份需要处理的警报,你将不得不去招募更多负责安全运维的员工。此外,你的服务供应商能信誓旦旦地表示,这些警报里有多少是真实的呢?
机器学习模型将始终返回“虚假的威胁”,所以务必向供应商核实算法的精确程度(真正的威胁占所有威胁数目的比例)和为此必须付出的调试成本。如果精度很低,您的团队将不得不面对大量的噪声成本。如果噪声过高,而供应商的分析师仍需要大量的调试才能达到这一水平,你最好不要对他们的能力抱有太大信息。
即使你需要从七个难以获取、网际传输困难的来源获取数据,这可能并不重要。即使你不得不等九个月让机器受训才能知道你的投资的回报比是否理想,这可能也不是什么大问题。但是如果你不知道上述这些可能,那才是真的麻烦。因为这些因素将影响你对时间、人力和金钱的投入方式,以及你设定对成果的心理预期的方式。
作者:Alfred.N
来源:51CTO