《網路安全》 網路攻擊模式簡介 歐士源、黃世昆 編按:近日,日本科技聽、統計局等官方網站再傳連續遭到入侵,凸顯 出邁入公元兩千年的網路安全問題更值得關注與重視。為加強網路 之使用與安全觀念,本期通訊特闢「網路安全」專題,邀請本院資 訊研究所助研究員黃世昆教授暨現就讀中原大學資工所並參與該所 網路入侵偵測計畫歐士源同學,就其研究與專業,分析並探討網路 世界中的攻擊行為模式與判別。 攻擊模式的界定 若要界定攻擊,依照入侵偵測的分類,有以下兩種攻擊的歸類方法: 1、正面列表:正面列表規範正常行為,凡違反此規範之行為都視為侵 犯。 2、負面列表:訂定不正當行為、已知之攻擊行為特徵,凡在此列表之 行為也視為侵犯,這是「攻擊特徵」的偵測方法,傳統電腦病毒偵 測就屬於此類方法。 第一種方法容易錯誤拒絕正常之網路連線,而第二種方法則容易 錯誤接受攻擊的行為。故如何界定「異常」、與「不當」的清楚規 範,以找出攻擊行為,正是入侵偵防最重要的一環。 不當與異常模式 (Misuse Model和Anomaly Model) 根據上述攻擊模式的界定方法,又可分成「不當使用」與「異常 使用」兩種攻擊模式。所謂不當使用模式,是一種直接的攻擊偵測 方式,即收集分析使用者的所有運作行為(command和session…等 ),並將此行為樣式與系統攻擊資料庫中的資料加以比較。此攻擊 資料庫中,詳細定義著各種入侵攻擊樣式(attack pattern或 attack signature)。若相似於入侵攻擊的樣式,便視為是一種攻 擊入侵行為,而入侵偵測系統(Intrusion Detection System,簡 稱IDS)便發送一警告訊息給予系統安全管理者,或者自行採取進一 步的確認行動。 另外一種設計模式,則是採取間接的設計方式。這類IDS系統不再 定義各種入侵攻擊的行為樣式,而改定義正常使用者的行為樣式( normal behavior)。若某時段所偵測到的使用者行為樣式不同於正 常使用者的行為樣式,便將此一使用者的行為,視為異常行為。採 取此種設計模式的好處之一,乃是系統安全人員不需經常更新入侵 攻擊的行為樣式。若不如此,對於新創造的入侵攻擊方法,資料庫 當中並無相關於此的資訊,而在一個以不當使用模式為主的IDS系統 上,此攻擊行為將能輕易且不被發現地入侵於系統網路內,造成破 壞的發生。這就好比現今大多數的防毒軟體一樣,必須每隔一段時 間,更新其病毒碼,否則對於新型態的病毒,將無法偵測出來。 然而不管是採用misuse model或是anomaly model設計模式,此兩 種模式都各有其優缺點。採用misuse model設計模式,優點是可以 幫助安全系統精確地偵測出是否有一攻擊入侵行為;其缺點則是必 須經常更新新型態的攻擊行為樣式。採用anomaly model設計模式, 優點是即使不更新行為樣式資料庫的內容,也不會影響安全系統的 偵察能力;缺點則是容易產生false alarm,也就是容易把合法使用 者的行為當作是不合法的。所以如何去增進misuse model的偵察能 力和降低false alarm的發生比例,則是未來系統安全專家們正在致 力的研究方向。 對於攻擊而言,有兩主體存在:(1)攻擊威脅源;(2)系統缺 陷。若無缺陷就無法構成攻擊。當在構築網路防線時,是在彌補「 系統缺陷」的漏洞。而攻擊的另一道防線就是在過濾「攻擊威脅源 」之攻擊來源。不過這兩種防禦工事並無法完全抵擋攻擊,最後一 道防線是「存活」。存活是被動的防禦,隨著攻擊事件、造成的破 壞,作對應的回復,使破壞的效果降低。因此這樣的對應關係描述 出 Intrusion Detection、Security Auditing及Survivability之 相依性,依此可建立動態防護系統。 根據上述幾個關係可清楚顯示一個入侵事件包含兩個主體:「攻 擊」與「弱點」。必須有弱點才能構成一個入侵事件,而也必須有 攻擊源的存在才能產生攻擊行動。 攻擊分類 若讀者想更清楚瞭解網路安全歷史,及討論安全弱點與入侵事件 的種種關係,可逕自參考文後【1】∼【9】之詳細參考資料。以下 則將分別介紹各種攻擊方法。 攻擊方式介紹 A)偵察攻擊: 1.結合多個主機偵測(coordinated multi-site scanners):如果 持續只從一個主機送出偵察的封包到攻擊目標主機,其被偵察出來 的機率,終究是較高的。故此處所用的方法,乃是將所要送出的探 測封包,將之分散於多個且散佈各處的站台上來傳送,而且儘可能 地使每一個站台所傳送的量都不高,最後再將各個站台所獲得的結 果整合統計出來,以獲得所要的資訊。故以此種攻擊方式來進行攻 擊,其入侵攻擊行為將更形隱密,而這也就代表著,安全防衛系統 想要抓出這些攻擊入侵行為,將是更加困難。 2.系統監視器偵察者(sniffer detectors):由於sniffer會產生其特 定的通訊樣式(traffic pattern),故可利用此來探測所要攻擊目 標的主機是否有架設於網路上。此外,由於其本身也可能有錯誤( bug)存在,故其系統本身也就成為攻擊目標的另一選擇。若其被成 功地入侵,所造成的結果將更行嚴重,因為這就好像公寓的保全攝 影機被破壞了一樣,小偷將可大大方方地進入公寓內而不被發現。 B)弱點探測(vulnerability identification): 此階段的目的,是想要能夠找出任何可從外部入侵到內部的路徑 。一些可能的系統弱點,如:FTP server exploits,Web server CGI exploits...等。對於這些各式各樣的探測系統弱點的攻擊,在 現今多半是架設防火牆,以儘可能地隔絕任何可能的入侵行為。不 過相當諷刺的,如同前面所述,這類的安全系統也有可能成為攻擊 的好目標。因為如果能夠成功地入侵這些安全系統,將等於是真正 地掌控系統。此外,更重要的一點是,大部分的系統安全人員都過 於自大。他們會認為這些攻擊絕對會被安全系統給發現的,因此主 觀地認為入侵行為是不可能成功的。他們會反過來懷疑造成這樣的 結果,是他人的系統設備所發生的問題,和他們沒關係。這種過度 相信其安全系統而懷疑別人的自大心理,是使得系統造成更大損害 的重要因素所在。 Firewall-1(FW-1) 這裡舉出一個著名的例子,就是發生在Firewall-1(FW-1),這 套廣泛被應用的防火牆上。從【圖一】中我們可以清楚地看到其運 作情形: 1.B送SYN封包到A,中間經過FW-1,FW-1先由其rule-base進行分析。 2.如果在rule-base上沒有任何的match,則送往connection table,並 在此table建一記錄。 3.當接下來的non-SYN封包到達時,則直接送至connection table進行 合法確認。 4.不再需送至rule-base,以加快運算時間。 5.若是不合法,則直接由防火牆將其丟棄。 然而,實際的情況下我們發現以ACK封包傳送,會產生如【圖二】 所示2的情形: 1.B送一ACK封包至A,FW-1直接將其送至connection table進行連線記 錄比對。 2.若無此封包之連線記錄時,應由防火牆直接將其丟棄,但系統卻沒有 如此做。 3.connection table乃再傳至rule-base進行合法比對。 4.若無任何之不合法嫌疑,則又再度送回connection table,並又在此 table上建一連線記錄。 在此,如果入侵者快速地產生大量的ACK封包,則將把connection table的系統資源給完全耗盡,如此將造成DOS(Denial of Service )的情況發生,也就使得防火牆不再運作。 所以說,架設安全系統,它的確是幫了系統安全人員執行系統保 護的工作,大大地減少了系統安全人員的工作量,使得系統安全人 員可以從事更重要的安全工作。但是,有一點我們必須明瞭,這些 安全系統多數並不是如推銷公司所宣稱的那樣地完美,它並無法完 全防衛或偵測所有的入侵行為。而且因其本身設計的不完善,也可 能是招致攻擊入侵的原因所在。因此在現實環境中,實在不應完全 仰賴這些安全系統,否則更大的損失將因之而起。 除了以入侵防火牆這類系統為攻擊目標的所在之外,最被入侵者 所喜愛的入侵目標,當然是那些被廣泛知道、應用但卻不能輕易被 停止使用和更換地點的系統主機,像是Mail,DNS,Web,FTP servers...等。這些系統設備有著相同的特點,就是他們在網路系 統中都相當重要。這些系統不能任意被關閉,而必須常運作於網路 系統上。因為這些系統的任何錯誤,都將使得系統安全人員遭受廣 大使用者的抱怨和責難。除非是系統安全人員百分之百的確認其正 遭受入侵者的攻擊,否則對於有點可疑的入侵行為,系統安全人員 多半會視而不見,因為沒有人會喜歡為自己帶來麻煩。 還有那些提供某些特殊通訊通道的系統設備,像是Mail server。 這些特殊的通訊通道不被安全系統所監控,因此,也就使得任何攻 擊資料的傳送成了隱形。其所帶來的影響更是可想而知了。C)滲透 (penetration): 最完美的攻擊方式,就是入侵攻擊目標主機而不被攻擊目標主機 的安全系統所察覺。其次則是,就算被攻擊目標主機的安全系統所 察覺,也使得攻擊目標主機無法追蹤攻擊的來源所在。故多數的入 侵者,多半會找尋攻擊的中繼站,以此中繼站來進行攻擊,而不會 笨笨地直接以其本身的主機來進行攻擊行為。通常這類攻擊的中繼 站,多半會儘可能地跨過多個地理區域、多個國家,以便儘可能地 來隱藏其蹤跡。這主要肇因於多數的網路服務提供者,為了其本身 的商業利益,不願與其他業者分享其視為商業機密的使用者資訊, 更何況是遠在他國的網路服務提供者。所以總結來說,所跨越的區 域越廣,國家越多,也就代表著愈難以去追蹤其入侵來源的所在。 所以在此時,系統安全人員不應再抱持著單純的想法,因為就算其 安全系統夠完善,能夠追蹤攻擊的來源,這也多半是指向其他網路 服務提供者當中的一個網址而已。 至於如何才能夠達到最完美的攻擊方式,也就是入侵攻擊目標系 統而不被其察覺。方法之一,就如同前面所述的,想辦法掌控或破 壞其安全防衛系統,如掌控其防火牆...等等。掌控之後,便可恣意 而為了。當然想要達到如此,常需要有艱深的攻擊技術。其他的入 侵者可能會使用特殊的通訊通道來達到完美攻擊。有了這些特殊通 道,攻擊資料的傳送不再會被視為異常。而更厲害的入侵者,如果 再將其要傳送的攻擊資料加密,將使得防衛系統更加難以偵察及防 衛整個網路系統。 D)控制(control): 在滲透入侵攻擊目標主機之後,接下來就是想辦法去控制攻擊目 標主機。掌控攻擊目標主機有多個好處,其一即是能夠獲得有用的 系統資源。再利用這些資源,進行對其他系統主機的攻擊,也就是 說把此攻擊目標主機當成一攻擊中繼站所在。另一好處,是掌控系 統主機之後,便可將所有有關於入侵的相關聯資料線索給刪除,如 刪除系統log檔等等。這種道理就好像刑事犯罪者在犯罪之後,用其 手巾,把指紋給擦去一般,藉以湮滅證據。控制攻擊目標主機的方 式有許多,其中有一種是利用bootstrap程序來達成。bootstrap程 序就是系統開啟時,會自動地被載入。而其執行方法,就是在此程 序當中,偷偷插入一小部分的程式碼。這些程式碼,不見得一定要 是整個的攻擊程式碼,而可能僅是整個攻擊程式碼的一小部分。這 一小部分的程式可被用來下載更多的攻擊程式碼,以完成整個攻擊 程序。像是BackOrifice就是當中的一例。此程式將會為入侵者建立 一遠端控制系統的洞口(attack bot),以使得入侵者能夠輕易地 來控制系統主機。隨著更細密的設計這些類型的攻擊程式,入侵者 將能夠輕易地上下載任何資料,而不被安全系統所察覺。 E)嵌入(Embedding): 在掌控攻擊目標主機之後,接下來就是希望能夠在被發現入侵行 為時,也能繼續控制攻擊目標主機。技巧乃是在控制系統之時,便 下載攻擊程式於此攻擊目標主機上,並將之安裝並隱藏存放於磁碟 內。為了避免被偵測出來,入侵者多半會將這些程式碼覆寫( overwrite)在那些存在但卻很少被用到的系統檔案上。這些系統檔 案有著固定的存放位置和存取路徑,然而卻很少被使用到。故存放 於此,將使得攻擊程式不易被發現,因為它看起來就像是一般的系 統檔案一樣。另一種相似卻更狡詐的變形方式,乃是將這些攻擊程 式碼分割,並存放在一些存在且少用的系統檔上。所以即使被發現 某一系統檔案有被異常的更動,也不會被認為跟入侵行為相關連, 而且也很難將分散在各處的攻擊碼完全清除乾淨。 另一種隱藏這些攻擊洞口(attack bot)的方式,乃是在攻擊目 標主機上安裝一後門(back-door)。後門(back-door),顧名思 義乃是存在但不易被察覺的一種進入窗口。此程式會靜靜地存放於 磁碟當中,並等待一特殊的資料片段出現來啟動它。一旦被啟動了 ,此程式將會重組散佈於各處的攻擊程式片段,並可能會自動下載 更強而有力的入侵程式於系統上。 請不要小看了這些攻擊方法,因為在下載資料的同時,此程式有 可能將攻擊目標主機的所有安全系統給暫時終止。這也代表著這些 下載行為,一點也不會被偵測或紀錄於安全系統之內。 F)資料擷取和修改(Data extraction/modification): 在掌控攻擊目標主機之後,入侵者便可恣意而為做任何想做的行 為。最常被發現的破壞行為,就是某些資料被擷取和修改。如同前 面曾經提到過的,入侵者刪除系統log檔,以湮滅其入侵的證據;覆 寫攻擊資料於系統檔案,以隱藏其攻擊資料等。此外,像在「電腦 叛客」一書當中,Kevin將某一醫院的昂貴帳單,將之修改轉寄於其 敵對之人。甚至更可怕的,則可能修改銀行帳戶存款金額。雖然此 事尚未見於報章媒體上,然而就算曾經發生過,受害銀行通常不會 將之公布於世,因為這將嚴重損及其名譽。 資料擷取和修改的另一意義,則是代表著入侵者將能夠對其所要 傳送的資料作加密的工作,使之不再赤裸裸,而像是穿著一層保護 衣一樣地傳送於網路上。例如:在網頁(HTTP Web)資料的傳送上 ,其攻擊的資料便以二進位(binary)的模式,將之假冒存放在 JPEG,GIF...等圖檔上。此種方式將會讓大多數的安全系統以為只 是正在傳送合法的圖形而已。 隱藏傳送的資料還有另一種方法,乃是經由統計、分析攻擊目標 主機的通訊樣式(traffic pattern),也就是瞭解攻擊目標主機何 時、何地、採取何種的通訊協定(protocol)和對哪部主機做通訊 。藉由此,入侵者將可模擬相類似的通訊樣式,假造合法的通訊封 包,以躲過安全系統的監測。 G)攻擊中繼(Attack relay): 入侵的最後一個步驟,乃是成功地利用其所控制的攻擊目標主機 ,將之成為一攻擊中繼的所在,再進行對其他系統主機的入侵行動 。而一個老奸巨猾的入侵者,更可能會同時使用多個攻擊中繼站, 且在短時間內不使用相同的攻擊中繼站二次以上,以避免被安全系 統發現有異。因為重複且持續地從某一主機傳送資料,實在是太令 人懷疑了。 結論與網路防衛能力評估 去年二月美國國防部提交給國會的「台海安全狀況評估報告」中 首度提到兩岸的「資訊戰力」比較,共分成三方面的評估,包括一 、資訊基礎系統戰;二、電腦系統戰;三、電子戰。台灣當局在第 三項傳統電子戰的評估居於弱勢,這點我們已有體認。但各大媒體 及相關單位對於第一、二項的解讀卻令人憂心,有著過度樂觀的看 法,以為台灣是世界最大宗的「電腦病毒」輸出國,同時也是有名 「防病毒」軟體生產地,因此都將此評估報告的結果視為「台灣資 訊戰力名列世界前茅」。事實上傳統電腦病毒對於網路安全的攻擊 防衛關係性並不大,最近的網路攻擊事件都是利用系統缺陷以達成 入侵的目的。傳統電腦病毒本身不具主動攻擊性,必須透過適當的 「寄宿主」傳播以達成「殖入」的目的。因此若單依賴病毒本身, 而無有效之主動「殖入」技術,根本無資訊戰力可言。 舉CIH病毒為例,中國大陸因為使用非法軟體的風氣猖獗,才令病 毒有傳播的溫床,這種情況可視為「資訊衛生」條件不佳。而在歐 美等先進「資訊衛生」良好之國家,CIH根本發揮不了作用。資訊作 戰的對象是防守嚴密的資訊系統,其良好的安全衛生習慣必然讓病 毒難以滲透生存。 在資訊防衛方面,如前所述之兩大類攻擊模式之一是「不當使用 」模式,而「防病毒」只是這類模式的特殊偵測方法之一。「病毒 偵測」能力對於偵測目前的網路攻擊行為所能發揮的作用不大,因 為「攻擊行為」不像病毒有明顯的「特徵碼」以供比對,攻擊行為 極易偽裝成多個不相關來源,而長時間的進行滲透行動。因此「入 侵偵測」是防衛型資訊戰力的重要技術,在美國更是資訊安全的研 究重點,已有多個大型整合計畫正在進行中,韓國資訊安全局更已 發展出自己的偵測系統,列為其重要的技術研發成果。 參考資料 (1)An analysis of Security Incidents on the Internet 1989-1996,http://www.cert.org/research/HThesis/Start.html (2)Aslam, T., Krsul, I. And Spafford, E. H. “Use of A Taxonomy of Security Faults,” ftp://coast.cs.purdue.edu/pub/COAST/papers/taimur-aslam/ aslam-krsul-spaf-taxonomy.pdf,Sep. 1996 (3)Marcel Dekker, “Security of the Internet, “ in The Froehlich/Kent Encyclopedia of Telecommunications vol.15. New York, 1997, pp.231-255. http://www.cert.org/encyc_article/tocencyc.html (4)Landwher, C. E, Bull, A. R., and McDermott J. P.,”A Taxonomy of Computer Security Flaws.”, ACM Computing Surveys, Vol 26, No.3, September 1995, pp211-254 (5)Krsul, I., Spafford, E. and Tripunitara, M. “Computer Vulnerability Analysis,” ftp://coast.cs.purdue.edu/pub/COAST/papers/ivan-krsul/ krsul9807.pdf, May. 1998 (6)Krsul, I., “Software Vulnerability Analysis,” ftp://coast.cs.purdue.edu/pub/COAST/papers/ivan-krsul/ krsul-phd-thesis.pdf, May. 1998 (7)Du, Wenliang, Mathur, A. P. “Categorization of Security Errors that led to Security Breaches,” ftp://coast.cs.purdue.edu/pub/COAST/papers/kevin-du/ du-mathur-categorization.pdf , Sep. 1997 (8)Bishop,M. “A Taxonomy of Unix System and Network Vulnerabilities”, Technical Report CSE-95-10, Department of Computer Sciences, University of California at Davis, May 1995 (9)Aslam, T. “A Taxonomy of Security Faults in the Unix Operating System” ftp://coast.cs.purdue.edu/pub/COAST/ papers/taimur-aslam/aslam-taxonomy-msthesis.pdf ,Aug. 1995 (10)The Security Situation in the Taiwan Strait, http://www.defenselink.mil/pubs/twstrait_02261999.html