2009年4月18日 星期六

安全知識:“網絡釣魚”的原理與防範

摘自:http://www.anqn.com/article/a/2005-07-29/a098480.shtml

  數月前,很多用戶收到了一封貌似來自美國花旗銀行的E-mail,若點擊郵件正文中的超級鏈接,便會打開美國花旗銀行的頁面,盡管IE地址欄中顯示的是https://web.da-us.citibank.com/cgi-bin/citifi/scripts/login2/login.jsp(美國花旗的網址),但大家千萬不要認為自己進入了真正美國花旗銀行的網站,你所造訪的不過是一個假冒網站而已。
  上述這種欺騙方法就是“網絡釣魚(Phishing)”,一種正趨于流行的網絡詐騙手段。
  其實在該網頁上單擊鼠標右鍵,選擇右鍵菜單中的“內容”選項便可確認真正的URL地址(如圖)。

小知識:
  網絡釣魚(Phishing)一詞,是“Fishing”和“Phone”的綜合詞,由于黑客的“老祖宗”起初是以電話作案,所以用“Ph”來取代“F”,創造了”Phishing”這個詞匯。它利用欺騙性的E-mail和偽造的Web站點來進行詐騙活動,使受騙者泄露自己的重要數据,如信用卡號、用戶名和口令等。

漁”具剖析
  仿冒網址的技朮很早就已經被發現,實現的方法也有很多種。据德國的安全研究人員弗蘭玆分析,若黑客在一個網頁的HTML href 標簽中放置兩個URL和一個表格,那麼IE 瀏覽器就會顯示“欺騙性”的那個鏈接,這種假冒的鏈接會在用戶毫不知情的情況下將他們帶到一個完全陌生的網站。
  就目前筆者所掌握的資料看來,除了上述所講的方法外,還可以在網頁中添加JavaScript等語言所制作的腳本,通過更改狀態欄所顯示的內容來進行欺騙;另外利用人們的疏忽大意,根据英文字母“o”、“l”與數字“0、“1”相似的特點,讓這些字符與真正的網址內容混淆,使用戶將仿冒的網址當成正确的網址進行點擊。
  不久前,一惡意網站(www.1enovo.com)偽裝成聯想主頁(www.lenovo.com),前者將數字1取代英文字母L,並利用多種IE漏洞種植網頁木馬,同時散布“聯想集團和騰訊公司聯合贈送QQ幣”的虛假消息,結果造成很多用戶訪問該網站時感染了病毒,李逵與李鬼讓人真假難辨!

“魚”死網“破”
  從仿冒地址的技朮成因以及實現手段來看,它一直奉行著“姜太公釣魚,願者上鉤”的策略。大多數用戶通過點擊E-mail中所提供的地址進入假冒網站,進入後後基本上都會為了實現某種需要而進行各種操作,這些操作往往會把你的重要數据洩漏出去,從而造成巨大的損失。
  据著名的市場調查研究公司Gartner公司最近一項調查表明,約5700萬名美國消費者收到過此類仿冒的E-mail,有高達5%的人都會對這些騙局做出響應。由于仿冒網址技技術不斷升級,Gartner公司還預測,這種詐騙會快速蔓延到通過E-mail與客戶通信的所有商業領域,任何擁有在線業務的公司都將成為潛在的受害者。

拒絕“魚餌”
  對于個人用戶,可以通過實施一些反垃圾郵件措施去抵御這些郵件。假如不幸中招,應盡快更改重要數据,例如銀行的賬戶及密碼等,將損失減少到最低限度。
  除了上述個人的應對之策外,一些公司也積极開發出了防範仿冒網址的軟件產品。專業身份認証企業CoreStreet在其站點上就提供了一種被稱為Spoofstick的免費瀏覽器助手,當用戶在登錄合法站點,如signin.cpcw.com/aw-cgi/ ..時,地址欄的下方會出現一個明顯的注釋,並顯示“You’re on cpcw.com”,若用戶被騙到了一個偽造的站點,那麼該注釋便會顯示“You’re on 10.19.32.4”,這足以引起我們重視。
  美國的EarthLink公司也推出了具有防止仿冒功能的工具條,它包含有一些臭名昭著的網站地址數据庫,當用戶試圖訪問已被确認的詐騙網站時,該工具條便會發出警告,並且將用戶重定向到EarthLink公司的網頁。

反“漁”聯盟
  為了防範那些利用仿冒網址而危及用戶利益的事件發生,在美國和英國已經成立了專門反假冒網址等網絡詐騙的組織,比如2003年11月成立的APWG(Anti-Phishing Working Group)和2004年6月成立的TECF(Trusted Electronic Communications Forum)。一些國外公司的主頁底部也設有明顯鏈接,以提醒用戶注意有關E-mail詐騙的問題。而國內許多公司的主頁似乎還沒有這種安全防範意識,同時也沒有類似的組織去專門研究這方面的應對之策。
  隨著國內外的各種交流越來越頻繁,這種新型網絡詐騙的發生率必然也會上升,更何況黑客病毒技朮的迅速發展,仿冒網址技朮肯定也會“日新月异”,倘若今后我們遇到了這種局面,該如何去應對呢 .....?

掃描之王Nmap的經典使用(圖)

摘自:http://www.anqn.com/article/a/2005-08-31/a0952749.shtml

許多人認為端口掃描器是黑客們才需要關心的工具,其實不然,知己知彼,才能百戰不殆,端口掃描器是幫助你了解 自己系統的絕佳助手。像Windows 2K/XP這樣復雜的操作系統支持應用軟件打開數百個端口與其他客戶程序或服務器通信,端口掃描是檢測服務器上運行了哪些服務和應用、向Internet或其他網絡開放了哪些聯系通道的一種辦法,不僅速度快,而且效果也很不錯。

  目前支持Win 2K/XP的端口掃描器已經有不少,部分還提供GUI(圖形用戶界面)。在諸多端口掃描器中,Nmap是其中的佼佼者——它提供了大量的命令行選項,能夠靈活地滿足各種掃描要求,而且輸出格式丰富。Nmap原先是為Unix平台開發的,是許多Unix管理員的至愛,后來才被移植到Windows平台。Nmap for Windows最新的穩定版本是3.27,可以從www.insecure.org/nmap/免費下載

一、安裝Nmap

  Nmap要用到一個稱為“Windows包捕獲庫”的驅動程序WinPcap——如果你經常從網上下載流媒體電影,可能已經熟悉這個驅動程序——某些流媒體電影的地址是加密的,偵測這些電影的真實地址就要用到WinPcap。WinPcap的作用是幫助調用程序(即這里的Nmap)捕獲通過網卡傳輸的原始數据。WinPcap的最新版本在http://netgroup-serv.polito.it/winpcap,支持XP/2K/Me/9x全系列操作系統,下載得到的是一個執行文件,雙擊安裝,一路确認使用默認設置就可以了,安裝好之后需要重新啟動。

  接下來從www.insecure.org/nmap/nmap_download.html下載Nmap(國內各大軟件網站也有,但一般版本更新略有滯后)。下載好之后解開壓縮,不需要安裝。除了執行文件nmap.exe之外,它還有下列參考文檔:

  ㈠ nmap-os-fingerprints:列出了500多種網絡設備和操作系統的堆棧標識信息。
  ㈡ nmap-protocols:Nmap執行協議掃描的協議清單。
  ㈢ nmap-rpc:遠程過程調用(RPC)服務清單,Nmap用它來确定在特定端口上監听的應用類型。
  ㈣ nmap-services:一個TCP/UDP服務的清單,Nmap用它來匹配服務名稱和端口號。除了命令行版本之外,www.insecure.org還提供了一個帶GUI的Nmap版本。和其他常見的Windows軟件一樣,GUI版本需要安裝,圖一就是GUI版Nmap的運行界面

二、常用掃描類型

  解開Nmap命令行版的壓縮包之后,進入Windows的命令控制台,再轉到安裝Nmap的目錄(如果經常要用Nmap,最好把它的路徑加入到PATH環境變量)。不帶任何命令行參數運行Nmap,Nmap顯示出命令語法,如圖二所示。



圖二

。GUI版的功能基本上和命令行版本一樣,鑒于許多人更喜歡用命令行版本,本文后面的說明就以命令行版本為主。 下面是Nmap支持的四種最基本的掃描方式:

  ⑴ TCP connect()端口掃描(-sT參數)。
  ⑵ TCP同步(SYN)端口掃描(-sS參數)。
  ⑶ UDP端口掃描(-sU參數)。
  ⑷ Ping掃描(-sP參數)。

  如果要勾畫一個網絡的整體情況,Ping掃描和TCP SYN掃描最為實用。Ping掃描通過發送ICMP(Internet Control Message Protocol,Internet控制消息協議)回應請求數据包和TCP應答(Acknowledge,簡寫ACK)數据包,确定主机的狀態,非常適合于檢測指定網段內正在運行的主机數量。

  TCP SYN掃描一下子不太好理解,但如果將它與TCP connect()掃描比較,就很容易看出這種掃描方式的特點。在TCP connect()掃描中,掃描器利用操作系統本身的系統調用打開一個完整的TCP連接——也就是說,掃描器打開了兩個主机之間的完整握手過程(SYN,SYN-ACK,和ACK)。一次完整執行的握手過程表明遠程主机端口是打開的。

  TCP SYN掃描創建的是半打開的連接,它與TCP connect()掃描的不同之處在于,TCP SYN掃描發送的是復位(RST)標記而不是結束ACK標記(即,SYN,SYN-ACK,或RST):如果遠程主机正在監听且端口是打開的,遠程主机用SYN-ACK應答,Nmap發送一個RST;如果遠程主机的端口是關閉的,它的應答將是RST,此時Nmap轉入下一個端口。

  圖三是一次測試結果,很明顯,TCP SYN掃描速度要超過TCP connect()掃描。采用默認計時選項,在LAN環境下掃描一個主机,Ping掃描耗時不到十秒,TCP SYN掃描需要大約十三秒,而TCP connect()掃描耗時最多,需要大約7分鐘。



圖三

  Nmap支持丰富、靈活的命令行參數。例如,如果要掃描192.168.7網絡,可以用192.168.7.x/24或192.168.7.0-255的形式指定IP地址范圍。指定端口范圍使用-p參數,如果不指定要掃描的端口,Nmap默認掃描從1到1024再加上nmap-services列出的端口。如果要查看Nmap運行的詳細過程,只要啟用verbose模式,即加上-v參數,或者加上-vv參數獲得更加詳細的信息。例如,nmap -sS 192.168.7.1-255 -p 20,21,53-110,30000- -v命令,表示執行一次TCP SYN掃描,啟用verbose模式,要掃描的網絡是192.168.7,檢測20、21、53到110以及30000以上的端口(指定端口清單時中間不要插入空格)。再舉一個例子,nmap -sS 192.168.7.1/24 -p 80掃描192.168.0子網,查找在80端口監听的服務器(通常是Web服務器)。

  有些網絡設備,例如路由器和網絡打印机,可能禁用或過濾某些端口,禁止對該設備或跨越該設備的掃描。初步偵測網絡情況時,-host_timeout<毫秒數>參數很有用,它表示超時時間,例如nmap sS host_timeout 10000 192.168.0.1命令規定超時時間是10000毫秒。

  網絡設備上被過濾掉的端口一般會大大延長偵測時間,設置超時參數有時可以顯著降低掃描網絡所需時間。Nmap會顯示出哪些網絡設備響應超時,這時你就可以對這些設備個別處理,保証大范圍網絡掃描的整體速度。當然,host_timeout到底可以節省多少掃描時間,最終還是由網絡上被過濾的端口數量決定。

  Nmap的手冊(man文檔)詳細說明了命令行參數的用法(雖然man文檔是針對UNIX版Nmap編寫的,但同樣提供了Win32版本的說明)。

三、注意事項

  也許你對其他端口掃描器比較熟悉,但Nmap絕對值得一試。建議先用Nmap掃描一個熟悉的系統,感覺一下Nmap的基本運行模式,熟悉之后,再將掃描范圍擴大到其他系統。首先掃描內部網絡看看Nmap報告的結果,然后從一個外部IP地址掃描,注意防火墻、入侵檢測系統(IDS)以及其他工具對掃描操作的反應。通常,TCP connect()會引起IDS系統的反應,但IDS不一定會記錄俗稱“半連接”的TCP SYN掃描。最好將Nmap掃描網絡的報告整理存檔,以便隨后參考。

  如果你打算熟悉和使用Nmap,下面几點經驗可能對你有幫助:

  ㈠ 避免誤解。不要隨意選擇測試Nmap的掃描目標。許多單位把端口掃描視為惡意行為,所以測試Nmap最好在內部網絡進行。如有必要,應該告訴同事你正在試驗端口掃描,因為掃描可能引發IDS警報以及其他網絡問題

  ㈡ 關閉不必要的服務。根据Nmap提供的報告(同時考慮網絡的安全要求),關閉不必要的服務,或者調整路由器的訪問控制規則(ACL),禁用網絡開放給外界的某些端口。

  ㈢ 建立安全基准。在Nmap的幫助下加固網絡、搞清楚哪些系統和服務可能受到攻擊之后,下一步是從這些已知的系統和服務出發建立一個安全基准,以后如果要啟用新的服務或者服務器,就可以方便地根据這個安全基准執行。