国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于UMLsec的軟件安全需求建模方法研究

2013-09-10 01:17:12波,劉偉,王
計算機工程與設(shè)計 2013年9期
關(guān)鍵詞:定義建模軟件

李 波,劉 偉,王 飛

(1.信息工程大學,河南 鄭州450004;2.數(shù)學工程與先進計算國家重點實驗室,河南 鄭州450004)

0 引 言

軟件安全性是現(xiàn)代軟件系統(tǒng)的重要組成部分,其含義可簡單概括為:軟件在任何情形下都不能使其控制的系統(tǒng)對人們的生命、財產(chǎn)及其所處的自然環(huán)境造成危害[1]。軟件安全性對軟件至關(guān)重要,如何確保軟件安全性是軟件開發(fā)中的重要課題,目前,構(gòu)建安全需求模型用以指導軟件安全開發(fā)是一種較好的確保軟件安全性的解決方法,已有一些研究人員對此進行了研究,如文獻 [2]提出一種基于擴展i*框架的早期安全需求建模方法,定義了用于表達安全環(huán)境的建模元素以及安全目標的識別規(guī)則,較好地支持早期安全需求的分析工作,但此方法只專注于系統(tǒng)安全環(huán)境和安全目標的建模,安全需求不夠精化,安全需求的精化還需建立安全策略模型。文獻 [3]采用了Object-Z方法分析驗證軟件需求規(guī)格說明,提高軟件安全性,文獻4在給出單個對象自動機的基礎(chǔ)上,用積自動機模型描述軟件安全屬性,為軟件安全開發(fā)奠定了基礎(chǔ)。文獻 [3-4]采用的都是形式化的方法,形式化方法的優(yōu)點是準確,無二義性,但形式化方法復(fù)雜度高,對使用者知識要求高,普及度低。

針對安全需求建模方法中存在的需求不夠精化和形式化方法復(fù)雜度高的問題,本文提出的基于UMLsec[5](統(tǒng)一建模語言安全擴展)軟件安全需求建模方法是一種半形式化方法,采用工業(yè)界廣泛使用的統(tǒng)一建模語言 (UML)的安全擴展UMLsec技術(shù)構(gòu)建安全需求模型,既能準確,詳細描述軟件安全需求,開發(fā)者又能很好地理解和掌握,避免產(chǎn)生二義性。

1 軟件安全需求

1.1 軟件安全需求概念

安全需求是軟件需求的子集,是保證軟件安全可靠的關(guān)鍵因子,很多研究人員致力于安全需求的研究。安全需求定義至今沒有一個標準,統(tǒng)一的定義。ISO 《信息技術(shù)-安全技術(shù)-信息技術(shù)安全評估準則》,ISO版本的通用標準提供了安全需求的通用形式 “安全功能基于某某規(guī)則應(yīng)該明確禁止訪問目標”[6],通用形式中的規(guī)則就是機制。美國國家標準技術(shù)研究院 (NIST)提出:這些安全性需求可以被表述為技術(shù)特征 (如訪問控制),確保能有效地根據(jù)功能和實踐來定義安全需求[7]。文獻 [6-7]把安全需求看作是一種安全功能或機制,描述系統(tǒng)應(yīng)該怎么作保證安全,這樣限制了開發(fā)人員對安全需求的處理。文獻 [8]中Rusbby認為安全需求主要關(guān)注什么不應(yīng)該發(fā)生,認為安全需求是一種非功能性需求,是對系統(tǒng)功能的約束和限制。

綜上所述,安全需求是一種非功能性需求,是對功能性需求的約束,關(guān)注的是系統(tǒng)需要 “做什么”確保系統(tǒng)滿足用戶的安全目標,而不關(guān)注 “怎么做”。

1.2 軟件安全需求建模與UMLsec

構(gòu)建安全需求模型是指導軟件安全開發(fā)的需要,UML提供了3個輕量級擴展機制:構(gòu)造型 (stereotype),標記值(tag)和約束 (constraint),方便開發(fā)者對特定領(lǐng)域或平臺開發(fā)自己需要的UML模型,UMLsec是UML擴展機制在安全方面的擴展,通過構(gòu)造型,約束,標記能很好地構(gòu)建安全需求模型。構(gòu)造型就是對UML中的模型元素進行安全擴展,定義,然后按照新的含義對模型元素進行解釋。標記值是給基類附加一個標記,給構(gòu)造型增加新的語義。約束是給構(gòu)造型附加限制,即構(gòu)造型必須滿足約束的要求。

2 基于UMLsec軟件安全需求建模方法

軟件安全需求建模就是在軟件系統(tǒng)需求分析階段就考慮系統(tǒng)的安全需求,將系統(tǒng)需要 “做什么”集成到需求模型中?;赨MLsec軟件安全需求建模的基本思想如圖1所示。

圖1 基于UMLsec軟件安全需求建模過程框架

基于UMLsec軟件安全需求建模方法,主要包括以下三步:①獲取安全需求;②安全需求描述;③安全需求集成建模,下文將對3個步驟進行詳細介紹。

2.1 安全需求獲取

軟件安全需求獲取是在軟件開發(fā)的需求階段捕獲安全需求,它是安全需求分析和研究的基礎(chǔ)。軟件開發(fā)者通過和客戶的反復(fù)交流可以確定系統(tǒng)的功能需求,明白客戶想實現(xiàn)什么功能,但不能確定安全需求,因為客戶不懂安全需求或者表述的安全需求模糊性大,因此需要軟件開發(fā)者在需求階段根據(jù)功能需求獲取安全需求。

明確安全需求獲取方法之前,先給出3個定義:

定義1 系統(tǒng)目標:系統(tǒng)在滿足終端用戶期望方面的高等級目標。

定義2 安全目標:系統(tǒng)在為系統(tǒng)目標實現(xiàn)提供安全環(huán)境方面的高等級目標。

定義3 安全需求集SR= {sr1,sr2,sr3…srn},sr1,sr2,sr3…srn代表具體的安全需求,不同的系統(tǒng)具有不同的安全需求集,其中的元素也不同。

安全需求獲取方法如圖2所示。

圖2 安全需求獲取方法框架

圖2表示了安全需求獲取基本方法,其步驟如下:

步驟1 根據(jù)系統(tǒng)功能需求概括系統(tǒng)目標,即終端用戶使用此系統(tǒng)達到的目的。

步驟2 根據(jù)系統(tǒng)目標,確定安全目標,即終端用戶順利使用系統(tǒng)達到目的需要的安全環(huán)境。

步驟3 根據(jù)安全目標,推導出安全需求,即系統(tǒng)要滿足安全環(huán)境,必須 “做什么”,這 “做什么”就是安全需求。安全威脅是安全環(huán)境的一種重要形式,通過安全威脅分析,確定 “做什么”可以防止安全威脅發(fā)生,這 “做什么”就是安全需求。威脅攻擊的框架圖如圖3所示。

圖3 威脅攻擊框架

安全威脅是對系統(tǒng)造成危害的潛在行為,通過威脅主體 (具有某種不良動機的實體),利用系統(tǒng)的漏洞或缺陷,采用一定的攻擊方法,對系統(tǒng)進行侵害,最終損害系統(tǒng)安全性。安全威脅分析就是通過分析威脅主體,攻擊方式,攻擊目標,攻擊后果4個方面,明確系統(tǒng)必須 “做什么”阻止威脅事件的發(fā)生,這個 “做什么”就是系統(tǒng)安全需求。

圖2所示方法使用需要開發(fā)者具有一定的安全知識背景,通過此方法開發(fā)者可以得到系統(tǒng)的安全需求集SR。

定義4 常用安全需求集SRC= {公平交易,不可抵賴,機密性,完整性,真實性,訪問控制,安全通信鏈接},開發(fā)者在推導系統(tǒng)安全需求集時,可以借鑒常用安全需求集SRC中元素,針對具體軟件系統(tǒng)的特殊安全需求,則需開發(fā)者自行定義安全需求,組建系統(tǒng)安全需求集SR。

2.2 安全需求描述

獲取安全需求之后,就要對安全需求進行描述,和功能系統(tǒng)模型集成,建立安全需求模型。

用UMLsec構(gòu)造型表述安全需求,既能準確表述安全需求,又能很好與UML功能模型集成,利于建立安全需求模型,構(gòu)造型表述安全需求的基本思想如圖4所示。

圖4 安全需求描述方法框架

構(gòu)造型形式化定義如下:

定義5 構(gòu)造型 U= {name,TAG,constraint,description},其中:name表示構(gòu)造型的名字;TAG={tag1,tag2…tagi},i∈n,tagi表示構(gòu)造型的標記;constraint表示構(gòu)造型的約束要求;description表示定義的構(gòu)造型的含義描述。

構(gòu)造型構(gòu)造規(guī)則:

(1)為每一安全需求定義一構(gòu)造型Ui。

(2)給出構(gòu)造型的安全含義特征點元素集合P,每個特征點對應(yīng)一個構(gòu)造型標記,即pi→tagi。如data security(數(shù)據(jù)安全)特征點元素集合P= {機密性,完整性,真實性},則data security構(gòu)造型的標記集 TAG= {secrecy,integrity,authenticity}。

(3)約束是系統(tǒng)服務(wù)和行為必須滿足構(gòu)造型的要求。

常用安全需求集SRC中部分元素定義構(gòu)造型實例見表1。

表1 構(gòu)造型實例

2.3 軟件安全需求模型集成

安全需求模型是安全軟件開發(fā)的根基,精確,一致的安全需求模型對系統(tǒng)開發(fā)至關(guān)重要,因此設(shè)計好軟件安全需求模型,對于安全關(guān)鍵系統(tǒng)開發(fā)至關(guān)重要。安全需求獲取和描述之后,將其與系統(tǒng)功能模型集成得到安全需求模型。

基于UMLsec軟件安全需求模型集成基本思想如圖5所示。

圖5 基于UMLsec軟件安全需求模型集成基本思想

安全需求和系統(tǒng)功能模型集成就是在系統(tǒng)功能模型中附加描述此安全需求的構(gòu)造型,用構(gòu)造型的關(guān)聯(lián)標記和標記值標記模型元素,約束通過標記對系統(tǒng)行為和服務(wù)進行約束,集成后就完成安全需求建模。構(gòu)建的基于UMLsec的安全需求模型,既包含了軟件系統(tǒng)的功能需求,也包含了軟件系統(tǒng)的安全需求,建模后,用戶可以用模型分析工具進行模型分析與驗證,確定系統(tǒng)模型是否滿足了相關(guān)的安全需求,若模型分析與驗證通過,則可用此安全需求模型指導軟件系統(tǒng)安全開發(fā)。

為正確理解安全需求模型集成過程,先引入幾個定義:

定義6 需求模型RM= {E},其中E是模型元素集。

定義7 模型元素集E= {e1,e2…ei},i∈n,其中ei指模型中元素,如模型中的類,狀態(tài),行為,動作等。

定義8 構(gòu)造型集S= {s1,s2,…si},i∈n,其中si是構(gòu)造型,si定義與定義5一致。

定義9 構(gòu)造型標記集T= {t1,t2,…ti},i∈n,其中ti是構(gòu)造型標記。T(s)表示構(gòu)造型s的標記。

定義10 標記值集TV= {tv1,tv2,…tvi},i∈n,其中tvi=ti|vi,vi=f(t,e),t∈T,e∈E,函數(shù)f由標記含義確定,TV(s)表示構(gòu)造型s的標記值集。

安全需求模型集成就是將構(gòu)造型集S中相關(guān)元素si附加到需求模型RM中,si標記集T(si)中標記對模型元素集E中相關(guān)元素ei進行標記,約束元素的行為。集成后得到如下擴展定義:

定義11 安全需求模型SRM= {Ek,Sk},其中Ek是安全需求模型元素集,Sk是安全需求模型附加的構(gòu)造型集,一般一個模型附加一個構(gòu)造型。

定義12 安全需求模型元素集Ek= {(e1,at1),(e2,at2)… (ei,ati)},i∈n,其中ei指模型中元素,如模型中的類,狀態(tài),行為,動作等,ati是ei的關(guān)聯(lián)標記,由標記和標記值根據(jù)si安全語義組合而來,ati可為空值。

Sk中元素定義和定義5一致。

2.4 安全需求模型驗證

安全需求模型驗證就是選用模型分析驗證工具對建立的安全需求模型進行分析驗證,驗證安全需求模型是否滿足用戶期望,證實安全需求是否是完備,一致有效的。

驗證方法:

(1)建立安全需求模型。選擇支持XMI輸出的UMLsec建模工具argouml創(chuàng)建UMLsec安全模型,模型創(chuàng)建后保存通用的XMI文件格式。

(2)模型分析與驗證,返回文本報告。UMLsec安全需求模型創(chuàng)建后,選用UMLsec分析驗證工具UMLsec System Virification Plugin加載安全需求模型XMI文件,分析其中包括的安全需求,給出分析結(jié)果,若創(chuàng)建安全模型有缺陷,則返回模型驗證的文本報告,標明其中的漏洞,指導用戶創(chuàng)建安全可靠的需求模型。

3 實例分析

3.1 實例分析與建模

本節(jié)以校園科研信息系統(tǒng)為例,說明安全需求建模方法的應(yīng)用過程。校園科研信息系統(tǒng)提供校管理人員管理校園科研信息功能,其安全需求獲取過程如下:

系統(tǒng)目標:實現(xiàn)校園科研信息電子化管理。

安全目標:校園科研信息系統(tǒng)安全運行,不造成損害。

安全需求:系統(tǒng)包括4種角色:教師,院科研秘書,??蒲泄芾砣藛T,科研管理負責人,系統(tǒng)用戶通過賦予相應(yīng)角色獲取相應(yīng)的操作權(quán)限,則非法用戶的越權(quán)訪問是系統(tǒng)的安全威脅之一,要避免此威脅的發(fā)生,則系統(tǒng)要有訪問控制,則可得訪問控制是系統(tǒng)的安全需求之一。分析不同的威脅可得到系統(tǒng)其它的安全需求。本節(jié)選用訪問控制作為安全需求實例進行講解。

訪問控制是系統(tǒng)的安全需求之一,基于角色訪問控制(RBAC)[9]是目前常用的訪問控制策略,假定模型選擇RBAC作為訪問控制策略,則為訪問控制安全需求定義《RBAC》構(gòu)造型,用以描述訪問控制安全需求。 《RBAC》構(gòu)造型定義見表2。

表2 《RBAC》構(gòu)造型

選用UML活動圖構(gòu)建科研信息管理系統(tǒng)RBAC安全需求活動圖模型,如圖6所示。UML活動圖作用是對系統(tǒng)行為建模[10],選用活動圖便于從整體上了解校園科研信息管理系統(tǒng)。

圖6 科研信息管理系統(tǒng)安全需求活動圖模型

《RBAC》構(gòu)造型有標記 {user}, {protected}、 {role}和 {right},其中 {user}取值為活動圖的參與者,{protected}取值為活動圖中狀態(tài),表示訪問這些狀態(tài)的行為需要被授權(quán)。{role}取值為二元組 (actor、role),其中actor是活動圖的參與者,而role是一個角色。{right}取值為二元組 (role、right)的列表,其中role表示角色,right代表受保護的權(quán)限。

假定liming,liqiang,wangming,wangqiang分別被賦予教師,院科研秘書,??蒲泄芾砣藛T,科研管理負責人角色,則由2.3中形式化定義得:

TV (RBAC)= {{user}| (liming,liqiang,wangming,wangqiang), {protected}| (編輯科研信息,初審,上交,復(fù)審,歸檔考核,提交,決策), {role}|{(liming,教師),(liqiang,院科研秘書),(wangming,??蒲泄芾砣藛T), (wangqiang,科研管理負責人)},{right}| {(教師,編輯科研信息),(院科研秘書,初審),(院科研秘書,上交),(校科研管理人員,復(fù)審),(校科研管理人員,歸檔考核),(??蒲泄芾砣藛T,提交),(科研管理負責人,決策)}}

圖6的活動圖模型附加了 《RBAC》構(gòu)造型,表明系統(tǒng)必須施加安全機制保護系統(tǒng)活動。如系統(tǒng)動作 “編輯科研信息”,它的執(zhí)行必須滿足如下3個條件:

(1)“編輯科研信息”是受保護的活動,不允許隨意執(zhí)行;

(2)liming具有 “教師”角色;

(3)教師具有 “編輯科研信息”權(quán)限;

則在活動圖中 “編輯科研信息”關(guān)聯(lián)標記

同理,可得其它系統(tǒng)動作的關(guān)聯(lián)標記。

圖6所示的安全需求模型,反映了系統(tǒng)交互過程,通過附加 《RBAC》構(gòu)造型,對系統(tǒng)每一活動定義關(guān)聯(lián)標記,準確,完整地表述了系統(tǒng)訪問控制安全需求,通過此模型驅(qū)動的系統(tǒng)開發(fā)能滿足安全訪問控制目標。

3.2 實例模型驗證

用argouml按圖6建立UMLsec安全需求模型,并附加 《RBAC》構(gòu)造型,關(guān)聯(lián)標記,然后用驗證工具進行需求驗證,驗證結(jié)果如下:

Activity-Diagram RBAC Analyzer是驗證工具中專門分析驗證 RBAC的插件,分析結(jié)果是:The test has been successful,表明圖6所示的安全需求模型完備,一致地表述了訪問控制安全需求,并給出了模型的所有元素及構(gòu)造型,標記,方便用戶分析模型,也為下一步的系統(tǒng)開發(fā)設(shè)計提供了很好的需求指導。

4 結(jié)束語

本文闡述了一種新的軟件安全需求建模方法,將安全需求添加到UML所表示的模型中,用UMLsec的方式描述安全需求。常用的軟件安全需求建模方法是形式化方法,形式化方法的優(yōu)點是準確,無二義性,但形式化方法復(fù)雜度高,對使用者形式化知識要求很高,不易掌握,采用UMLsec方法分析安全需求,既能準確地表述軟件的安全需求,又對使用者要求低,使用者只需掌握軟件開發(fā)人員廣泛使用UML及其安全擴展,提高了需求分析的效率和質(zhì)量。訪問控制是軟件常見的安全需求,深入研究各種軟件的不同的安全需求,擴展該方法的應(yīng)用范圍是下一步研究的方向。

[1]JIN Ying,LIU Xin,ZHANG Jing.Research on eliciting security requirement methods [J].Computer Science,2011,38(5):14-19 (in Chinese).[金英,劉鑫,張晶.軟件安全需求獲取方法的研究 [J].計算機科學,2011,38 (5):14-19.]

[2]WANG Runxiao,XIANG Dong, WANG Haipeng,et al.Early-phase security requirements modeling method based on extended i*framework [J].Computer Engineering,2007,33(16):120-122 (in Chinese). [王潤孝,向冬,王海鵬,等.基于擴展i*框架的早期安全需求建模方法 [J].計算機工程,2007,33 (16):120-122.]

[3]WEN Zhicheng,MIAO Huaikou,ZHANG Xinlin.Formal verification based on object-Z specification [J].Computer Science,2007,34 (5):247-251 (in Chinese). [文志誠,繆淮扣,張新林.基于Object-Z的形式化驗證方法 [J].計算機科學,2007,34 (5):247-251.]

[4]CHEN Feng,LI Weihua.Finite automata models of software safety analysis [J].Journal of Northwest University (Natural Science Edition),2011,41 (1):22-26 (in Chinese).[陳峰,李偉華.軟件安全分析的有窮自動機模型 [J].西北大學學報(自然科學版),2011,41 (1):22-26.]

[5]Jan Jurjens.Secure systems develpoment with UML [M].Berlin:Springer,2008.

[6]ISO/IEC 15408-2:2005information technology-security techniques-evaluation criteria for IT security-part2:Security function requirements[DB/OL]. [2012-10-08].http://www.commoncriteriaportal.org/files/ccfiles/CCPART2-V3.1R2.pdf.

[7]Guttman B.An introduction to computer security:The nist handbook [DB/OL].[2012-10-11].http://csrc.nist.gov/publications/nistpubs/800-12/handbook.pdf.

[8]Rushby J.Security requirements specifications:How and what?[DB/OL].[2012-10-15].http://www.csl.sri.com/users/rushby/papers/sreis01.pdf.

[9]JI Wenli.Research and application of role-based access control[J].Microelectronics &Computer,2007,24 (8):86-88 (in Chinese).[冀汶莉.基于RBAC模型的權(quán)限管理系統(tǒng)的研究與應(yīng)用 [J].微電子學與計算機,2007,24 (8):86-88.]

[10]SHAO Weizhong,YANG Fuqing.Object-oriented system analysis[M].Beijing:Tsinghua University Press,2007.[邵維忠,楊芙清.面向?qū)ο蟮南到y(tǒng)分析 [M].北京:清華大學出版社,2007.]

猜你喜歡
定義建模軟件
禪宗軟件
英語文摘(2021年10期)2021-11-22 08:02:26
聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
軟件對對碰
基于PSS/E的風電場建模與動態(tài)分析
電子制作(2018年17期)2018-09-28 01:56:44
不對稱半橋變換器的建模與仿真
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
談軟件的破解與保護
精品(2015年9期)2015-01-23 01:36:01
三元組輻射場的建模與仿真
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
山的定義
郁南县| 元江| 江山市| 醴陵市| 泸溪县| 呼玛县| 赫章县| 伊川县| 喀什市| 凌海市| 临沧市| 奉新县| 石棉县| 双柏县| 江西省| 宁远县| 乌恰县| 微博| 临夏县| 曲阳县| 望都县| 棋牌| 南投县| 信丰县| 宜丰县| 满城县| 周至县| 公安县| 宿州市| 陵川县| 安岳县| 乐陵市| 东辽县| 南涧| 南澳县| 贡山| 霞浦县| 临武县| 涟水县| 平和县| 会昌县|