Feeds:
文章
留言

Archive for 24 五月, 2006

發生網路攻擊的原因
1. 報復
2. 間諜活動
3. 宣傳
4. 滿足個人快樂
5. 恐怖行動
6. 獲取不當利益
網路攻擊的目的
1. 竊取資料、軟體
2. 破壞資料、系統,使電腦無法正常運作
3. 惡作劇
4. 炫耀能力
5. 商業間諜
6. 政治因素
網路攻擊類型與流程
1. 主動式攻擊
  入侵者針對檔案或通訊內容進行偽造或修改。常見的攻擊如下:
  a. 偽裝(Maquerade)
  b. 重播(Replay)
  c. 訊息竄改(Message Modification)
  d. 服務組絕(Denial of Service)
2. 被動式攻擊
  入侵者取得資訊的存取權限但未對內容進行竄改。常見的攻擊如下:
  a. 竊聽(Eavesdropping)
  b. 通訊分析(Traffic Analysis)
網路攻擊流程
1. 資料蒐集:攻擊目標相關資料蒐集
2. 目標掃描:掃描目標開啟那些通訊埠
3. 弱點刺探:找尋系統漏洞。
4. 取得初步權限
5. 提升權限
6. 進行破壞
7. 建立後門:後續可當作跳板使用。
8. 消滅證據:消除所有入侵的痕跡。
網路攻擊方法及防治對策:
1. 阻斷服務攻擊(DoS):利用網路系統資源有限(記憶體,處理器,頻寬等等), 加上部分網路系統軟體或者相關通信協定等在設計或實作上的漏洞,透過大量且密集的封包傳送,達到使被攻擊的主機或網站無法處理,以致許多正常想要連上該網站的用戶,都被阻絕在外,連不上該主機或網站;或者是找出程式無法處理的例外狀況造成系統當機,無法提供服務。
   a. Smurf 攻擊
        原理: –ICMP(Internet Control Message Protocol)封包可以載送網路傳輸情況和錯誤訊息,用以判斷網路彼端的電腦是否有回應。 –判斷方式
        ‧對該主機位址傳送ICMP echo request packet.
        ‧若該主機收到時,通常會回應ICMP echo reply packet.
        ‧通常這個過程是由一個“ping”命令來達成 –因此,以程式來利用IP Protocol傳送大量ping message 封包給Internet上許多台機器,造成大量Reply message造成網路交通的癱瘓。
        攻擊方式: –大量產生假造的ICMP echo Request封包 –將假造的封包送至廣播位址,然後廣播位址會傳回大量的icmp回應封包給目標電腦。造成更多倍數的ICMP echo reply封包傳回至欲攻擊的目標。
        範例:ping -s 30000 192.168.30.255
        ‧這種方式具有放大的效果,所以又被稱為 放大型 smurf 攻擊。
   b. Ping of Death — 針對舊版作業系統,如windows 95
        原理 –「Ping of Death」是經由發送過大的 ping 請求(ICMP echo request) ,以造成緩衝區溢位(Overflow),繼而導致無法正常運作或當機。
   c. ICMP DoS
   d. UDP Flood DoS
   e. TCP DoS: Land 攻擊, Teardrop 攻擊, TCP SYN(SYN flood)
      e1. TCP SYN (SYN flood)
        攻擊方式: –針對攻擊目標送出一連串具有假的來源位址的SYN封包。 –受攻擊的系統會將尚未收到ACK回應的SYN封包暫存於佇列中,直到收到對方的ACK回應或超過逾期時間才移除。 –系統會因為收不到ACK回應,而使得佇列中充滿著暫存的SYN封包而無法再處理其它使用者的請求。
      e2. Land 攻擊: 攻擊者利用 IP 偽裝的技術修改即將送出的封包,將其來源與目的 IP 位址均改成是目標機器的 IP 位址,以及將來源與目標連接埠也改為一樣。
      ‧此種攻擊可以令某些作業系統或網路設備當機無法正常運作
      e3. Teardrop 攻擊
        原理:利用IP封包重組的漏洞進行攻擊。
        ‧攻擊方法: –發送一堆經特別設計過的封包片段到目標電腦,這一堆封包片段包含了重疊的位移值,這使得這堆封包重組成原來的IP 封包時,導致網路服務主機誤判封包大小,造成系統當機現象
   分散式阻斷服務攻擊稱為DDoS –採用分散的攻擊方式,聯合網路上能夠發動DoS攻擊的主機同時發動攻擊,在短時間內產生大量封包流入欲攻擊的目標,造成對方系統癱瘓, 導致無法正常提供服務。
   阻斷與分散式阻斷服務攻擊的對策
    ‧停用未使用或不需使用的服務
    ‧在路由器上設置封包過濾器或啟動Ingress Filtering功能,以拒絕來源不合理或是目標是broadcast的封包
    ‧安裝建置防火牆、入侵偵測或入侵預防系統
    ‧啟動磁碟配額(Disk Quota)功能:防止郵件炸彈一類攻擊 將磁碟塞報
    ‧建置警示系統
    ‧頻繁更新安裝修正檔
2. 惡意程式
   a. 電腦病毒
    ‧有害的電腦程式(惡意程式) –執行中毒的程式並在特定情況下發作(如:日期因素)
    ‧種類 –開機型、檔案型、巨集型、特洛依型、玩笑型 –變種病毒
    ‧隱身方式 –寄生在特定應用程式,例: .exe, .dll, .htm, .vbs, .js
    ‧傳遞途徑 –電子郵件附件、FTP、網路芳鄰、Internet 網頁瀏覽
    ‧目的 –破壞資料、控制主機、癱瘓網路、跳板攻擊    
   b. Worm
    ‧與病毒非常類似的惡意程式,但是並不需要寄主程式就可不斷複製自己
    ‧蠕蟲可能會耗盡電腦資源、修改系統設定或導致系統無法運作。
   c. 木馬程式
    ‧何謂木馬程式 –原名特洛伊木馬、又稱後門程式。
        –在Internet上,“特洛伊木馬”係指一些程式設計人員在其可從網路上下載的應用程式中,設計包含了可以控制用戶的電腦系統的程式,可能造成用戶的系統資料外洩、被破壞甚至主機癱瘓的惡意的遠端遙控程式。
        –Client (控制端) / Server (被控制端) 架構服務。
    –基本特徵
      ‧偽裝
      ‧極盡可能的隱藏自己
      ‧不自我繁殖,也並不主動感染其他文件
      ‧提供靜態或動態聯結埠
    ‧木馬程式來源 –系統被入侵遭駭客植入 –惡意使用者設計的陷阱 –執行來路不明的程式、安裝被竄改過的程式套件 –被網路蠕蟲感染
    ‧木馬類型 –遠端遙控型/破壞型/鍵盤紀錄型/密碼傳送型/FTP型
    ‧主要傳播方式 –電子郵件和檔案下載服務/透過作業系統或應用程式弱點被種植
    ‧主要目的 –控制主機、資料竊取、跳板攻擊、癱瘓網路
    惡意程式的對策
    ‧安裝防毒軟體
    ‧安裝木馬程式掃瞄器
    ‧頻繁更新防毒軟體、木馬程式掃瞄器的資料庫
3. 其他
   a. 連接埠掃瞄
    ‧TCP/IP 協定提供 65536 個連接埠,作為對外連接的端點 –TCP 與 UDP port
    ‧連接埠掃瞄的主要目地在於測試目標電腦系統所開啟的連接埠,進而分析其有提供那些網路服務以及它可能是屬於那一種作業系統.
    防堵對策:
    ‧停用不需使用的服務或程式
    ‧使用路由器存取控制清單、防火牆、代理伺服器設定存取控制機制
    ‧使用IDS識別連接埠掃瞄活動
    ‧移除或隱藏作業系統或是應用程式的識別記號(banner)
    ‧升級或更新為更安全的作業系統、應用程式、通訊協定   
   b. 密碼攻擊
    ‧強力破解 (Brute-force attack) –透過不斷嘗試猜測各種合法字元可能的組合直到正確為止的攻擊方法 ‧字典攻擊 (Dictionary-Based attack) –利用常用的密碼和字彙,不斷地改變組合一直到破解密碼為止
    對策:
        ‧設定一個強固的密碼原則而這個原則內包含如下的設定:
        –啟動複雜式密碼偵測
        –啟動密碼最短長度偵測
        –啟動密碼最長使用期限偵測
        –啟動密碼錯誤鎖定偵測
   c. 連線截奪 (Session Hijacking)
        ‧Session Hijacking中文稱為「連線截奪 」
        ‧攻擊原理:
            –當入侵者在使用者登入主機並完成身份確認後,即進行連線截奪,讓合法使用者跟主機間的連線中斷,入侵者的電腦取代合法使用者與遠端主機進行連結,入侵者可存取使用原合法使用者所有有權限存取的任何資源。
        ‧Kra”於1998年11月編寫的Hunt,還有“daemon9”編寫的juggernaut,均提供Session Hijacking功能。
        對策
            建議使用有提供關聯式身份驗證(mutual authentication)功能的協定例如IPSEC、SSH等,以保護通訊間的安全.
   d. 重送攻擊 (Replay Attack)
    ‧原理: –攻擊者於竊聽網路後,劫取並記錄了通訊雙方傳送的憑證資訊,之後便重送這份憑證資訊以假冒某個特有共用金鑰的使用者,以達到存取系統的入侵目的。 ‧對策: –金鑰設定採用較短有效時間限制 –採用完整雙向驗證的安全性協定
   e. 緩衝區溢位 (Buffer Overflow)
    ‧向在程式中所宣告的記憶體區塊填充超過它所能處理的資料量時,就會造成所謂的緩衝區溢出的狀況。      範例: #include <stdio.h> #include <string.h>            void func(char *p)       {              char buffer1[10];              strcpy(buffer1, p);              printf(buffer1);  }       Int main(int argc, char *argv[])       {       func(“I am the law in the network”);          return 0; }  
        緩衝區溢出之安全影響‧溢出類型
        –本地(local buffer overflow)
        –遠端(remote buffer overflow) :可讓遠端使用者攻擊該目標電腦
    ‧安全影響
        –潛伏網路竊取資料
        –進行跳板式攻擊
    ‧防治對策
        –頻繁更新與安裝修正檔(patches)
        –避免安裝與使用未經測試或授權軟體
   f. 竊聽 (Sniffing、Eavesdropping)
    ‧竊聽是常被使用的被動式攻擊法 –攔截封包並檢視分析內容 –破解私密性資料
    ‧Sniffer執行時會將乙太網路卡設定成隨機處理模式(Promiscuous Mode), 也就是不做任何封包的過濾
    ‧因應對策: –使用switch 取代 hub –使用安全的協定或是服務  
   g. 社交工程 (Social Engineering)
    ‧社交工程是利用非技術性手段,取得系統存取的資訊。例如: –佯裝為服務、管理人員或服務人員,藉機騙取密碼。 –
    ‧因應策略 –加強企業員工資訊安全教育。
   h. 資料隱碼 (SQL Injection)
    ‧原理: –在撰寫應用程式時,沒有對使用者的輸入做妥善的過濾與處理,便將其組合成SQL指令,傳送給SQLserver執行,若使用者輸入之資料中含有某些對資料庫系統有特殊意義的符號或命令時,便可能讓使用者有機會對資料庫系統下達指令,而造成入侵所帶來的損失。
    ‧影響範圍: –網站系統:Apache、IIS、Domino、Netscape –程式碼: ASP、PHP、JSP –資料庫:MS-SQL、MySQL、Oracle、Sybase、DB2 ‧SQL Injection可能造成的危害 –透過SQL Injection操作資料庫,可以新增、更動或刪除資料庫的資料,造成資料遺漏或是不正確;如果操作資料庫的使用者權限為系統管理者,那麼還有可能造成其他更嚴重的破壞,例如奪取資料庫的控制權。
    ‧過濾網頁使用者的input資料 –網頁程式也提供一些函數來過濾使用者輸入SQL語法 ‧資料庫的權限設定 –避免讓網頁的資料庫使用者有過多的資料庫權限 ‧嚴格過濾使用shell command –避免系統執行到使用者輸入的shell command ‧仔細處理每個 return code及error codes的輸出 –過多錯誤訊息會暴露過多系統資料,讓駭客有機可趁

Read Full Post »