280 likes | 474 Views
密碼學與網路安全 第 19 章 惡意軟體. 惡意軟體. 密門 , 後門 (Trapdoors, backdoors). 密門是指程式中暗藏秘密功能,透過該功能,可以在不經正常的安全認證程序下,取得系統控制權 密門是程式開發人員預留,是執行程式某些功能秘密入口 開發人員會在程式的開發除錯階段使用密門 但是當程式的密門被不懷好意的開發人員拿來作為避過認證程序的途徑時,就會有安全上的威脅 要用作業系統來防制密門程式是很困難的 安全控管人員只能不斷注意這類程式及其更新檔的最新消息. 邏輯炸彈. 邏輯炸彈是古老的攻擊程式,比病毒和蠕蟲更早出現
E N D
密門, 後門(Trapdoors, backdoors) • 密門是指程式中暗藏秘密功能,透過該功能,可以在不經正常的安全認證程序下,取得系統控制權 • 密門是程式開發人員預留,是執行程式某些功能秘密入口 • 開發人員會在程式的開發除錯階段使用密門 • 但是當程式的密門被不懷好意的開發人員拿來作為避過認證程序的途徑時,就會有安全上的威脅 • 要用作業系統來防制密門程式是很困難的 • 安全控管人員只能不斷注意這類程式及其更新檔的最新消息
邏輯炸彈 • 邏輯炸彈是古老的攻擊程式,比病毒和蠕蟲更早出現 • 邏輯炸彈會嵌入正常的軟體裡面,然後在某些「導火線」點燃時,突然就「爆炸」 • 導火線可能是: • 某個檔案存在或不在 • 特定的時間 • 特定的使用者執行了這套軟體 • 引爆邏輯炸彈被可能會: • 出現警告訊息 • 資料或檔案被刪除 • 當機
特洛伊木馬 • 特洛伊木馬是暗藏會造成傷害或是進行別人不希望的功能的程式 • 通常會以吸引人的面貌出現,例如: • 遊戲、軟體更新檔案等等 • 當使用者執行特洛伊木馬程式 • 就能允許攻擊者間接取得系統存取權限 • 特洛伊木馬程式也經常用來散播病毒/蠕蟲,或者安裝後門程式;甚至用來破壞資料 • 老師個人的建議
僵屍(Zombie) • 僵屍是一種會偷偷控制網路其他電腦的程式,然後控制電腦來發動攻擊 • 僵屍通常用在阻斷服務攻擊 • 僵屍會利用網路系統的安全漏洞,進而達到控制其他電腦、發動網路攻擊的目的
病毒 • 是一段能夠自我複製的程式碼,並且依附在其他的軟體,就如同生物學的病毒 • 自我繁殖並造成系統負擔 • 病毒帶有會自我繁殖的程式碼 • 並經常會出現造成系統負擔甚至破壞系統的行為
病毒的行為 • 電腦病毒的四個生命階段 • 潛伏(dormant phase):有些沒有 • 繁殖(propagation phase) • 觸發(trigger phase) • 執行(execution phase) • 大多數的病毒是針對特定系統的特性與弱點來設計,因此只會在特定的作業系統發作
簡單的病毒程式碼範例 program V := {goto main; 1234567; subroutine infect-executable := {loop: file := get-random-executable-file; if (first-line-of-file = 1234567) then goto loop else prepend V to file; } subroutine do-damage := {whatever damage is to be done} subroutine trigger-pulled := {return true if some condition holds} main: main-program := {infect-executable; if trigger-pulled then do-damage; goto next;} next: }
感染初期 • 病毒在系統中感染了某支程式並且開始執行,就可以感染其他、甚至是整個系統的可執行檔 • 要完全阻絕病毒擴散,防止第一支病毒被執行將顯得很重要 • 但病毒可能寄宿在系統之外的程式,完全防堵變得特別困難 • 因此,除非對所有要執行的程式進行防護,否則病毒就有機可乘
病毒的種類 • 寄生型病毒(parasitic virus) • 常駐型病毒(memory-resident virus) • 存於主記憶體中,如同系統中的程式 • 開機型病毒: 感染MBR或boot sector • 隱藏型病毒(Stealth virus):可以讓防毒軟體掃不到的病毒(如感染前後大小相同之程式) • 多體病毒(Polymorphic virus): 會突變改特徵碼。 • 變體病毒(metamorphic virus):會突變,連樣子、行為都改了。還會對病毒碼加密。 • 巨集病毒
巨集病毒(Macro virus) • 巨集病毒會依附在某些資料檔 • 巨集病毒的執行 • 利用Word或Excel巨集 • 利用巨集的自動執行指令 • 巨集病毒往往可以跨平台 • 巨集病毒是新的主要感染源 • 巨集病毒模糊了程式與資料之間的界線,使得偵測更加困難
電子郵件病毒 • 利用電子郵件的附件散播,例如著名的Melissa病毒 • 可以根據聯絡人名單自動發信感染其他電腦。 • 使用者開啟附件就會引發病毒 • 更糟的是後繼出現只要開啟電子郵件就會引發病毒的電子郵件病毒(用VBscript所寫) • 電子郵件病毒經常是以微軟的Outlook和Word/Excel文件為目標
蠕蟲(Worm) • 蠕蟲會更積極的感染更多的電腦,因為每部被感染的電腦,都會不斷的感染其他的電腦 • 蠕蟲通常藉由網路散播: • 著名的摩理斯(Morris)蠕蟲發生在1998年 • 也因災情慘重而產生了CERT組織 • 蠕蟲通常藉由合法使用者的權限或系統漏洞來傳播 • 蠕蟲廣被駭客用來製造僵屍,並進而發動攻擊,尤其是阻斷服務攻擊 • 蠕蟲最主要的問題是網路連接的方式並不安全。
蠕蟲的行為 • 蠕蟲的行為類似病毒的四個生命階段: • 潛伏 • 繁殖 • 搜尋可以感染的遠端系統 • 與遠端主機建立連線 • 自我複製到遠端主機 • 觸發 • 執行 • 會在多工系統中扮成系統程式
摩理斯(Morris)蠕蟲 • 目前所知最著名的蠕蟲事件 • 是Robert Morris在1998年透過網路所釋放 • 目標是UNIX系統 • 使用多種複製技巧: • 破解本機的密碼檔 • 利用finger協定的漏洞取得遠端使用者的資訊 • 利用sendmail遠端程序用以除錯的密門 • 如任何攻擊方式成功,便進行自我複製
最近的蠕蟲攻擊 • 最近大量的蠕蟲攻擊始於2001年中 • 紅色警戒(Code Red) • 利用微軟IIS的安全漏洞來複製擴散蠕蟲 • 以隨機的IP位址對其他主機散佈蠕蟲 • 只要特定的時間一到就會發動阻斷服務攻擊 • 第二波攻擊在14個小時感染了360,000部伺服器 • 第二代的紅色警戒 • 變種後的第二代亦以IIS為目標,而且還會安裝後門程式,讓駭客可以直接操控受害電腦 • Nimda • 使用多種感染機制:電子郵件、檔案共享、瀏覽網站、IIS、第二代紅色警戒的後門
防毒策略 • 病毒威脅的最佳解決方式是防範未然:不讓任何病毒有第一次執行的機會 • 防毒方案: • 預防,阻止病毒感染 • 偵測,找到病毒 • 移除,移除病毒並回復系統到乾淨的狀態
防毒軟體 • 第一代 • 以病毒特徵來辨識病毒 • 記錄程式大小以便比對程式是否改變 • 第二代 • 尋找病毒的特定程式碼片段來辨識病毒 • 以檢查碼(CheckSum)確認程式是否改變 • 第三代 • 常駐於記憶體並隨時偵測病毒的活動 • 第四代 • 整合各種防毒技術 • 例如掃瞄技術、活動檢查、監控存取
進階防毒技術 • 通用型解密技術 • CPU模擬器、病毒特徵掃描器、模擬器的控制模組 • 問題:要模擬多久?抓到毒/系統效能Tradeoff • 數位免疫系統(IBM) • 通用型模擬器及病毒偵測系統 • 當新病毒侵入組織,免疫系統將自動逮住、分析,並產生疫苗,然後摧毀病毒
行為阻擋軟體 • 行為阻擋軟體與作業系統相互整合 • 即時監控程式的行為 • 例如存取檔案、格式化磁碟修改執行檔、更改系統設定、存取網路等等 • 行為阻擋軟體發現程式想要發動惡意攻擊,會即時阻擋攻擊行為並終止程式 • 此技術優於其他探索式掃瞄或病毒碼辨識的防毒偵測技術 • 但行為阻擋軟體發現攻擊行為之前,惡意程式已經在電腦上執行,可能已經破壞系統 • 只監視執行檔的存取,卻讓病毒破壞了非執行檔的重要檔案。
分散式阻斷服務(DDoS) • DDoS(Dirtributed Denial of Service))對企業是嚴重的資安威脅,而且是與日遽增的威脅 • DDoS攻擊會以大量的「僵屍」讓電腦系統被伺服器或終端使用者系統氾濫且無用的流量塞滿,讓使用者無法獲取電腦系統的資源 • 典型的DDoS攻擊就會讓大量的主機同時對特定伺服器傳送無用的封包,伺服器一時之間收到大量封包,因而無法服務其他使用者
建構攻擊網 • DDoS攻擊的第一步是以僵屍程式感染大量的機器,再以這些機器完成攻擊目的 • 這個攻擊階段的基本因素包括: • 完成DDoS攻擊的程式 • 找出某個有很大數量機器之系統弱點 • 找到系統有弱點的機器,例如利用掃瞄
抵抗DDoS攻擊的對策 • 通常有三道抵抗DDoS攻擊的防線: • 防止攻擊(攻擊前) • 限制資源消秏 • 提供備用資源 • 偵測並過濾攻擊(攻擊時) • 追蹤並辨認攻擊來源(攻擊時及攻擊後)
總結 • 各種不同的惡意軟體 • 密門、邏輯炸彈、特洛伊木馬、僵屍 • 病毒 • 蠕蟲 • 防毒策略 • 分散式阻斷服務