數學和數據科學:入侵檢測的新型秘密武器
查看日志文件尋找安全事件蹤跡的日子一去不復返了。別會錯意,這不是說日志文件不重要了。日志文件依然十分有用,是證實安全事件及其原因的關鍵,也是取證和緩解工作流的必備要素。但身處每時每刻都有大量數據生成的時代,手動篩查大量日志來發現問題太過浪費時間。而且,交付現代服務所需數字供應鏈的復雜互聯性和不透明性,又進一步加劇了這個問題。
對大多數人而言,被高中和大學數學課程(比如微積分)凌虐的時候難免發出疑問:“現實生活中我啥時候才會用上這玩意兒啊?”但對于踏入信息安全世界的人而言,這個問題的答案就是“現在”。
從現在開始,各行各業都應該從金融服務業借鑒數學和數據科學知識來評估數據泄露的概率了。尤其是,安全團隊可以利用時間序列數據構建描述用戶行為的數學模型,然后查找異常并確定出問題的概率。
想要改善事件檢測,企業可以運用以下數學與數據科學的要素和基本概念:
導數
“導數”這個詞聽起來很炫,但其實指的是相對于時間的變化率。在安全檢測方面,單位時間(每小時、每天等)內身份驗證失敗次數的突然增加,就是一個值得關注的導數。例如,如果身份驗證失敗次數從每天5到10次猛增到每天100次以上,那就說明有人在嘗試入侵(最好情況)或者已經入侵成功了(最壞情況)。這種時候,你應該觀察的是函數的導數,而不是數量。
數學模型
安全領域另一個有用概念是建立資產行為的數學模型。例如,將軟件即服務產品或平臺當作一項資產。我們怎么確定出基線標準供后續識別異常使用呢?如果將GitHub用作代碼存儲庫,則可以通過觀察一些關鍵操作指標隨時間變化的情況來建模GitHub,例如“克隆”、“合并”、“刪除”、“添加用戶”和“生成訪問令牌”等。
基數
這些例子還包括基數的概念——集合中的元素個數。可能是來自已知設備的登錄,我們在其中尋找特定關鍵操作的數量變化,表示潛在入侵指標。但要導出這一信息,我們首先得“學習”。舉個最基本的例子,假設CEO每天用來登錄的設備有三臺,手機、平板電腦和筆記本電腦。如果這一數量增加到四或五臺,那就可能是CEO開始用新設備工作了(有待證實)。但如果這一數量突然大幅增加,遭遇入侵的概率就很高了。
很多企業和安全團隊都在按老方法做事件檢測,大范圍收集日志并搜索模式或正則表達式,但這明顯并不足以應對當前的威脅態勢。當然,日志仍然是數字取證不可或缺的一環。但若要限制暴露窗口和縮短檢測時間,好加快啟動修復活動,就得結合時序數據與數學和數據科學原則,這一點尤為重要。