<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    [系統安全] 三十一.惡意代碼檢測(1)惡意代碼攻擊溯源及惡意樣本分析

    VSole2021-10-22 19:05:14

    忙碌了一段時間,感謝大家的支持。今天將分享一篇系統安全的基礎文章,希望您喜歡。

    前文詳細講解了WannaCry蠕蟲的傳播機制,帶領大家詳細閱讀源代碼,分享WannaCry勒索病毒是如何傳播感染的。今天將結合作者的課程作業、論文和理解,以及綠盟李老師的博客和宋老師的論文,從產業界和學術界分別詳細講解惡意代碼攻擊溯源的相關知識。

    在學術界方面,用類似于綜述來介紹攻擊追蹤溯源的不同方法;在產業界方面,主要參考李老師從企業惡意樣本分析的角度介紹溯源工作。關于攻擊溯源的博客和論文都比較少,希望這篇文章對您有所幫助,如果文章中存在錯誤、理解不到位或侵權的地方,還請告知作者與海涵。很幸運,之前和老師們聊過,他們的文章非常值得我學習。且看且珍惜,加油~

    該系列文章將詳細整理和深入學習系統安全、逆向分析和惡意代碼檢測知識,系列文章會更加聚焦,更加系統,更加深入,也是作者的慢慢成長史。換專業確實挺難的,逆向分析也是塊硬骨頭,但我也試試,看看自己未來四年究竟能將它學到什么程度,漫漫長征路,偏向虎山行。享受過程,一起加油!總之,希望該系列文章對博友有所幫助,寫文不易,大神們不喜勿噴,謝謝!如果文章對您有幫助,將是我創作的最大動力,共勉喔~

    文章目錄:

    • 一.前言
    • 二.惡意代碼攻擊溯源的相關研究
    • 1.惡意代碼溯源
    • 2.追蹤溯源案例
    • 三.學術界惡意代碼溯源
    • 1.特征提取
    • 2.特征預處理
    • 3.相似性計算
    • 4.同源判定
    • 四.產業界惡意代碼溯源
    • 1.惡意攻擊流程及溯源方法
    • 2.域名/IP
    • 3.入侵日志
    • 4.全流量分析
    • 5.同源分析
    • 6.攻擊模型
    • 五.總結

    作者的github資源:

    • 逆向分析:
    • https://github.com/eastmountyxz/
    • SystemSecurity-ReverseAnalysis
    • 網絡安全:
    • https://github.com/eastmountyxz/
    • NetworkSecuritySelf-study
    聲明:本人堅決反對利用教學方法進行犯罪的行為,一切犯罪行為必將受到嚴懲,綠色網絡需要我們共同維護,更推薦大家了解它們背后的原理,更好地進行防護。該樣本不會分享給大家,分析工具會分享。(參考文獻見后)

    一.前言

    近年來,網絡安全事件和惡意代碼攻擊層出不窮,它們給國家、社會和個人帶來了嚴重的危害,如分布式拒絕服務攻擊(DDoS)、基于僵尸網絡(Botnet)的攻擊、勒索病毒WannaCry、高級可持續威脅(APT)攻擊、利用遠程控制木馬的信息竊取等。

    2017年以來,惡意代碼數量依然呈上升的趨勢,尤其是新型惡意代碼,其數量始終呈逐年遞增狀態,這對網絡空間安全造成了極大的威脅。在這些惡意代碼攻擊中, 攻擊者會向目標主機(受害主機),發送特定的攻擊數據包或執行惡意行為。如果能追蹤這些攻擊數據包的來源,定位攻擊者的真實位置,受害主機不但可以采用應對措施,如在合適位置過濾攻擊數據包,而且可以對攻擊者采取法律手段。因此在網絡取證和安全防御領域,網絡攻擊溯源一直是一個熱點問題。

    下圖展示了APT組織Lazarus(APT38)的重大攻擊時間線。如果某次攻擊發生時或發生前,我們能夠追蹤溯源到是某個組織發起的,那是不是就能有效避免一次安全攻擊呢?強推這篇文章:

    • APT組織Lazarus的攻擊歷程 - Freebuf深信服團隊

    網絡攻擊追蹤溯源旨在利用各種手段追蹤網絡攻擊的發起者。相關技術提供了定位攻擊源和攻擊路徑,針對性反制或抑制網絡攻擊,以及網絡取證能力,其在網絡安全領域具有非常重要的價值。當前,網絡空間安全形勢日益復雜,入侵者的攻擊手段不斷提升,其躲避追蹤溯源的手段也日益先進,如匿名網絡、網絡跳板、暗網、網絡隱蔽信道、隱寫術等方法在網絡攻擊事件中大量使用,這些都給網絡攻擊行為的追蹤溯源工作帶來了巨大的技術挑戰。

    傳統的惡意代碼攻擊溯源方法是通過單個組織的技術力量,獲取局部的攻擊相關信息,無法構建完整的攻擊鏈條,一旦攻擊鏈中斷,往往會使得前期大量的溯源工作變得毫無價值。同時,面對可持續、高威脅、高復雜的大規模網絡攻擊,沒有深入分析攻擊組織之間的關系,缺乏利用深層次惡意代碼的語義知識,后續學術界也提出了一些解決措施。

    下圖展示了Lazarus盜竊孟加拉國央行的行動流程,通過Alreay攻擊組件篡改SWIFT軟件,使得黑客能夠操作銀行賬號任意進行轉賬,從而竊取了8100萬美元。同時,在2017年最早版本的WannaCry病毒中,安全廠商發現了其中存在著Lazarus使用過的代碼,從而判斷該病毒是由Lazarus制作的。Lazarus確實是一支非常厲害的APT組織。

    為了進一步震懾黑客組織與網絡犯罪活動,目前學術界和產業界均展開了惡意代碼溯源分析與研究工作。其基本思路是:

    • 同源分析 利用惡意樣本間的同源關系發現溯源痕跡,并根據它們出現的前后關系判定變體來源。惡意代碼同源性分析,其目的是判斷不同的惡意代碼是否源自同一套惡意代碼或是否由同一個作者、團隊編寫,其是否具有內在關聯性、相似性。從溯源目標上來看,可分為惡意代碼家族溯源及作者溯源。
    • 家族溯源 家族變體是已有惡意代碼在不斷的對抗或功能進化中生成的新型惡意代碼,針對變體的家族溯源是通過提取其特征數據及代碼片段,分析它們與已知樣本的同源關系,進而推測可疑惡意樣本的家族。例如,Kinable等人提取惡意代碼的系統調用圖,采用圖匹配的方式比較惡意代碼的相似性,識別出同源樣本,進行家族分類。
    • 作者溯源 惡意代碼作者溯源即通過分析和提取惡意代碼的相關特征,定位出惡意代碼作者特征,揭示出樣本間的同源關系,進而溯源到已知的作者或組織。例如,Gostev等通過分析Stuxnet與Duqu所用的驅動文件在編譯平臺、時間、代碼等方面的同源關系,實現了對它們作者的溯源。2015年,針對中國的某APT攻擊采用了至少4種不同的程序形態、不同編碼風格和不同攻擊原理的木馬程序,潛伏3年之久,最終360天眼利用多維度的“大數據”分析技術進行同源性分析,進而溯源到“海蓮花”黑客組織。

    由此可見,發現樣本間的同源關系對于惡意代碼家族和作者的溯源,甚至對攻擊組織的溯源以及攻擊場景還原、攻擊防范等均具有重要意義。


    二.惡意代碼攻擊溯源的相關研究

    1.惡意代碼溯源

    在與惡意樣本的的對抗過程中,惡意軟件分析和檢測技術也在不斷發展。基于靜態分析的檢測、基于動態分析的檢測以及基于機器學習的檢測等技術不斷涌現。基于靜態分析的檢測對非混淆樣本更為準確,而基于動態分析的檢測在檢測混淆惡意軟件方面表現更為出色;基于機器學習的檢測是通過對大規模惡意樣本進行特征提取(如 API(application programming interface)、CFG(control flow graph)、關鍵字符串值等),然后采用機器學習算法(例如分類或聚類)訓練樣本,以構建模型判斷軟件的惡意特性。這為安全研究人員提供了良好的輔助功能,有效地提高了大規模惡意軟件的檢測速度。

    惡意代碼溯源: 是指通過分析惡意代碼生成、傳播的規律以及惡意代碼之間衍生的關聯性,基于目標惡意代碼的特性實現對惡意代碼源頭的追蹤。了解惡意代碼的演化,有助于更好地把握惡意代碼的發展趨勢,為攻擊追蹤溯源提供相關啟示。文獻[5]從時間維度給出了惡意軟件典型功能演變歷程,并將惡意軟件的演化歷程分為3個階段。

    • 第一階段為1971年至1999年,惡意軟件主要以原始程序的形式出現,惡意軟件功能單一,破壞程度小,無對抗行為。
    • 第二階段為2000年至2008年,惡意軟件的破壞性增強,惡意軟件及其工具包數量急劇增長,借助網絡感染速率加快,電子郵件類蠕蟲、受損網站、SQL注入攻擊成為主流。
    • 第三階段為2000年之后,經濟利益和國家利益的驅使下的惡意軟件存在團隊協作緊密、功能日趨復雜、可持續性強及對抗性強等特點。


    PC端惡意軟件的演化及影響詳見下表:

    追蹤溯源攻擊主機網絡攻擊追蹤溯源按照追蹤的深度和精準度可分為:

    • 追蹤溯源攻擊控制主機
    • 追蹤溯源攻擊者
    • 追蹤溯源攻擊組織機構

    常用方法包括域名/IP地址分析、入侵日志監測、全流量分析、同源分析、攻擊模型分析等。為了進一步防御網絡犯罪活動和威懾黑客組織,目前學術界和產業界均展開了惡意代碼溯源分析與研究工作。

    網絡追蹤溯源常用工具包括:磁盤和數據捕獲工具、文件查看器、文件分析工具、注冊表分析工具、互聯網分析工具、電子郵件分析工具、移動設備分析工具、網絡流量取證工具、數據庫取證工具等。

    推薦三篇相關工具及技術的文章:

    • 惡意軟件分析大合集
    • 惡意代碼分析相關工具&漏洞挖掘相關工具
    • 探尋APT的化學本質與破解之術

    2.追蹤溯源案例

    這里分享兩個簡單的案例,一個是鐵人王進喜案例,另一個是Lazarus溯源案例。

    (1) 鐵人王進喜案例

    中國最著名“照片泄密案”是1964年《中國畫報》封面刊出的一張照片。在這張照片中,中國大慶油田的“鐵人”王進喜頭戴大狗皮帽,身穿厚棉襖,頂著鵝毛大雪,握著鉆機手柄眺望遠方。日本情報專家根據這張照片,解開了中國最大的石油基地大慶油田的秘密,分析出大慶油田及其產油量和規模,從而在同中方談判購買設備時占得先機。

    從第一張照片中分析出:大慶可能位于東北省。

    根據照片上王進喜的衣著判斷,只有在北緯46度至48度的區域內,冬季才有可能穿這樣的衣服,因此推斷大慶油田位于齊齊哈爾與哈爾濱之間。

    從第二張照片中分析出:油井的直接。

    從第三張照片中分析出:馬家窯是大慶的中心。

    從第四張照片中分析出:馬家窯離火車站不遠。

    從第五張照片中分析出:大慶已經大量產油。從工作報告中分析出:大慶油田的產油量。同時,從王進喜所站的鉆井與背后油田間的距離和井架密度,推斷出油田的大致儲量和產量。

    有了如此多的準確情報,日本人迅速設計出適合大慶油田開采用的石油設備。當中國政府向世界各國征求開采大慶油田的設備方案時,日本人一舉中標。慶幸的是,日本當時是出于經濟危機,根據情報分析結果,向我國高價推銷煉油設施,而不是用于其他戰略意圖。

    看了這個案例,您會想到什么呢?其實這就是安全領域一個非常經典的社會工程學案例。


    (2) Lazarus溯源案例

    該部分學習深信服老師的文章,源自:
    https://www.freebuf.com/articles/system/221008.html

    對APT組織進行追蹤需要一定的積累,只有熟悉了該組織的常用攻擊手法(TTPs),才能在新型的攻擊中將其辨識出來。其中,通過樣本共用代碼段進行關聯是最高效的方式,這也突顯了使用yara規則進行樣本分析的好處。

    首先,我們需要從已有的樣本中篩選出相同的特征碼,可以使用Bindiff來比較已有樣本相似的代碼片段,如下:找到相似度較高且不是系統API的函數。

    然后優先選取Blocks數較多、匹配指令數較多的函數。

    可以重點挑選一些加密算法代碼作為特征碼,這樣比較沒那么容易誤報。除此之外,也可以使用一些自動化提取yara規則的工具可以使用,比如yargen:

    • https://github.com/Neo23x0/yarGen

    如下,是提取出來的wannacry的特征碼,可以在VT上進行關聯,來追蹤Lazarus的相似攻擊組件。

    在VT搜索框中,輸入:content:”{51 53 55 8B 6C 24 10 56 57 6A 20 8B 45 00 8D 75 04 24 01 0C 01 46 89 45 00 C6 46 FF 03 C6 06 01 46 56 E8}”,就能篩選出所有具有這個代碼片段的樣本,直到今年7月份,都還有相關的樣本活躍。

    打開詳細信息,發現這是Lazarus用于攻擊孟加拉國的alreay攻擊組件,那么也就說明,WannaCry和Alreay確實有共用的代碼片段,通過這種方式,就可以關聯出Lazarus所使用的攻擊組件。

    將yara規則添加到hunting中,一旦VT捕獲到新的樣本符合這條規則,就會立刻通知我們。


    三.學術界惡意代碼溯源

    學術界旨在采用靜態或動態的方式獲取惡意代碼的特征信息,通過對惡意代碼的特征學習,建立不同類別惡意代碼的特征模型,通過計算待檢測惡意代碼針對不同特征類別的相似性度量,指導惡意代碼的同源性判定。常見的惡意代碼溯源主要包括4個階段:

    • 特征提取
    • 特征預處理
    • 相似性計算
    • 同源判定

    各階段間的流程關系如下圖所示。

    上圖是將溯源對象Windows平臺的PE惡意文件或Android平臺的APK惡意文件輸入溯源系統,經過特征提取、特征預處理、相似性計算、同源分析獲取溯源結果,最終判定攻擊家族或作者。

    1.特征提取

    特征提取是溯源分析過程的基礎,具有同源性的惡意代碼是通過它們的共有特征與其他代碼區分開來的。所提取的特征既要反映出惡意代碼的本質和具有同源性惡意代碼之間的相似性,又要滿足提取的有效性。

    依據溯源目的,溯源特征提取包括溯源家族的特征提取和溯源作者的特征提取。Faruki等在字節碼級別提取統計性強的序列特征,包括指令、操作碼、字節碼、API代碼序列等。Perdisci R等通過n-gram提取字節碼序列作為特征。Ki Y等提出了捕獲運行過程中的API序列作為特征,利用生物基因序列檢測工具ClustalX對API序列進行相似性分析,得到惡意代碼的同源性判定。DNADroid使用PDG作為特征,DroidSim是一種基于組件的CFG來表示相似性代碼特征,與早期的方法相比,該系統檢測代碼重用更準確。


    2.特征預處理

    特征提取過程中會遇到不具有代表性、不能量化的原始特征,特征預處理針對這一問題進行解決,以提取出適用于相似性計算的代表性特征。特征預處理一方面對初始特征進行預處理,另一方面為相似性計算提供基礎數據。常見的特征類型包括序列特征和代碼結構特征。

    (1)序列特征預處理: 包括信息熵評估、正則表達式轉換、N-grams序列、序列向量化、權重量化法等,序列特征預處理會將初始特征中冗余特征消除、特征語義表達式增強、特征量化等以便于進行相似性計算。L. Wu通過分析惡意軟件敏感API操作以及事件等,將API序列特征轉換為正則表達式,并在發生類似的正則表達式模式時檢測惡意代碼。IBM研究小組先將N-gram方法應用于惡意軟件分析中,使用N-gram的統計屬性預測給定序列中下個子序列,從而進行相似度計算。Kolosnjaji等提出對API調用序列進行N-gram處理獲取子序列,采用N-gram方法將API調用序列轉換為N-gram序列,實現過程下圖所示。

    (2)代碼結構特征預處理: 在相似度比較時存在邊、節點等匹配問題即子圖同構算法復雜性,同時代碼結構特征中存在冗余結構,因此除去冗余、保留與惡意操作相關的代碼結構是預處理的主要目的。常見的方法包括API調用圖預處理、CFG圖預處理、PDG圖預處理等。


    3.相似性計算

    溯源旨在通過分析樣本的同源性定位到家族或作者,樣本的同源性可以通過分析代碼相似性來獲取。相似性計算旨在衡量惡意代碼間相似度,具體為采用一種相似性模型對惡意代碼的特征進行運算。根據預處理特征類型的不同以及溯源需求、效率、準確性等差異,采用不同的相似性運算方法。

    目前比較流行的相似性計算方法主要集中在對集合、序列、向量、圖等特征表現形式的處理。Qiao等基于集合計算相似性,在不同惡意樣本API集合的相似性比較中采用了Jaccard系數方法,將為A、B兩個集合的交集在并集中所占的比例作為相似度,比例值越大,證明越相似,如公式所示。

    Faruki等提出了采用SDhash相似性散列技術構建樣本的簽名序列,并采用漢明距離法對序列進行相似性計算,從而識別同源性樣本。Suarez-Tangil 等用數據挖掘算法中向量空間模型展示家族的惡意代碼特征形式,將同家族提取出來的具有代表性的CFG元素作為特征中維度,采用余弦算法對不同家族的向量空間模型進行相似度計算,根據余弦值來判斷它們的相似性,從而識別出相似性樣本,進而歸屬到對應的家族。用于比較向量的余弦相似度反映了惡意代碼間的相似性,其具體公式如公式所示。

    Cesare等提出了最小距離匹配度量法,比較不同樣本的CFG圖特征的相似性。Kinable等通過靜態分析惡意代碼的系統調用圖,采用圖匹配的方式計算圖相似性得分,該得分近似于圖的編輯距離。利用該得分比較樣本的相似性,采用聚類算法將樣本進行聚類,實現家族分類。


    4.同源判定

    學術界常見的同源判定方法主要包括基于聚類算法的同源判定、基于神經網絡的同源判定等。Kim等采用DBSCAN算法對基于調用圖聚類,發現類似的惡意軟件。Feizollah等提出采用層聚類算法,構建家族間演化模型,進而發掘家族功能的演化。Niu等提出了層次聚類和密度聚類算法結合的快速聚類算法對操作碼序列特征進行聚類,以識別惡意軟件變體,該方法識別變體效率較高。

    神經網絡是一種多層網絡的機器學習算法,可以處理多特征以及復雜特征的同源判定。基本思想為:將樣本特征作為輸入層數據,然后不斷調整神經網絡參數,直到輸出的樣本與該樣本是一種同源關系未為止。它會將惡意代碼特征送輸入層,即可判斷惡意代碼的同源性.。趙炳麟等提出了基于神經網絡的同源判定方法,其整體實現框架如下圖所示。


    四.產業界惡意代碼溯源

    產業界除了采用與學術界類似的同源判定方法之外,還會通過關聯的方法對惡意代碼進行溯源。產業界的溯源意圖除了溯源出編寫惡意代碼作者、惡意代碼家族之外,還要挖掘出攻擊者及攻擊者背后的真正意圖,從而遏制攻擊者的進一步行動。

    產業界與學術界溯源方法的差異主要表現在特征提取和同源判定兩個方面:在特征提取上,產業界更傾向于從代碼結構、攻擊鏈中提取相似性特征;在同源判定上,除了采用與已有的歷史樣本進行相似度聚類分析之外,產業界還會采用一些關聯性分析方法。相比學術界溯源特征,產業界溯源特征更加詳細全面,信息復雜度大。因此,學術界的同源判定方法并不能完全用于產業界各類特征的相似性分析中,常見產業界溯源方法分類如下表所示。

    接下來補充綠盟李老師的系統分析,寫得真的棒,還有幸在CSDN得到了他的贊賞,哈哈,感恩前行。
    - http://blog.nsfocus.net/trace-source/

    1.惡意攻擊流程及溯源方法

    惡意樣本溯源追蹤主要去了解攻擊者或者團隊的意圖。惡意攻擊的活動大概有如下7步驟(kill-chain模型):

    • Reconnaissance:偵查,充分的社會工程學了解目標。
    • Weaponization:定向攻擊工具的制作。常見的工具交付形態是帶有惡意代碼的pdf文件或office文件。
    • Delivery:把攻擊工具輸送到目標系統上。APT攻擊者最常用這三種來傳送攻擊工具,包括郵件附件、網站(掛馬)、USB等移動存儲。
    • Exploitation:攻擊代碼在目標系統觸發,利用目標系統的應用或操作系統漏洞控制目標。
    • Installation:遠程控制程序的安裝。使得攻擊者可以長期潛伏在目標系統中。
    • Command and Control (C2) :被攻破的主機一般會與互聯網控制器服務器建立一個C2信道,即與C2服務器建立連接。
    • Actions on Objectives:經過前面六個過程,攻擊者后面主要的行為包括:偷取目標系統的信息,破壞信息的完整性及可用性等。進一步以控制的機器為跳轉攻擊其它機器,擴大戰果。

    追蹤溯源方法

    惡意樣本的追蹤溯源需要以當前的惡意樣本為中心,通過對靜態特征和動態行為的分析,解決如下問題:

    • 誰發動的攻擊?
    • 攻擊背景是什么?
    • 攻擊的意圖是什么?
    • 誰編寫的樣本?
    • 樣本使用了哪些攻擊技術?
    • 攻擊過程中使用了哪些攻擊工具?
    • 整個攻擊過程路徑是怎樣的?


    惡意樣本追蹤溯源可以采取如下方法:

    • 全流量分析
    • 同源分析
    • 入侵日志
    • 域名/IP
    • 攻擊模型


    2.域名/IP

    這種溯源方法是最基本的方法,通過對攻擊者使用的域名和IP地址進行分析,挖掘攻擊源頭。查詢域名的whois信息,可以關聯到攻擊者部分信息,如注冊名、注冊郵箱、注冊地址、電話、注冊時間、服務商等。

    下面是通過樣本分析對域名進行溯源分析的典型案例:

    案例1:

    Checkpoint經過細致分析后,最終歸納出一個首要嫌疑犯,即昵稱為“Nexxus Zeta”的一個犯罪分子,原因在于攻擊者在注冊僵尸網絡的某個C&C域名(nexusiotsolutions.net)時,所使用的郵箱地址包含相關信息。

    該郵件地址(nexuszeta1337@gmail.com)與C&C域名有一些交集,因此懷疑這個地址并不是一次性郵件地址,可以根據該地址來揭曉攻擊者的真實身份。當搜索Nexus Zeta 1337時,在HackForums上找到了一個活躍的成員,該成員的用戶昵稱為“Nexus Zeta”,自2015年8月起已經是HackForums的一份子。雖然這個人在這種論壇上活躍度很低,但他發表了幾篇帖子,從這些帖子中并沒有發現他的專業水平有多高。不過有趣的是,他最近關注的是如何建立起類似Mirai的IoT僵尸網絡。

    “NexusZeta”在社交媒體上也頗為活躍,主要是在Twitter以及Github上,他在這兩個平臺上都公布了自己的IoT僵尸網絡項目。實際上,這個人還將其Github賬戶關聯到前面提到的某個惡意域名(nexusiotsolutions.net)。分析人員也找到了他所使用的Skype以及SoundCloud賬戶,使用人名為Caleb Wilson(caleb.wilson37 / Caleb Wilson 37),然而無法確定這個名字是否就是其真實姓名。

    樣本分析及詳細的溯源分析內容可參考鏈接:

    • https://research.checkpoint.com/good-zero-day-skiddie/ 

    案例2:

    樣本分析過程中,通過網絡抓包,獲取到攻擊者的控制域名信息:

    域名信息關聯后,如下圖所示:

    這里點到為止,對上述信息進行進一步分析后,最終可定位到攻擊者本人,并且最終成功接管攻擊控制的域名。

    案例3:

    通過分析獲取到的樣本,該樣本為downloader程序,主要通過下載惡意軟件之后運行,下載的IP地址如下所示:

    對該IP進行滲透測試,最終獲取到主機權限,通過對攻擊者掌握的主機進行深入分析,最終定位到攻擊者相關信息。


    3.入侵日志

    這種溯源分析方法偏向于主機取證分析,攻擊者在入侵到主機后的行為分析。對攻擊者留下的大量操作日志進行分析后,可以提取相關攻擊者的信息,包括:

    • 連接服務器使用VPS信息。
    • 登陸主機后,一般為了維持對主機的訪問權限,會嘗試創建自己的賬號及密碼。
    • 攻擊者為了偷取數據,使用的ftp或者數據服務器信息。
    • 通過對攻擊者的登陸時間進行分析,可以基本定位所在大區域(北半球,南半球)。
    • 登陸主機后的操作模型,不同的攻擊者,入侵成功后進行的行為有差異,每個人都有自己的行為指紋特征。


    簡單舉個例子,不少攻擊者習慣使用自動化的工具,去提取主機上的敏感信息(網站,郵箱,比特幣,網銀等賬號密碼),入侵成功后(釣魚,社工,水坑攻擊等),會在受害者機器上安裝間諜軟件,進行主機行為監控,并且定時將截獲的敏感信息上傳到服務上。

    大多使用三種通信方式竊取敏感信息:ftp、smtp、http。

    案例1:

    通過分析入侵日志,最終分析其留的監控程序,溯源分析的案例,該樣本中攻擊者使用加密的smtp服務器竊取敏感信息,在樣本分析過程中可以獲取到郵箱的用戶名與密碼:

    利用獲取到的登陸憑證可成功登陸攻擊者郵箱:

    在郵件內容中,發現了攻擊者的真實郵箱,之后通過進一步溯源分析,定位到了攻擊者。下圖是攻擊者真實的twitter賬號:

    案例2:

    攻擊者在入侵成功后,留下的啟動腳本中包含了攻擊者的個人網絡id,通過對該網絡ID及QQ號碼進行溯源分析,最終也成功定位到攻擊者。

    QQ: 2228668564
    ID: icnanker
    shadow:
    icnanker:$6$EIZwhnAX$m/IclCqhsFOBaZEgT2mVCYFy5bKH75rJ8Rlh/hwGs7De
    R5AovmhrLS.V3naL6oizn6FCViwqKn6k9gqmoYNhs0:16866:0:99999:7:::


    4.全流量分析

    某些攻擊者或者組織的反跟蹤意識非常強,基本上不會留下任何痕跡,在達成入侵目的之后(竊取數據),會完全清除入侵痕跡,或者干脆銷毀主機硬盤。

    例如:2015年烏克蘭電廠遭受攻擊之后,攻擊者利用killdisk組件銷毀了全部數據。當然有些也不會留下在主機上的任何操作痕跡,部分勒索軟件也是通過同樣的手段進行痕跡擦除。這類案例也非常多,基本上在受害者機器上找不到任何痕跡,這時進行全流量分析溯源就相當有效了。

    例如:以2017年Flareon 4th逆向挑戰賽最后一題為例。

    描述了一個APT攻擊場景,需要通過分析數據包及PE文件,還原整個攻擊過程。從網絡下載加密的惡意代碼在本地進行解密:

    解密后的內容為一個遠控端,其和主控端的通訊流量通過了全加密,網絡傳輸數據格式如下:

    相關的加解密及功能模塊如下:

    過流量分析發現攻擊者入侵行為如下:

    • 黑客入侵到168.221.91后,先獲取了屏幕截圖(內容包含了一個密碼)。
    • 查看c:\work\FlareOn2017\Challenge_10\TODO.txt,發現larry相關提示(根據前期信息收集結果,可以知道johnson主機名)。
    • 通過ping命令獲取到內網johnson主機IP地址(192.168.221.105)。
    • 使用psexec在johnson的主機上安裝后門srv2.exe(監聽本地16452端口)。
    • 之后通過內網代理連接該后門,通過代理插件上傳加密模塊到了johnson的主機上c:\staging\cf.exe。
    • 利用加密程序(exe)對lab10的文件進行加密,之后將原始文件刪除,并且通過代理傳到了黑客手里。


    該案例中僅通過全流量分析,最終還原整個入侵過程、黑客攻擊行為以及竊取的內容,而在真實的環境中需要結合入侵日志進一步對惡意樣本攻擊進行追蹤溯源。


    5.同源分析

    該方法主要為在獲取到惡意樣本后,很難第一時間關聯到攻擊者或者惡意樣本提供者的信息,但是可以通過和歷史惡意代碼進行相似度分析,獲得歷史攻擊事件,從而關聯到相應的組織或團體。這種溯源方法多用于定位APT組織或者某些知名的黑客團體(方程式)的行動,需要投入大量的人力,時間去完成溯源跟蹤分析。

    APT組織或者知名黑客團隊,一般都有各自的工具定制開發部門,負責各類工具的開發,以及漏洞利用工具的量產(從今年4月份泄露的方程式組織內部的工具以及CIA泄露的部分文檔就可以看出端倪)。其部分劃分組織架構都非常清晰,有專門負責工具開發的部門,例如:遠控開發部門,硬件研究部門,漏洞挖掘部門,漏洞利用工具編寫的部門等。

    (1) 設計思路

    每個程序員在軟件實現的時候,會使用自己比較熟悉的一套代碼風格和實現算法,每個團伙或者組織在攻擊目標時也會有一套自己特有的攻擊方法,針對惡意樣本可以通過行為日志的相似度、代碼混淆風格以及相關的實現算法進行同源判定。

    例如:利用“破殼”漏洞投放的6個Bot具有同源性。

    圖片來源:安天

    (2) 編碼特征

    程序員在開發過程中,經常會復用部分現有代碼(加密算法,功能模塊),以提高開發效率。樣本分析人員通過跟蹤分析某組織的大量攻擊樣本后,對其工具開發人員的編碼風格(函數變量命名習慣,語種信息等),編程習慣有了深入了解。在此基礎上,就能夠通過編碼風格準確溯源到相關組織。

    下面是今年5月份爆發的wanncry蠕蟲的溯源分析的案例:

    • https://blog.comae.io/wannacry-links-to-lazarus-group-dcea72c99d2d

    Google研究者Neel Mehta在Twitter率先發布消息稱,早期的WannaCry樣本與Lazarus團伙使用的一款后門程序Contopee存在較高相似度。稍后卡巴斯基和賽門鐵克研究者基于此發布了更多分析結果。并且給出了代碼相似度對比的圖,以證明其推論:

    (3) 通訊協議

    每個惡意樣本為了和之前的版本通訊協議進行兼容,一般會復用之前的通訊協議代碼,通過跟蹤分析通訊數據的格式特征進行同源判定。

    Billgates上線數據格式如下圖所示:

    Xitele上線數據包格式如下圖所示:

    通過對比上面兩個惡意樣本上線包數據格式特征可以判定其為同源樣本。

    (4) 數字證書

    數字證書是一個經證書授權中心數字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。數字證書還有一個重要的特征就是只在特定的時間段內有效。

    數字證書是一種權威性的電子文檔,可以由權威公正的第三方機構,即CA中心簽發的證書,也可以由企業級CA系統進行簽發。惡意軟件為了躲避安全軟件的檢測,會使用數字證書對代碼進行簽名,而簽名證書中的頒發給部分包含了軟件的開發商的相關信息。


    6.攻擊模型

    這種溯源方法主要見于某些專業化程度比較高的個人或者組織,他們有自己的攻擊常規套路,并且長期專注于一個領域的攻擊。

    案例1:

    之前的一次應急分析過程中遇到一個團伙,主要進行ssh弱口令爆破,該團隊的就主要關注于ssh弱口令爆破,通過對該團隊的溯源分析,了解到其攻擊模型是:

    • 掃描全網開放ssh服務端口的主機。
    • 根據開放服務端口號,將每個端口號對應的ip保存到一個文件中。
    • 并且定時的會對全網全端口進行掃描探測以便及時更新攻擊目標數據。
    • 對存在ssh弱口令的主機進行攻擊。
    • 利用成功入侵的主機作為節點,繼續進行ssh弱口令爆破。
    • 旨在構造一個大型的botnet系統。


    除上面該實例外,還遇到不少,利用單一漏洞進行攻擊的案例,如:struts2框架漏洞以及近期發現某團隊利用webloglic WLS漏洞進行入侵挖礦的案例。

    案例2:

    下面舉一個最有名的例子,2016年10月爆發的Mirai僵尸網絡曾經一度使互聯網產生恐慌,通過溯源分析最終定位到了該僵尸網絡的作者。

    Mirai僵尸網絡就是一個很好的例子,攻擊者主要利用物聯網設備默認口令的問題,感染大量設備,之前溝通對其攻擊模型的匹配,可以清楚的了解的組織的活動軌跡,并且通過對每一次活動留下的線索進行關聯分析,最終定位到了攻擊者團伙。

    美國司法部最終披露稱,三名男子就創建Mirai惡意軟件并利用Mirai僵尸網絡攻擊多個目標的事實表示認罪。從法庭文檔來看,這三名男子的名字是Paras Jha、Josiah White和Dalton Norman。

    案例3:

    在一次應急響應中通過取證分析,了解到攻擊使用的攻擊模型如下:

    • 注冊域名,根據攻擊目標選擇有意義的域名。
    • 在GitHub上注冊一個新賬戶和創建一個開源項目。
    • 編譯源碼后捆綁惡意軟件,一般選擇advanced installer作為捆綁打包器(還有AutoIt,NSIS)。
    • 發布到搭建的網站上。
    • 在互聯網上發布推廣其軟件。
    • 竊取用戶敏感數據(賬號密碼)。
    • 進行數據直接套現,或者通過信息倒賣平臺間接變現。

    之后利用該攻擊模型對樣本庫中的文件進行篩選,定位到另外3套與該模型完全匹配的案例,進一步分析匹配到的樣本后,首先確認了該4套樣本出于同一開發團隊,經過溯源分析準確定位到了攻擊者。

    溯源分析旨在通過現象去發掘樣本背后的故事,沒有固定的套路可循,在分析過程中,要像偵探破案一樣,大膽心細,不放過任何細枝末節,是一場人與人之間斗智斗勇的過程。

    “天網恢恢疏而不漏“,溯源篇旨在拋磚引玉,將感興趣的讀者帶入這個謎一樣的世界!以上純屬筆者個人的觀點角度,意在拋磚引玉,引發讀者去思考作為一名合格的惡意樣本分析人員應該具備那些技能?仁者見仁智者見智點到為止。

    不過有一點可以確認單純掌握樣本分析技能是遠遠不夠的。下面列舉了幾個方向,感興趣的讀者可以去進行深入學習:

    • 滲透測試
    • 應急響應
    • 取證分析
    • 數據分析
    • 漏洞分析


    掌握上述技能后,以守為攻,變換角色,從多個維度去進行樣本分析攻擊溯源,進而輸出高質量的樣本分析報告。


    五.總結

    嚴峻的網絡安全對抗和博弈形勢,使得對惡意代碼的演化與溯源技術的研究價值凸顯,學術界、產業界近年來分別從攻擊和防護兩個方面展開了深入的研究。前文基于已有的研究總結了惡意代碼的生成過程和編碼特征,并對來自產業界、學術界惡意代碼的溯源機理和溯源對抗方法進行了詳細描述。

    目前,學術界和產業界在惡意代碼溯源技術方面取得了較大的進步,在追蹤惡意代碼組織、黑客組織(攻擊者)、發現未知惡意代碼方面取得了部分研究成果,例如海蓮花、白象、方程式組織等典型 APT 攻擊計劃和黑客團隊的不斷曝光,但依然存在不足和挑戰。


    寫到這里,這篇基礎性文章就此結束,最后希望這篇基礎性文章對您有所幫助。總覺得自己的技術好淺,要學的知識好多,讀博真心不容易,加油,祝福所有博士戰友們。

    這篇文章中如果存在一些不足,還請海涵。作者作為網絡安全初學者的慢慢成長路吧!希望未來能更透徹撰寫相關文章。同時非常感謝參考文獻中的安全大佬們的文章分享,深知自己很菜,得努力前行。

    歡迎大家討論,是否覺得這系列文章幫助到您!任何建議都可以評論告知讀者,共勉。

    2020年8月18新開的“娜璋AI安全之家”,主要圍繞Python大數據分析、網絡空間安全、人工智能、Web滲透及攻防技術進行講解,同時分享CCF、SCI、南核北核論文的算法實現。娜璋之家會更加系統,并重構作者的所有文章,從零講解Python和安全,寫了近十年文章,真心想把自己所學所感所做分享出來,還請各位多多指教,真誠邀請您的關注!謝謝。2021年繼續加油!

    特征提取相關性分析
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    隨著入侵者的攻擊手段日趨智能化、復雜化,傳統的機器學習技術對異常攻擊行為的檢測有效性在下降。近年來,深度學習以其獨特的學習機制,利用大數據和高算力達到學習的高準確率。通過廣泛的文獻調查,目前已經有很多基于深度學習設計的入侵檢測系統。本綜述在對傳統機器學習技術和深度學習技術進行對比后,詳述了基于深度學習和數據集的入侵檢測系統。
    針對當前的入侵檢測方法普遍存在準確率與泛化性較低的問題,提出了一種基于卷積神經網絡(Convolutional Neural Network,CNN)和權重縮減門控循環單元(Weight Reduction Gated Recurrent Unit,WRGRU)的網絡入侵檢測模型(CNN-WRGRU)。該模型首先利用 CNN 進行入侵檢測數據集的特征提取,其次利用 WRGRU 來學習數據特征之間的
    摘 要:互聯網開源信息處理是指從互聯網上的公開信息源獲取數據并分析處理,進而獲得有價值的開源信息的過程。為充分了解國外互聯網開源信息處理的研究現狀,從開源數據采集、預處理、信息分析、決策支撐、相關系統等角度對近年來國外有關研究進行梳理,總結現有研究存在的普遍性問題,對未來研究進行展望。
    這篇技術干貨 帶你了解深信服的AI技術
    通過考慮 TLS 協議中的證書,利用證書內容對惡意流量進行識別,但是此方法對無證書傳遞的加密會話惡意性檢測無效。圖 2 展示了惡意會話和正常會話的服務器對 TLS 加密套件的選擇對比和客戶端支持的曲線對比。
    AI安全論文第19篇介紹惡意代碼分析經典論文DeepReflect,希望您喜歡
    今年,總書記在中央全面深化改革委員會會議上強調,數據基礎制度建設事關國家發展和安全大局,要維護國家數據安全。毋庸置疑,最新出臺的重磅級文件就是《關于構建數據基礎制度更好發揮數據要素作用的意見》。該《意見》在今年6月份由中央全面深化改革委員會會議審議通過,12月19日面向全社會正式發布,全文20條,所以也被稱為“數據二十條”。
    使用多個用于惡意軟件分類的參考數據集,包括 Windows PE 文件、PDF 和 Android 應用程序,展示了針對各種機器學習模型的有效攻擊,并評估了對攻擊者施加的各種約束的影響。因此,它們已被視為與生產部署的 ML 模型最相關的威脅之一。此外,探索了各種現實世界的限制對攻擊者成功的影響,以及檢測攻擊的防御機制的可行性。
    2008年在安全社區中所知道的windows惡意可執行軟件大約有1000多萬個,2013年這個數字達到了1億,2020年安全社區已知的windows惡意可執行軟件數量已經超過5億[1],這個數字還在持續增長。
    大數據是指大型復雜的結構化或非結構化數據集。大數據技術使組織能夠生成、收集、管理、分析和可視化大數據集,并為診斷、預測或其他決策任務提供見解。處理大數據的關鍵問題之一是采用適當的大數據治理框架,這樣可以:①以所需的方式管理大數據,以支持有效機器學習的高質量數據訪問;②確保該框架規范存儲和處理在相關監管框架內以可信賴的方式收集來自供應商和用戶的數據。提出了一個大數據治理框架,指導組織在相關的規則框架
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类