張 健, 陳未如, 關 慧
(沈陽化工大學計算機科學與技術學院,遼寧沈陽110142)
隨著網絡應用日益增多,網絡應用程序越來越復雜、越來越開放,其安全性問題越來越顯現(xiàn).網絡應用程序的開放性和允許對信息的公共訪問,使程序面臨多種威脅.有報告表明,在2008下半年網絡應用程序的漏洞占互聯(lián)網漏洞的80%,在2010上半年又上升約8%[1],網絡應用程序的安全問題已成為一個重要的研究課題.
威脅分析是保障網絡應用程序安全性的重要前提.但網絡應用程序類型很多,綜合分析其所面臨的威脅較為復雜,有必要對網絡應用程序進行類別劃分,以便進行威脅分析和研究.葉升路等從程序漏洞角度分析指出,網絡應用程序所面臨的安全威脅可來自運行環(huán)境、網絡傳輸過程和程序代碼3方面[2];秦育華闡述了受威脅的主要資產是網絡、主機和應用程序[3];張紅林等為研究網絡流量監(jiān)測技術,根據所對應的服務類型和所使用的協(xié)議對網絡應用程序進行分類[4]; Akhilesh Bajaj等提出使用頁面結構、業(yè)務處理的位置、內部事件的相關程度對萬維網應用程序進行分類[5];胡勇提出的分類僅限于資源的分布研究,威脅源頭定義為人為因素或自然災害2方面[6].從以上內容可得出,對網絡應用程序威脅研究更多的是從應用程序自身出發(fā),而在分類基礎上研究網絡應用程序面臨威脅的內容較少.
本文從網絡應用程序自身出發(fā),研究其所面臨的威脅,在基于其使用范圍、目標用戶、連接方式等3個屬性對網絡應用程序進行分類的基礎上進行研究.另外文中定義網絡應用程序的主要資產為DFD中的數(shù)據流和數(shù)據存儲兩部分,從網絡應用程序流程框架中分析這兩部分面臨的主要威脅.
網絡應用程序面臨的威脅錯綜復雜,威脅的存在與網絡應用程序所處的環(huán)境息息相關.以環(huán)境作為切入點對網絡應用程序進行劃分,是對威脅進行詳盡研究的一種有效途徑.盡管網絡應用程序的體系結構及支撐系統(tǒng)的復雜程度各有不同,但它們都是通過網絡向用戶開放,運行這些應用程序所需的資源和技術可能相同,所以能夠找到一種劃分網絡應用程序類型的方法,并以此為基礎研究網絡應用程序的威脅.
根據不同的運行環(huán)境,基于使用范圍、目標用戶和連接方式等3個屬性對網絡應用程序進行分類.網絡應用程序的使用范圍包括3類,即僅供企業(yè)內部使用、內部和外部混合使用和外部使用;目標用戶分為已知用戶和匿名用戶2類;連接方式包括內聯(lián)網、VPN和互聯(lián)網.根據上述屬性劃分,考慮實際應用情況,網絡應用程序可 劃分成5種類型,如表1所示.
表1 網絡應用程序分類Table 1 Classification of Web application
威脅是可能對資產或組織造成損害的意外事件的潛在原因[7],所以威脅的主要對象是資產.Microsoft已經開發(fā)了一種對威脅研究的方法,將威脅分為:欺騙(S)、竄改(T)、否認(R)、信息泄露(I)、拒絕服務(D)和特權升級(E)6類(STRIDE),并依據數(shù)據流圖進行威脅資產分析[8].以數(shù)據流圖中的數(shù)據流和數(shù)據存儲2部分作為威脅的資產,研究不同類型網絡應用程序所面臨的威脅.
為便于說明,把威脅表示為Ti(i=1.2…n),網絡應用程序的屬性表示符號分別為:
使用范圍(A):內部使用——A1;內外混合模式——A2;外部使用——A3.
目標用戶(B):已知用戶——B1;匿名用戶——B2.
連接方式(C):內網連接——C1;VPN連接——C2;外網連接——C3.
以數(shù)據流作為資產主要分為3個階段,即用戶登錄與服務響應進程之間,服務響應進程與身份驗證進程之間,業(yè)務邏輯與數(shù)據庫之間.表2~表4分別列出網絡應用程序在不同階段面臨的部分主要威脅.
以數(shù)據存儲作為資產主要分為數(shù)據庫和服務器2個方面.表5、表6分別列出這2個方面5種網絡應用程序類型面臨的主要威脅.
表3 服務響應進程與身份驗證進程之間的部分主要威脅Table 3 Facing primary threats between services response processes and authentication
表4 業(yè)務邏輯與數(shù)據庫之間的部分主要威脅Table 4 Facing primary threats between business and database
表5 數(shù)據庫后為資產的部分主要威脅Table 5 Database as assets faced primary threats
表6 以服務器作為資產的部分主要威脅Table 6 Server as assets faced primary threats
表2~表6列出了不同階段的主要威脅及 其描述,這些威脅可歸類于微軟提出的STRIDE六個方面.根據威脅歸類的不同,表7簡要列出 了STRIDE六個方面威脅的部分應對對策.
表7 基于STRIDE的威脅對策Table 7 Based STRIDE's threats strategy table
在1、2工作的基礎上,根據1提出的網絡應用程序的分類方法(詳見表1),可得到各種網絡應用程序面臨的部分主要威脅.威脅生成算法的偽代碼如下:
上述威脅生成算法的主要思想是:在明確網絡應用程序3個屬性值的前提下,通過查找表2~表6,得到不同網絡應用程序面臨的部分主要威脅.可以看出,算法中的主要部分是網絡應用程序的分類條件,上述算法中只列出生成web_ app1、web_app4兩種類型的條件,那么根據前文提出的網絡應用程序分類方法可知:當使用范圍為混合使用(A==A2)、目標用戶為已知用戶(B==B1)且連接方式為外網連接(C==C2)時,通過查找表2~表6,可以得到Web_app2面臨的部分主要威脅;當使用范圍為外部使用(A==A3)、目標用戶為已知用戶(B==B1),同時連接方式為外網連接(C==C3)時,通過查找表2~表6,可以找到Web_app3面臨的部分主要威脅;較為復雜的是web_app5的條件,當使用范圍為混合使用(A==A2)、目標用戶是已知或者匿名用戶((B==B1)||(B==B2)),在連接方式既有內網連接又存在外網連接((C==C1)|| (C==C3))的情況下,通過查找表2~表6,可得Web_app3面臨的部分主要威脅.
例:某公司總部在北京,總部使用以太網接入Internet,為滿足外出業(yè)務人員及時獲取信息、更新總部的數(shù)據庫等需求,出差人員可通過VPN與公司總部進行網絡溝通和交換信息.這種網絡應用程序的使用范圍為外部使用(A==A2)、目標用戶為匿名用戶(B==B1)、連接方式為內外混合連接(C==C2),通過查找表2~表6,可得該種網絡應用程序面臨的部分主要威脅,如表8所示.
表8 Web_app2所面臨的部分主要威脅Table 8 Web_app2 faced primary threats
在分析出web_app2類型的網絡應用程序面對的威脅后,使用表7研究威脅的相應對策.這里不再過多說明.
提出從網絡應用程序分類入手對威脅進行研究的思路.基于使用范圍、目標用戶和連接方式等3個屬性對網絡應用程序進行分類,以此為基礎可分析、研究網絡應用程序面臨的主要威脅.列舉以數(shù)據流和數(shù)據存儲為資產的部分主要威脅,給出分析發(fā)現(xiàn)給定網絡應用程序面臨威脅的算法,闡述基于STRIDE威脅的對策,并進行案例分析.
網絡應用程序的安全評估是個復雜且需要大量研究支撐的工作.以分析、研究網絡應用程序面臨的威脅為基礎、加之一套有效的安全評估度量方法,能夠更好地完成網絡應用程序的安全評估.
[1] Khera M.Web Application Security Trends Report[EB/OL].(2009-3-17)[2010-12-22]http://blog.cenzic.com/public/blog/228854.
[2] 葉升路,徐波,欒國森.提高Web應用程序的安全性[J].計算機安全,2010(6):38-42.
[3] 秦育華.WEB網絡應用程序安全威脅及對策的研究與探討[J].電腦知識與技術,2010,6(21): 5716-5719.
[4] 張紅林.面向應用的流量識別算法研究和實現(xiàn)[D]湖南:國防科學技術大學計算機學院,2006: 18-20.
[5] Bajaj A,Krishnan R.Analyzing Models for Current World Wide Web Applications Using A Classification Space and Usability Metrics[EB/OL].(1998-06-15)[2010-12-22]http://nfp.cba.utulsa.edu/ bajaja/MyInfo/conferencepubs/EMMSAD98.doc.
[6] 胡勇.網絡信息系統(tǒng)風險評估方法研究[D].四川:四川大學應用數(shù)學專業(yè),2007:58-60.
[7] 孫鵬鵬.信息安全風險評估系統(tǒng)的研究與開發(fā)[D].北京:北京交通大學計算機軟件理論專業(yè),2007:8-9.
[8] Hernan S,Lambert S,Ostwald T.Uncover Security Design Flaws Using the STRIDE Approach[EB/ OL].(2006-11-15)[2010-12-25].http://msdn.microsoft.com/en-us/magazine/cc163519.aspx.