ARP防火牆
應用於android系統的殺毒軟體
ARP防火牆通過在系統內核層攔截虛假ARP數據包以及主動通告網關本機正確的MAC地址,可以保障數據流向正確,不經過第三者。從而保證通訊數據安全、保證網路暢通、保證通訊數據不受第三者控制。包括攔截ARP攻擊、攔截IP衝突、Dos攻擊抑制、ARP數據分析等功能。
網路經常掉線、發生IP衝突、擔心通訊數據受到監控(如MSN、QQ、EMAIL)、網路速度受到網管軟體限制(如聚生網管、P2P終結者)、甚至深受各種ARP攻擊軟體之苦(如網路執法官、網路剪刀手、區域網終結者)等這些問題是我們上網時經常遇到的,而這些問題的產生,根源都是ARP欺騙(ARP攻擊)。在沒有ARP欺騙之前,數據流向是這樣的:網關<->本機。ARP欺騙之後,數據流向是這樣的:網關<->攻擊者(“網管”)<->本機,本機與網關之間的所有通訊數據都將流經攻擊者(“網管”),所以“任人宰割”就在所難免了。
攔截攻擊
(1) 在系統內核層攔截外部虛假ARP數據包,保障系統不受ARP欺騙、ARP攻擊影響,保持網路暢通及通訊安全;
(2) 在系統內核層攔截本機對外的ARP攻擊數據包,以減少感染惡意程序后對外攻擊給用戶帶來的麻煩;
攔截IP衝突
在系統內核層攔截IP衝突數據包,保障系統不受IP衝突攻擊的影響;
Dos攻擊抑制
在系統內核層攔截本機對外的TCP SYN/UDP/ICMP/ARP DoS攻擊數據包,定位惡意發動DoS攻擊的程序,從而保證網路的暢通;
安全模式
除了網關外,不響應其它機器發送的ARP Request,達到隱身效果,減少受到ARP攻擊的幾率;
P數據分析
分析本機接收到的所有ARP數據包,掌握網路動態,找出潛在的攻擊者或中毒的機器;
監測緩存
自動監測本機ARP緩存表,如發現網關MAC地址被惡意程序篡改,將報警並自動修復,以保持網路暢通及通訊安全;
主動防禦
主動與網關保持通訊,通告網關正確的MAC地址,以保持網路暢通及通訊安全;
ARP防火牆
發現攻擊行為後,自動快速鎖定攻擊者IP地址;
病毒專殺
發現本機有對外攻擊行為時,自動定位本機感染的惡意程序、病毒程序;
ARP是Address Resolution Protocol(地址轉換協議)的簡稱,是TCP/IP協議中最底層的協議之一。它的作用是完成IP地址到MAC(物理地址)的轉換。在區域網中兩台計算機之間的通訊,或者區域網中的計算機將IP數據包轉發給網關的時候,網卡都需要知道目標計算機的物理地址,以填充物理幀中的目的地址。
假設同一乙太網中的計算機A(192.168.0.1)需要向計算機B(192.168.0.2)發送數據報,而此時A尚不知道B的物理地址。為了獲得B的物理地址,A在區域網上發送ARP廣播,查詢192.168.0.2這個物理地址,同時在ARP包中填入自己的物理地址Ma,相當於發出這樣的詢問“誰拿了192.168.0.2這個地址?請回Ma這個物理地址。”計算機B在收到了這個查詢以後,以Ma為目的地址發回一個ARP包,裡面包含了自己的物理地址。這樣通訊的雙方都了解了對方的物理地址,通訊過程正式建立。
ARP防火牆
ARP防火牆
ARP防火牆
IP Helper API GetIpNetTable 函數能夠提取出本機上的所有ARP表項。使用它的方法與上一篇文章中使用的函數相當的類似,你也必須兩次使用它,第一次獲得緩衝的大小,而第二次獲得實際的ARP表。這個映射表是以數組的方式指出的。其結構如下:
typedef struct _MIB_IPNETTABLE {
DWORD dwNumEntries; //數組的大小
MIB_IPNETROW table[ANY_SIZE]; //數組本身
} MIB_IPNETTABLE, *PMIB_IPNETTABLE;
而MIB_IPNETROW 的定義:
typedef struct _MIB_IPNETROW {
DWORD dwIndex; // 網路介面的索引號
DWORD dwPhysAddrLen; // 物理地址長度
BYTE bPhysAddr[MAXLEN_PHYSADDR]; // 物理地址
DWORD dwAddr; // IP地址
ARP防火牆
其中dwType 即ARP表項類型是比較重要的東西,因為某些ARP表項一但設定就不再改變,比方本機地址的ARP表項和默認網關的地址表項等等,這些ARP表項並不會“過期”,除非網路故障或者設置改變了以後,會重新生成一次ARP查詢。這種表項被稱為“靜態”的。此時dwType的值為4。在程序中,我們不必刪除這類表項(雖然刪了它們也不會造成什麼後果)。
然而在實際的程序中,我使用了FlushIPNetTable這個函數來刪除特定網卡上的ARP緩衝。
然後是刪除一個表項的DeleteIpNetEntry,修改表項的SetIpNetEntry 和添加表項的CreateIpNetEntry 。還有兩個管理代理ARP表項的函數,關於代理ARP,可以看看《使用TCP/IP 協議實現網際互連(第一卷)》關於ARP代理的部分,由於與我們的程序無關,就不做介紹了。
最後需要詳述的函數是SendARP。它的原型如下:
DWORD SendARP(
IPAddr DestIP, // 目的IP 地址
IPAddr SrcIP, // 源IP地址,可選參數,把它填成0不會有問題
PULONG pMacAddr, // 返回的物理地址
PULONG PhyAddrLen // 物理地址的長度
瑞星防火牆
風雲防火牆
360ARP防火牆通過在系統內核層攔截ARP攻擊數據包,確保網關正確的MAC地址不被篡改,完美的解決區域網內ARP攻擊問題。
伺服器安全狗-ARP防火牆
ARP防火牆
彩影防火牆
超級巡警防火牆
金山ARP防火牆能夠雙向攔截ARP欺騙攻擊包,監測鎖定攻擊源,時刻保護區域網用戶PC的正常上網數據流向,是一款是適於個人用戶的反ARP欺騙保護工具!網關動態探測+識別——識破偽造的網關地址,動態獲取、並分析判斷後為受保護PC綁定正確的網關地址,從而時刻保障保護本機上網數據的正確流向。同時也支持用戶手動設置綁定網關地址。主動向真網關表明合法身份
雙向攔截ARP攻擊——外部攻擊、本機受感染攻擊均不影響使用
攔截來自外部接受或是由本機發出的ARP攻擊數據包並提醒用戶,保障本機及其它PC的網路通暢。保護本機不受IP衝突攻擊的影響,擊源追蹤鎖定,抓住罪魁禍首。
攔截到ARP攻擊包后立即追蹤攻擊源,找出安全威脅源頭。
ARP防火牆
利用金山毒霸強大的網際網路可信認證技術,利用強大的後台數據支持來判斷安全與否,從而最大程度的減少對用戶的騷擾,且更有利於攔截危險程序。對被保護進程使用了進程隱藏功能之後,如同穿上了傳說中的隱身衣,這些進程將無法被Ring3層的其他程序所發現。從而加大了木馬查找並攻擊這些程序的難度。(注意:這個功能可能會導致某些使用了行為攔截技術的軟體誤報為Rootkit)。
ARP防火牆