當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]漏洞掃描原理及程序

  1 引言

  網絡掃描,是基于Internet的、探測遠端網絡或主機信息的一種技術,也是保證系統(tǒng)和網絡安全必不可少的一種手段。主機掃描,是指對計算機主機或者其它網絡設備進行安全性檢測,以找出安全隱患和系統(tǒng)漏洞??傮w而言,網絡掃描和主機掃描都可歸入漏洞掃描一類。漏洞掃描本質上是一把雙刃劍:黑客利用它來尋找對網絡或系統(tǒng)發(fā)起攻擊的途徑,而系統(tǒng)管理員則利用它來有效防范黑客入侵。通過漏洞掃描,掃描者能夠發(fā)現(xiàn)遠端網絡或主機的配置信息、 TCP/UDP端口的分配、提供的網絡服務、服務器的具體信息等。

  2 漏洞掃描原理

  漏洞掃描可以劃分為ping掃描、端口掃描、OS探測、脆弱點探測、防火墻掃描五種主要技術,每種技術實現(xiàn)的目標和運用的原理各不相同。按照 TCP/IP協(xié)議簇的結構,ping掃描工作在互聯(lián)網絡層:端口掃描、防火墻探測工作在傳輸層;0S探測、脆弱點探測工作在互聯(lián)網絡層、傳輸層、應用層。 ping掃描確定目標主機的IP地址,端口掃描探測目標主機所開放的端口,然后基于端口掃描的結果,進行OS探測和脆弱點掃描。

  2.1 Ping掃描

  ping掃描是指偵測主機IP地址的掃描。ping掃描的目的,就是確認目標主機的TCP/IP網絡是否聯(lián)通,即掃描的IP地址是否分配了主機。對沒有任何預知信息的黑客而言,ping掃描是進行漏洞掃描及入侵的第一步;對已經了解網絡整體IP劃分的網絡安全人員來講,也可以借助ping掃描,對主機的IP分配有一個精確的定位。大體上,ping掃描是基于ICMP協(xié)議的。其主要思想,就是構造一個ICMP包,發(fā)送給目標主機,從得到的響應來進行判斷。根據(jù)構造ICMP包的不同,分為ECH0掃描和non—ECHO掃描兩種。

  2.1.1 ECH0掃描

  向目標IP地址發(fā)送一個ICMP ECHOREQUEST(ICMP type 8)的包,等待是否收至UICMP ECHO REPLY(ICMP type 0)。如果收到了ICMP ECHO REPLY,就表示目標IP上存在主機,否則就說明沒有主機。值得注意的是,如果目標網絡上的防火墻配置為阻止ICMP ECH0流量,ECH0掃描不能真實反映目標IP上是否存在主機。

  此外,如果向廣播地址發(fā)送ICMPECHO REQUEST,網絡中的unix主機會響應該請求,而windows主機不會生成響應,這也可以用來進行OS探測。

  2.1.2 non-ECH0掃描

  向目的IP地址發(fā)送一個ICMP TIMESTAMP REQUEST(ICMP type l3),或ICMP ADDRESS MASK REQUEST (ICMP type l7)的包,根據(jù)是否收到響應,可以確定目的主機是否存在。當目標網絡上的防火墻配置為阻止ICMP ECH0流量時,則可以用non.ECH0掃描來進行主機探測。

  2.2端口掃描

  端口掃描用來探測主機所開放的端口。端口掃描通常只做最簡單的端口聯(lián)通性測試,不做進一步的數(shù)據(jù)分析,因此比較適合進行大范圍的掃描:對指定 IP地址進行某個端口值段的掃描,或者指定端口值對某個IP地址段進行掃描。根據(jù)端口掃描使用的協(xié)議,分為TCP掃描和UDP掃描。

  2.2.1 TCP掃描

  主機間建立TCP連接分三步(也稱三次握手):

  (1)請求端發(fā)送一個SYN包,指明打算連接的目的端口。

  (2)觀察目的端返回的包:

  返回SYN/ACK包,說明目的端口處于偵聽狀態(tài);

  返回RST/ACK包,說明目的端口沒有偵聽,連接重置。

  (3)若返回SYN/ACK包,則請求端向目的端口發(fā)送ACK包完成3次握手,TCP連接建立。

  根據(jù)TCP連接的建立步驟,TCP掃描主要包含兩種方式:

  (1)TCP全連接和半連接掃描

  全連接掃描通過三次握手,與目的主機建立TCP連接,目的主機的log文件中將記錄這次連接。而半連接掃描(也稱TCP SYN掃描)并不完成TCP三次握手的全過程。掃描者發(fā)送SYN包開始三次握手,等待目的主機的響應。如果收到SYN/ACK包,則說明目標端口處于偵聽狀態(tài),掃描者馬上發(fā)送RST包,中止三次握手。因為半連接掃描并沒有建立TCP連接,目的主機的log文件中可能不會記錄此掃描。

  (2)TCP隱蔽掃描

  根據(jù)TCP協(xié)議,處于關閉狀態(tài)的端口,在收到探測包時會響應RST包,而處于偵聽狀態(tài)的端口則忽略此探測包。根據(jù)探測包中各標志位設置的不同,TCP隱蔽掃描又分為SYN/ACK掃描、FIN掃描、XMAS(圣誕樹)掃描和NULL掃描四種。

  SYN/ACK掃描和FIN掃描均繞過TCP三次握手過程的第一步,直接給目的端口發(fā)送SYN/ACK包或者FIN包。因為TCP是基于連接的協(xié)議,目標主機認為發(fā)送方在第一步中應該發(fā)送的SYN包沒有送出,從而定義這次連接過程錯誤,會發(fā)送一個RST包以重置連接。而這正是掃描者需要的結果— 只要有響應,就說明目標系統(tǒng)存在,且目標端口處于關閉狀態(tài)。

  XMAS掃描和NULL掃描:這兩類掃描正好相反,XMAS掃描設置TCP包中所有標志位(URG、ACK、RST、PSH、SYN、FIN),而NULL掃描則關閉TCP包中的所有標志位。

  2.2.2 UDP端口掃描

  UDP協(xié)議是數(shù)據(jù)包協(xié)議,為了要發(fā)現(xiàn)正在服務的UDP端口,通常的掃描方式是構造一個內容為空的UDP數(shù)據(jù)包送往目的端口。若目的端口上有服務正在等待,則目的端口返回錯誤的消息;若目的端口處于關閉狀態(tài),則目的主機返回ICMP端口不可達消息。因為UDP端口掃描軟件要計算傳輸中丟包的數(shù)量,所以UDP端口掃描的速度很慢。

  2.3 0S探測

  OS探測有雙重目的:一是探測目標主機的0S信息,二是探測提供服務的計算機程序的信息。比如OS探測的結果是:OS是Windows XP sp3,服務器平臺是IIS 4.0。

  2.3.1二進制信息探測

  通過登錄目標主機,從主機返回的banner中得知OS類型、版本等,這是最簡單的0S探測技術。

  


 

  圖1 二進制信息[!--empirenews.page--]

  從圖l可以看出,在telnet連上FTP服務器后,服務器返回的banner已經提供了server的信息,在執(zhí)行ftp的syst命令后可得到更具體的信息。

  2.3.2 HTTP響應分析

  在和目標主機建立HTTP連接后,可以分析服務器的響應包得出OS類型。比如響應包中可能包含如下信息:

  

 

  圖2 響應包分析

  從圖2中對響應包中的數(shù)據(jù)分析,可以得到server的信息。

  2.3.3棧指紋分析

  網絡上的主機都會通過TCP/IP或類似的協(xié)議棧來互通互聯(lián)。由于0S開發(fā)商不唯一,系統(tǒng)架構多樣,甚至是軟件版本的差異,都導致了協(xié)議棧具體實現(xiàn)上的不同。對錯誤包的響應,默認值等都可以作為區(qū)分0S的依據(jù)。

  (1)主動棧指紋探測

  主動棧指紋探測是主動向主機發(fā)起連接,并分析收到的響應,從而確定OS類型的技術。

  1)FIN探測。跳過TCP三次握手的順序,給目標主機發(fā)送一個FIN包。RFC793規(guī)定,正確的處理是沒有響應,但有些OS,如MS Windows,CISC0,HP/UX等會響應一個RST包。

  2)Bogus標志探測。某些OS會設置SYN包中TCP頭的未定義位(一般為64或128),而某些0S在收到設置了這些Bogus位的SYN包后,會重置連接。

  3)統(tǒng)計ICMP ERROR報文。RFCl812中規(guī)定了ICMP ERROR消息的發(fā)送速度。Linux設定了目標不可達消息上限為80個/4秒。0S探測時可以向隨機的高端UDP端口大量發(fā)包,然后統(tǒng)計收到的目標不可達消息。用此技術進行OS探測時時間會長一些,因為要大量發(fā)包,并且還要等待響應,同時也可能出現(xiàn)網絡中丟包的情況。

  4)ICMPERROR報文引用。RFC文件中規(guī)定,ICMP ERROR消息要引用導致該消息的ICMP消息的部分內容。例如對于端口不可達消息,某些OS返回收到的IP頭及后續(xù)的8個字節(jié),Solaris返回的 ERROR消息中則引用內容更多一些,而Linux比Solaris還要多。

  (2)被動棧指紋探測

  被動棧指紋探測是在網絡中監(jiān)聽,分析系統(tǒng)流量,用默認值來猜測0S類型的技術。

  1)TCP初始化窗口尺寸。通過分析響應中的初始窗口大小來猜測OS的技術比較可靠,因為很多0S的初始窗口尺寸不同。比如AIX設置的初始窗口尺寸是0x3F25,而Windows NT5、OpenBSD、FreeBSD設置的值是0x402E。

  2)Don’t Fragment位。為了增進性能,某些0S在發(fā)送的包中設置了DF位,可以從DF位的設置情況中做大概的判斷。

  3)TCPISN采樣。建立TCP連接時,SYN/ACK中初始序列號ISN的生成存在規(guī)律,比如固定不變、隨機增加 (Solaris,F(xiàn)reeBSD等),真正的隨機(Linux 2.0.*),而Windows使用的是時間相關模型,ISN在每個不同時間段都有固定的增量。

  2.4脆弱點掃描

  從對黑客攻擊行為的分析和脆弱點的分類,絕大多數(shù)掃描都是針對特定操作系統(tǒng)中特定的網絡服務來進行,即針對主機上的特定端口。脆弱點掃描使用的技術主要有基于脆弱點數(shù)據(jù)庫和基于插件兩種。

  2.4.1基于脆弱點數(shù)據(jù)庫的掃描

  首先構造掃描的環(huán)境模型,對系統(tǒng)中可能存在的脆弱點、過往黑客攻擊案例和系統(tǒng)管理員的安全配置進行建模與分析。其次基于分析的結果,生成一套標準的脆弱點數(shù)據(jù)庫及匹配模式。最后由程序基于脆弱點數(shù)據(jù)庫及匹配模式自動進行掃描工作。脆弱點掃描的準確性取決于脆弱點數(shù)據(jù)庫的完整性及有效性。[!--empirenews.page--]

  2.4.2基于插件的掃描

  插件是由腳本語言編寫的子程序模塊,掃描程序可以通過調用插件來執(zhí)行掃描。添加新的功能插件可以使掃描程序增加新的功能,或者增加可掃描脆弱點的類型與數(shù)量。也可以升級插件來更新脆弱點的特征信息,從而得到更為準確的結果。插件技術使脆弱點掃描軟件的升級維護變得相對簡單,而專用腳本語言的使用也簡化了編寫新插件的編程工作,使弱點掃描軟件具有很強的擴展性。

  2.5防火墻規(guī)則探測

  采用類似于traceroute的IP數(shù)據(jù)包分析法,檢測能否給位于過濾設備后的主機發(fā)送一個特定的包,目的是便于漏洞掃描后的入侵或下次掃描的順利進行。通過這種掃描,可以探測防火墻上打開或允許通過的端口,并且探測防火墻規(guī)則中是否允許帶控制信息的包通過,更進一步,可以探測到位于數(shù)據(jù)包過濾設備后的路由器。

  3 常見漏洞掃描程序

  通常在制定漏洞掃描策略時,掃描者會考慮程序的操作系統(tǒng)、所應用的技術、易用性、準確性等因素。其中,程序的可用性是最重要的,也是最基本的,但是可控性和準確性同樣不容忽視。

  3.1 Unix/Linux平臺

  3.1.1 hping

  hping支持TCP、UDP、ICMP、RAW-IP多種協(xié)議。特點在于能進行ping掃描、端口掃描、0S探測、防火墻探測等多種掃描,并能自定義發(fā)送的ICMP/UDP/TCP包到目標地址并且顯示響應信息。

  3.1.2 icmpush&icmpquery

  icmpush&icmpquery的特點在于完全應用了ICMP協(xié)議,可以定制ICMP包的結構以及種類。掃描者可以用這套工具把目標網絡的各個子網全部查找出來,從而可以撇開廣播地址而集中掃描某幾個特定的子網。

  3.1.3 Xprobe 2

  是專業(yè)的端口掃描、OS探測程序。特點在于自身的0S特征數(shù)據(jù)庫詳細,進行OS探測的可靠性較好。

  3.1.4 THC-Anap

  OS探測程序。特點在于掃描速度快,掃描結果可靠。

  3.1.5 Whisker

  針對CGI的脆弱點探測程序。應用了多線程、多文件掃描技術,脆弱點數(shù)據(jù)庫更新頻繁,對掃描結果自行復核,從而掃描結果可靠性好。

  3.1.6 Nessus

  脆弱點探測程序。應用了主動掃描、高速掃描技術,可設置掃描過程。特點在于支持DMZ區(qū)以及多物理分區(qū)網絡的大范圍掃描。

  3.1.7 Firewalk

  防火墻探測程序。使用類似traceroute的技術來分析IP包的響應,從而測定防火墻的訪問控制列表和繪制網絡拓撲圖。

  3.2 Windows平臺

  3.2.1 Pinger

  是一個圖形化的ping掃描工具。特點在于可以指定要ping的IP地址,以圖形的形式顯示掃描結果,并保存至文本文件。

  3.2.2 Fport

  是端口掃描程序。特點在于可以把掃描出的端口與使用該端口的程序相匹配,掃描速度快,匹配程度較好。

  3.2.3 SuperScan

  可以進行ping掃描、端口掃描、0S探測,并且白帶一個木馬端口列表,可以檢測目標計算機是否有木馬。

  3.2.4 GFILANguard

  脆弱點探測程序。特點在于集成了網絡審計、補丁管理功能,可以自動生成網絡拓撲圖、自動補丁管理。

  上述漏洞掃描程序及特點如表1所示。

  4 結論

  一般而言,綜合地應用多種掃描方法或掃描程序可以得到比較滿意的結果。但是漏洞掃描從其技術原理上分析,有不可忽視的副作用。比如對大范圍的 IP地址或者端口進行某種掃描,反復高速的發(fā)出特定的連接請求,所造成的結果就是目標網絡及主機上存在大量的連接請求數(shù)據(jù)包,可以造成網絡擁塞,主機無法正常使用,這正是DoS攻擊的方法及表現(xiàn)。因此若要防范漏洞掃描以及可能的DoS攻擊,要做到以下三點:

  1.在防火墻及過濾設備上采用嚴格的過濾規(guī)則,禁止掃描的數(shù)據(jù)包進入系統(tǒng)。

  2.主機系統(tǒng)除了必要的網絡服務外,禁止其它的網絡應用程序。

  3.對于只對內開放的網絡服務,更改其提供服務的端口。

  此外,網絡掃描時發(fā)送的數(shù)據(jù)或多或少都會含有掃描者自身相關信息,從而也可以抓取掃描時的數(shù)據(jù)包,對掃描者進行反向追蹤,這也是一個值得研究的方向。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉