?

一種防火墻安全策略沖突檢測方法*

2018-07-09 06:45余興華羅淑丹
通信技術 2018年6期
關鍵詞:安全策略子集防火墻

李 鐳,余興華,羅淑丹

(中國電子科技集團公司第三十研究所,四川 成都 610041)

0 引 言

近年來,隨著網絡的發展和壯大,網絡安全問題成為現代信息安全所要解決的主要問題[1]。針對不同的網絡環境,防火墻策略的配置不僅越來越復雜,而且多域間各策略之間的沖突時有發生,嚴重影響安全策略的執行效率。因此,如何保證不同安全域之間的防火墻策略的一致性,以及同一安全域內安全策略的一致性,成為防火墻安全策略配置的關鍵[2]。針對當前大部分安全策略沖突檢測與消解算法缺少靈活性、擴展性等缺點[3-4],本文首先定義了不同防火墻策略之間的關系和沖突類型,并在此基礎上給出了基于策略的沖突分類描述,最后給出了防火墻沖突檢測算法。

1 相關工作

近年來,國內外學者對策略沖突檢測與消解作了大量研究:一是基于IETF策略核心信息模型的關于管理策略的沖突檢測,主要代表為美國IBM公司研究員Dinesh Verma提出的多維空間思想和意大利都靈大學提出的代數方法;二是關于安全策略的沖突檢測,主要有澳大利亞Queenland大學提出的基于邏輯描述語言的沖突檢測方法[3]和英國Imperial College的Lupu等人在面向對象的策略表示語言ponder[5]和基于策略的分布系統管理框架的基礎上提出的基于角色的訪問控制方法等。

2 防火墻策略之間的關系

通過比較防火墻安全策略之間的關系,定義兩個安全策略Rx和Ry之間的關系,如圖1所示。

圖1 安全策略間的關系

精確匹配:如果安全策略Rx中的所有策略項都與安全策略Ry中相應策略項的值相等,那么Rx和Ry精確匹配。

包含匹配:如果安全策略Rx和安全策略Ry不是完全匹配,且Rx的每個策略項的值都是Ry對應的策略項的值的子集或者相等,那么Rx和Ry是包含匹配。

完全無關:如果安全策略Rx中的所有策略項都與安全策略Ry中相應策略項的值不相等,也不存在子集或者超集的關系,那么Rx和Ry完全無關。

部分匹配:如果安全策略Rx至少有一個策略項的值與安全策略Ry中相應策略項的值相等,或者存在子集、超級關系,且至少有一個策略項的值與安全策略Ry中相應策略項的值不相等,也不存在子集、超級關系,那么Rx和Ry部分匹配。

關聯關系:如果安全策略Rx存在一些策略項的值是安全策略Ry對應策略項的子集或相等,且Rx其他策略項的值是Ry對應策略項的值超集,那么Rx和Ry是關聯的。

3 防火墻安全策略的表示

使用一棵樹來表示安全策略集,這棵樹叫做策略樹。策略樹能夠形象表示安全策略,而且根據安全策略在樹中的分布易發現安全策略之間的關系。策略樹中的每個節點表示安全策略中的一個策略項,節點上的每個分支表示這個策略項的一個值,具有相同值的安全策略共享一個分支。策略樹的一條路徑就表示一條安全策略。

將安全策略集合中的安全策略順序依次插入到樹中,最終可構建安全策略樹。插入一條安全策略時,分別比較安全策略的各個策略項。通過策略項值的關系,決定將安全策略插入已存在的分支還是創建新的分支。在一個特定的策略項時,如果一個分支的值完全匹配安全策略的策略項值,那么就將安全策略插入這個分支;否則,就要創建一個新的分支,分支的值為安全策略的策略項值,然后將安全策略插入新的分支。此外,為了保留安全策略之間的關系,如果安全策略的策略項值與分支的值存在子集或者超集關系,也需要將安全策略插入到這個分支中。

4 域內安全策略沖突分類及檢測

通過比較同一安全域內安全策略的關系和安全策略的動作,定義安全策略間存在以下幾種沖突。

覆蓋沖突:安全策略Rx在安全策略Ry的后面,而Rx子集包含匹配Ry或Rx精確匹配Ry,且Rx的動作與Ry不同,那么就說Rx被Ry覆蓋。覆蓋沖突是一個嚴重錯誤,因為被覆蓋的安全策略永遠不起作用。

關聯沖突:安全策略Rx和安全策略Ry是關聯的,且動作不同,那么Rx和Ry存在關聯沖突。關聯沖突不是一個錯誤,但是需要提示管理員注意到安全策略之間的關聯關系。

冗余沖突:安全策略Rx在安全策略Ry的后面,而Rx子集包含匹配Ry或Rx精確匹配Ry,且Rx的動作和Ry相同,那么Rx就是Ry的冗余。冗余的安全策略不會起到任何作用,但是冗余安全策略的存在,會降低策略匹配效率。因此,冗余沖突是一個嚴重的錯誤,管理員需要發現冗余的安全策略,并將其刪除。

泛化沖突:安全策略Rx在安全策略Ry的后面,Rx超集包含匹配Ry,且Rx和Ry的動作不同,那么Rx就是Ry的泛化。泛化沖突不是一個錯誤,但是不能調換具有泛化沖突的安全策略,否則會改變其語義。因此,在插入一條安全策略時,有必要將泛化沖突提示管理員,然后讓管理員確認。

不相關異常:如果一條安全策略的條件永遠不會產生,則該安全策略具備不相關異常。

下面將說明如何進行策略間的沖突檢測。檢測安全策略之間存在沖突的基本思想在于,判斷兩條安全策略在策略樹中的路徑是否一致。如果新插入的安全策略的路徑和先前插入的安全策略的路徑一致,那么這兩條安全策略很可能存在沖突。如果這兩條安全策略的路徑不一致,那么它們完全不相關,也不存在沖突??墒褂脿顟B圖表示沖突檢測的過程,如圖2所示。

圖2 域內策略沖突檢測過程

開始時,假設兩條安全策略沒有任何關系。首先比較協議策略項,有4種結果,分別為相等、子集、超集和不相等.所以,從初始狀態0分別進入狀態1、2、3和10。其次,比較src策略項。src的比較同樣有4種結果,分別為相等、子集、超集和不相等,狀態進入4、5、6、7和10。再次,比較dst策略項,狀態分別進入7、8、9和10。最后,比較動作策略項,狀態進入終態10、11、12、13和14。

對于安全策略Rx和Ry,Rx在Ry的后面,和Ry之間的沖突類型主要基于以下的比較結果:

(1)如果Rx中的每個策略項都是Ry相應的Rx策略項的子集或者相等(狀態8),當它們的動作相同時,Rx是Ry的冗余(狀態12);當它們的動作不同時,Rx被Ry覆蓋(狀態11)。冗余的序列有0-1-4-8-12、0-1-5-8-12和0-2-5-8-12,覆蓋的序列有0-1-4-8-11、0-1-5-8-11和0-2-5-8-11。

(2)如果Rx中的每個策略項都是Ry相應的策略項的超集或者相等(狀態9),當它們的動作相同時,Ry是Rx的冗余(狀態12);當它們的動作不同時,Rx是Ry的泛化(狀態13)。冗余的序列有0-1-4-6-9-12、0-1-6-9-12和0-3-6-9-12。泛化的序列有0-1-4-6-9-13、0-l-6-9-13和0-3-6-9-13。

(3)如果Rx有些策略項是Ry對應的策略項的子集或者相等,而其他的策略項是Ry對應的策略項的超集(狀態7),那么Rx和Ry存在關聯(狀態17)。這樣的序列有0-1-5-7-14、0-1-6-7-14、0-2-5-7-14、0-2-6-7-14、0-3-6-7-14和0-3-7-14。

(4)如果Rx中的一些策略項與Ry中對應的策略項既不相等也不存在子集或者超集關系,那么Rx和Ry是不相關的(狀態10)。這樣的序列有0-10、0-1-10、0-2-10、0-3-10、0-1-4-10、0-l-5-10、0-l-6-10、0-2-5-10、0-2-7-10、0-3-6-10和0-3-7-10。

5 域間安全策略沖突分類及檢測

如圖3所示,假設數據從安全域Dx流向安全域Dy,在這兩個安全域間,部署了多個訪問控制類安全設備。沿著數據流向,稱前面的安全設備為上游安全設備,后面的為下游安全設備,緊臨安全域Dx的安全設備為最上游安全設備,緊臨安全域Dy的安全設備為最下游安全設備。從圖3可以看出,當數據從安全域Dx流向安全域Dy時,滿足以下條件之一時,沖突就會發生:

(1)最下游安全設備允許了被任何上游安全設備阻止的數據;

(2)最上游安全設備允許了被任何下游安全設備阻止的數據;

(3)下游安全設備拒絕了已經被上游安全設備阻止的數據。

圖3 安全設備隔開的安全域Dx和Dy

圖3中,假設Ru為最上游安全設備Secx的策略,Rd為最下游安全設備Secy的策略,并且假設個安全設備內部已經不存在策略沖突和冗余。通過比較安全域間安全策略的關系以及安全策略的動作,我們定義安全策略間存在以下幾種沖突:

覆蓋沖突:如果上游安全設備阻止了下游安全設備允許的數據,則發生了覆蓋沖突。如果滿足以下條件之一,則稱Ru被Rd覆蓋:Rd精確匹配Ru,且Ru動作為阻止,Rd動作為允許;Ru包含匹配Rd,且Ru動作為阻止,Rd動作為允許;Rd包含匹配Ru,且Ru動作為阻止,Rd動作為允許;

假性沖突:如果上游安全設備允許了下游安全設備阻止的數據,則發生了假性沖突。如果滿足以下條件之一,則稱Ru間Rd存在假性沖突:Rd精確匹配Ru,且Ru動作為允許,Rd動作為阻止;Rd包含匹配Ru,且Ru動作為允許,Rd動作為阻止;Ru包含匹配Rd,且Ru動作為允許,Rd動作為阻止;

冗余沖突:如果下游安全設備阻止了被上游安全設備阻止的數據,則發生了冗余沖突。如果滿足以下條件之一,則稱Ru間Rd存在冗余沖突:Rd精確匹配Ru,且Ru動作為阻止,Rd動作為阻止;Ru包含匹配Rd,且Ru動作為阻止,Rd動作為阻止。

關聯沖突:關聯沖突往往由上游安全設備和下游安全設備的兩條關聯規則引起。如果滿足以下條件之一,則稱Ru間Rd存在關聯沖突:Ru與Rd關聯,且Ru動作為允許,Rd動作為阻止;Ru與Rd關聯,且Ru動作為阻止,Rd動作為允許。

下面說明如何進行策略間的沖突檢測。使用狀態圖來表示沖突檢測的過程,如圖4所示。

開始時,假設Ru和Rd安全策略沒有任何關系。按照協議、策略源、策略目的的順序依次比較Ru和Rd的各個策略項,經過上述比較,可以確定兩條策略間的關系和存在的沖突類型。例如,如果Rd包含匹配Ru(狀態10),且Rd的動作為允許,則Rd被Ru部分覆蓋(狀態11),或當Rd的動作為阻止時,Ru和R存在假性沖突(狀態12)。

6 結 語

防火墻安全策略沖突檢測,直接影響分布式網絡的運行效率和安全管理效率。本文在研究防火墻安全策略之間關系和沖突類型的形式化定義基礎上,提出了一種防火墻安全策略沖突檢測的方法,能夠較好地解決防火墻安全策略的沖突檢測問題。后續的工作主要有兩方面,一是沖突檢測算法的進一步優化實現及性能提升,二是研究防火墻安全策略沖突的消除方法。

圖4 域間策略沖突檢測過程

[1] 王世偉.論信息安全、網絡安全、網絡空間安全[J].中國圖書館學報,2015(02):72-84.WANG Shi-wei.On Information Security,Network Security and Cyberspace Security[J].Journal of Library Science in China,2015(02):72-84.

[2] 李祥軍,孟洛明,焦利.網管系統策略沖突解決的結果中存在的問題及檢測與解決方法[J].計算機研究與發展,2006,43(07):1297-1303.LI Xiang-jun,MENG Luo-ming,JIAO Li.Problems in Results of Policy Conflict Resolutions and Detection and Resolution Methods in Network Management Systems[J].Journal of Computer Research and Developm ent,2006,43(07):1297-1303.

[3] Dunlop N,Indulska J,Raymond K A.Dynamic Conflict Detection for Large Evolving Enterprises[C].Proceedings of the Sixth International Conference on Enterprise Distributed Object Computing,2002.

[4] Dulay N,Lupu E,Sloman M,et al.A Policy Deployment Model for the Ponder Language[C].IEEE IFIP International Symposium on Integrated Network Management,2001.

[5] Damianou N,Dulay N,Lupu E C,et al.The Ponder Policy Specification Language[C].The Workshop on Policies for Distributed Systems and Networks,2001.

[6] Lupu E,Sloman M.Conflicts in Policy-based Distributed Systems Management[J].IEEE Transactions on Software Engineering-Special Issue on Inconsistency Management,1999,25(06):852-869.

猜你喜歡
安全策略子集防火墻
拓撲空間中緊致子集的性質研究
基于可視化的安全策略鏈編排框架
全民總動員,筑牢防火墻
基于飛行疲勞角度探究民航飛行員飛行安全策略
Carmichael猜想的一個標注
關于奇數階二元子集的分離序列
構建防控金融風險“防火墻”
多媒體教學服務器限制訪問的一種措施
淺析涉密信息系統安全策略
在舌尖上筑牢抵御“僵尸肉”的防火墻
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合