田 良 徐孟江
(中國聯通貴州省分公司,貴州 貴陽 550001)
移動設備給人們的生活帶來諸多便利與變革,但也面臨著不同程度的安全風險,移動設備作為人們與外界進行絕大部分信息交流的重要工具,提供了更多被黑客利用的機會,其中病毒木馬是最為普遍且有效的攻擊方式之一。隨著移動支付的普及,移動設備承載了幾乎所有的隱私信息,使得移動設備成為黑客理想的攻擊對象以獲取利益。移動智能終端的廣泛使用,惡意程序攻擊、用戶信息泄露、惡意吸費、誘騙欺詐等安全問題也日益凸顯,對國家和個人都帶來了威脅。目前手機病毒已突破千種,有關專家認為,手機面臨的安全威脅很快將超越個人電腦,成為個人信息安全的第一大隱患。
對于國家監管部門來說來說,對各種互聯網安全事件的溯源變得十分重要,由于目前開放的IP 網絡缺乏足夠的溯源能力,導致針對網絡違法行為的法規缺乏有效的技術支撐。
電信運營商在移動互聯網時代為了不淪為單純的通信管道,必須要做到以下三點:一是將管道智能化;二是做平臺運營的主導者;三是做移動信息化的引領者。所謂管道智能化,就是要做到用戶可識別、流量可引導、業務可感知。
深度包檢測技術(Deep Packet Inspection(DPI))是一種基于應用層的流量檢測和控制技術。通過深入讀取IP 包承載的內容來對OSI 七層協議中的應用層信息進行重組,從而得到整個應用程序的通訊內容,然后按照系統定義的策略對流量進行監測和管理。
2.1.1 大流量高性能DPI 體系架構
2.1.1.1 DPI 分層架構
該系統采用和OSI 類似的分層處理模型。整個系統從下往上分為七層,依次是報文捕獲/發送層、協議解碼層、流(Flow)管理層、傳輸層、應用層、業務層和輸出層。
報文捕獲/發送層:主要是負責從網卡上收發原始報文,支持一些常用的開源收發包工具,如pfring,libpcap 等。
協議解碼層:主要負責傳輸層以下的協議解碼,如Ethernet,PPP, PPPoE, Raw, SLL, VLAN, MPLS, GRE, IPv4, IPv6, TCP,UDP, SCTP, ICMPv4, ICMPv6 等等。
流表管理層:流(Flow)就是對具有相同五元組(源IP、目的IP、源端口、目的端口、協議ID)的所有數據包的一種抽象。
傳輸層:該層的主要工作是TCP/UDP/SCTP 的協議重組和應用層協議識別。
應用層:最主要的工作是應用協議解析,如HTTP、SMTP、POP3、IMAP、DNS、FTP、HTTPS、RTSP、SIP 等等。此外還有一些信令協議的解析,如GTP-C,radius、MIP、s1ap、diameter、ranap、m3ua等等。
業務處理層:業務處理層是綜合各層的分析處理結果,來實現指定的業務功能。比較常見的業務如文件還原、語音質量計算、各種KPI 計算等等。
消息輸出層:就是我們對各種元數據、KPI 數據、樣本數據、網絡監測時間等等信息的保存。針對各種數據和需求選擇保存方式。
2.1.1.2 DPI 線程模型
各類線程按照功能劃分可以分為報文捕獲和發送線程組、協議解碼和報文分派線程組、報文中心處理線程組、消息和日志輸出線程組,以及其它一些輔助線程組。
可以看出,我們并不是將每一層的處理放到一個單獨的線程中去,除了報文捕獲/發送層、消息輸出層、協議解碼層放在單獨的線程中處理外,剩下的其它層,也就是流表管理、傳輸層、應用層和業務層,都放在中心處理線程組中進行處理。
2.1.2 NZ-COPY 零拷貝系統
網絡設備主要是對網絡數據包進行抓取,沒有高效的捕包技術就沒有高性能的網絡設備,所以捕包技術是高性能網絡設備的基礎,高性能的捕包技術需要做到低資源占用和長期運行不丟包。
目前使用最廣泛的的捕包技術有Libpcap、PF_RING 和DPDK。要實現一個高性能的捕包系統是一個整體工程,需要對網卡的工作原理/網卡驅動/操作系統內核/協議棧/內核空間與用戶空間的數據傳輸/應用程序編程等技術有很好的掌握。實際使用中也會遇到各種情況,如中斷調用、數據拷貝、內核空間和用戶空間數據傳輸、頻繁的函數調用對性能的影響
NZ-COPY 零拷貝系統的設計:
在設計零拷貝系統時,我們必須對影響性能的因素進行規避。要盡可能做到以下幾點:
(1)主動收包并關硬中斷,規避硬中斷的調用。
(2)DMA/共享內存/內存池等技術解決數據拷貝問題。
(3)系統在LINUX 內核空間除了硬件收包無額外開銷。
(4)共享內存解決內核空間/用戶空間的數據傳輸問題。
(5)使用批量處理解決調用頻繁的問題。
整個NZ-COPY 系統運行過程:
(1)NZ-COPY 內核申請一定數量的內存用作收包緩沖。
(2)MMAP 把收包緩沖在內核空間/用戶空間共享。
(3)對緩沖塊進行編號,全部緩沖塊組成緩沖內存池。
(4)關硬中斷并使用收包緩沖替換原網卡緩沖。
(5)上層應用部分觸發收包開始工作。
(6)NZ-COPY 應用攜空閑緩沖觸發NZ-COPY 內核開始收包。
(7)NZ-COPY 內核交換已收數據緩沖和空閑數據緩沖。
(8)NZ-COPY 內核獲取到全部已收包緩沖塊。
(9)NZ-COPY 應用得到全部已收包緩沖塊。
(10)NZ-COPY 應用處理已收緩沖塊并回收。
(11)轉到步驟(5)循環收包。
通過分析研究LINUX 操作系統標準收包過程,發現制約捕包性能的主要原因:硬中斷調用頻繁、數據拷貝、LINUX 協議棧處理、內核/用戶空間數據傳輸、無批量收包和傳輸。深入分析研究了DMA 技術、中斷技術、共享內存技術、內存池技術、數據傳輸技術,并設計和實現NZ-COPY 捕包系統。
通過深度包檢測技術(DPI),我們可以將用戶主動下載或者不知情下載的APP 安裝包進行完整的還原。
2.2.1 惡意軟件研判系統
惡意軟件APP 監測研判系統包含樣本數據解析子系統、樣本綜合檢測子系統、特征庫管理子系統和數據支撐模塊。其中樣本綜合檢測子系統是整個系統的最核心部分,該子系統一共包含兩個研判引擎,即靜態綜合安檢引擎和動態Android 沙箱。(圖1)

圖1 惡意軟件檢測系統架構圖
對于任何一個疑似樣本,通過hash 值比較或證書比較,先判斷其是否為已知的惡意軟件或者是否為已知的非惡意軟件,如果是則無須進一步研判,否則,進入樣本的研判流程。在樣本研判開始之前,先對樣本進行預處理(如解壓縮、反編譯、反匯編等),然后進行靜態分析。靜態綜合檢測引擎在整個研判過程中占有十分重要的地位,其檢測效率高、檢測精度大,能檢測出絕大部分的惡意軟件。但由于目前越來越多的APP 開始采用軟件加固技術,很多惡意APP 也不例外,加固技術將使得對APP 的反編譯變得不可能,因此,動態沙箱技術便應運而生。接下來我們將首先討論靜態檢測引擎,這里面主要包括APP 靜態行為檢測、廣譜特征檢測、仿冒應用監測、加固檢測、漏洞檢測等。
2.2.2 Android 沙箱技術
Android 動態沙箱技術主要以Android 系統為主要模擬環境,通過結合Android 自身SDK 接口能夠自主開發沙箱的一些功能,由于Android 開放源碼,甚至可以編譯自己的系統內核,加入一些能控制目標行為的高級功能,在不影響目標程序運行的前提下,對目標程序的運行行為進行跟蹤和記錄, 并結合自身總結的一些病毒特定惡意行為特征進行綜合分析,從代碼、文件、網絡三方面進行惡意行為總結,最終實現病毒惡意行為的全功能研判。
J2ME 動態沙箱技術主要建立在以Java 為核心的平臺之上,通過Java 自身的成熟模擬器環境和特定接口,結合自身總結的一些病毒特定惡意行為特征,主要監控惡意程序的文件行為、網絡套接字行為、聯網行為、加密聯網行為和短信收發等行為。
2.2.3 加固APP 的脫殼技術
干氣密封二次密封氣和隔離氣采用0.6 MPa的低壓氮氣,低壓氮氣經過濾后,再經自力式控制閥控制壓力在0.4 MPa后分為兩路,一路作為二級密封氣再分為三路分別進入低壓缸、中壓缸、高壓缸的干氣密封的二級密封腔中。其中大部分通過梳齒密封進入主密封氣泄漏至火炬系統,少部分二級密封氣通過二級密封的動靜環之間的空隙進入二級密封氣泄漏至大氣;另一路作為隔離氣分為三路進入壓縮機低壓缸、中壓缸、高壓缸兩端的軸承與干氣密封之間的腔體中,部分隔離氣通過梳齒密封進入二級密封氣泄漏至大氣,部分隔離氣通過梳齒密封進入軸承箱中,通過呼吸閥排至大氣。
隨著各種開源技術的發展,越來越多的移動APP 選擇了軟件加殼來保護自己,各種惡意軟件更是如此。目前安卓APP 保護技術目前分為以下四類:
(1)JAVA/C 代碼混淆。
(2)dex 文件加殼。
(3)so 文件加殼。
(4)反動態調試技術。
混淆和加殼是為了防止對應用的靜態分析;代碼混淆會增加攻擊者的時間成本,但并不能從根本上解決應用被逆向的問題;而加殼技術一旦被破解,其優勢更是蕩然無存;反調試用來對抗對APP 的動態分析,增加動態調試的時間成本。
2.2.4 惡意程序封堵處置
在網絡側對傳播病毒的下載鏈接或者惡意軟件的控制端地址進行封堵處置,是整個防病毒體系中非常重要的一環。通過網絡側封堵,能在第一時間很輕易的阻止惡意軟件的擴散。傳統的并接封堵方式一般是通過向連接發起方和服務器方發送偽造的TCP Reset 方式來實現,當采集分析probe 收到用戶的惡意安裝包下載HTTP 請求后,在真正的服務器響應之前,偽造服務器IP 向用戶發送tcp reset 報文,同時,偽造用戶IP 向真正的服務器IP 發送tcp reset 報文,從而將用戶和服務器建立好的連接拆除。這種旁路的封堵方式能夠很有效的對所有tcp 連接進行封堵,但卻無法對udp流量進行封堵。
為了解決傳統并接tcp reset 封堵方式無法對udp 流量進行封堵的缺陷,我們提出了基于串接阻斷、旁路分析相分離的智能管控方法和系統。其整體方案如上圖所示,整個系統分為三級,分別是LB(智能光保護器)、eTM(流量控制器)和DPI 探針,其中LB 是任何時候都是完全串接進網絡的,eTM 既可以工作在串接模式,也可以工作在旁路模式。LB 和eTM 是協同工作的,LB 本身沒有任何數據報文的處理,就像一個光開關,能在極短的時間內(小于5ms)將物理信號在原鏈路和eTM 之間切換。LB 能實時感知eTM 的工作狀態,一旦出現異常,便能自動的將原鏈路切回至直通狀態,從而保持網絡不中斷。eTM 主要有2 個功能,一是將輸入的流量進行復制,并能負載均衡到后端的Probe 設備上;二是接收Probe 發送過來的封堵指令,將指定的IP 或者IP 五元組過濾后再將過濾后的流量完整轉發至原始輸入鏈路,從而實現流量控制功能。
3.1 通過對移動通信核心網架構進行研究,提出相應的用戶身份識別方法,通過身份識別,即使用戶不安裝殺毒軟件,也能在管道側感知其終端安全狀況。
3.2 建立了一套針對運營商核心網大流量、高性能的DPI 分析系統。實現了正意義上的零拷貝收包技術和高性能無鎖FIFO隊列算法。
3.3 實現了惡意軟件的研判,通過對疑似樣本的靜態綜合分析和動態沙箱研判,實現了較高的惡意軟件檢出率。
3.4 提出了一種基于串接阻斷、旁路分析相分離的智能管控方法和系統,該系統解決了在運營商大流量網絡環境下進行高效、可靠串接封堵的技術問題,克服了傳統的旁路TCP reset 技術無法對UDP 流量進行封堵的弊端。
基于以上技術方案和實現效果,可以及時對移動網應用程序進行DPI 深度分析,通過載荷內容抓取,分析出網絡中存在的風險,技術對惡意程序進行封堵,滿足國家監管部門要求,減小運營壓力。