第三章 偵測網際網路多重攻擊攻擊架構
第二節 情節探勘
第二節 情節探勘
情節探勘是要在時間序列中的發生事件找出事件之間關聯的分析方法,在 本節將介紹本研究所使用之情節探勘演算法的基本定義。
事件類別(Event Type)代表各種事件的分類,記作! = (!!, !!, !!, … , !!),
其中 E 是指事件類別的集合,而 !! ,1 < ! < ! 是指某種事件的類別。複雜事 件序列(Complex Event Sequence)是在時間軸上的由許多事件集所組成的序列,
!!, !! 表示在時間點 tj發生 Xi事件集, !! 是 E 不為空的子集和、且 tj不重複。
而時間序列長度 N 是整個時間軸 !!, !! 的總數。例如一個有 A、B、C、D、E 等五種事件類別的事件集,可以構成如表 1 的事件序列,而事件序列的長度為 10。
表1 時間序列範例
時間 1 2 3 4 5 6 7 8 9 10 11 事件 A,B C A C,D A,B,C C D A,B A C,E
情節 (Episode)是由多個事件所組成,代表事件集(Event)之間的關係。序列 情節(Serial Episode)是表示情節中的事件有時間上的順序關係,而並行情節 (Parallel Episode)則是表示情節中的事件會一起出現或緊接著出現,但是它們之 間沒有一定的順序。以序列情節為例,一個序列情節可以以序列表示,如
! = < !!, !!, … , !! >,且每個 !! 都是事件集中非空的子集,並且 !!是在 !! ! ! 之前發生。! 是由! 個事件集所組成的情節,所稱 P 的長度為 K。例如情 節 < ! , !" , ! > 表示 A 事件發生後,B、C 兩種事件會一起發生,最後是 C 事件。
兩個序列 ! = < !!, !!, … , !! > 和 !! = < !!!, !!!, … , !!! >,如果 !! 是 S 的 超序列,那麼可在 !! 中找到每個 !! 都存在一個對應的 !!! ,其中 !!! 包含 !!,並 且 !! 所對應的 !!! 的順序和原本 !! 的順序相同(這也代表 S 是 !! 的子序列)。
例如 !! = < ! , !" , ! > 和 !! = < ! , !"# , ! , ! , ! > 兩個序列,
!! 是 !! 的超序列,而 S1是S2的子序列。
滑 動 視 窗(Sliding Window)是 在 時 間 軸 上 沿 著 每 個 時 間 點 滑 動 最 長 為 maxwin 的 切 片 , 是 觀 察 、 計 算 事 件 序 列 中 情 節 發 生 的 單 位 。
! = !!!, !!!, … , !! ,表示視窗 W 內的事件。一個長度為 N 的時間序列可以 切 割 為 下 列 的 視 窗 : !! = !!!, !!!, … , !!! ! !"#$%& ! ! ,
!! = !!!, !!! ! !, … , !!! ! !"#$%! ! ! ,…, !! = (!!)。所以視窗長度(Window Length) maxwin 變數限制了情節內的事件之間發生時間的最大距離。當視窗 ! = !!, !!, … , !! 和序列情節 ! = !!, … , !! 中,!! 屬於 !!的子集,且
< !!, … , !! > 是< !!, … , !! >的超序列時,便稱視窗 W 支持(Support) P 或者
Confidence =Matches(P ∙ Q) Matches(P ) 以給定最小支持度(Minimun Support)和最小信賴度(Minimun Confidence)過濾情 節規則。頻繁情節規則P ⇒ Q必須滿足 P · Q 的支持度大於最小支持度,且 P ⇒ Q的信賴度要超過最小信賴度。以表 1 的時間序列為例,最大長度為 4 且 匹配情節<A, D>的的視窗有,(1, 4)、(3, 7)和(5, 8)共三個視窗,其支持度為 3 / 10 = 0.3。而 A 的支持度為 0.5,所以情節規則<A> ⇒ <D>的信賴度則是 0.3 / 0.5 = 0.6。當頻繁情節 P 的超情節的支持度都小於 P 的支持度時,P 是一個頻繁 封閉情節(Frequent Closed Episode)。由於 Apriori[25]的特性,當情節 Q 不是封
1 2 3 4 5 6 7 8 9 10 11
閉情節時,Q 的支持度將等於 Q 的封閉超情節的支持度的最大值。當所有符合 tcpdump 公用程式收集流量資料,而本研究的資料來源是採用 NetFlow 工具,
兩者在所記載的料內容不同,所以轉換而成的事件類別會也有些不同。例如 [28]的系統可以從 tcpdump 所擷取的資料觀看封包所封裝的內容,所以能夠追 蹤網路連線在應用層執行的結束狀態,但是在NetFlow 上只能得知 Layer 3 的狀 態,所以無法取得應用層的相關資訊,於是本研究中情節探勘分析所定義的事 件類別並沒有納入應用層內的相關資訊。表 2 是一筆 NetFlow 流量記錄的資料