在企業的網絡與信息安全管理工作中,資產是安全評估、安全防護、安全加固等工作的對象,因此資產管理工作十分重要,如何快速主動發現新的IP資產,是資產管理中的重點工作。
ICT技術飛速發展,基于云計算等新興技術,尤其是IaaS(Infrastructure as a Service)技術,技術人員可快速獲得完善的計算基礎設施服務。同時,ICT項目的開發流程正逐步向敏捷開發、快速迭代演進,可實現產品的快速發布上線;在架構上逐步由單體式向分布式演進,可實現快速的橫向擴展。伴隨上述技術的發展,資產管理工作在流程、技術上也面臨更大的挑戰,傳統的資產管理方法,如臺賬錄入、CMDB同步、主動掃描等,在資產更新頻率、資產信息準確度等方面存在一定不足。
從海量異構的數據中主動分析出企業開放網絡環境下的IP資產信息,是當今網絡安全領域較為熱門的話題,能夠解決安全管理工作的痛點,大大提升技術實用性。
IP資產的主動發現包括不限于遠程掃描、配置分析、流量分析等技術,實現邏輯如下。
遠程掃描:利用遠程掃描工具,對IP地址進行存活性探測,包括不限于ICMP探測、SYN掃描、UDP掃描等,根據響應信息判斷IP資產的存活性狀態。該方法是網絡掃描技術的應用,受限于系統資源、網絡帶寬等因素,如果掃描并發會話數控制不當,極易對網絡或信息系統的可用性造成影響。此外,遠程掃描資產發現任務一般是不定期開展,實時性不足,無法做到資產的及時發現。
配置分析:利用遠程登錄或日志信息采集方式,收集網絡設備的ARP表、路由表、MAC表、接口信息表等信息,進一步關聯比對分析,獲取IP資產的存活狀態。該方法實時采集網絡設備的配置信息,對網絡設備性能有一定消耗;若網絡中出現ARP欺騙、MAC防洪等網絡攻擊,會影響分析結果的準確率。
流量分析:利用網絡流量進行分析,從數據鏈路層、網絡層、傳輸層等層面,根據傳輸協議、端口特征、流量通信特征、數據包流向等重要參數,設定分析模型,獲取IP資產的存活信息。該方法一般通過鏡像網絡流量或采集NetFlow數據做進一步分析實現,對網絡、信息系統影響較小。由于資產發現的及時率和準確率取決于流量分析算法的有效性,如何基于流量特征去構建資產發現模型是該技術的關鍵。
Apache Spark:是一個快速的通用集群計算系統。它提供Java,Scala,Python和R中的高級API,以及支持常規執行圖的優化引擎。
Spark Streaming:是Spark核心API的一個擴展,可以實現高吞吐量的、具備容錯機制的實時流數據處理。支持使用map、reduce、join等高級函數對多種數據源的數據進行復雜算法的處理。
Kafka:Apache軟件基金會開發的開源分布式發布訂閱消息系統,是一種高吞吐量的分布式發布訂閱消息系統,具備分布式、分區的、多副本的、多訂閱者等特點,常用做分布式日志系統,如web訪問日志,網頁日志、消息服務等。
基于以上大數據技術,業內已經有成熟的用于安全分析領域的解決方案,可實現從安全日志采集、存儲、分析的安全檢測分析流程。其中,基于Kafka和Spark Streaming技術的日志實時處理、分析,是當前主流的實時大數據日志分析框架。
在企業的開放網絡環境下,本文利用流量日志采集存儲、大數據分析等技術,設計了IP資產主動發現模型與方法,實現業務系統透明無感知的情況下,對企業網絡IP資產信息的實時主動發現,不影響企業正常生產工作。
IP資產主動發現實現模型如圖1所示。

圖1 IP資產主動發現模型
網絡設備如交換機等,按照1:1比例把NetFlow日志外發至日志采集模塊。NetFlow日志中至少包括如下信息:源IP、目的IP、源端口、目的端口、通信協議、上行包數量、下行包數量。
數據采集模塊包括日志接收和日志存儲兩部分,日志接收可通過Flume組件(Cloudera提供的分布式的海量日志采集、聚合和傳輸的系統)實現,日志存儲可通過Kafka實現。
依據Flume和Kafka組件,實現了NetFlow日志的傳輸、收集、轉發和存儲,同時給日志數據打上對應的Topic標簽,提供給大數據實時處理框架調用分析。該采集架構在具備基礎功能的前提下,同時具備分布式橫向擴展、多副本冗余備份等特點,很好提供高性能、彈性擴展、多冗余能力。
按照一定時間周期通過約定的標簽從3.1小節的數據存儲組件中讀取NetFlow日志,基于Spark Streaming流處理框架實現對NetFlow日志的通信特征抽取關聯,進一步研判分析,實時輸出分析結果。基于大數據分析框架的資產發現分析流程如圖2所示。

圖2 基于大數據分析框架的資產發現流程圖
(1)從NetFlow日志中提取源IP、目的IP、源端口、目的端口、通信協議、上行包數量、下行包數量等字段。
(2)針對單條NetFlow日志,判斷源IP是否在企業開放網絡環境下IP網段范圍,若處于該網段則執行步驟(3);判斷目的IP是否在企業開放網絡環境,若處于該網段則執行步驟(4)。
(3)獲取企業開放網絡環境下的存活IP資產列表信息,判斷該條NetFlow日志的源IP是否在存活IP資產列表中,若不在,則源IP為新的資產IP,并存儲更新待確認企業開放網絡環境下IP列表庫。
(4)獲取企業開放網絡環境下的存活IP資產列表信息,判斷該條NetFlow日志的目的IP是否在存活IP資產列表中,若不在則繼續分析。
(5)判斷通信協議是否為TCP協議,且該TCP會話是否完成三次握手和數據交互,若條件均滿足,則目的IP為新的資產IP,并存儲更新待確認企業開放網絡環境下IP列表庫。
以上方法可透明、精準、主動地發現企業網絡中的IP資產,具備以下特點。
(1)透明無感知:網絡流量的日志可通過流量鏡像方式獲取,區別于主動掃描等技術,對系統的可用性不會造成影響,實現對企業生產網絡和信息系統的透明無感知,適合在大企業的生產環境中推廣使用
(2)實時精準識別:結合IP網段信息和開放IP資產列表,依據TCP/IP協議特征進行IP資產主動識別,可實現精準的資產發現。此外,基于大數據流處理處理框架的技術實現,實現了實時分析和及時的資產發現,加強了資產管控工作。
(3)橫向擴展:因為大數據技術具有橫向擴展的特性,可從海量數據中進行挖掘分析。具體應用中,依據網絡拓撲和實際場景,可從多網絡節點中采集網絡流量信息,依據數據量大小,橫向擴展大數據集群,從海量網絡流量信主動發現IP資產。
在企業的開放網絡環境中,可考慮從以下幾個層面應用上述的基于大數據技術的IP資產主動發現模型。
數據采集:對于IP資產主動發現技術的數據來源,可采集企業網絡的互聯網出口網絡設備的NetFlow日志,若存在多個互聯網出口,則需采集各個互聯網出口節點的日志。大多數企業的網絡,會在防火墻等網絡設備中配置內外網IP地址轉換,需注意的是,此類網絡環境下需從可獲取互聯網IP流量的網絡節點中采集日志。
大數據分析:對于具備大數據平臺且共享大數據能力的企業,可考慮在大數據平臺上研發IP資產主動發現的大數據分析應用,減少大數據平臺研發和運維的工作量,節約研發投入成本。需注意的是,承載資產主動發現大數據應用的大數據支撐平臺,需具備日志采集和實時流處理能力,如部署Spark、Kafka、 flume等組件。
在應用以上技術的同時,企業需建立完備的資產管理制度和流程,配備安全運營人員對IP資產主動發現的結果進行核驗及流程跟蹤,提升資產管理能力。
通過采集網絡流量日志,利用大數據分析技術,實現IP資產的主動發現,實現真正的“摸清家底”,為安全管理者提供資產管理的技術支持,有效促進安全加固、安全評測等工作的開展,更好地開展安全風險識別、分析、處置工作。需要注意的是,該項技術與企業的網絡策略管理工作精密銜接,企業的網絡策略管理應規范化,降低對該技術應用結果的運營成本。