摘 要:主要研究自防御網絡計劃中的網絡準入控制功能。介紹自防御網絡的概念、功能以及處于自防御網絡最前端的部分-客戶端Agent的功能;自防御網絡系統的設計方法。重點介紹客戶端Agent的設計以及其各個組成模塊的功能、設計方法。最后搭建測試環境并進行測試,測試結果均達到預期的效果。
關鍵詞:自防御網絡;網絡準入控制;客戶端Agent;系統安全
中圖分類號:TP393.08 文獻標識碼:B
文章編號:1004-373X(2008)06-099-03
Research and Implementation of Client Agent in the Self-defending Network
FU Cuijiao
(School of Computer Science and Engineering,Beihang University,Beijing,100083,China)
Abstract:This paper mainly studies the Network Admittance Control (NAC) function in the self-defending network plan.It firstly discusses the conception of Self-defending Network (SDN),its function and the function of client Agent is in the front of SDN.Then introduces design method of SDN,specially introduces the design of client Agent and the function of its module.At last builds the test circumstance and carries out the test,the results are all satisfying.
Keywords:self-defending network;network admittance control;client Agent;system security
1 引 言
在互聯網日益普及的今天,網絡安全問題越來越多的受到網絡工程師的重視。病毒、黑客以及各種系統漏洞的依然存在,使得安全任務在網絡時代變得無比艱巨。怎樣才能使網絡得到真正的安全保障廣泛關注的問題,主要是希望網絡自身具有抵抗力,對一些外來的侵蝕有一種自然的抵抗。2004年3月15日,思科以第三代安全解決方案為體系框架,創新地提出了“自防御網絡(Self Defending Network,SDN)”計劃。這是一個多側面、多階段的安全計劃,他能大大提高網絡發現、預防和對抗安全威脅的能力[1]。于是人們開始把目光投向具有自防御能力的網絡。
2 自防御網絡
具有自防御能力的網絡不但要具有保護網上主機系統、網上終端系統和網上應用系統的能力,關鍵是網絡本身也具有自我保護能力、自我防御能力和自我愈合能力[2]。一旦受到網絡蠕蟲等病毒的侵擾或網絡攻擊時,能夠快速反應。網絡能夠發現攻擊、發現病毒、消除病毒在保護網絡應用的同時,也保護了網絡自身。
2.1 自防御網絡系統的功能
本文主要研究自防御網絡計劃中的網絡準入控制(Network Admittance Control,NAC)功能[3],他是自防御網絡計劃中的一部份。SDN的宗旨是防止病毒等新型黑客技術對局域網造成危害,設計目標是客戶端只允許合法的、值得信任的端點設備(例如PC機)接入網絡而不允許其他設備接入。當端點設備進入網絡時,該系統可以根據所獲得的終端信息,例如設備的當前防病毒狀況以及操作系統補丁等信息,來實現對網絡的準入控制[4]。本系統是由3部分組成,分別是客戶端Agent邊緣路由器和策略服務器。最前端是客戶端Agent,負責搜集設備的當前防病毒狀況以及操作系統補丁等信息,形成狀態證書后向邊緣路由器發送,邊緣路由器向策略服務器轉發該狀態證書,策略服務器根據狀態證書中的終端信息確定訪問策略,并向邊緣路由器轉發該策略,邊緣路由器執行該策略,實現準入控制。
2.1.1 客戶端Agent的功能
客戶端Agent處于該系統的最前端,發揮了非常重要的作用。Agent(代理)的意思就是代表其他設備執行功能,客戶端Agent就是代表客戶端完成自身安全狀態的評估,并獲得與之相應的接入網絡的權限。具體來說就是掃描終端系統,獲得操作系統版本信息、系統漏洞、系統補丁、系統修復信息、端口開放狀態、系統是否安裝了殺毒軟件、殺毒軟件是否進行了升級,掃描系統文件、內存RAM區、磁盤引導扇區,判斷系統是否已經感染了病毒等,并把獲得的系統信息形成狀態證書后,向邊緣路由器發送。總的來說,客戶端Agent研究的焦點是:獲得終端的OS信息,包括補丁和修復信息;加固終端,加強對攻擊的抵抗力。
因此,客戶端Agent非常重要,如果搜集的信息不準確,會導致策略服務器做出不正確的決策。過于保守的策略會導致不能訪問一些資源,給用戶帶來不便,但過于開放的策略會導致局域網內多數機器感染病毒,從而失去自防御網絡的意義,所以搜集的終端信息的準確性非常重要。同時客戶端Agent應該能做到實時監測,在用戶使用網絡的過程中,終端本身的信息發生變化,隨時都有可能感染病毒,如果客戶端Agent沒有搜集到這些變化的信息,系統還執行原來的策略,帶來后果可想而知。
2.1.2 客戶端Agent的設計思路
先對終端系統進行安全策略方面的配置和安全檢測,然后通過改進的掃描算法,實現快速高效的掃描,對掃描的結果進行必要的分析后,形成狀態證書,然后傳給邊緣路由器。在對系統是否感染病毒的掃描中,以蠕蟲病毒為例進行研究,并且實現對某一種蠕蟲病毒的查找。
2.2 自防御網絡的設計
客戶端Agent首先向邊緣路由器發送認證請求,認證通過后,邊緣路由器請求該代理傳送終端信息;客戶端Agent把從終端系統中獲得的信息形成狀態證書,通過邊緣路由器轉發給策略服務器,讓策略服務器來決定終端接入網絡的權限,其過程如圖1所示。

其過程是:
(1) 客戶端Agent首先向邊緣路由器發送認證請求;
(2) 邊緣路由器返回挑戰字(CID);
(3) 客戶端Agent把收到的CID和保存的密鑰MD5加密[4]后,返回給邊緣路由器;
(4) 邊緣路由器請求該代理傳送終端信息;
(5) 客戶端Agent向邊緣路由器發送終端信息;
(6) 邊緣路由器向策略服務器轉發該信息;
(7) 策略服務器檢查狀態證書中的終端信息,確定所授予的權限:正常、檢查或隔離,然后向邊緣路由器發送授權策略;
(8) 終端獲得訪問權限(被拒絕、被隔離、URL重定向)。
2.2.1 客戶端Agent的結構設計
客戶端Agent的作用是獲得終端系統信息,形成狀態證書后,發送給邊緣路由器。客戶端Agent系統主要包括5個模塊:用戶登錄模塊、系統信息獲取模塊、系統掃描模塊、通信模塊和系統自啟動模塊。因為主要功能是獲得客戶端的OS信息,所以系統信息獲取模塊、系統掃描模塊是其核心部分。通信模塊把用戶登錄模塊、系統信息獲取模塊和系統掃描模塊獲得的終端信息按特定的格式匯總后,傳給邊緣路由器,并接收來自邊緣路由器的授權通知信息,其流程如圖2所示。

在該結構中,獲得OS信息的功能主要由系統信息獲取模塊和系統掃描模塊完成,這2個模塊可以并發執行,沒有先后之分。這樣設計的目的是為了快速地獲得系統信息,并且各模塊之間相互獨立,便于系統功能的擴展。
2.2.2 客戶端Agent中各模塊的功能
用戶登錄模塊 主要實現用戶通過輸入用戶名、密碼接入網絡,此時啟動客戶端Agent,用戶退出系統時要斷開連接。
系統信息獲取模塊 主要實現獲得終端操作系統版本信息、系統漏洞、修復信息、系統補丁信息以及系統是否安裝殺毒軟件的信息。
系統掃描模塊 主要包括系統掃描、端口掃描和加密掃描。
系統掃描 主要實現運用改進的特征碼掃描算法[5],通過對系統中的文件進行查找和比較,獲得系統是否感染病毒的安全信息[6],用戶接入網絡時在進行該掃描的同時也進行實時監測。
端口掃描主要采用TCP connect掃描[7]。通過進行端口掃描,獲得端口的開放情況,從而在系統被攻擊前得到一些警告和預報,并對相關的漏洞進行檢測。
加密掃描 主要實現通過對客戶端系統中的軟件進行特殊的掃描加密方法,使攻擊者不能通過“殺去”、“繞過”等修改程序的手段來繞過訪問控制,從而避免由訪問驗證錯誤引起的漏洞。該掃描加密的過程是讀取密碼,然后讀取密鑰,對密碼和密鑰做運算,將運算結果拆分整合成數值和字符賦值給變量;上述變量作為后續程序中的參數、變元或“名”,運行后續程序;如果是合法密鑰,則正常運行,產生正確的結果,如果是非法密鑰,則出現運行錯誤,產生錯誤的或異常的結果[8]。通過防范漏洞從而加固終端,加強對攻擊的抵抗力[9]。
通信模塊 主要實現客戶端Agent首先向邊緣路由器發送認證請求,認證通過后,經邊緣路由器的請求,客戶端Agent把從終端系統中獲得的信息進行加密后,形成狀態證書,然后向邊緣路由器發送,并等待接收來自邊緣路由器轉發的策略服務器的授權信息。根據授權信息限制終端接入網絡的權限,并向用戶提示。與邊緣路由器的通信是通過EAP協議進行的[10]。
自啟動模塊 主要實現客戶端Agent的自啟動和自保護。當終端系統啟動時自動運行客戶端Agent,并且負責維護客戶端Agent自身的安全,以免該代理自身遭到病毒的攻擊。
2.3 系統測試
測試環境是開發網絡環境基礎上進行改進的,以避免外界網絡數據和隨機數據對測試結果的影響。主要的網絡設備有:已經安裝客戶端Agent的客戶端主機、專門開發的邊緣路由器以及策略服務器。客戶端Agent和邊緣路由器用EAP協議進行認證通信,邊緣路由器和策略服務器用RADIUS協議實現通信[11]。如圖3所示。

(1) 客戶端主機(運行客戶端Agent):用戶A和用戶B, Windows XP平臺。
(2) 網絡接入設備(邊緣路由器):采用了雙網卡的一臺主機,通過路由表的配置實現2個網段的互通訪問;并根據策略服務器返回的終端用戶訪問請求結果,執行策略服務器制定的策略。IP地址采用192.168.0.1/202.112.138.30。
(3) 策略服務器:制定網絡準入控制的策略,他主要完成對用戶身份認證和訪問控制的功能。策略服務器同樣采用1臺運行有相應軟件的主機來實現,屬于內部網絡。IP地址采用192.168.0.254。
(4) Quidway S2016交換機:用來連接內部網絡中的2臺主機。在理論環境中,并不需要這一連接設備,但在實際的系統實現中,自防御網絡邊緣路由設備是一臺運行有相應軟件的計算機,所以必須通過此交換機進行多臺計算機的連接。
(5) 外網用戶C:在測試過程中充當NAC的被訪問者和網絡攻擊的發起者角色。
(6) 更新服務器:為未通過接入認證的主機提供相應更新的設備。
分別對改進的特征碼掃描技術、對系統的掃描效率、對客戶端端口的開放情況以及準入控制功能進行測試,并對測試結果和已有技術的所得結果進行比較。結果表明整個自防御網絡的功能及其客戶端Agent的功能均達到預期的效果。一臺主機和多臺主機的認證情況都得到了驗證。
3 結 語
通過對自防御網絡中客戶端Agent的研究,探索自防御網絡的開發技術,設計出可以提供客戶端安全狀態信息和操作系統狀態信息,進而獲得相應訪問權限的客戶端Agent,實現網絡準入控制的功能。客戶端Agent無論在掃描操作系統信息的速度上,還是在查找病毒的準確方面都達到同類軟件的性能,并且通過防范訪問驗證錯誤引起的漏洞,加固了終端。自防御網絡與其他網絡系統的不同之處在于他是一種集成化的系統,可以從多個位置保護網絡,是一種創新的、多點的、綜合的和主動的網絡安全構架[12]。
參考文獻
[1]浩男.思科SDN從理念邁向應用 NAC產品正式面市[J].信息網絡安全,2004(8):59-60.
[2]唐衛.自防御網絡+SAFE解決方案[CD2]思科為電力客戶全力打造安全網絡[J].電力信息化,2006,4(9):33-34.
[3]Rhonda Heldman Raider.全新安全戰略[CD2]自防御網絡[J].計算機安全,2005(4):29-31.
[4]RFC1994,PPP Challenge Handshake Authentication Protocol(CHAP)[S].IETF,1996.
[5]《黑客防線》編輯部.黑客防線[CD2] 2005精華奉獻本(下)[M].北京:人民郵電出版社,2005.
[6]趙治國,譚敏生,李志敏,等.基于免疫原理的層次入侵檢測模型[J].計算機工程與設計,2007,28(4):803-807.
[7]張玉清,戴祖鋒,謝崇斌.安全掃描技術[M].北京:清華大學出版社,2004.
[8]汪文虎.一種信息安全方法:中國,011321660.[P].2004-2-25.
[9]傅翠嬌,曹慶華.計算機網絡系統安全漏洞的研究[J].2006,29(1):65-68.
[10]RFC2284,PPP Extensible Authentication Protocol (EAP)[S].IETF,1998.
[11]RFC2865,Remote Authentication Dial In User Service (RADIUS)[S].IETF,2000.
[12]姚文琳,辛穎秀.自防御網絡安全架構的研究與應用[J].現代制造工程,2006,(6) :61-64.
作者簡介 傅翠嬌 女,山東鄆城人,助教。主要從事計算機網絡安全方面的研究工作。