620 likes | 850 Views
資安事件處理案例之說明與分析. 行政院 國家資通安全會報 技術服務中心 游 欣 煌 MCSE SCSA CCNP CISSP BS 7799 Lead Auditor 中華民國九十二年十二月五日星期五. Outline. 前言 協力廠商濫用事件 存取控制以及 IIS 設定不當的漏洞 事件 FrontPage Server Extension 漏洞 事件 SQL Injection 漏洞竄改網頁張貼消息 事件 OfficeScan 隱含弱點事件 結 語. 層出不窮的 Internet 資訊安全事件. 1996 年 9 月
E N D
資安事件處理案例之說明與分析 行政院 國家資通安全會報 技術服務中心 游 欣 煌 MCSE SCSA CCNP CISSP BS 7799 Lead Auditor 中華民國九十二年十二月五日星期五
Outline • 前言 • 協力廠商濫用事件 • 存取控制以及 IIS 設定不當的漏洞事件 • FrontPage Server Extension 漏洞事件 • SQL Injection漏洞竄改網頁張貼消息事件 • OfficeScan 隱含弱點事件 • 結 語
層出不窮的Internet資訊安全事件 1996年9月 駭客滲入到政府機關及軍事部門等組織,國家安全遭受威脅 2001年4月 美中撞機事件引發中美駭客大戰。 2000年3月 駭客利用DDoS的網路攻擊方式,引起Yahoo、Amazon 、CNN 、eBay等知名網站癱瘓,以致無法提供正常服務。 1999年9月 兩岸駭客對打此起彼落 2001年7-8月 紅色警戒Code Red電腦病蟲肆虐,造成數十萬台電腦受駭,網路頻寬阻塞:白宮被迫更改網址、商務部暫時關閉公共網站、財政部金融系統停擺等。 2003年8月 疾風(MSBlaster ) 、老大(Sobig)病蟲,癱瘓多家政府機關主機運作,影響業務進行 1988年 美國某大學生在Internet上啟動了第一隻Internet Worm,造成許多電腦癱瘓之後,此事件也因此提醒了許多人除了感到對Internet的方便性外,亦重新評估其所帶來的風險與安全性。 2001年3月 Amazon.com旗下網站Bibliofind,遭受駭客入侵,竊走9萬8000名顧客信用卡資料。 使得線上交易機制的網路安全問題再度成為關注焦點。 2000年6月 香港某電台網站疑受台灣駭客攻擊,調查後發現攻擊來源為台灣某家廣播公司,已證實該廣播公司曾被來自大陸的駭客入侵。顯示國際電腦駭客以台灣當跳板,我不殺伯仁,伯仁卻因我而死。 2001年9月 Nimda電腦病蟲肆虐,造成數十萬網路上電腦之嚴重威脅。 2001年9-10月 國內陸續發生十餘起「駭客入侵校園檔案事件」之案例,更改修課與假況資料 。 2003年7月 替代役男利用後門程式,入侵並利用學術及政府機關電腦主機充當『盜版倉庫』,儲存熱門電影、電腦軟體、音樂及色情光碟檔案資料。 2003年7月 駭客組織在七月六日對全球網站進行駭客大賽,希望在六小時內入侵全球6000知名網站。 2003年9月 網軍事件-多家政府機關被植入木馬或後門程式 2001年5月 東科大火燒出企業資料異地備援的重要性,也考驗企業災害復原的能力。 2002年4-5月 國內網路報稅,隱碼攻擊(SQL Injection)問題造成國人對網路報稅的疑慮 。 2002年7月 偵九隊破獲大陸駭客利用國內ISP業者系統作為攻擊跳板竊取我國資料 。 2003年7月 媒體報載美軍方電腦系統疑似遭受DDOS攻擊,台灣電腦被植入木馬程式成為攻擊跳板。 2001年4月 國內首宗網路銀行遭人入侵盜領事件,SSL安全機制受到質疑。 2001年3月 由於憑證管理機構VeriSign業務疏失,誤發兩份程式碼安全性憑證,進而影響到客戶的權益。 • 2003年9月 某政府機關在網站的檢索系統中,不需經過安全措施檢查,即可取得機密資訊
資安事件的發生 • 資安事件的發生 = 資安弱點 資安威脅 入侵或攻擊或然率 • 資安弱點:資訊系統與網路環境潛在可能遭受入侵、攻擊或破壞之處 • 資安威脅:對資訊系統與網路環境可能造成隱密性、完整性及妥用性問題之外來事件 • 入侵或攻擊或然率:對資訊系統與網路環境入侵或攻擊之或然率
案例說明-協力廠商濫用事件 • 說明一:某機關將原本放在同一台主機的 Web 以及 Mail 伺服器,其中的 Mail 伺服器移出至另外一台主機後發現,Mail 伺服器中有許多因為主機移動後無法寄發給廠商的信件。檢視相關網頁程式,發現外包廠商在網頁中寫入轉寄客戶資料的程式碼。 • 說明二:某機關收到研考會的文,指出所屬的主機有 WebDAV 的漏洞,才發現主機被協力廠商利用進行 Win 98 升級 Win 2000 時安裝了 IIS 以及 Exchange。並利用來進行協力廠商公司網站的宣傳以及郵件傳送。
案例說明-協力廠商濫用事件 • 問題檢視: • 可以完全信任廠商? • 程式碼的驗收機制? • 外包合約的簽訂方式? • 檢視所有的服務了嗎?
案例說明-協力廠商濫用事件 Internet User 基本資料、服務申請 機關網頁 服務安排結果 客戶基本資料 外包廠商主機
案例說明-協力廠商濫用事件 • 訪查項目: • 檢視相關網頁程式查看是含有惡意程式碼 • 確認與廠商的合約關係 • 弱點掃描與修補建議
案例說明-協力廠商濫用事件 • 建議事項: • 建立有效的安全政策 • 詳列資產並進行評估 • 列出威脅 • 評估風險 • 分派責任 • 建立安全政策 • 推行到整個組織 • 定期檢視主機內所安裝的軟體,檢查是否存在非認可的應用程式
案例說明-協力廠商濫用事件 • 建議事項: • 仔細驗收外包廠商的成果,必要時,在廠商安裝軟體時一定要有員工在旁監看 • 檢視協力廠商合約,確保合約內規定協力廠商不得濫用單位內的資訊以及服務 • 定期檢視防火牆等資安措施的 Policy • 審查所有網頁程式,確認每個程式的功能 • 更改 include 檔案的名稱、存放目錄,以及資料庫的檔案名稱、存放目錄;避免廠商可以直接下載資料庫
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • 說明:八月份開始技服中心監控到一連串的政府機關網站,網頁被置換。該些機關皆已修補所有的 patch,仍然被入侵置換網頁。 • 問題檢視: • Patch 確實安裝? • Log 檔中可以發現規律的規則? • 查詢坊間是否有未知的新弱點? • 微軟的 patch 是否有發生作用?
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • What happen with below log? OPTIONS / - 200 PROPFIND / - 207 PROPFIND / - 207 PROPFIND / - 207 GET /index.htm - 200 HEAD /default.cfm - 404 PUT /default.cfm - 201 HEAD /default.htm - 404 PUT /default.htm - 201 HEAD /default.html - 404 PUT /default.html - 201 HEAD /default.php - 403 HEAD /default.asp - 403
200 OK 201 Post 指令被成功地執行 202 請求被接受 203 Get 或 Head 請求被完成 204 請求完成,但無內容傳回 207 請求完成,且有內容傳回 300 資源可在多處被找到 301 資源永久的移除 302 資源暫時被移除 304 資源未被更改過 400 Client 的不正確請求信息 401 未授權的請求訊息 402 完成請求信息必須有回應 403 禁止使用此資源 404 資源找不到 405 資源不允許使用此方法 406 不被接受的資源型別 410 無此資源 500 Server 內部發生錯誤 501 沒有被實作的方法 502 不正確的 Gateway 或 Server 負荷過重 503 無此 Service 或 Gateway 等回應時逾時 200 秒 案例說明-存取控制以及IIS設定不當的漏洞事件
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • What Are Those ? • OPTIONS ? • PROPFIND ? • HEAD ? WebDAV 指令
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • WebDAV是什麼? • "Web-Based Distributed Authoring and Versioning". • 它是一組由 HTTP/1.1 的功能延伸出來的通訊協定,讓用戶端發行 (公佈資源讓他人使用)、鎖定、並管理 Web 上的資源,使得使用者們得以經由網頁來共同編輯、整理、管理檔案資料。
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • 啟用 WebDAV 的好處??? • 具有權限的使用者就可以在 WebDAV 目錄中自由複製、尋找 、刪除並移動檔案。 • 修改與某些資源相關的內容。 舉例來說,使用者可以寫入並取回檔案的內容資訊。 • 將資源鎖定或解除鎖定,如此多位使用者可同時讀取檔案,但一次只有一個人可以修改檔案。 • 搜尋 WebDAV 目錄中的檔案的要旨與內容。舉例來說,您可以搜尋所有含有 table 這個字的檔案,或是搜尋所有由 Fred 建立的檔案。 誰是有權限的使用者? 誰可以決定要不要用 WebDAV 功能? 好處真的是好處嗎?
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • WebDAV 已整合在 Windows 2000 與 IIS 5.0 之中!!! • 設定了發行目錄後,具有正確權限的使用者就可以將文件發行至伺服器中,並在目錄裡處理檔案 啟動了IIS,就直接啟動了WeDAV!!!
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • 誰是有權限的使用者? Windows 的存取控制 • 每當有使用者試圖存取 Web 伺服器時,伺服器就會執行一定的存取控制程序來辨別使用者,並決定該位使用者可允許的存取等級。 • Web 伺服器權限適用於所有存取 Web 和 FTP 站台的使用者。 而 NTFS 權限只針對合法 Windows 帳戶內的特定使用者或群組而設定。 • Web 和 FTP 存取權限的預設是使用 Windows IUSR_電腦名稱帳戶。 每當使用者用匿名驗證進入站台時,就是透過這個帳戶。
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • 存取控制 如何運作
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • OPTIONS ? 可以查詢網站提不提供WebDAV指令 OPTIONS * HTTP/1.1 Host: localhost HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Fri, 11 Aug 2000 14:09:10 GMT Content-Length: 0 Accept-Ranges: bytes DASL: <DAV:sql> DAV: 1, 2 Public: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH Cache-Control: private
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • PROPFIND ? 判斷目錄瀏覽許可權的情況 可以得到檔名,創建時間,最後修改時間等等 PROPFIND /dir/ HTTP/1.1Host: iis-serverContent-Length: 0
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • HEAD ? 查詢檔案存不存在 HEAD /dir/ HTTP/1.1Host: iis-serverContent-Length: 0
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • PUT 直接上傳檔案 PUT /dir/my_file.txt HTTP/1.1Host: iis-serverContent-Length: 10 <enter><enter>
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • 建議事項: • 關閉WebDAV功能 • 執行 regedit • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters • 加入以下registry value: • Value name: DisableWebDAV • Data type: DWORD • Value data: 1 • 需重新啟動IIS以使用新設定,若要再次啟用 WebDAV 則將其值設為 0。 • 目前確認 FrontPage 會使用 WebDAV
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • 建議事項: • 確認寫入權限未被核取
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • 建議事項: • 強化 Web 所在資料夾 (一般為 %SystemDrive%\Inetpub\wwwroot) 存取權限,該資料夾對於 Internet 來賓帳戶 (IUSR_MachineName) 或 Everyone 等帳戶,通常僅需提供讀取權限即可。
案例說明-存取控制以及IIS設定不當的漏洞事件案例說明-存取控制以及IIS設定不當的漏洞事件 • 建議事項: • 必須具有穩固的密碼原則 • 未經授權的個人會由偷竊或推測使用者的帳戶密碼,得以進入 Web 伺服器。 確定所有的密碼 難以推測。 • 限制存取 Web 伺服器管理員特權 • 唯有值得信賴的個人才授與其管理員特權。 • 只有在管理網路網域時,才使用 Administrator 帳戶。 • 避免將「完全控制」權限指定給使用者。 • 定期變更 Administrator 帳戶的密碼。 • 以 Administrator 登入時,切勿任意執行不明的程式。 • 在遠端管理 時,請用 SSL 安全功能來處理。 • 要有嚴密的帳戶原則 • 對於 Windows 的使用者群組,運用 Windows 的「群組原則」公用程式來指定使用者權利原則。
案例說明-FrontPage Server Extensions 漏洞事件 • 說明:技術服務中心協助處理的網頁置換事件中,有三分之一的比例都是利用此一弱點被攻擊。 • 問題檢視: • 安裝了所有的 patch 就可以絕對安全 ? • 預設安裝只安裝你需要的元件 ?
案例說明-FrontPage Server Extensions 漏洞事件 • 什麼是 FrontPage Server Extensions ? • 一套功能強大的網站管理軟體,支援 FrontPage 中的 HTML 編輯製作;並擴充 Web 伺服器功能之程式及 Script 的集合,讓使用者可以快速地進行搬移檔案、檢查超連結等動作,管理整個網站 又是一樣的老問題: 誰有權利可以透過 FrontPage 來管理網站? 誰可以決定要不要啟用 FrontPage Server Extensions 功能?
案例說明-FrontPage Server Extensions 漏洞事件 • 誰有權利可以透過 FrontPage 來管理網站? Windows 的存取控制 • !!!!!! Windows 預設 Everyone 擁有檔案的完全控制權!!!!!!! 任何人都可以透過FrontPage 來管理你的網站
案例說明-FrontPage Server Extensions 漏洞事件 • 誰可以決定是否啟用 FrontPage Server Extensions 功能? !!!! 預設會安裝 FrontPage Server Extensions !!!!
案例說明-FrontPage Server Extensions 漏洞事件 • 沒有設定權限的網站
案例說明-FrontPage Server Extensions 漏洞事件 • 遭受 FrontPage Server Extensions 攻擊的LOG紀錄 POST /_vti_bin/shtml.dll - 200 MSFrontPage/5.0 POST /_vti_bin/_vti_aut/author.dll - 200 MSFrontPage/5.0
案例說明-FrontPage Server Extensions 漏洞事件 • 建議事項: • 移除 FrontPage Server Extensions • 從〔設定〕-〔控制台〕-〔新增移除程式〕-〔新增移除 Windows 元件 - IIS〕 • 點選〔詳細資料〕,取消 FrontPage 2000 Server Extensions 之選項。 • 移除 [_vti_bin] 目錄
案例說明-FrontPage Server Extensions 漏洞事件 • 建議事項: • 若是需要 FrontPage Server Extensions,請務必設定好權限 • 設定網頁的所在目錄(例如:C:\inetpub\wwwroot\) • 及 FrontPage Server Extensions 所在目錄(C:\Program Files\Common Files\Microsoft Shared\WebServerExtensions\40\isapi) • 設定 Everyone 的權限成僅有 “讀取及執行、清單資料夾內容與讀取”。此外,移除系統上不需要的帳號,需要的帳號也請設定強固的密碼。
案例說明-SQL Injection漏洞竄改網頁張貼消息事件
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 • 說明:技服中心多次主動發現許多政府網頁遭竄改張貼含有入侵字眼的最新消息。 • 問題檢視: • 防火牆檔不住 • 任何平台都可能發生 • 程式漏洞
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 • 什麼是 SQL Injection • 屬於 Input Validation 的問題。目前被翻譯成『資料隱碼』攻擊。 • 程式寫作的漏洞,利用修該過的 SQL 語法遂行駭客的目的。 • 利用錯誤訊息 • 破壞性的工作 • 換言之,只要提供給使用者輸入的介面,又沒有做到相當嚴密的輸入資料型態管制,就有可能會遭受這種行為的攻擊。
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 • SQL Injection 原理 • 一般輸入帳號密碼的網站的 SQL 語法 select * from member where UID =' "& request("ID") &" ' And Passwd =' "& request("Pwd") & " ' • 如果正常使用者帳號A123456789 ,密碼1234 select * from member where UID ='A123456789' And Passwd='1234' • 輸入的帳號與密碼等資訊會取代ASP( or PHP、JSP)中的變數,並由兩個單引號(' ')所包住
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 • 國內約有八成以上的官方與民間網站可能有此問題? • 利用到網頁程式 (PHP, ASP, JSP, etc.) • 利用 SQL 查詢存取資料庫 • 程式設計師沒有做輸入驗証 • 問題有那麼嚴重嗎? • 駭客可透過合法連線進行入侵動作 • 操作資料庫 • 執行特殊命令 • 入侵內部的跳板
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 ID=A123456789 Passwd=1234 select * from member where UID ='A123456789' And Passwd='1234' 網際網路 正常連線狀態
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 ID=Admin' -- Passwd=1234 select * from member where UID ='Admin' --' And Passwd= '1234' 網際網路 SQL Injection 攻擊
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 • 錯誤處理失當範例(1)
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 • 錯誤處理失當範例(2)
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 • 錯誤處理失當範例(3)
案例說明-SQL Injection漏洞竄改網頁張貼消息事件 • 建議事項: • 查詢參數過濾 • 過濾特殊字元 • 輸出驗証 • 限制輸入格式 • 密碼 (A~Z, 0~9) • Email Address • 輸入長度檢查 • 最大輸入字串長度檢查 • 資料庫權限設定 • 個別資料庫 Role 與 Login/User。