999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

內核級網絡流量監測系統

2021-05-29 15:33:00施潤杰康曉鳳王可茅璋瑞
軟件工程 2021年5期
關鍵詞:網絡安全

施潤杰 康曉鳳 王可 茅璋瑞

摘? 要:針對互聯網面臨的僵尸網絡、滲透等惡意威脅,如何確保網絡設備的高可靠性、數據的安全性和完整性,是急需解決的問題。本文設計實現了內核級網絡流量監測系統,本系統包括流量采集、流量檢測、流量統計、防護模塊和Web控制臺五大模塊,實現了流量的捕獲和監測均在內核完成,減少了性能開銷。使用本系統能夠減少服務器遭受惡意流量攻擊,為眾多Linux服務器提供強大的保護。

關鍵詞:Netfilter;網絡流量檢測;內核態;網絡安全

中圖分類號:TP315? ? ?文獻標識碼:A

Kernel-Level Network Traffic Monitoring System

SHI Runjie, KANG Xiaofeng, WANG Ke, MAO Zhangrui

(College of Information Engineering, Xuzhou Institute of Technology, Xuzhou 221000, China)

handchongboy@sina.com; kxfeng07@163.com; admi1n@163.com; 1244529720@qq.com

Abstract: It is urgent to ensure high reliability of network equipment and the security and integrity of data in view of malicious threats such as botnets and infiltrations faced by the Internet. This paper proposes to design and implement a kernel-level network traffic monitoring system which includes five modules: traffic collection, traffic detection, traffic statistics, protection module and Web console. The system realizes that traffic capture and monitoring are completed in the kernel, reducing performance overhead. This system can reduce malicious traffic attack on servers and provide powerful protection for Linux servers.

Keywords: Netfilter; network traffic detection; kernel mode; network security

1? ?引言(Introduction)

隨著網絡技術的不斷進步和發展,絕大多數人在享受網絡帶來的便利時,卻忽視了網絡中潛在危害。由于Linux操作系統的開放性、易移植性等優良特性使得許多采用Linux操作系統的服務器暴露在公網中,絕大部分是因為缺少良好的防護和檢測機制,導致其在分布式拒絕服務攻擊、僵尸網絡等網絡攻擊面前不堪一擊[1]。

本系統使用Linux的Netfilter機制,結合動態可加載內核模塊技術和Netlink通信機制,實現了網絡流量檢測系統。本系統核心模塊運行在Linux內核空間,對數據包的收、發、攔截檢測均在內核空間內完成,降低了數據包從內核空間復制到用戶空間的次數,減少了用戶空間內存的消耗[2]。同時,為了最大程度滿足用戶安全需求,本系統與Web服務相結合,用戶可根據需求自定義設置規則,使用簡單方便,便于用戶及時發現并攔截服務器當前所遭受的網絡攻擊。

2? ?Netfilter介紹(Introduction to Netfilter)

Netfilter是Linux 2.4及以上版本所引入的一個子系統,是一個通用且抽象的框架,作為一套防火墻系統集成到Linux內核協議棧中[3]。它擁有完善的hook機制,擁有多個hook節點,在網絡協議棧的重要節點上按照優先級設置了多個鉤子函數,根據各個函數的優先級組成多條處理鏈。當分組數據包通過Linux的TCP/IP協議棧時,將根據相應節點上的各個鉤子函數的優先級進行處理,根據鉤子函數返回的結構決定是繼續正常傳輸數據包,還是丟棄數據包抑或是進行其他操作。本系統采用Linux內核版本4.15,Netfilter支持IPV 4、DECnet等多個協議棧,使用Netfilter提供的hook管理機制能夠實現數據包過濾、網絡地址轉化等諸多功能。

Netfilter在IPV 4協議棧上設置了五個hook點,這五個hook點分別為NF_INET_PRE_ROUTING、NF_INET_LOCAL_IN、NF_INET_FORWARD、NF_INET_LOCAL_OUT、NF_INET_POST_ROUTING[4]。數據包流經節點流程圖如圖1所示。

4.15版本的Linux內核為ARP協議另外設置了三個hook點,當ARP數據包流經主機時,內核對ARP數據包的處理過程不再采取上述過程,而是分別流經NF_ARP_IN、NF_ARP_OUT、NF_ARP_FORWARD這三個處理節點。與上述五個處理節點不同的是,內核Netfilter針對ARP數據包處理少了PRE_ROUTING和POST_ROUTING這兩個節點,數據包流經節點流程圖如圖2所示。Linux Netfilter允許內核的任意模塊對Netfilter任意一個hook點進行注冊、掛載鉤子函數操作。Linux使用struct nf_hook_ops結構體完成hook點鉤子的注冊。

3? ?Netlink介紹(Introduction to Netlink)

Netlink是Linux所提供的基于socket套接字的通信機制,該套接字家族是一種IPC Linux內核接口,用于內核與用戶進程通信,同時也可用于多個用戶空間進程通信,雖與傳統的網絡socket套接字不同,但與Unix域套接字類似[5]。該機制基于BSD socket和AF_NETLINK地址簇,使用32位端口號尋址(也稱PID)。

一般情況下,內核與用戶態進程通信使用以下幾種方式:copy_to_user()、procfs接口、sysfs接口和ioctl()系統調用。這幾種方式都屬于同步通信方式,皆由用戶發起向內核態通信的請求,從內核態獲取需要的信息,但是內核態無法主動發起通信。Netlink與之前幾種方法的通信方式有所不同,其采用異步全雙工的通信形式,支持由內核態主動發起通信請求,向指定PID用戶態進程廣播消息[6]。內核使用Netlink所提供的API,用戶態則基于socket應用程序接口,內核發送的消息存放在接收進程緩沖區中,若緩沖區暫不可用,可選擇將進程暫時堵塞。本系統采用Netlink實現內核向用戶態進程信息的傳遞。

4? 系統設計與實現(System design and implementation)

本系統核心模塊基于Linux的Netfilter框架,結合Linux動態可加載內核技術,采用C語言編寫,實現Linux內核級別流量監測。Web前端框架使用Vue.js框架編寫。內核模塊與用戶進程之間采用Netlink進行通信。系統可分為五大功能模塊:流量采集模塊、流量檢測模塊、流量統計模塊、防護模塊、Web控制臺模塊。五大功能模塊如圖3所示。

4.1? ?流量采集模塊

本功能模塊主要負責捕獲所有需要的網絡數據包,基于Linux的內核Netfilter框架對數據包進行分析,丟棄無用的廢棄數據包,保留有效的數據包并傳遞給下一模塊進行進一步處理分析[7]。數據包會依次流經相應的hook節點調用hook函數處理。IPV 4協議棧上設置了五個hook點:NF_INET_LOCAL_IN、NF_INET_PRE_ROUTING、NF_INET_LOCAL_OUT、NF_INET_FORWARD、NF_INET_POST_ROUTING。4.15版本的Linux內核Netfilter為ARP協議另外設置了三個hook點:NF_ARP_IN、NF_ARP_OUT、NF_ARP_FORWARD。本系統重點處理分析發往本機的數據包,因此只需在NF_INET_LOCAL_IN、NF_INET_LOCAL_OUT、NF_ARP_IN、NF_ARP_OUT四個hook節點注冊相應的hook處理函數即可。

傳入hook處理函數有三個參數,分別為:void* priv、struct sk_buff* skb、const struct nf_hook_state* state。其中struct sk_buff結構體為網絡數據包的封裝,包含鏈路層、傳輸層、網絡層數據頭信息字段,通過獲取字段內容分析端口號、協議類型等字段,判斷該數據包是否丟棄。若丟棄,則返回NF_DROP;若需要傳遞給下一模塊進一步處理,則返回NF_ACCEPT表示接收。

4.2? ?流量檢測模塊

本功能模塊主要負責對接收的網絡數據包進行進一步分析處理,結合內置過濾規則,實現對惡意流量的檢測,在此基礎上實現安全組、HTTP黑名單、ARP防護、ICMP防護、IP黑名單等基本功能。

本系統成功加載后默認所有端口關閉,不允許其他主機訪問本機端口。當管理者需要開放一個端口時,將開放端口號、允許通過數據包類型、允許訪問IP存放起來。

ARP協議能完成局域網內IP地址向MAC地址的轉化,但是ARP協議為無狀態的協議,它不會去驗證發送者的身份,當主機收到一條ARP請求報文時,即便這條請求報文內容是偽造的,主機也會立即更新ARP緩存表,導致原先發往目的主機的網絡數據包錯誤地發送到攻擊者主機[8]。針對這一缺陷,本系統在NF_ARP_IN這一hook節點注冊了check_in_arp處理函數。該函數優先檢查hook函數處理的網絡數據包協議類型是否為ARP,若不是則丟棄;若是,則繼續處理。發往主機的ARP數據包有兩種類型:ARP請求包、ARP響應包,對應ARP報文格式中的Opcode字段,本系統源代碼中分別定義為ARP_REQUEST、ARP_REPLY。處理函數會檢查數據包Opcode數值,若既不為ARP_REQUEST,也不為ARP_REPLY,則丟棄,并產生警報日志;若數據包類型為ARP響應包,則檢查目標MAC地址是否為廣播地址,若為廣播地址,則丟棄;若數據包類型為ARP請求包,則獲取數據包的源IP地址并且丟棄該數據包。知道源IP地址后,使用ARP協議廣播獲取源IP地址對應的真實MAC信息。廣播使用Linux內置函數arp_send(),該函數邏輯位于net/ipv4/arp.c中。check_in_arp函數流程如圖4所示。

目前大部分攻擊者采用的ARP欺騙手段都是將ARP數據包中Sender IP address修改為本局域網網關IP地址,Sender MAC address修改為本機MAC地址,向目標攻擊主機發送修改后的ARP欺騙包,讓目標主機本應該發往網關的數據包錯誤地發送到了欺騙者主機。可以發現,攻擊者著重在ARP_REQUEST部分采取攻擊手段,本系統ARP防護功能同樣針對ARP_REQUEST部分進行防護。采取該ARP防護功能后,主機將不會通過任何ARP請求包,在收到ARP請求包后,丟棄并且ARP廣播獲取源IP地址MAC,源IP主機收到ARP廣播請求包后,向主機發送ARP響應包,通過接收源IP主機的響應包來動態更新主機內部ARP緩存表信息。ARP緩存表從原來的被動更新到現在的主動更新,能夠防范目前大部分的ARP欺騙手段。

本系統在NF_ARP_OUT hook點注冊了arp_out_check函數。為防止本機被入侵后成為ARP欺騙攻擊跳板,arp_out_check處理函數針對每個發往其他主機的ARP數據包進行檢查。arp_out_check函數的參數之一為struct sk_buff*skb,struct sk_buff結構體中包含指向網卡設備的dev成員,通過該成員即可遍歷獲得對應網卡所有IP、MAC地址,將該信息與數據包信息對比,若不匹配,則丟棄并產生警告信息;若匹配,則通過。arp_out_check函數流程如圖5所示。

4.3? ?流量統計模塊

本模塊設置定時器,定時更新并向下傳遞統計數據。輸出的數據包括單位時間內網絡數據包字節大小總和、TCP連接數量統計、惡意數據攔截次數等信息。統計數據信息將會通過Netlink傳遞到用戶進程保存起來,最終等待Web控制臺調用獲取數據。

4.4? ?防護模塊

本模塊作用為更改、生效相應的防護措施。本系統著重為TCP、HTTP、主機端口安全組、ICMP、ARP、IP黑名單等方面提供保護,系統內置了一些防護規則,如默認端口關閉,發現IP訪問頻率過快自動加入IP黑名單,發現IP存在掃描端口行為自動加入IP黑名單。當流量監測模塊監測到惡意流量時,將會自動傳遞規則信息到防護模塊更新當前防護措施。用戶也可通過Web控制臺來手動獲取、更新當前防護措施,Web控制臺與防護模塊使用Netlink進行通信。

4.5? ?Web控制臺模塊

本模塊負責與用戶的交互,采用適合構建用戶界面的漸進式框架Vue.js,具有輕量、簡易、組件化等優點,開發效果界面友好,兼容性強。Web控制臺默認監聽本機8080端口,系統部署成功后,訪問本機8080端口即可對防護規則進行個性化配置。Web控制臺前端界面如圖6所示。

用戶可自由配置安全組規則,添加允許通過的端口號、該端口允許通過的數據包類別、允許通過的IP范圍,修改已有規則信息等,如圖7所示。

系統核心模塊監測到惡意流量后,將會產生日志警告信息,通過Netlink傳遞給相應的用戶進程。用戶進程根據警告信息的級別、所屬范圍存放到相應數據庫中。如圖8所示,用戶可通過Web控制臺獲取對應類別的警告日志記錄。

5? ?結論(Conclusion)

Linux系統因其優秀的特性而受到青睞,眾多服務器也選擇Linux作為操作系統。網絡中充斥著大量的惡意流量,缺少有效保護措施的Linux服務器在那些流量面前不堪一擊。本系統基于Linux Netfilter框架,實現了Linux操作系統下內核級別流量監測系統,對流量的捕獲、監測均在內核空間內完成,減少了性能開銷。本系統能夠在多種Linux內核版本下正常運行,并為操作用戶提供了Web控制臺可視化交互界面,用戶只需通過鼠標點擊即可獲取當前攔截警告日志,配置符合自身情況的防護規則。利用本系統能夠減少服務器遭受惡意流量攻擊,為眾多Linux服務器提供強大的保護。

參考文獻(References)

[1] 高文華.Netfilter/iptables防火墻中精確單模式匹配算法研究[D].成都:電子科技大學,2016.

[2] 鮑娟.基于嵌入式Linux的網絡流量監測系統[D].武漢:武漢科技大學,2009.

[3] 李志奇,何彥宏,孔德愷.基于Netfilter/Iptables的動態安全防御系統設計[J].通信學報,2018,39(S2):198-203.

[4] ZHU Y Q. Structural analysis and preparation of the Netfilter[J]. Advanced Materials Research, 2014(926):2418-2421.

[5] 周莉,柯健,顧小晶.Netlink套接字在Linux系統通信中的應用研究[J].計算機與現代化,2007(03):109-111.

[6] NEIRA-AYUSO P, GASCA R M. LEFEVRE L. Communicating between the kernel and user-space in Linux using Netlink sockets[J]. Software: Practice and Experience, 2010, 40(9):797-810.

[7] 李惠娟,王汝傳,任勛益.基于Netfilter的數據包捕獲技術研究[J].計算機科學,2007(06):81-83.

[8] 胡志明.基于ARP欺騙的中間人攻擊與防御技術研究[J].信息技術與信息化,2020(12):111-114.

作者簡介:

施潤杰(2000-),男,本科生.研究領域:信息安全.

康曉鳳(1978-),女,碩士,副教授.研究領域:信息安全.

王? ?可(2001-),男,本科生.研究領域:信息安全.

茅璋瑞(2001-),男,本科生.研究領域:信息安全.

猜你喜歡
網絡安全
網絡安全(上)
網絡安全知多少?
工會博覽(2023年27期)2023-10-24 11:51:28
新量子通信線路保障網絡安全
網絡安全
網絡安全人才培養應“實戰化”
上網時如何注意網絡安全?
網絡安全與執法專業人才培養探索與思考
設立網絡安全專項基金 促進人才培養
網絡安全監測數據分析——2015年11月
互聯網天地(2016年1期)2016-05-04 04:03:20
打造信息網絡安全的銅墻鐵壁
主站蜘蛛池模板: 欧美日韩国产在线观看一区二区三区| 亚洲h视频在线| 欧美日韩国产高清一区二区三区| 在线色国产| 最新国产高清在线| 久久视精品| 国产视频只有无码精品| 777国产精品永久免费观看| 色视频国产| 四虎AV麻豆| 91福利一区二区三区| 日韩欧美视频第一区在线观看| 亚洲黄色激情网站| 国产情侣一区| 青青草原国产精品啪啪视频| 午夜少妇精品视频小电影| 毛片基地视频| 欧美另类图片视频无弹跳第一页| 成年人国产视频| 日韩AV无码一区| 丁香综合在线| 在线观看亚洲天堂| 国产又黄又硬又粗| 美美女高清毛片视频免费观看| 欧美区一区二区三| 免费看美女毛片| 色哟哟色院91精品网站| 四虎国产精品永久一区| 国产欧美日韩精品综合在线| 国产成人免费高清AⅤ| 亚洲视频免费在线看| 国产高清无码麻豆精品| 国产一区二区在线视频观看| 国产免费黄| 免费人成网站在线观看欧美| 久草中文网| 性欧美在线| 天天摸夜夜操| 免费看a毛片| 亚洲无线一二三四区男男| 麻豆精品视频在线原创| 色婷婷色丁香| 欧美精品xx| 91青青在线视频| 日本免费高清一区| 国产麻豆精品久久一二三| 国产乱子伦视频在线播放 | 亚洲美女高潮久久久久久久| 九色视频线上播放| 国产成人精品亚洲日本对白优播| 亚洲视频免费播放| 日本在线欧美在线| 国产精品微拍| 欧美精品伊人久久| 亚洲国产精品日韩专区AV| 国产不卡在线看| 91青草视频| 91国内视频在线观看| 国产午夜福利片在线观看| 亚洲午夜国产精品无卡| 成人福利在线视频免费观看| 久久精品一品道久久精品| 国产成人亚洲精品蜜芽影院| 一本色道久久88亚洲综合| 四虎永久免费在线| 国产精品视屏| 黄色网站在线观看无码| 免费一级无码在线网站| 国产主播福利在线观看| 亚洲va欧美ⅴa国产va影院| 色国产视频| 国产精品女在线观看| 国产成人三级在线观看视频| 欧美在线黄| 白浆免费视频国产精品视频| 亚洲自拍另类| 亚洲无码精彩视频在线观看 | 亚洲最大综合网| 国产原创演绎剧情有字幕的| 国产成人综合在线视频| 在线国产毛片手机小视频 | 在线看AV天堂|