1 / 38

安全性互動式網頁設計簡介

安全性互動式網頁設計簡介. 安全性互動式網頁設計簡介. 你可能看過類似的新聞. 安全性互動式網頁設計簡介. 安全性互動式網頁設計簡介. 你可能看過類似的新聞. 安全性互動式網頁設計簡介. 你可能瀏覽過類似的網站。 你對這些新聞熟悉嗎? 哪些網站是不安全的 哪些網站是會受到攻擊的 是一般的 HTML 網頁嗎? NO 是具有 互動式的網頁 才可能有類似的問題. 安全性互動式網頁設計簡介. 互動式網頁 簡介 互動式網頁就是使用者可以與伺服器互動性的交談,並輸入資料去更新或新增在伺服器的資料,然後在回應到使用者端。

yoshi-walls
Download Presentation

安全性互動式網頁設計簡介

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. 安全性互動式網頁設計簡介

  2. 安全性互動式網頁設計簡介 • 你可能看過類似的新聞

  3. 安全性互動式網頁設計簡介

  4. 安全性互動式網頁設計簡介 • 你可能看過類似的新聞

  5. 安全性互動式網頁設計簡介 • 你可能瀏覽過類似的網站。 • 你對這些新聞熟悉嗎? • 哪些網站是不安全的 • 哪些網站是會受到攻擊的 • 是一般的HTML網頁嗎? • NO • 是具有互動式的網頁才可能有類似的問題

  6. 安全性互動式網頁設計簡介 • 互動式網頁簡介 • 互動式網頁就是使用者可以與伺服器互動性的交談,並輸入資料去更新或新增在伺服器的資料,然後在回應到使用者端。 • 常見的互動式網頁有留言版、討論區及需要輸入帳號密碼的網站等。 • 這類網頁容易成為有心人士的填字遊戲。

  7. 安全性互動式網頁設計簡介 • 互動式網頁程式引發的問題: • 癱瘓系統服務 • 應用系統的資料遭竊取或竄改 • 取得應用程式的控制權 • 取得應用系統所在主機的控制權

  8. 安全性互動式網頁設計簡介 • 互動式網頁程式引發問題所造成的影響: • 個人­資料喪失或竄改 • 商家­聲譽受損或倒閉 • 金融系統­金融秩序 • 工程系統­工安事件 • 國防系統­國家安全

  9. 安全性互動式網頁設計簡介 • 如何避免互動式網頁程式引發的問題 • 從Client端?從Server端? • 回顧系統分析設計的流程 • 系統分析(需求定義) • 系統設計 • 系統開發/測試 • 系統建置(部署) • 系統維護

  10. 安全性互動式網頁設計簡介 • 安全性互動式網頁的設計時機 • 從系統設計的流程,可以思考安全性互動式網頁的設計應從何時開始。是要在系統開發/測試,或是在系統設計,還是要從系統分析時就要考慮了。

  11. 安全性互動式網頁設計簡介 • 互動式網頁執行流程 網頁服務 找到網頁 互動式程式語言 瀏覽器 資料庫 返回HTML 處理互動式程式語言 伺服器

  12. 安全性互動式網頁設計簡介 • 互動式網頁安全設計準則 • 假設所有外來系統輸入都是有問題的 • 失敗訊息的安全性 • 簡單化

  13. 安全性互動式網頁設計簡介 • 假設所有外來系統輸入都是有問題的 • 太相信使用者輸入的資料,直接進行各種處理,會產生下列的情形 • 不要只依賴前端所寫的Java Script來檢查,而是前端與伺服器端皆須檢查。

  14. 安全性互動式網頁設計簡介 • 失敗訊息的安全性 • 不要 • 在錯誤訊息中洩漏資訊 • 長時間消耗系統資源 • 要 • 系統進入一個預設的安全狀態 • 詳細資訊寫入後端日誌 • 使用異常管理

  15. 安全性互動式網頁設計簡介 • 簡單化 • 因為程式越長越複雜 • 架構疊床架屋,用了一堆網路上抓的程式碼或元件 • 每個人的程式風格與命名規則也不同 • 程式最好寫的別人都看不太懂,才能顯示自己的程度

  16. 安全性互動式網頁設計簡介 • 結果往往是 • 不易除錯 • 半年後自己也看不太懂 • 隱含一些安全上的問題,還很難修復 • 花錢重寫 • 所以 • 使用Design Pattern,標準程式撰寫方式 • 較佳的程式碼檢查->容易發現安全上的缺陷 • 較佳的程式碼維護->容易修正安全上的缺陷

  17. 安全性互動式網頁設計簡介 • 要如何得知互動式網頁的攻擊行為 • OWASP(開放Web軟體安全計畫 - Open Web Application Security Project)致力於推動Web安全的開放社群、非營利性組織,其主要目標是協助解決造成不安全 Web軟體的主因,並透過開放式計畫的方式,由組織成員研發工具與撰寫技術文件,向全世界分享最新攻擊趨勢、與測試及防禦方法。

  18. 安全性互動式網頁設計簡介 • 目前OWASP已有超過 30多個正在進行中的計畫,包括最知名的OWASP Top 10(十大Web弱點)- Web應用程式安全問題分類、Web安全練習平台、偵測與保護PHP/Java/ASP.Net程式碼等。OWASP每年皆舉行年度會議,參與的會員亦經常更透過不定期研討會討論Web安全衍伸出的其他問題,包含Rootkit木馬等研究項目,通常為會員本身的專長或是額外的興趣。

  19. 安全性互動式網頁設計簡介 • OWASP每隔幾年會公告10大網站安全漏洞 • OWASP 2007年10大網站安全漏洞與2010年10大網站安全漏洞比較: • 2.1 新增第六項為不正確的安全設定 (Security Misconfiguration)。 • 2.2 新增第十項為未驗證的重新導向與轉發 (Unvalidated Redirects and Forwards)。 • 2.3 移除第三項惡意程式的執行 (Malicious File Execution)。

  20. 安全性互動式網頁設計簡介 • 2.4 移除第六項資訊洩漏與不適當的錯誤處理 (Information Leakage and Improper Error Handling)。 • 在2007年與2010年中位於第1、2名的分別為Cross-Site Scripting(XSS)與Injection Flaw。

  21. 安全性互動式網頁設計簡介 • 何謂Cross-Site Scripting(XSS)攻擊 • Cross Site Script(XSS),跨站腳本攻擊。它指的是惡意攻擊者往Web頁面裏插入惡意html代碼,當用戶瀏覽該頁之時,嵌入其中Web裏面的html代碼會被執行,從而達到惡意用戶的特殊目的。Cross Site Script (XSS)屬於被動式的攻擊,因為其被動且不好利用,所以許多人常忽略其危害性。

  22. 安全性互動式網頁設計簡介

  23. 安全性互動式網頁設計簡介

  24. 安全性互動式網頁設計簡介 • 常見的攻擊測試: • 在留言板輸入 “><script>alert(‘XSS%20Testing’)</script><” • 如果會跳出XSSTesting的視窗,表示該網站並未針對輸入的資料進行HTML語法篩檢,會讓瀏覽該網站的使用者下載惡意程式。 • 轉碼攻擊 • 將字元轉成10進位或16進位表示

  25. 安全性互動式網頁設計簡介 • <img src="javascript:alert('XSS');"> • 10進制 • <imgsrc=“&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;&#59;&#32;”> • 16進制 • <img src=“&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x27;&#x58;&#x53;&#x53;&#x27;&#x29;&#x3b;&#x20;”>

  26. 安全性互動式網頁設計簡介 • 攻擊方式有: • 找到可利用的URL,製造出惡意連結。 • 透過電子郵件,討論區,大量散布惡意連結。 • 加入TAB、空白、註解(/**/),以規避瀏覽器的檢查 • 可能攻擊的目標 • PDF文件 • Flash • 影片

  27. 安全性互動式網頁設計簡介 • 可能攻擊結果: • 造成網頁被竄改的感覺。 • 偷取使用者認證資料。 • 竊取登入資料(cookie) • 誘導使用者到架網站進行登錄 • 攻擊後端管理網站 • 讓使用者下載木馬程式,進而存取前端資料。 • Cross Site Script (XSS)蠕蟲->癱瘓網路。

  28. 安全性互動式網頁設計簡介 • 防護建議:輸入檢查+輸出轉換 • 輸入檢查: • 白名單:列出可以通過的字串組合 • 黑名單:列出無法通過的字串組合

  29. 安全性互動式網頁設計簡介 • 輸出轉換: • 透過編碼,告訴瀏覽器這些是”資料”,採用HTML-Encoding。 • 如果輸出資料到URL->URL-Encoding。 • 強制設定回訊的HTTP response之編碼方式為ISO-8856-1(或UTF-8)。

  30. 安全性互動式網頁設計簡介 • Injection Flaw是攻擊者透過介面餵入指令讓後端程式執行,常見的為SQL Injection。 • SQL指令植入式攻擊: • 駭客可透過網站所提供的合法輸入介面,在輸入資料中夾帶一段SQL程式碼,透過網站程式交予後端資料庫執行。 • 影響範圍是全面性: • ASP,ASP.NET,PHP,JAVA… • MSSQL,MYSQL,Oracle,Sybase,DB2…

  31. 安全性互動式網頁設計簡介 • 可能造成的破壞: • 繞過身分登錄機制即可登錄。 • 竊取網在資料。 • 修改網站內容。 • 新增、刪除、消改資料表格內容。 • 清空甚至刪除整個資料表格。 • 停止資料庫系統的運作->停止網站運作 • 在網站主機的作業系統中取得系統最高權限->植入木馬程式,當作跳板主機

  32. 安全性互動式網頁設計簡介 • 攻擊步驟: • 確認後端資料庫種類:資料庫種類在某些功能上與語法上有差異。 • 尋找程式中可能的注入點。可能為SQL語句內容之參數: • 網址參數。 • 表單資料。 • 根據想達到的目的注入SQL攻擊指令。

  33. 安全性互動式網頁設計簡介 • Injection Flaw是當程式在查詢資料庫資料時,利用改變邏輯判斷的情形來取得所需資料。 • 常見的攻擊手法: • Bypass Authentication:於登入頁面之帳號密碼欄位,注入SQL語法以繞過驗證。 • 攻擊字串範例: • ‘or ‘’=‘ • ‘or 1=1— • ‘or 1=1/*

  34. 安全性互動式網頁設計簡介 • 本來SQL語法長這樣: • Select * From Account Where username=‘[帳號]’ andpassword=‘[密碼 ]’ • 需要帳號與密碼都對才能查詢 • 輸入攻擊資料後成為: • Select * From Account Where username=‘admin’ andpassword=‘‘ or 1=1--’ • “--” 表示說明,往後的指令皆被忽略 • 因為判斷式為TRUE,所以…

  35. 安全性互動式網頁設計簡介 • Error Based ( ASP + MS-SQL ):使用者在瀏覽器中看的見資料庫所產生的原始錯誤資訊,利用資料庫行別轉換產生之錯誤訊息撈取資訊。 • 早期常見之資料庫盜取方式 • 案例常見於ASP+MSSQL之組合情況下 • 後來大家寫程式會隱藏原始錯誤資訊

  36. 安全性互動式網頁設計簡介 • Union Based:利用在判斷式後結合前後兩段SQL語句以撈取資料庫內容。 • 攻擊字串範例: • id=1 order by 10-- ( 首先利用 order by 判斷欄位數量 ) • id=1 union select 1,2,3,4,5-- • id=1 union select 1,2,3,database(),5— • id=1 union select 1,2,3,load_file(‘/etc/passwd’),5—

  37. 安全性互動式網頁設計簡介 • 防護建議: • 輸入資料檢驗: • 白名單過濾:僅允許數字,或文數字。 • 黑名單過濾:不正常的Query。 • 轉換特殊字元/字串。 • 資料庫管理:分離應用程式中各個功能模組存取DB的權限,以免一個注入點就可取得所有資料。 • 限制資料庫執行城市本身的權限。 • 將一般用不到但功能強大的延伸程序刪除或限制其操作者身分。

  38. 安全性互動式網頁設計簡介 • 妥善的處理錯誤訊息:客製化錯誤訊息。 • 回覆簡潔的回應訊息。 • 設定固定的一般錯誤訊息。 • 帶有字數字眼的錯誤訊息記錄於後端Log系統 • 教育機構網站應用程式弱點監測平台-教學影片

More Related