# Extracting Cybersecurity Event Information from Text 從⽂字中提取網路安全事件訊息 --- ## 摘要 CASIE:從⽂字中提取網路安全事件訊息 語料庫包含 1,000 篇標註豐富的基於網路攻擊和漏洞相關事件的英文**新聞文章** (2017-2019 年) ## 網路安全事件擷取 * 借用TAC常用的事件偵測術語 * 事件核心詞組(event nugget):事件最精準描述詞或詞組 * 事件參數(event argument) :事件參與者或屬性值 * 角色(role):事件核心詞組和參數的語義關係。 * 實作值(realis value):事件是否發生的指示。  * VS 易受攻擊的系統 :::spoiler 文中範例  這裡事件核心詞組和參數以陰影文字顯示,類型由文字上方的彩色標籤指示,角色由標記的弧線指示。短語“被勒索”被識別為 Attack.Ransom 事件的事件核心詞組。事件參數包括“電腦”,它是一種設備並填充受害者角色;“科羅拉多州”,它是一個地理政治實體 (GPE) 並填充位置角色;“科羅拉多州運輸部”,它是一個組織,填充受害者角色;“感染勒索軟件”,類型為功能,填充攻擊模式角色;“星期三”,它是一個時間表達式,填充時間角色。 ::: ## CASIE 的設計和架構 六個步驟:事件線索偵測、事件參數偵測、事件參數與角色連結、事件可能性辨識、對應到知識圖譜   * 使用上下文訊息預測目標詞 * 每層節點數是前一層的一半 :::spoiler 說明 * Word Embedding layer(詞嵌入層) * 將單字序列作為輸入,並將每個單字轉換為實數向量,表示單字的意思。然後這些向量通常是從大量文字資料中學習的。 * 可以預構建的 BERT 網絡或 Word2vec 嵌入 * Word2vec: 一群用來產生詞向量的相關模型 * Bi-LSTM layer(Bi-LSTM 層) * 由**兩個 LSTM 層組成**,一個從左到右處理輸入序列,另一個從右到左處理序列。兩個 LSTM 層的輸出連接在一起。 * 雙向 LSTM 用於分類事件片段和事件參數類型 * Attention layer(注意力層) * 僅應用於事件參數檢測系統 * attention size of five gave the best performance * 大小:參數個數或者向量的維度 * 負責分配權重,就是找重點 * Fully connected layer with Dropout(帶有 Dropout 的全連接層) * 採用Attention layer的輸出,並應用 Dropout 正則化技術,在訓練過程中隨機丟棄該層中一定比例的神經元。這有助於防止過度擬合並提高泛化性能。 * Dropout: Google提供的正規化技術,負責對抗過擬合 * 泛化: 將訓練的模型應用新樣本值的預測 * CRF layer(CRF層) * 條件隨機場,它是一種機率圖形模型,可用於預測標籤序列。在本例中,CRF 層用於預測網路安全事件的標籤。 ::: 步驟: 1. Word Embedding layer: 輸入轉向量 2. Bi-LSTM layer: 分類事件片段和事件參數類型 3. Attention layer: 分配權重 4. Fully connected layer with Dropout: 防止過擬合 5. CRF layer: 預測事件標籤 * 過擬合會記住訓練數據的細節造成在新數據來的時候表現不好 ### 事件參數和角色連接 * 角色可能是攻擊者或受害者之類的 * 為每個事件構建了一個神經網路  * 作者開發的神經網路架構 * 作用就是用事件類型把事件參數跟事件金塊連接的角色確定 * 因為先知道事件類型了所以可以先消除無關角色 * 輸出層節點的數量減少到每個事件的角色數量 * 整個過程就是確定角色 ### 事件實現識別 * 識別了事件金塊的實現值。每個事件金塊都標註有一個實現值 * 實現值: 表明事件的實例是真的發生(Actual)、沒有發生(Other),還是事件被引用為概念(Generic)。 :::spoiler 舉例 真的發生(Actual):Facebook承認他們被一宗涉嫌僞造的釣魚騙局所騙走了一億美元的現金。 沒有發生(Other):蘋果尚未澄清最新版本的 macOS 和 iOS 是否存在漏洞。 概念(Generic):釣魚行為已成為對醫療組織最嚴重的威脅之一。 ::: * 事件實現識別特徵 * 實現的特徵向量是事件金塊及其周圍詞彙上下文的詞向量的串聯 * 步驟 1. 將事件金塊分類為一般或非一般 2. 如果是非一般,進一步分類為實際或其他 * 一般: 通用的情況或概念 * 非一般: 事件實例 ### 資料與標註 * 從2017~2019期間的約5000篇網路安全新聞文章 * 當事件金塊從上下文片辨識出事件時才能標註事件參數(就是時間地點角色那些的) * 收集->標註->統計->產生下圖  * 語料庫中網路事件實例的數量及每個事件的註釋⾓⾊的平均數量 #### 舉例 * 駭客已經偷了重要文件。這些文件已在暗網上出售。 * Attack.Databreach(攻擊、資料外洩):「偷了」、「出售」 * Facebook 發現了一個安全問題,允許駭客訪問敏感訊息。 * Discover.Vulnerability (發現漏洞) * Capabilities(攻擊模式):允許駭客訪問敏感訊息 ## 名詞 ### 嵌入 * 將高維度的數據(ex: 詞語、句子、圖像)轉換為低維度的數學向量表示的過程 * 更有效進行分類、聚類、回歸 ### 維度 * 向量的大小或元素數量 * 維度越多,可以捕捉的訊息就越多 * ex: * Domain-Word2vec:這個模型生成的每個詞嵌入向量有 100 個元素,也就是 100 維度 ### 向量 * 表示為一個有限維度的數組,每個維度都對應著某種特徵或訊息 * 詞嵌入中,每個單詞都可以表示為一個向量,每個維度代表了那個單詞在某種語義空間中的**特徵**(單詞的語義相似性、出現的上下文情境) ### 事件金塊(event nugget) * 有關某個事件的重要訊息的文本片段 ### 共指 * 文本中的兩個詞或短語具有相同的參考對象叫共指 ### Inside–outside–beginning (tagging) * 也就是IOB 或 BIO 格式 * 從給定句子中抽取連續字/詞塊構成的有意義短語 * 對於一個給定句子,將其中每個字標註為B(**Beginning**,指示某短語起始)、I(Inside,指示片語內部)、O(Outside,指示不在片語中) * 舉例: 小明是景美女中的老師 -> B-PER 小明 B-ORG 景美女中 I-ORG 中的 I-PER 老師 :::spoiler 說明 B-PER 表示 "小明" 是人名 (PER) 實體的開頭。 I-PER 表示 "明" 是與前一個字相同的 "小明" (PER) 實體的一部分。 B-ORG 表示 "景美女中" 是機構 (ORG) 實體的開頭。 I-ORG 表示 "中的" 和 "老師" 是與前一個字相同的 "景美女中" (ORG) 實體的一部分。  ::: ### CNN (卷積神經網路) [連結](https://brohrer.mcknote.com/zh-Hant/how_machine_learning_works/how_convolutional_neural_networks_work.html) ### LSTM * 簡單來說就是會看上下文的 [連結](https://ithelp.ithome.com.tw/articles/10297813) ### CoreNLP * 使用戶能夠導出文字的語言註釋,包括標記和句子邊界、詞性、命名實體、數字和時間值、依存關係和選區解析、共指、情緒、屬性引用和關係。 [連結](https://blog.csdn.net/smallworldxyl/article/details/114983061) ### CRF layer
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up