[發明專利]基于MPI和IP跟蹤的堡壘主機防火墻的安全事件預警方法有效
| 申請號: | 202010082327.3 | 申請日: | 2020-01-19 |
| 公開(公告)號: | CN111277604B | 公開(公告)日: | 2022-04-22 |
| 發明(設計)人: | 宋大華;劉嘉輝 | 申請(專利權)人: | 牡丹江醫學院 |
| 主分類號: | H04L9/40 | 分類號: | H04L9/40 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 157011 黑*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 mpi ip 跟蹤 堡壘 主機 防火墻 安全 事件 預警 方法 | ||
1.一種基于MPI和IP跟蹤的堡壘主機防火墻的安全事件預警方法,其特征在于,包括:
Part_1:建立守護進程,啟動MPI主進程,通過動態鏈接庫導入防火墻規則,
Part_2:啟動防火墻主進程,接收預警信息,跟蹤可疑IP,調整防火墻防御策略,
Part_3:啟動堡壘主機從進程,監測網絡攻擊和異常事件,發送預警信息;
所述方法所使用的數據結構,函數和過程描述如下
(1)IP地址數據結構StructIP,定義如下
數據項1,Item_1:IP地址
數據項2,Item_2:IP地址版本,包括IPv4和IPv6
數據項3,Item_3:在數據包Packet中處于源地址SourceIP,目的地址DestinationIP
數據項4,Item_4:IP地址對應的物理地址Mac
(2)防火墻規則數據結構Rule,定義如下
數據項1,Item_1:防火墻規則的編號RuleID
數據項2,Item_2:指定的地址,包括源地址SourceIP,目的地址DestinationIP
數據項3,Item_3:端口Socket
數據項4,Item_4:協議Protocol
數據項5,Item_5:網絡接口NIC
數據項6,Item_6:服務規則ServiceType
(3)IP地址隊列QueueIP,定義如下
數據項1,Item_1:StructIP
數據項2,Item_2:匹配的防火墻規則的編號列表RuleList
數據項3,Item_3:匹配規則頻數AlertFrequence,初始值是0
數據項4,Item_4:下一個結點指針NextPoint
(4)跟蹤的IP隊列QueueIPTrack,定義如下
數據項1,Item_1:IP地址
數據項2,Item_2:IP地址對應的物理地址Mac
數據項3,Item_3:匹配的防火墻規則的編號列表RuleList
數據項4,Item_4:下一個結點指針NextPoint
(5)防火墻規則集合SetRules,定義如下
SetRules={SubSet_1,SubSet_2,...,SubSet_i,...,SubSet_n}
其中,SubSet_i是防火墻規則集合的第i個子集,子集不能是空集;
(6)并行模型ParallelModel,具體為
ParallelModel(ProNum){
Pro_1:MPI_Creat(),
Pro_2:Master(Data,Send,Recv,Task,coreID),
Pro_3:Slave(Data,Send,Recv,Task,coreID),
Pro_4:MPI_Finish()
}
其中,參數ProNum是并行模型ParallelModel執行的過程,由Pro_1至Pro_4組成,
MPI_Creat()是MPI環境建立的過程,包括MPI初始化,設定每個處理器核心的編號,
Master(Data,Send,Recv,Task,coreID)是主進程Master實現的過程,Data是交換的數據,Send和Recv是MPI進行數據傳遞時使用的MPI標準函數MPI_Send()和MPI_Recv(),Task是需要處理的事物、過程、指令,coreID代表與Master進行通訊的處理器核心的編號,MPI系統中Master處理器核心的編號初始化為0,
Slave(Data,Send,Recv,Task,coreID)是從進程Slave實現的過程,Data是從進程中交換的數據,Send和Recv是MPI進行數據傳遞時使用的MPI標準函數,Task是從進程Slave需要處理的事物、過程、指令,coreID代表與Slave進行通訊的處理器編號,
MPI_Finish()是MPI結束并行計算模式的過程,如果是Slave處理器,Slave將不再接收MPI的消息和任務Task,如果是Master處理器,本次并行計算過程結束,釋放所使用的資源;
(7)安全預警模型AlertTask,具體為
AlertTask{
Type(Network),
Index(IPAddress,Mac),
Delay(TimePeriod*num),
Adapt(RuleID_1,RuleID_2,...,RuleID_n)
}
其中,Type(Network)是防火墻中內網和外網的類型,當Network是內網時,Type返回TrustedNetwork參數值,當Network是外網時,Type返回UntrustedNetwork參數值,
Index(IPAddress,Mac)返回來自內網、外網的IP地址,當IPAddress是來自內網的IP地址時,記錄所述IP地址和物理地址Mac,當IPAddress是來自外網的IP地址時,記錄所述IP地址,Mac地址設置為全0,
Delay(TimePeriod*num)為延遲等待,TimePeriod是時間周期,num是TimePeriod的時間周期的數量,
Adapt(RuleID_1,RuleID_2,...,RuleID_i,...,RuleID_n)RuleID_i代表與防火墻中匹配的規則對應的編號;
(8)IP登記RegisterIP,具體為
如果安全預警模型AlertTask預警,即Adapt(RuleID_1,RuleID_2,...,RuleID_n)匹配了防火墻中的規則,那么,登記Type(Network)和Index(IPAddress,Mac)的信息;如果在當前的IP地址隊列QueueIP中沒有所述IPAddress的信息,新建IP地址數據結構StructIP結點NewPoint,初始化新結點NewPoint的Item_1的IP地址為IPAddress,初始化新結點NewPoint的Item_2的IP地址版本,當IPAddress是32位時標記為IPv4,當IPAddress是128位時標記為IPv6,在Adapt(RuleID_1,RuleID_2,...,RuleID_n)中提取規則Rule,在防火墻規則數據結構Rule的Item_2提取指定的地址,初始化新結點NewPoint的Item_3,當Type(Network)的類型是內網時,初始化新結點NewPoint的Item_4的IPAddress對應的物理地址Mac,當Type(Network)的類型是外網時,初始化新結點NewPoint的Item_4的IPAddress對應的物理地址Mac為全0,在IP地址隊列QueueIP的隊尾添加結點NewQIP,新結點NewQIP的Item_1初始化為NewPoint,新結點NewQIP的Item_2添加為Adapt(RuleID_1,RuleID_2,...,RuleID_n)中匹配的規則,新結點NewQIP的Item_3的匹配規則頻數AlertFrequence為原AlertFrequence的數值加上Adapt(RuleID_1,RuleID_2,...,RuleID_n)匹配的規則的總數,新結點NewQIP的Item_4的下一個結點指針NextPoint初始化為空;
如果在當前的IP地址隊列QueueIP中存在所述IP地址信息,設定結點指針為CurPoint,當Type(Network)的類型是內網時,如果CurPoint的Item_1的StructIP結點中的Item_4與Index(IPAddress,Mac)中的物理地址Mac不一致,那么添加Mac在CurPoint的Item_1的StructIP結點中的Item_4中,當Type(Network)的類型是外網時,CurPoint的Item_2添加為Adapt(RuleID_1,RuleID_2,...,RuleID_n)中匹配的規則,CurPoint的Item_3的匹配規則頻數AlertFrequence為原AlertFrequence的數值加上Adapt(RuleID_1,RuleID_2,...,RuleID_n)匹配的規則的總數;
(9)對可疑的IP地址進行跟蹤TrackIP,具體為
對IP地址隊列QueueIP進行掃描,當檢測隊列結點的Item_3匹配規則頻數AlertFrequence達到警戒值時,提取可疑結點信息,插入跟蹤的IP隊列QueueIPTrack中,并初始化插入結點的Item_1的IP地址和Item_3匹配的防火墻規則的編號列表RuleList,如果所述IP地址對應一個物理地址,初始化Item_2為對應的物理地址,如果所述IP地址對應多個物理地址時,復制Item_1和Item_3,分別把對應的多個物理地址結點插入跟蹤的IP隊列中;
(10)調整防火墻規則和策略SchedulingModel,具體為
SchedulingModel(Para){
Parameter_1:管理員手動增加防火墻規則,
Parameter_2:重置Slave進程,
Parameter_3:拒絕IP地址IPAddress和物理地址Mac的服務Delay(IPAddress,Mac,TimeRefuse),當IP地址IPAddress是外部網絡時,Mac為全0,對IPAddress拒絕服務TimeRefuse的時間,當IP地址IPAddress是內部網絡時,對物理地址Mac的主機執行拒絕服務TimeRefuse的時間,
Parameter_i:預留用戶使用參數,
}
其中,Para是執行SchedulingModel的參數,Para取自Parameter_1至Parameter_i的范圍;
(11)系統過程Task,具體為
Task{
Task_1:執行MPI的主進程Master對從進程Slave的檢測,
Task_2:執行MPI的從進程Slave對主進程Master的響應,
Task_3:執行MPI發送數據任務,
Task_4:執行MPI接收數據任務,
Task_5:執行系統過程,系統通過函數地址獲取需要執行的代碼,
Task_6:執行指令,
Task_i:預留用戶執行指令和過程,
}
其中,Task_1和Task_2實現在堡壘主機遭到破壞和意外中斷服務之后,進行系統恢復;與在系統啟動時,進行系統自檢,
系統所使用的數據結構,函數和過程描述完畢;
所述方法的特征
Part_1,建立守護進程,啟動MPI主進程,通過動態鏈接庫導入防火墻規則,具體為
在操作系統中建立守護進程,啟動MPI主進程,執行ParallelModel(Pro_1),在系統動態鏈接庫中導入防火墻規則Rule,初始化防火墻規則Rule的Item_1的防火墻規則的編號RuleID,Item_2的指定的地址,Item_3的端口Socket,Item_4的協議Protocol,Item_5的網絡接口NIC,Item_6的服務規則ServiceType,建立防火墻規則集合SetRules,
SetRules={SubSet_1,SubSet_2,...,SubSet_i,...,SubSet_n}
初始化IP地址隊列QueueIP,建立QueueIP的隊列頭Top_QueueIP和隊列尾Tail_QueueIP,隊列頭Top_QueueIP的NextPoint指向Tail_QueueIP,Tail_QueueIP的NextPoint設置為空,初始化跟蹤的IP隊列QueueIPTrack,建立QueueIPTrack的隊列頭Top_QueueIPTrack和隊列尾Tail_QueueIPTrack,隊列頭Top_QueueIPTrack的NextPoint指向Tail_QueueIPTrack,Tail_QueueIPTrack的NextPoint設置為空,
初始化系統匹配規則頻數AlertFrequence的警戒值FreqAlertValue,初始化系統TimePeriod的時間值,
所述特征Part_1描述完畢;
所述方法的特征
Part_2,啟動防火墻主進程,接收預警信息,跟蹤可疑IP,調整防火墻防御策略,具體為
在守護進程中調用防火墻主進程,執行ParallelModel(Pro_2),主進程Master對每一個Slave執行測試,利用Send發送給coreID測試數據Data,執行系統過程Task_1,
分配防火墻規則集合SetRules的子集給從進程,執行系統過程Task_3,利用發送Send傳輸數據Data,Data封裝防火墻規則集合的子集,
循環查詢,執行系統過程Task_5,接收預警信息,
當接收預警信息成功時,執行ParallelModel(Pro_2),利用Send發送給coreIDrip預警信息,Task是系統過程RegisterIP,
Master執行系統過程TrackIP,
如果跟蹤的IP隊列QueueIPTrack不為空,掃描隊列QueueIPTrack執行系統過程SchedulingModel(Para),調整防火墻防御策略,
Master執行系統過程Task_6,
如果管理員選擇ParallelModel(Pro_4),那么,調用ParallelModel(Pro_2),主進程Master對每一個Slave下達執行退出指令,待所有Slave結束任務Task,Master執行MPI_Finish();否則,執行Task_i的用戶預留指令和過程,
所述特征Part_2描述完畢;
所述方法的特征
Part_3,啟動堡壘主機從進程,監測網絡攻擊和異常事件,發送預警信息,具體為
從進程Slave完成響應測試,執行ParallelModel(Pro_3),利用Recv接收來自Master的測試數據Data,執行系統過程Task_2,
從進程Slave執行系統過程Task_4,利用Recv接收來自Master的防火墻規則集合SetRules的子集,
循環執行系統過程AlertTask,當Master沒有接收預警信息時,Delay(TimePeriod*num)中num自動加1,當Master接收預警信息成功時,Delay(TimePeriod*num)中num設置為0,
如果Slave使用的處理器核心編號是coreID_rip,那么執行ParallelModel(Pro_3),利用Recv接收預警信息,執行系統過程RegisterIP;否則,Slave執行系統過程Task_6和Task_i,
如果Slave接收到重置Slave進程,那么,Slave結束當前任務Task,重新接收來自Master的防火墻規則集合SetRules的子集,循環執行系統過程AlertTask,并執行系統過程Task_6和Task_i,
所述特征Part_3描述完畢。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于牡丹江醫學院,未經牡丹江醫學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010082327.3/1.html,轉載請聲明來源鉆瓜專利網。





