1 / 88

資訊 安全─入門手冊

資訊 安全─入門手冊. 第 3 章 駭客技術. 第 3 章 駭客技術. 如果沒有詳實介紹駭客技術,就不能算是一本完整探討網路安全技術的書。 在過去, 『 駭客 』 一詞並無任何負面的涵意,反而是從事資深電腦工作的代名詞。 本章內容如下: 3-1 駭客的動機 3-2 駭客技術的歷史 3-3 學習進階技巧 3-4 確認惡意程式碼 3-5 識別非目標型駭客的方法 3-6 識別目標型駭客的方法. 但為求統一且符合本章的主題,還是以 『 駭客 』 表示意圖侵入他人電腦,或破壞、妨礙、干擾他人電腦運作的人。 駭客特質的調查結果如下: 男性

gale
Télécharger la présentation

資訊 安全─入門手冊

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 資訊 安全─入門手冊 第 3 章 駭客技術

  2. 第 3 章 駭客技術 • 如果沒有詳實介紹駭客技術,就不能算是一本完整探討網路安全技術的書。 • 在過去,『駭客』一詞並無任何負面的涵意,反而是從事資深電腦工作的代名詞。 • 本章內容如下: • 3-1 駭客的動機 • 3-2 駭客技術的歷史 • 3-3 學習進階技巧 • 3-4 確認惡意程式碼 • 3-5 識別非目標型駭客的方法 • 3-6 識別目標型駭客的方法

  3. 但為求統一且符合本章的主題,還是以『駭客』表示意圖侵入他人電腦,或破壞、妨礙、干擾他人電腦運作的人。但為求統一且符合本章的主題,還是以『駭客』表示意圖侵入他人電腦,或破壞、妨礙、干擾他人電腦運作的人。 • 駭客特質的調查結果如下: • 男性 • 介於16歲到35歲之間 • 性格較為孤僻 • 聰明無比 • 技術十分精通

  4. 3-1 駭客的動機 • 動機是瞭解駭客的關鍵要素,也可得知他們嘗試入侵的目的。 • 瞭解駭客的動機,同樣也可以幫助我們瞭解為何電腦會引起駭客的興趣。 • 本節的內容如下: • 3-1-1 挑戰 • 3-1-2 貪婪 • 3-1-3 惡意(Malicious Intent)

  5. 3-1-1 挑戰 • 入侵他人電腦最原始的動機就是為了『挑戰』,這也是目前入侵他人電腦最常見的原因。 • 入侵電腦系統不一定是要炫耀自己入侵了防護非常周全的系統,而是駭客與駭客之間的競賽。 • 以挑戰為動機的駭客通常都沒有特定的目標。 近來常見的Hactivism或入侵公有資產。Hacktivism可能帶有政治動機,且原因通常是司法不公所引起的。但由於這種動機容易誘惑一個人的良知和本性,也使得Hacktivism更具潛藏的危險性。關於Hacktivism更詳細的資訊,請參考http://hacktivism.com/。

  6. 3-1-2 貪婪 • 貪婪是最原始的犯罪動機之一。 • 不論是牟取金錢、立意良好、服務或資訊等,只要是希望滿足個人慾望皆屬此種動機。 • 若能確認入侵事件,大多數的組織都會修補導致入侵的安全弱點、重整系統然後繼續作業。 • 因貪婪而犯罪的駭客通常心中都有特定的目標。也就是說,具有某種價值(軟體、金錢、資訊)的站台,都會是他們的主要目標。 FBI已針對商業和執法單位進一步聯繫,並展開一套用來改善犯罪活動報告的Infragard計畫(詳見http://www.infragard.net/)。這個計畫主要支援有興趣的成員,分享及分析資訊的結果。Infragard提供組織更多執法單位的運作方式,並共享現有的資訊。

  7. 3-1-3 惡意(Malicious Intent) • 惡意或蓄意是入侵的最後一種動機。 • 控制系統(為日後繼續破壞留下後路)並不是駭客的主要目地。 • 駭客會設法阻斷合法使用者使用系統,或變更網頁的訊息藉此傷害合法的擁有人。 • 惡意攻擊會鎖定特定目標,駭客也會積極尋求一些傷害特定站台或組織的方法。

  8. 3-2 駭客技術的歷史 • 本節將用與與眾不同的觀點和角度,評估駭客所使用的技術,探討駭客技術的歷史。 • 本節的內容如下: • 3-2-1 開放共享 • 3-2-2 密碼問題 • 3-2-3 程式設計的缺失 • 3-2-4 社交工程 • 3-2-5 緩衝區溢位 • 3-2-6 阻斷服務

  9. 3-2-1 開放共享 • 在Internet創始之初,主要是希望各研究機構能夠共享資訊和合作成果。因此,大多數研究機構的系統都設定成共享模式。 • 在Unix系統中,廣泛使用網路檔案系統(Network File System,NFS),NFS允許一部電腦跨越網路掛接(mount)另一部電腦的磁碟機。 • 就像跨越區域網路掛接一般,NFS也可以跨越Internet進行掛接檔案系統。

  10. 透過NFS的檔案共享,是最先遭到某些駭客入侵成功並取得資訊的存取權。他們單純地掛接遠端磁碟機,並讀取磁碟機的資訊。透過NFS的檔案共享,是最先遭到某些駭客入侵成功並取得資訊的存取權。他們單純地掛接遠端磁碟機,並讀取磁碟機的資訊。 • NFS利用使用者的識別碼編號(UID),管制存取磁碟機內的相關資訊。 • 若駭客成為系統的超級使用者(root),並掛接遠端的根檔案系統(root file system)時,駭客就可以變更遠端系統的組態設定檔(詳見圖3-1)。

  11. 圖3-1 使用NFS存取遠端系統檔案 若適當設定組織外部防火牆的規則,也可阻擋大多數的檔案共享(詳見第10章)。若在這種情況下,即使系統設定錯誤也仍然可以阻止檔案共享。

  12. Unix系統並不是唯一具有檔案共享漏洞的系統。Unix系統並不是唯一具有檔案共享漏洞的系統。 • Windows NT、95、98,也都有檔案共享的問題。 • 這些作業系統都允許遠端掛接系統本身的檔案系統。 • 若使用者決定需要共享檔案時,也很容易對全世界開放他們的檔案系統。 例如Gnutella這類新的檔案共享系統,允許內部系統和其他網際網路的系統建立檔案共享。此種系統可以設定使用的連接埠編號,且通常設定成防火牆允許通過的連接埠編號(例如連接埠80)。這種檔案共享模式和NFS、Windows檔案共享具有相同的危險性。

  13. 遠端信任存取(trusted remote access,實際上還是在系統間共享存取)與開放共享和組態設定錯誤,都是屬於相同類型的問題。 • 系統管理員和使用者的系統之間,向來都是使用rlogin(無須密碼的遠端登入)。 • rlogin允許使用者存取許多系統,而不需重覆輸入他們的密碼。.rhost和host.equiv檔案,控制哪些人無需輸入密碼即可存取系統。 若使用檔案共享,防火牆也可用於阻止來自網際網路的遠端信任存取。然而,外部防火牆也無法阻止內部網路的共享存取,因而檔案共享也是屬於安全問題的一種。

  14. 3-2-2 密碼問題 • 截至目前為止,密碼仍是最通用的認證模式,或許簡單的密碼也是大多數駭客成功入侵系統的原因。 • 大多數系統使用密碼做為預設的身份認證方式,且無須增加額外的成本。 • 使用密碼的附加效益,就是使用者們都瞭解如何使用使用密碼來進行身份認證。 • 密碼太短會讓駭客能用『暴力破解法』破解密碼。 • 密碼的另一個問題就是太容易被猜到。 密碼沒有經費問題。大多數作業系統允許系統管理員設定密碼的驗證條件,這些條件也都可以解決密碼太過簡單的問題。然而,針對密碼太簡單的問題,員工良好的安全認知才是真正的解決之道。

  15. 3-2-3 程式設計的缺失 • 許多時候駭客也會利用程式設計缺失的安全弱點,例如在程式內預留未來再度進入系統的後門,像Sendmail早期的版本就是屬於程式設計的缺失。 • 近來興起的Web站台程式設計,思慮不週產生了新型的程式設計缺失,這些新型的缺失多半發生於購物站台。 • 程式設計師不應該將這類資訊放在網址之中(例如URL字串),而讓客戶取得修改資訊的機會,且在資訊回到後端之後也必須重新查驗資訊的內容。

  16. 3-2-4 社交工程 • 社交工程(social engineering)是利用非技術性手段,獲得存取資訊或系統的機會。 • 不同於利用安全弱點或攻擊程式碼(script)的手段,駭客利用人性的弱點。 • 和善的聲音及說謊的能力是執行社交工程最具殺傷力的武器。 • 社交工程的其他類型,包含翻找公司的垃圾和資源回收(倒出來找)、利用公開資訊(例如Web站台、證交委員會歸檔資料、廣告)、直接竊取或冒用身份等。

  17. 對目標而言,社交工程最具滲透力,但也需要時間和天分。對目標而言,社交工程最具滲透力,但也需要時間和天分。 • 特定目標才會是駭客使用社交工程的主因。 警覺心是防範社交工程的最佳方法。訓練服務台的員工,在碰到類似的情況時該如何應對進退、在提供密碼、接觸相關資訊之前,該如何驗明員工的身份。同樣的,也要教導所有的員工識別辦公室裡的人,以及處理各種不同的情況。

  18. 3-2-5 緩衝區溢位 • 緩衝區溢位是駭客可以利用的程式設計缺失之一(下一節會詳細解說緩衝區溢位的運作方式)。 • 緩衝區溢位比密碼問題或組態設定錯誤更難找,有經驗的人才能找到緩衝區溢位的問題。 • 大多數緩衝區溢位的script,允許駭客建立其他存取目標系統的方法。 • 緩衝區溢位並不侷限在存取遠端系統。 • 在使用者的電腦系統上,緩衝區溢位也可用來更新使用者的存取等級。

  19. 什麼是緩衝區溢位 • 緩衝區溢位就是嘗試在電腦的記憶體之中,塞入過多的資訊。 • 若試著將大量的資料塞入變數,最後就有可能覆蓋掉一些系統操作的重要資料。 • 在緩衝區溢位的案例中,記憶體堆疊(stack)是筆者特別有興趣的部分,在堆疊裡儲存的是下一個執行函式的記憶體返回位址(return address)。 許多C語言公用字串複製函式,不會預先檢查字串長度。如strcat()、strcpy()、sprintf()、vsprintf()、scanf()、和gets()公用函式,都不會預先檢查複製資料的字串或緩衝區容量。

  20. 圖 3-2 緩衝區溢位運作方式

  21. 研究程式的原始碼,也可以找到緩衝區溢位的問題。研究程式的原始碼,也可以找到緩衝區溢位的問題。 • 事後辛苦不如事前謹慎,程式設計師若能及早避免此類問題,也可免去日後除錯的困擾。 某些自動化的script,可用來找尋潛藏的緩衝區溢位問題。像是SPLINT(http://licint.cs.virginia.edu/),可用在程式碼編譯之前預先檢查緩衝區溢位的問題。

  22. 3-2-6 阻斷服務 • 阻斷服務攻擊是一種用來阻止合法使用者,存取系統、網路、應用程式或資訊的惡意行為。 • 從單一系統到多系統的攻擊,都屬DoS的攻擊的型式。 • 就像無法百分之百阻止DoS攻擊一樣,沒有一套來源系統(或系統)可以完全阻止這類攻擊。 • DoS攻擊並不是只有電腦世界才會發生。

  23. 單一來源阻斷服務攻擊 • DoS攻擊的第一種類型就是單一來源攻擊(Single Source DoS Attack),也就是說發動攻擊時會造成另一部系統毀損。 • 目前最常聽到的DoS攻擊稱為SYN(同步字元)溢位(詳見圖3-3)。 • 來源系統對目標系統傳送大量TCP SYN封包,SYN封包是用來做為起始新的TCP連線用途。 • 當目標系統收到SYN封包時,就會自動回傳TCP SYN ACK封包,並回傳連線設定資訊。

  24. 圖 3-3 SYN 溢位DoS攻擊

  25. 目前,已有多種適當防護系統免於SYN攻擊的解決方案。目前,已有多種適當防護系統免於SYN攻擊的解決方案。 • 最簡單的方式就是在等候連線緩衝區設置計時器,也就是在時限之後自動失效。 • 若適當執行DoS攻擊就必須調短計時器的時間,但卻會造成系統無法使用的困擾。 • 許多網路系統具有識別SYN溢位和阻絕的能力,這些系統會在提出連線需求一段時間之後,找尋、確認仍未連線的需求。 • 但若同時受到圍攻時,也就無法正確辨認是否受到攻擊。

  26. 在SYN溢位攻擊之後,雖然更容易防範其他已知的攻擊類型,但危險程度也相對地提高。在SYN溢位攻擊之後,雖然更容易防範其他已知的攻擊類型,但危險程度也相對地提高。 • Ping of Death只是DoS攻擊的代表作之一。這些攻擊的目標都是針對系統或應用程式的安全弱點,並在攻擊之後造成目標系統或應用程式失去效用。 • 快速地修補系統的安全弱點,也就可以適當地防範這種類型的攻擊。 不幸的是,最近又產生一些針對應用程式和作業系統的新型DoS攻擊。因此,要隨時修正系統或應用程式的安全弱點,才能快速阻止新型的DoS攻擊。

  27. 分散式阻斷服務攻擊 • 分散式阻斷服務攻擊(Distributed DoS attacks,DDoS)是多部系統對單一目標同時發動DoS攻擊。 • DDoS攻擊通常是由單一駭客和一部主要系統控制組成。 • 這類攻擊非常單純,駭客對大型網路的廣播位址傳送Ping封包,但卻給予假的來源位址(詳見圖3-4),此種特定的攻擊類型稱為Smurf攻擊。 • 若中間網路含有大量系統,就會對目標系統回傳大量封包,進而導致目標系統癱瘓、毀損。

  28. 圖 3-4 Smurf如何運作

  29. 圖 3-5 DDoS工具程式的攻擊架構

  30. 3-3 學習進階技巧 • 現今曾見過的許多攻擊,都是由”Script Kiddie”所發動 ─ 在網際網路上發現攻擊程式的人,並且會對他們找到的系統發動攻擊。 • 這些都是簡單的攻擊技巧,而且都不需要高深的知識或指引。 • 系統、網路和目標系統等,都需要更多深入的知識和其他技巧。 • 本節的內容如下: • 3-3-1 竊聽(Sniffing)交換式網路 • 3-3-2 偽裝IP位址

  31. 3-3-1竊聽(Sniffing)交換式網路 • 駭客或破解者也曾利用監聽器(Sniffer),從網路擷取密碼或其他與系統相關的資訊,最後的結果就是癱瘓目標系統。 • 監聽器將網路卡(Network Interface Card,NIC)設定成混雜模式(promiscuous mode)後,即可從網路擷取密碼或其他相關資訊。 • 在交換式的網路環境中,大多數的封包不會廣播到所有系統,而是直接傳送到目標系統。 • 適用交換式網路環境的監聽器,請參考http://ettercap.sourceforge.net/。

  32. 駭客必須做到下列其中一項,才能讓監聽器適用於交換式網路環境:駭客必須做到下列其中一項,才能讓監聽器適用於交換式網路環境: • 確認可將交換式網路的流量,直接轉送給監聽器。 • 使網路交換器將所有的流量,送到所有的網路連接埠。

  33. 流量轉向 • 網路交換器根據乙太網路(Ethernet)訊框(frame)之中的媒體存取控制(Media Access Control,MAC)位址,將流量直接傳送到網路連接埠。 • 每組網路卡都擁有唯一的MAC位址,網路交換器也都知道每組網路卡的MAC位址在哪個網路連接埠上。 • 若想將訊框傳送給特定目標的MAC位址,網路交換器會將訊框直接傳送到該MAC位址所屬的網路連接埠。

  34. 將網路交換器的流量轉送至監聽器的方法如下:將網路交換器的流量轉送至監聽器的方法如下: • 偽裝ARP • 複製MAC • 偽裝DNS

  35. 偽裝ARP • ARP是位址解析協定(Address Resolution Protocol)的縮寫,這是用來取得和特定IP位址相關的MAC位址。 • 當系統傳送資料給另一部系統時,傳送端會將ARP要求先傳給目標IP位址。 • 目標系統會回應本身的MAC位址,接著傳送系統就能使用該MAC位址直接傳送流量到目的地。 偽裝ARP只能在本地網路的子網路工作,這是因為ARP訊息不會送到子網路之外。因此,監聽器必須安裝在傳送端或目標系統相同的子網段中。

  36. 複製MAC • 讓網路交換器將流量轉送給監聽器的另一種方法,就是利用監聽器複製目標系統的MAC位址。 • 駭客必須將監聽器的MAC位址變更成與另一部系統使用相同的MAC位址。 一般都認為變更MAC位址是不可能的,但這並不是個問題。舉例來說,在Unix系統上利用ifconfig命令,就可以改變MAC位址。在Windows系統下,也有可以用來改變MAC位址的工具程式。

  37. 偽裝DNS • 將網路交換器的流量送到監聽器的第三種方法,就是偽裝傳送系統,並將流量傳送給監聽器所在的MAC位址。 • 監聽器必須知道所有的DNS要求,並在真正的DNS系統回應之前搶先回應。 • 若傳送系統所在的本地子網路沒有DNS系統,監聽器成功的機率會更高。 雖然監聽器也能透過Internet看到傳送系統的請求,但若監聽器和傳送系統相距甚遠,監聽器也很難保證能在第一時間回應。

  38. 傳送所有流量至所有連接埠 • 除了『偽裝ARP』、『DNS回應』、『複製MAC位址』之外,可以嚐試將所有的流量傳送給所有的連接埠。 • 在執行之後,網路交換式器就失去交換的功能,而且運作模式就像媒體共享的集線器一樣。 • 每一部網路交換器,都可以記憶、儲存連接至網路交換器實體連接埠上,一定數量的MAC位址但記憶體的數量仍是有限。

  39. 達成攻擊 • 在偽裝ARP、複製MAC、偽裝MAC等案例中,駭客必先連線到網路交換器才能進行攻擊。 • 在偽裝DNS的案例中,也是需要連線才能進行攻擊。 • 必要條件 ─ 駭客的電腦已連上本地網路的網路交換器。

  40. 3-3-2 偽裝IP位址 • 駭客可以修改封包內的來源位址,並產生看似來自任何IP位址的封包。回傳封包時(例如TCP連線的SYN ACK封包)不會回到傳送的設備上。 • 試圖冒充IP位址而建立TCP連線,是一件非常困難的事。 • TCP標頭內含一連串用於確認封包的佇列號碼 。 • 在建立新的連線時,都會隨機產生初始序號(Initial Sequence Number,ISN)。

  41. 細說偽裝IP位址攻擊 • 圖3-6即為偽裝IP位址攻擊的細節。首要步驟,駭客必先確認目標。 • 在確認目標之時,須決定ISN的增量。不需要做任何事,只要連續和目標進行合法連線,就會自動回傳可供判定的ISN。 • 在合法連線時,由於目標會得知駭客的IP位址,這時才有風險。 • 在建立ISN增量數值之後,駭客即可使用冒充的IP位址對目標傳送TCP SYN封包,目標系統也會將TCP SYN ACK封包,回傳給冒充的IP位址。

  42. 圖3-6冒充IP

  43. 在真實世界利用偽裝IP位址 • 偽裝IP位址可讓一部電腦系統以為正和另一部電腦系統交談。 • 在系統上使用rlogin或rsh之後,來源IP位址為判斷能否使用這類服務的重要關鍵。遠端主機允許建立連線就稱為『信任』。 • 倘若我們利用偽裝IP位址來欺瞞目標主機,並讓目標主機認為我們是屬於可信任的系統時,或許就可以成功破解目標系統。

  44. 圖3-7在真實世界使用冒充IP

  45. 3-4 確認惡意程式碼 • 對大多數的組織、個人或一般用戶來說,惡意程式碼持續造成相當大的安全問題。 • 惡意程式碼涵蓋下列三種不同類型的程式: • 電腦病毒 • 特洛依木馬程式 • 蠕蟲 • 本節內容如下: • 3-4-1 病毒 • 特洛依木馬 • 蠕蟲 • Slapper蠕蟲範例 • 混合體

  46. 3-4-1 病毒 • 電腦病毒是一種附掛在其他可執行程式的程式碼。 • 病毒本身並沒有單獨存在的結構。 • 在執行附加病毒的程式之後,病毒碼就會執行預設的動作,這些動作包含將自己散播到其他程式或磁碟之中。 • 某些病毒更惡毒,不但會刪除檔案還可能造成電腦毀損。但某些病毒除了將自己散播到其他系統之外,並不會執行任何惡意的動作。

  47. 電腦病毒最早出現於使用磁碟作業系統(Disk Operating System,DOS)的電腦上(跟Denial-of-service,DoS不同)。 • 病毒透過BBS或磁片的檔案散播。後續的病毒更將自己附掛到文書處理檔案中,並成為文書處理的巨集(Macro)語言執行的一部份。 所有惡意程式碼的類型,多半都是指電腦病毒。當讀者聽到這類的新聞時請記得這段描述,並試著瞭解這些程式的功能並正確的分類。另外依據不同功能的惡意程式碼,實際上都會影響保護機制的類型。

  48. 特洛依木馬 • 特洛依木馬程式會將自己惡毒的本性,隱藏在某些有用或讓人產生興趣的程式之中。 • 特洛依木馬是一種完整且自行操控的程式,設計用來執行某些惡意動作。 • 它會讓自己引起某些使用者的興趣,例如新功能或使用者想要閱讀的電子郵件。 • 大多數特洛依木馬,都含有將自己散播到新受駭者的機制。

  49. 蠕蟲 • 蠕蟲就像命名一樣,不需要透過受駭者,也一樣可以從一部電腦系統爬到另一部電腦系統。 • 蠕蟲不但會自我複製,同時也會自我散播,只要一部電腦中了蠕蟲,就會自動蔓延到其他系統,它所需要的只是製造者開始這個動作。 • 已知最早的例子,是由Robert Morris在1989年製作的網際網路蠕蟲。 原版的CodeRed程式,在選擇下一個攻擊目標方面有些問題存在。但稍後的版本修正了這個問題,並允許快速散播蠕蟲。到現在仍然可以看到受CodeRed感染的系統正在掃描可以網際網路上的系統。

  50. Morris蠕蟲原本是計畫探查大量電腦系統安全弱點(包含密碼問題)。Morris蠕蟲原本是計畫探查大量電腦系統安全弱點(包含密碼問題)。 • 利用這些安全弱點,就可以探查、入侵網際網路上的系統。 • 在進入系統之後,立即開始找尋其他的受駭者,且癱瘓網際網路也是它的目標(使的網際網路的規模變得更小,許多站台紛紛關站以保護自己)。

More Related