999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向網絡攻防演練的操作系統仿真模型研究與實現

2008-12-31 00:00:00王海泉夏春和
計算機應用研究 2008年8期

摘 要:針對目前網絡攻防演練中對主機行為的表現粒度不足的問題,通過分析操作系統概念以及性質,給出了一種用于網絡攻防演練的操作系統仿真模型。該模型反映了操作系統的安全屬性。還給出了該仿真系統的體系結構,使得仿真系統具有一定的擴展性。

關鍵詞:操作系統模型;操作系統仿真;網絡攻防演練

中圖分類號:TP309.2 文獻標志碼:A 文章編號:1001-3695(2008)08-2450-04

Operating system simulation model for network attack and defense drilling

ZHAO Weia,WANG Hai-quana,c,XIA Chun-hea,b

(a.Key Laboratory of Beijing of Network Technology, b.Virtual Reality Technology System National Key Laboratory, c.School of Software, Beihang University, Beijing 100083, China)

Abstract:Network attack and defense drilling have a shortage that it cannot represent the variety of host behaviors. Given to this reason, this paper gave an operating system simulation model based on analysis of classic OS concept. It reflected the security characteristic of OS. Also,establishedthe corresponding architecture of simulation system, which made the simulation system scalable.

Key words:operating system model;operating system simulation; network attack and defense drilling

0 引言

網絡攻防演練是一種針對網絡攻擊和防御行為特征進行仿真的網絡安全仿真技術,它可以用于網絡安全人員的培訓、網絡攻擊防御理論的驗證等網絡安全問題。

網絡安全仿真具有可擴展、富有時間彈性、安全和易重新配置等優點[1],越來越多的學者和學術組織關注網絡安全仿真的研究。

目前主要的網絡安全仿真有:DARPA、NSF、DHS、UC Berkeley、USC-ISI、ICSI等機構合作,由Cisco、Alcatel、IBM、Intel等資助的計算機防御技術建網與評估項目[2];OPNET與美國國防部合作開發的IT DecisionGuru[3];美國喬治亞理工信息安全中心(Georgia Tech Information Security Center)的網絡安全弱點的大規模仿真項目[4];美國Dartmouth學院網絡安全演習開發中心(CSED)開發的Netsim[5];美國國防部C4和情報規劃綜合董事會信息保障項目管理局開發的CyberProtect交互訓練系統[6];美國海軍資助的CyberCIEGE[7];美國國土安全部(DHS)支持的項目“實時沉浸式網絡模擬環境(RINSE)”;美國西南研究院(SWRI)的網絡安全建模與仿真項目[8]等。

以上網絡安全仿真還存在仿真粒度很粗,缺乏對應用層的表示,許多攻擊防御手段無法建模實現等問題[9],而且缺乏主機層面的攻擊和防御的效果表現。面向網絡攻防演練的操作系統仿真不但可對應用層進行仿真,而且它作為攻擊的標靶,可模擬出網絡攻擊與防御的對抗過程對主機所造成的影響。

1 相關工作

目前操作系統仿真根據應用目的主要分為兩類:用于教學的操作系統仿真,如Nachos、MOSS等,以及用于網絡攻防演練的操作系統仿真,如LBSM、Simposter。由于應用目標不同,這兩類仿真還是有較大的區別。

用于教學的操作系統仿真更多的是考慮操作系統的內部結構,即操作系統內部的運作過程。而應用于網絡安全演練的操作系統仿真則更傾向于描述操作系統對外部事件的響應結果,而并不關心操作系統內部處理的細節。下面對以上各種仿真作簡要介紹。

Christopher等人創建了一個操作系統課程項目——Nachos[10]。Nachos操作系統內核包含一個線程管理器,一個文件系統,一個簡單的網絡郵箱,并提供運行用戶程序的能力。Nachos在用戶模式下仿真了一個標準的、說明清楚的指令集。MOSS(modern operating systems simulators)[11]是一組基于Java語言的用于闡明操作系統概念的程序集。該程序集主要包括以下四個部分,即進程調度仿真器、死鎖仿真器、內存管理仿真器和文件系統仿真器。該程序集各部分獨立運行,并沒有構成一個有機整體,更加注重模擬操作系統各部分內部的細節。

LBSM是J. S. Lee等人提出的一種用于網絡攻擊的Linux系統模型[12]

該Linux系統模型分為了代表操作系統的kernel model(內核模型)和代表服務及應用的process model(應用模型)。其中,kernel model又包含network manager model(網絡管理模型)、file system manager model(文件系統管理模型)和process manager model(進程管理模型)。而process model則包含各種應用和服務的模型。其體系結構如圖1所示。

該模型雖然在一定程度上反映了Linux系統的結構,但是仍存在不足。其中最重要的是模型中缺少與操作系統安全密切相關的權限的表示。此外,其應用模型缺乏對復雜應用程序的描述能力。

Simposter[13]是挪威國家安全中心設計開發的一種基于簡單網絡仿真器的網絡安全游戲,用于安全人員在游戲中學習網絡安全知識。該游戲的優點是具有一定的趣味性。操作系統模型更加趨向于易于實現,而不是盡量真實地反映操作系統的安全屬性。同樣,也缺乏權限的表示方式。

本文在經典操作系統的概念上,抽象了現有的各種操作系統的共性,并從中選取了與攻防演練密切相關的屬性,提出了一種應用于網絡攻防演練的操作系統仿真模型,并給出了框架設計。模型描述了操作系統各組成部分與權限的關聯。實現框架根據模型上給出了原型系統的架構,給出了基本的系統狀態集合,并提供攻防雙方對主機狀態進行改變的系統調用。系統調用的執行反映了攻防演練過程對主機狀態的影響。

2 操作系統模型

本章將根據現有的操作系統概念進行分析,并建立操作系統模型。

操作系統是一系列具有以下功能的程序集合:管理計算機中的各種軟/硬件資源;提供用戶與計算機交互的接口。典型的操作系統通常由進程管理、內存管理、文件系統和設備管理四部分組成。命令解釋器作為用戶調用系統程序和應用程序的接口,也已成為操作系統的一個必不可少的組成部分。操作系統仿真更關注于操作系統在與用戶交互中的表現,而不是內部細節,因此模型對操作系統的CPU、內存以及各種硬件設備的管理不作考慮。

2.1 操作系統概念模型

文件系統作為計算機中信息的載體,是眾多網絡攻擊和防御的最終目標。訪問權限機制作為文件系統的安全保護措施是廣泛應用于各種操作系統中。

在網絡攻擊中,雖然很多攻擊者都以獲取目標信息為最終目的,但是攻擊的直接目標卻是操作系統中所運行的進程,即使是以其他目標的面向網絡應用層的攻擊也大多是利用應用程序的漏洞,對目標系統中的進程發起攻擊。而且進程中保存的用戶權限信息是作為程序訪問文件系統的重要依據,因此應用程序和進程也是關系操作系統的十分重要的部分。

Shell作為網絡攻防演練中用戶和操作系統交互的接口,是必不可少的組成部分,而網絡通信則是網絡攻防演練的重要基礎。因此,面向攻防演練的操作系統概念模型主要包括以下五個子概念模型,即用戶接口(shell)模型和進程管理模型、文件系統模型、網絡通信模型和應用程序模型。

通過對操作系統的基本概念的研究,并結合攻防演練,給出操作系統模型的概念體系如圖2所示。

下面給出了相關概念的形式化定義。

操作系統:

OS::=〈SHELL,PM,FS,COM,APP,RELATION〉

其中,SHELL為用戶接口模型;PM為進程管理模型;FS為文件系統模型;COM為網絡通信模型;APP為應用程序模型;RELATION為各模型之間的關系。

2.1.1 用戶接口模型

用戶接口:接收用戶命令并將執行結果返回給用戶。

形式化定義如下:

SHELL::=〈user,interpreter,resultoutput〉

其中:user為用戶信息;interpreter為命令解釋器;resultoutput為結果輸出。

2.1.2 進程管理模型

進程管理:進程為應用程序的一個運行實例。進程管理負責對進程進行創建、撤銷等操作。在模型中,進程被定義為一系列屬性的集合。

形式化定義如下:

PM::={(p,o)|ρ∈PROCESS,o∈OPERATION}

PROCESS::=〈state,pid,ppid,uid,gid,file,sock,available〉

其中:state為進程狀態,包括等待(wait)、就緒(ready)、運行(running)三種狀態,pid和ppid為進程ID及父進程ID,uid和gid為所有者ID以及所在組ID,file為進程打開的文件,sock為進程所使用的通信端口。OPERATION為所有與進程相關的操作。

2.1.3 文件系統模型

文件系統是對文件進行管理的子系統,并提供文件的相關操作。它包含由文件所組成的層次結構。仿真操作系統中文件類型有三種,即普通文件、可執行文件和目錄。

普通文件(regularfile)是用來保存用戶在操作系統中的信息。

可執行文件(execfile)表示相應的應用程序所對應的可執行文件。

目錄(directory)用來實現文件系統的層次結構。

文件系統的形式化定義如下:

FS::=〈FILE,HS,FILEIF〉

FILE::={(n,tp,p,r,tm,c,protect)|tp∈TYPE,tm∈TIME}

TYPE::={Regularfile,Execfile,Directory}

TIME::=〈mt,ct,at〉

其中:HS為文件系統的層次結構;FILEIF為文件操作接口;n為文件名;p為文件路徑;c為文件內容;protect為文件訪問權限;mt為修改時間;ct為創建時間;at為訪問時間。

2.1.4 網絡通信模型

網絡通信:操作系統利用網絡協議與其他計算機通信的接口。

形式化定義:

COM::={(prostack,comif)|prostacl∈PROSTACK,comif∈COMIF}

PROSTACK::={(protocol,structure)|protocol∈PROTOCOL,structure∈STRUCTURE}

其中:PROTOCOL為網絡協議的集合;STRUCTURE為協議之間的組織結構;COMIF為各種通信接口的集合。

2.1.5 應用程序模型

應用程序是指為了完成某項或某幾項特定任務而被開發運行于操作系統之上的計算機程序,它是用戶使用計算機完成各種任務的工具。

形式化定義:

APP::={(info,function)|info∈INFORMATION,function∈FUNCTION}

INFORMATION::=〈name,version,patchversion〉

其中:INFORMATION為應用程序信息;name為應用程序名稱;version為應用程序的版本;patchversion為補丁版本;FUNCTION為應用程序的功能集合。

2.1.6 子概念模型之間的關系

各子概念模型之間的關系,如圖3所示。

子概念模型之間的連線反映了模型之間的調用關系。

2.2 權限機制

模型中的權限表現為文件的訪問權限。權限檢查的依據為用戶信息,分為九種,如表1所示。

表格 1 文件訪問權限表

操作種類用戶信息所有者(USR)組成員(GRP)其他用戶(OTH)讀(R)RUSRRGRPROTH寫(W)WUSRWGRPWOTH執行(X)XUSRXGRPXOTH文件的protect屬性記錄了文件的九種訪問權限所對應的值。通過進程的用戶信息、文件的操作類型以及目標文件的權限來驗證該用戶是否允許對該文件進行操作。

進程的用戶信息來源有兩種。一種是用戶在shell中以命令方式執行應用程序時產生新的進程,進程則直接從shell中獲取用戶信息;另一種由進程產生新的子進程,子進程的用戶信息則從父進程繼承。

3 操作系統仿真框架設計

根據前面所給出的操作系統仿真模型的描述,本章將給出系統大體框架結構。

3.1 系統設計

系統采用了離散事件處理方式進行驅動。主要包括五個模塊,即用戶接口模塊(shell)、進程管理模塊、文件系統、網絡通信模塊和應用程序。

圖4給出了系統用例圖。

系統提供了最基本的文件系統API和網絡通信API,以供各種攻擊、防御或普通應用程序調用,并向用戶提供了用于調用應用程序的命令解釋器以及輸出應用程序結果的仿真結果輸出。

用戶接口模塊分為命令解釋器和結果輸出兩部分。命令解釋器接收用戶輸入的命令,從應用程序表或文件系統中查找相應的程序進行執行,形成進程;進程管理模塊對所有的應用進程進行統一管理,并負責應用程序中對文件和網絡通信的系統調用;數據包從網絡通信模塊處理,最終將信息傳遞到進程管理中的相應進程中,并作相應的處理;如果數據包中包含命令,則由進程傳遞給解釋器,并調用應用程序庫中相應的程序,形成新的進程;應用程序中結果通過用戶接口模塊的結果輸出子模塊反饋給用戶。圖5給出了系統的處理流程。

下面對各模塊分別進行介紹。

3.2 用戶接口模塊

用戶接口模塊主要包含兩個子模塊:

a)命令解釋器。負責接收用戶或者數據包中的命令名稱和參數,并在操作系統中查找相應的應用程序并執行。

b)結果輸出模塊。則接收應用程序返回的結果,并反饋給用戶。

主要的數據結構如下:

User主要包含用戶名、ID、組列表、密碼等信息,為用戶運行Console提供驗證依據。

Group主要包含組名、ID、成員列表等組信息。

Console包含了所屬用戶、環境變量、輸入/輸出等信息,是用戶與系統交互的最主要的類。

Input負責命令解析、命令執行。

Output負責應用程序運行結果的輸出。

EnvMap結構保存了環境變量。

3.3 進程管理模塊

進程是應用程序的一個動態實例。進程管理模塊對系統中所有進程進行管理。系統中的進程定義為一系列屬性集合,主要參考Linux系統下進程的定義。主要屬性如表2所示。

在仿真系統中,仿真時間通常遠遠小于真實時間,應用程序的處理某一事件的時間常常非常短,而進程切換的代價在仿真中變得昂貴。為了減少系統實現的復雜程度,進程的執行設計成非搶占式的,即一個正在運行態的進程是不能被中斷的,直到進程運行完畢或進入等待狀態,其他進程才可以運行。

由于整個系統采用離散事件處理的方式來運行,因此離散事件的隊列本身也可在一定程度上代表進程就緒的隊列,因此系統只需要維護了一個等待狀態的進程列表。進程的創建、撤銷等操作都主要針對該隊列進行處理。

表 2 進程屬性集合

屬性名稱說明屬性名稱說明states進程狀態(運行、等待)filesList進程打開的文件uid用戶IDsocketList進程所使用的socketgid用戶組IDinput輸入euid有效的用戶IDoutput輸出egid有效的用戶組IDapp對應的應用程序fsuid文件系統的uidcpuUsage,CPU資源占用fsgid文件系統的gidmemUsage內存資源占用pid,ppid進程號和父進程號3.4 文件系統模塊

文件系統負責處理所有與文件有關的操作,它提供給應用程序關于文件操作的API。圖6給出了文件系統的結構圖。

文件系統中Inode數據結構是實現文件系統層次結構的另一個十分重要的數據類型。它保存了對應文件的屬性。目錄中所保存的文件列表就是由Inode構成。

File數據類型作為三種文件類型的基類,提供了統一的文件操作接口。它與Inode反映了文件的兩個不同的方面。

3.5 網絡通信模塊

網絡通信模塊的協議棧借鑒TCP/IP的四層協議棧架構。如圖7所示。

其中,重點是傳輸層的TCP、UDP協議和網絡層的IPv4協議的仿真實現。物理層因其涉及到較多的物理細節,而在仿真中忽略。數據鏈路層也大大簡化。

網絡通信模塊的接口設計參考了目前主流的socket網絡編程接口。

3.6 應用程序模塊

3.6.1 模塊設計

該模塊中最主要的數據結構是所有應用程序的基類——application類。應用程序的執行過程為事件處理方式,因此,每個應用程序都需要定義其自身所需要處理的事件。應用程序還需要提供應用程序入口函數,用于應用程序的調用。應用程序的調用方式分為兩種,即應用程序表和可執行文件。

在應用程序表中,保存了系統所提供的可被所用用戶調用的系統程序。表中每一項都對應一個應用程序,表項中保存了應用程序名稱以及入口函數的函數指針。

以可執行文件方式執行應用程序的調用時,則會首先檢查文件的權限,然后根據判定結果來決定執行與否。可執行文件的名稱即為應用程序名稱,文件的內容為應用程序入口函數的函數指針。

當系統接收到用戶執行應用程序的請求后,先在應用程序表中查找,如果沒有匹配的應用程序,則再在文件系統中查找相應的可執行文件。

3.6.2 應用程序調用過程

應用程序調用過程如圖8所示。

命令解釋器首先查找命令所對應的應用程序,如果失敗則返回。成功后,將命令的參數傳遞給應用程序。應用程序對參數進行解析,如果參數非法,則不執行應用程序,直接返回。如果參數合法,則在進程管理模塊中添加相應的進程信息并執行應用程序,直到應用程序執行完成。

3.6.3 應用程序擴展

應用程序的擴展能力體現了仿真模型的擴展性,也是模型主要的特性之一。

每一個應用程序都繼承自application類。通過繼承來實現共有的接口。應用程序都必須有自己的事件類型和事件處理函數,以及應用程序入口函數。應用程序入口函數具有統一的格式。系統為應用程序提供了各種系統調用,以仿真由應用程序的執行引起操作系統狀態的改變。

向系統中添加新的應用程序時,只需要繼承application類,并設計實現自己的事件類型和處理函數,并給出應用程序的入口函數,即可在系統中執行。

仿真中的應用程序的事件處理過程的代碼可以借鑒真實應用程序代碼,去掉可以忽略的細節,將原有的真實系統調用替換為仿真系統的系統調用,即可在仿真中使用,使得系統可以很方便地擴展應用程序。

4 結束語

本文通過對操作系統各基本概念的分析,給出了面向網絡攻防演練的操作系統仿真模型,并給出了實現框架。該模型反映出了在網絡攻防演練中操作系統所應表現出的性質。基于該模型的原型系統設計與開發,驗證了模型的有效性。

參考文獻:

[1]SAUNDERS J H. Simulation approaches in information security education[J]. Journal of Information Security, 2002,1(2):265-271.

[2]BAJCSY R., BENZEL T, BISHOP M, et al. Cyber defense techno-logy networking and evaluation[J].Communication of the ACM, 2004,47(3): 58-61.

[3]OPNET Technologies, Inc.IT DecisionGuru[CP/OL].[2005]. https://enterprise16.opnet.com/Lic_Priv/support_052507_archive/updates/70/itguru_legacy.html.

[4]RILEY G, BLOUGH D. Large scale network simulation of security and Survivability[EB/OL]. [2006].http://users.ece.gatech.edu/~owen/Research/Research%20Activities/research_projects.htm.

[5]MCGRATH D, HILL D, HUNT A, et al. NetSim: a distributed network simulation to support cyber exercises[C]/The Huntsville Simulation Conference. Hanover: Dartmouth College,2004.

[6]CyberProtect. The Defense information systems agency[EB/OL].http://www.disa.mil/.

[7]IRVINE C E, THOMPSOM M F, ALLEN K. CyberCIEGE: an information assurance teaching tool for training and awareness[C]//Fe-deral Information Systems Security Educator’s Association Confe-rence.2005:22-23.

[8]TSPI S.Southwest Research Institute. Training, simulation, and performance improvement division[EB/OL].http://www.tspi.swri.org/homepage.swri.

[9]陶然. 基于HLA的網絡安全演練仿真平臺研究與實現[D]. 北京:北京航空航天大學, 2007.

[10]CHRISTOPHER W, PROCTER S, ANDERSON T. The nachos instructional operating system[EB/OL].[2006]. http://cs.berkeley.edu/~tea/nachos/nachos.ps.

[11]ONTKO R, REEDER A. Modern operating systems simulators[EB/OL].[2006]. http://www.ontko.com/moss/.

[12]LEE J S, JUNG J R, PARK J S, et al. Linux-based system modelling for cyber-attack simulation[C]//Lecture Notes in Computer Science of Artificial Intelligence and Simulation.Heidelberg:Springer-Verlag,2005:585-596.

[13]GILBERG F P. Can network security be fun? an agent-based simulation model and game proposal[D]. GJVIK: Gjvik University College, 2006.

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文

主站蜘蛛池模板: 四虎永久在线精品影院| 亚洲精品波多野结衣| 久久国产免费观看| 欧美日韩综合网| 97无码免费人妻超级碰碰碰| 又爽又大又黄a级毛片在线视频| 啪啪啪亚洲无码| 色有码无码视频| 国产精品自在在线午夜| 国产成人综合日韩精品无码不卡 | 99精品这里只有精品高清视频| 国产精品美女自慰喷水| 欧美黄网在线| 欧美三级不卡在线观看视频| 好紧太爽了视频免费无码| 国产91精品久久| 四虎精品黑人视频| 日韩一区二区三免费高清| 五月激激激综合网色播免费| www中文字幕在线观看| 福利在线不卡| 99热这里只有精品在线播放| 国产美女自慰在线观看| 亚洲伊人天堂| 91福利片| 亚洲中文字幕23页在线| 91色在线观看| 国语少妇高潮| 成人字幕网视频在线观看| 日本午夜在线视频| 日本亚洲最大的色成网站www| 国产日韩欧美精品区性色| 国产女人水多毛片18| 无码不卡的中文字幕视频| 亚洲人成网址| 亚洲天堂成人在线观看| 精品丝袜美腿国产一区| 亚洲一区二区在线无码| 国产欧美日韩精品综合在线| 亚洲欧美另类日本| 男人的天堂久久精品激情| 全部免费特黄特色大片视频| 夜夜操天天摸| 亚洲国产理论片在线播放| 91午夜福利在线观看精品| 久久国产亚洲偷自| 国产三级国产精品国产普男人 | 亚洲人成网站在线播放2019| 日日噜噜夜夜狠狠视频| 国产成人综合亚洲网址| 综合色亚洲| 中文字幕乱妇无码AV在线| 亚洲首页在线观看| 免费三A级毛片视频| 人妻一区二区三区无码精品一区| 在线日韩日本国产亚洲| 露脸一二三区国语对白| 91国内在线观看| 真人高潮娇喘嗯啊在线观看 | 国产福利影院在线观看| 久久这里只有精品免费| 一级在线毛片| 国产凹凸视频在线观看 | 高潮毛片无遮挡高清视频播放| 亚洲中文无码av永久伊人| 国产福利免费在线观看| 亚洲欧美另类色图| 亚洲精品午夜天堂网页| 青青国产视频| 四虎永久免费网站| 热这里只有精品国产热门精品| 国产a v无码专区亚洲av| 高清国产va日韩亚洲免费午夜电影| 国产欧美视频综合二区| 免费一级毛片在线观看| 国产麻豆精品在线观看| 免费a级毛片视频| 无码国产偷倩在线播放老年人| 国产丝袜无码精品| 日韩一二三区视频精品| 99re视频在线| 一级黄色欧美|