淺談APT的技術、設計及內部工作機制
APT(高級持續性威脅)是黑客以竊取核心資料為目的,針對企業發動的網絡攻擊和侵襲行為。本文將探討APT的技術、設計及內部工作機制。此外,文章將不同的攻擊階段與特定攻擊關聯起來,看攻擊者如何滲透企業,獲取其內部數據、業務秘密、敏感的業務信息等。
APT的目標是訪問企業網絡、獲取數據,并長期地秘密監視目標計算機系統。許多研究人員認為,所謂的“高級”是指攻擊者借助惡意軟件和已知漏洞等技術,利用內部系統的漏洞。而“連續”意味著外部的命令和控制系統持續不斷地監視特定目標,并竊取數據。
APT使得到授權者獲得了網絡的訪問,并通過建立后門而可以長期訪問網絡,并不斷地收集數據和向外發送知識產權等機密數據。
APT變得日益復雜。它通過繞過或摧毀傳統的安全措施而制造成本高昂的數據泄露事件。甚至在成功完成其使命后,APT仍賊心不死,繼續駐留,進一步收集信息。而且,這種威脅很難檢測和清除,因為它看起來并不象是惡意軟件,卻深入到企業的計算系統中。此外,APT的設計者和發動者為逃避檢測還會不斷地改變其代碼,從而持續地監視和指引其活動。
零日漏洞和網絡攻擊
許多APT與零日漏洞一直有千絲萬縷的聯系,它往往利用零日漏洞對企業實施攻擊。去年,曾出現過一種可以利用IE的零日漏洞的攻擊,攻擊者將釣魚郵件發送給在國防、航天、能源、研究機構中的目標人員。這些釣魚郵件包含一個可以指向惡意網站(此網站管理著利用零日漏洞的代碼)的連接。
釣魚郵件的發送者還會將更多的消息發送給更廣泛的目標,試圖在補丁可用之前感染盡可能多的終端。攻擊者還會更新其電子郵件的模板和主題,保持其伎倆的“新鮮”,并借以逃避企業已經部署的垃圾郵件檢測規則的檢查。
深入解剖APT
攻擊者對APT中的每一步可謂用心良苦,精心計劃和研究,其中的步驟包括:構建企業IT基礎架構的內部設計圖、惡意軟件工程、社交工程攻擊、難以檢測的數據泄露等。
1.目標選擇
高級持續威脅的首要一步是選擇目標企業,然后通過企業網站、雇員簡歷、網站數據等,查找公司使用的可能存在漏洞的(或易于攻擊的)軟件和基礎架構。還有的攻擊者會尋找“意外的受害者”,比如,黑客瘋狂查找Wi-Fi網絡有漏洞的企業,并發現其攻擊目標。
2.信息收集
知彼知己,百戰不殆。攻擊者全面地研究攻擊目標的配置信息,構建其IT系統的內部設計圖,并查找可利用的漏洞,進行全面滲透。他會搜集關于網站、網絡拓撲、域、內部DNS和DHCP服務器、內部IP地址的范圍以及任何可利用其漏洞的端口或服務的細節。根據目標不同,該過程可能會花費不同的時間。大型企業可能在安全方面進行更多投資,并建立多層防御。知識即力量,攻擊者獲得的目標網站的信息越多,他實施滲透和部署惡意軟件的成功機率就越大。
3.確定侵入點
在收集了發動攻擊的足夠信息后,攻擊者會縮小其利用漏洞的入侵范圍,并研究目標企業的安全方案的防御機制,了解企業可能擁有的攻擊簽名。在多數情況下,攻擊者會向目標公司的雇員發送郵件,誘騙其打開惡意附件,或單擊一個偽造的URL,希望利用常見軟件(如Java或微軟的辦公軟件)中的零日漏洞,交付其惡意代碼。當然,攻擊者還可以利用雇員使用的任何軟件的零日漏洞。
4.將惡意軟件植入到被控制的機器上
在攻擊者利用了雇員機器的漏洞之后,就會將惡意代碼植入到機器上,安裝后門,實現對機器的完全訪問,例如,攻擊者最常安裝的就是遠程管理工具。這些遠程管理工具是以反向連接模式建立的,其目的就是允許從外部控制雇員電腦或服務器,即這些工具從位于中心的命令和控制服務器接受命令,然后執行命令,而不是遠程得到命令。這種連接方法使其更難以檢測,因為雇員的機器是主動與命令和控制服務器通信而不是相反。
5.提升特權
攻擊者首先從受到損害的雇員電腦或用戶那里獲得訪問憑據,然后對目標系統中的非管理用戶執行特權提升,進而訪問關鍵的重要目標(其中包括IT和非IT的特定服務器管理員)。
為獲得登錄憑據,攻擊者會使用鍵盤記錄器、ARP欺騙、鉤子工具等。鉤子工具基本上都可以劫持與口令認證有關的功能,而ARP欺騙工具會監聽數據包中兩個或多個系統之間的會話。例如中,Pwdump就是從Windows注冊表中獲得口令哈希的另一個工具。此外,攻擊者還可以利用其它的工具,如WCE(Windows憑據編輯器)、Mapiget、 Lslsass、 Gsecdump、 CacheDump等。
攻擊者還可以利用一種稱為“哈希傳遞”的技術,其中涉及使用哈希而不是明文口令,目的是為了進行身份驗證并取得更高級的訪問。攻擊者還可以利用蠻力攻擊,即通過預定義的口令簡單地猜測口令。
6.命令和控制通信
在進入目標企業之后,APT一般還會通過被感染系統和攻擊者的“遠程命令和控制”通信來進行遠程配合。在整個攻擊過程中,攻擊者還會使用這個通道來打開并操縱后門網絡的訪問,其目標是發現并泄露其需要的數據。
命令和控制通信與僵尸網絡的通信不一樣,后者有海量的通信量到達成千上萬的僵尸電腦,而前者的通信量很少,這使其更難以被發現。攻擊者還可以通過不斷地變換IP地址、通過代理服務器重定向通信等手段來使其無法被檢測到。命令和控制通信與正常的Web通信混合在一起,使用或欺騙合法的應用或網站,如果沒有高級的本地網絡監視,這種內部命令和控制通信服務器是無法被檢測到的。
7.橫向遷移
如果攻擊者認為自己可以在環境中駐留而不被檢測到,就會繼續以秘密方式存在。如果他們認為自己面臨著被檢測到的風險,“狡兔三窟”,就會快速移動。橫向遷移往往伴隨著與偵察、憑據竊取、滲透其它計算機等有關的活動。
遠程控制工具可以使攻擊者訪問網絡中的其它桌面,并在其它系統上實施諸如執行程序、制定計劃任務、管理數據的收集等操作。用于此目的的工具和技術包括遠程桌面工具、PsExec、WMI等。攻擊者通過這些操作和工具可以進一步訪問包含機密信息的企業服務器。
8.資源的發現和保持
有些技術(如端口掃描和網絡分析)可用于確認重要的保存機密數據的服務器和服務。這種活動中的有些工具包括netstat(一個通過活動連接和開放端口而獲得網絡連接信息的命令行工具)。這類工具可用于確認正在運行的服務,或者被控制的計算機能夠訪問的內部服務器。端口掃描工具可以檢查開放的網絡端口,使攻擊者能夠在受控制的系統和攻擊者系統之間的建立一個隧道連接。端口掃描工具(如ZXPortMap和 ZXProxy 等)可用于創建隧道連接并繞過防火墻的保護。
9.數據偷運
也就是將敏感數據從被攻擊的網絡非法傳輸到由攻擊者控制的外部系統。在發現有價值的數據后,APT攻擊者往往要將數據收集到一個文檔中,然后壓縮并加密該文檔。此操作可以使其隱藏內容,防止遭受深度的數據包檢查和DLP技術的檢測和阻止,下一步驟就是要將數據從受害系統偷運出去。
由于數據看似正常在進出企業網絡,數據的偷運非常類似于正常的網絡通信,這就使得IT安全團隊對偷運數據的檢測非常困難。在攻擊者收集了敏感信息后,數據就被傳輸到一臺內部的臨時服務器,并進行壓縮和加密,然后傳輸到由攻擊者控制的外部。攻擊者使用的工具包括多種類型,如Lz77用于進行壓縮以便于偷運數據,ZXProxy可用于重定向HTTP或HTTPS連接,LSB-Steganography可以將將文件嵌入到鏡像中,ZXPortMap(通信重定向工具,幫助攻擊者制造連接源頭的混亂),還有ZXHttpServer(一種易于部署的小巧的HTTP服務器)。所有這些工具都被復制到被控制的電腦上。
10.消滅罪證
在攻擊者完成其目標后,就要關心如何消除其秘密操作的蹤跡。但攻擊者經常會留下后門,借以多次進入系統并竊取機密數據。
如果攻擊目標有了新的客戶記錄或最新的業務計劃,對攻擊者來說將有很大的吸引力,其數據偷運過程也會持續更長的時間。
最后,攻擊者會停手,其原因往往是他完成了目標,或者受害者發現并切斷了攻擊。在竊取數據后,APT攻擊者會出賣數據、威脅被攻擊的公司、要求受害者支付贖金等。
結論
針對性攻擊可以成功地繞過傳統的安全防御,而許多IT專業人士相信其企業已經成為了靶子。如今的APT采取了一種難以檢測的低姿態的慢速方法,但其成功的可能性卻更高了。攻擊者只需欺騙一個雇員打開一個利用零日漏洞的惡意軟件,就不僅可以訪問雇員的電腦,還有可能訪問整個公司的網絡。
由上文的分析可以看出,應對APT的強健防御機制必須擁有深度的檢測和分析功能。最后強調三點:網絡管理者必須實施應用程序的白名單功能,防止惡意軟件在雇員電腦上的安裝和使用。企業還必須利用SIEM工具來分析網絡日志,如果將來發生了數據泄露,管理員還可以借助工具進行取證分析。