欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

利用wfp攔截網絡數(shù)據(jù)的方法

文檔序號:7620186閱讀:3344來源:國知局
專利名稱:利用wfp攔截網絡數(shù)據(jù)的方法
技術領域
本發(fā)明涉及網絡安全領域,尤其涉及一種利用WFP攔截網絡數(shù)據(jù)的方法。
背景技術
目前網絡數(shù)據(jù)的安全監(jiān)控軟件可以設在很多層次,根據(jù)ISO的七層結構(包括應用層、表示層、會話層、傳輸層、網絡層、鏈路層、物理層),可以設在比如NDIS(Network Driver Interface Specification,網絡驅動接口規(guī)范)的協(xié)議層、中間層以及TDI層(傳輸層)或者應用層。它們都能夠過濾特定進程的網絡數(shù)據(jù),對這些數(shù)據(jù)以及發(fā)包進程進行安全掃描,以便決定這些網絡數(shù)據(jù)是否繼續(xù)發(fā)送等。這些方法足可以幫助我們阻止不安全進程的第三方通信軟件發(fā)送非法數(shù)據(jù),防止盜竊本地數(shù)據(jù)。但是這些方法都存在一定的缺陷,比如說SPI (服務提供者接口)過濾,任何工具都可以恢復原來的注冊表,使其失去監(jiān)控的作用。對于TDI過濾來說,對WIN7的兼容性幾乎沒有,并且該方法極其復雜,更不能過濾ICMP(Internet Control Message Protocol, hternet控制消息協(xié)議)包。NDIS Η00Κ的缺陷在于在不同的平臺上面,它的接收函數(shù)、發(fā)送函數(shù)等一系列的API偏移不一樣。NDIS IMD的缺陷在于編程的復雜度遠遠超過了任何一個,而且不能兼容3G網絡,WiFi網絡。并且NDIS IMD方法不提供對進程標識(PID)的訪問,也就是說我們無法得到網絡數(shù)據(jù)對應的進程信息。更不能通過KeGetCurrentID來得到 PID,因為網絡模塊的實現(xiàn)方式是異步的,即當前的PID并不是發(fā)送數(shù)據(jù)包的進程。

發(fā)明內容
(一 )要解決的技術問題本發(fā)明要解決的技術問題是如何提供一種實現(xiàn)方法簡單、安裝方便,可兼容任意第三方的安全網絡產品的攔截網絡數(shù)據(jù)的方法。( 二 )技術方案為解決上述技術問題,本發(fā)明提供了一種利用WFP攔截網絡數(shù)據(jù)的方法,包括以下步驟Si、開啟一個Windows內核中WFP過濾引擎的會話,然后在該會話中增加一個子層,并且在WFP過濾引擎的ALE層和傳輸層分別注冊一個標注,將兩個標注添加到所述子層中,然后設置所述兩個標注的過濾信息,所述過濾信息包括過濾條件;S2、在ALE層的標注中設置回調函數(shù),并在回調函數(shù)中得到端口和進程的對應關系,并根據(jù)進程策略來判定這個端口的數(shù)據(jù)是否能成功發(fā)送,接下來記錄這個端口能否發(fā)送數(shù)據(jù),以便接下來查詢使用;S3、在傳輸層的標注中設置過濾回調函數(shù),對所述過濾回調函數(shù)中的數(shù)據(jù)包進行解析,解析出該數(shù)據(jù)包對應的端口,然后根據(jù)S2中記錄的信息來判斷該數(shù)據(jù)包對應的端口能否發(fā)送數(shù)據(jù)。 所述過濾條件是攔截所有發(fā)送的數(shù)據(jù)。
在步驟S2中,在回調函數(shù)中,把端口和該端口能否發(fā)送數(shù)據(jù)記錄下來。所述進程策略為如果進程路徑在進程白名單中,則放行這個數(shù)據(jù)包,否則不放行這個數(shù)據(jù)包。(三)有益效果本發(fā)明通過利用了現(xiàn)有的過濾引擎(只需要設置這個過濾引擎的過濾條件即可) 實現(xiàn)了對特定進程的網絡數(shù)據(jù)的攔截,實現(xiàn)方法簡單,可以兼容普通網線上網、無線網卡、 無線上網卡等應用。并且加載簡單,安裝時不會有斷網現(xiàn)象,且可以與第三方安全廠商兼容。


圖1是本發(fā)明的方法流程圖。
具體實施例方式下面結合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細說明。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。如圖1所示,本發(fā)明實施例如下1)使用FwpmEngineOpenO API打開一個回會話(session)。也就是說我們將要注冊標注(callout) |lj WFP(Windows Filter Platform, Windows 過濾平臺)過濾引擎,首先
要開啟一個會話。2)使用FwpmTransactionBeginO API來說明已經開始一個注冊的標注(callout) 驅動。3)使用FwpmSublayerAddO API增加一個子層,以便NDIS能夠很快地找到我們將要注冊的標注(callout)。4) ^ ffl FwpsCalloutRegesterO API ALE layer(ApplicationLayer Enforcement layer,應用程序層執(zhí)法層)注冊一個標注(callout)。5)使用FwpmCalloutAddO增加這個標注(callout)到過濾引擎的上述3)中增加的子層中。6)使用FwpmFilterAddO來對這個加入到過濾引擎的標注(callout)設置過濾條件。在此考慮了所有數(shù)據(jù)包IP地址的種類,比如單播地址、多播地址、任播地址、有效地址、 未指定的地址(0.0.0.0)等等,這樣就可以攔截所有發(fā)送出去的數(shù)據(jù)包。7)重復4)-6) —次,完成在傳輸層注冊一個新的標注(callout),然后執(zhí)行步驟 8)。8)使用 FwpmTransactionCommitO API 提交這個會話。9)在ALE層的標注中設置回調函數(shù),并且在回調函數(shù)中得到端口和進程的對應關系,并根據(jù)進程策略來判定這個端口的數(shù)據(jù)是否能成功發(fā)送,接下來記錄這個端口能否發(fā)送數(shù)據(jù),以便10)查詢使用。10)在傳輸層的標注中設置,在所設置的過濾回調函數(shù)中解析出數(shù)據(jù)包對應的端口,然后根據(jù)9)中的記錄的信息來判斷該端口能否發(fā)送數(shù)據(jù)。進程策略為如果進程路徑在進程白名單中,則放行這個數(shù)據(jù)包,否則不放行這個數(shù)據(jù)包。另外對于系統(tǒng)的發(fā)包進程一律放行,不然系統(tǒng)很多功能無法使用,比如系統(tǒng)升級。需要說明的是,在ALE層注冊callout是為了攔截到數(shù)據(jù)包的時候可以查詢該數(shù)據(jù)包對應的PID (進程標識),而在這一層攔截數(shù)據(jù)包只會攔截到這個連接的第一個數(shù)據(jù)包,對于之后的數(shù)據(jù)包都不會攔截到。為了達到攔截所有數(shù)據(jù)包的目的,必須要攔截所有發(fā)送出去的包,即在傳輸層注冊自己的callout。由以上實施例可以看出,本發(fā)明通過利用了現(xiàn)有的過濾引擎實現(xiàn)了對特定進程的網絡數(shù)據(jù)的攔截,實現(xiàn)方法簡單,可以兼容普通網線上網、無線網卡、無線上網卡等應用。并且加載簡單,安裝時不會有斷網現(xiàn)象,且可以與第三方安全廠商兼容。以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
權利要求
1.一種利用WFP攔截網絡數(shù)據(jù)的方法,其特征在于,包括以下步驟S1、開啟一個Windows內核中Windows過濾平臺WFP過濾引擎的會話,然后在該會話中增加一個子層,并且在WFP過濾引擎的應用程序層執(zhí)法層ALE層和傳輸層分別注冊一個標注,將這兩個標注添加到所述子層中,然后設置所述兩個標注的過濾信息,所述過濾信息包括過濾條件;S2、在ALE層的標注中設置回調函數(shù),并在回調函數(shù)中得到端口和進程的對應關系, 并根據(jù)進程策略來判定這個端口的數(shù)據(jù)是否能成功發(fā)送,接下來記錄這個端口能否發(fā)送數(shù)據(jù),以便接下來查詢使用;S3、在傳輸層的標注中設置過濾回調函數(shù),對所述過濾回調函數(shù)中的數(shù)據(jù)包進行解析, 解析出該數(shù)據(jù)包對應的端口,然后根據(jù)S2中記錄的信息來判斷該數(shù)據(jù)包對應的端口能否發(fā)送數(shù)據(jù)。
2.如權利要求1所述的方法,其特征在于,所述過濾條件是攔截所有發(fā)送的數(shù)據(jù)。
3.如權利要求1所述的方法,其特征在于,在步驟S2中,在回調函數(shù)中,把端口和該端口能否發(fā)送數(shù)據(jù)記錄下來。
4.如權利要求1 3任一項所述的方法,其特征在于,所述進程策略為如果進程路徑在進程白名單中,則放行這個數(shù)據(jù)包,否則不放行這個數(shù)據(jù)包。
全文摘要
本發(fā)明公開了一種利用WFP攔截網絡數(shù)據(jù)的方法,屬于網絡安全領域,包括以下步驟S1、開啟Windows內核中WFP過濾引擎的會話,在會話中增加一個子層,并且在WFP過濾引擎的ALE和傳輸層分別注冊一個標注,將標注添加到子層中,設置標注的過濾信息,所述過濾信息包括過濾條件;S2、在ALE的標注中設置回調函數(shù),并在回調函數(shù)中得到端口和進程的對應關系,并根據(jù)進程策略判定這個端口的數(shù)據(jù)是否能成功發(fā)送,接下來記錄這個端口能夠發(fā)送數(shù)據(jù);S3、在傳輸層的標注中設置過濾回調函數(shù),對過濾回調函數(shù)中的數(shù)據(jù)包進行解析,解析出數(shù)據(jù)包對應的端口,根據(jù)S2中記錄的信息判斷數(shù)據(jù)包對應的端口能否發(fā)送數(shù)據(jù)。本發(fā)明實現(xiàn)簡單、安裝方便,可兼容任意第三方的安全網絡產品。
文檔編號H04L29/06GK102195972SQ201110072859
公開日2011年9月21日 申請日期2011年3月24日 優(yōu)先權日2011年3月24日
發(fā)明者萬雪松, 于曉軍, 趙辰清 申請人:北京思創(chuàng)銀聯(lián)科技股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乃东县| 大石桥市| 石泉县| 乌拉特中旗| 沾益县| 株洲市| 静宁县| 峨眉山市| 南丰县| 图们市| 大竹县| 锡林浩特市| 容城县| 墨竹工卡县| 白河县| 玉溪市| 琼结县| 准格尔旗| 梓潼县| 上蔡县| 南开区| 天津市| 获嘉县| 固安县| 闸北区| 烟台市| 武鸣县| 云安县| 胶州市| 太湖县| 龙陵县| 安岳县| 潜江市| 宜春市| 黑山县| 法库县| 隆尧县| 安乡县| 洪江市| 福贡县| 咸丰县|