避開機器學習中的陷阱 數據比算法更重要
用戶行為分析、網絡威脅檢測,一股新的浪潮正在持續發酵。安全數據分析被用于掌握情況、發現問題和預測風險,并帶來了潛力不可限量的營銷前景。理想的情況是從攻擊中提取出機器學習程序所支持的數據,并把它交給算法,然后一切安全狀況盡在掌握。
作為信息安全工具,“機器學習”的噱頭顯然掩蓋了數據科學不那么吸引人但卻本質的一面:數據的收集和準備(后者占據了數據科學家約80%的時間)。事實是,機器學習和其他算法需要應用于適當、干凈、容易理解的數據來獲取有效的結果。
安全市場存在這種誤導性的風向不足為奇,但是當這種情況出現在安全領域,就可能帶來有害的影響。信息安全有如此多復雜而不同的數據集,并通過自動化分析為不同的利益群體(比如首席信息安全官,安全運維人員,IT運維人員,風險委員會)拼接和呈現。
如果機器學習產品夸下海口卻成果有限,那么對數據一向執懷疑態度的人會咬住這一點不放,甚至包括那些決定安全項目預算的人。只要搞砸一次,他們就不可能再次購買同數據驅動的方案。
如果你要購買一個宣稱能“點數據成金”的分析/度量工具,你應先考慮一下幾條關鍵信息:
1. 該工具需要那些數據來得到其所所承諾的結果?
有些分析產品如果沒有按照特定方式從系統獲取的數據,就根本無法工作。舉例而言,如果你想購買的平臺使用web代理數據,你給它的登錄許可帶來的風險和你為了安全所做的種種措施該如何權衡呢?怎樣滿足信息安全增長的登錄需求?怎樣滿足其數據存儲需求?
為了獲取你所要的信息,你需要更多來自于全網的數據。否則,你決策時可能僅僅只會基于所看見的危險,而非不能忽視的所有重要風險。
如果你的分析產品有特定的數據或數據集無法獲取,廠商應該告知你決策所用的信息完整性和營銷材料上存在差異。
此外,你還要考慮為了獲取不同的數據來源需要做的種種瑣碎工作。這些數據歸誰所有:信息安全廠商還是第三方(如基礎設施或外部供應商)?你能得到它嗎,又以何種格式呢——數據被修改了么?這至關重要,因為如果這種情況發生,這會影響可能的分析結果。
你獲取數據的速度有多快,你又能在數據創建后多久才能獲取它?是僅僅通過一個API從云中獲取數據(比如脆弱性數據),還是網絡團隊不得不通過你的基礎層來轉存日志(比如活動目錄事件日志)?數據生成和獲取之間的延遲可能會影響你及時采取行動的能力。
2. 產品安裝后需要收集多久數據以實現承諾的準確性和有效性水平,另一方面,在這之前的什么時候,結果是可用的(哪怕達不到理想水平)?
機器學習模型需要被訓練。例如,對于一個用于尋找網絡異常行為的威脅檢測工具,必須先提供涵蓋所有近期常見的網絡行為的數據。如果模型有更多的數據,它將更擅長發現真正不尋常的行為。當使用該工具解決特定時間的問題時,廠商應該及時提供給你有關模型訓練的所有具體說明細節。
3. 分析工具輸出的數據以何種方式呈現?要把這些輸出變成可操作的“結果”,你的團隊需要什么后續工作?
如果你的新威脅檢測方案每天都產生1500份需要處理的警報,你將不得不去招募更多負責安全運維的員工。此外,你的服務供應商能信誓旦旦地表示,這些警報里有多少是真實的呢?
機器學習模型將始終返回“虛假的威脅”,所以務必向供應商核實算法的精確程度(真正的威脅占所有威脅數目的比例)和為此必須付出的調試成本。如果精度很低,您的團隊將不得不面對大量的噪聲成本。如果噪聲過高,而供應商的分析師仍需要大量的調試才能達到這一水平,你最好不要對他們的能力抱有太大信息。
即使你需要從七個難以獲取、網際傳輸困難的來源獲取數據,這可能并不重要。即使你不得不等九個月讓機器受訓才能知道你的投資的回報比是否理想,這可能也不是什么大問題。但是如果你不知道上述這些可能,那才是真的麻煩。因為這些因素將影響你對時間、人力和金錢的投入方式,以及你設定對成果的心理預期的方式。