Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
網站程式資安白箱與黑箱檢測
處理經驗分享
凌網科技 鄭穎駿
jiun.9023510@gmail.com
大綱
網站程式資安的重要性
常見網站程式弱點
白箱檢測
◦ 介紹與操作說明
◦ 實機檢測Demo
◦ 報告解讀與修補建議
黑箱檢測
◦ 介紹與操作說明
◦ 報告解讀與修補建議
結語
Q&A
1
課程目標
希望與課者能透過本課程
◦ 了解常見網站程式弱點
◦ 了解白箱檢測軟體使用方式與報告解讀
◦ 了解白箱檢測修補方式
◦ 了解黑箱檢測軟體使用方式與報告解讀
◦ 了解黑箱檢測修補方式
提供與課者資安修補參考程式
2
網站程式資安的重要性
Heartland
◦ Date: March, 2008
◦ Impact: 134 million credit cards exposed through SQL injection to install spywa...
網站程式資安的重要性
網站資安漏洞造成
◦ 商譽損失
◦ 賠償問題
◦ 網站停擺
隨著網際網路、線上交易的發展,網站
安全更受重視, 影響的層面也更大
4
網站程式資安的重要性
網站資安牽涉軟體、硬體、人員管控等多個環節
本課程著墨於網站程式透過白箱與黑箱檢測尋找弱
點並進行修補
5圖片來源:http://www.elec-intro.com/EX/05-15-18/tech_large.jpg
常見網站程式弱點
網頁應用程式弱點的最新消息發布及更新
◦ OWASP (https://www.owasp.org)
開放社群,目前大多的檢測工具都已經將 OWASP Top 10
列為基本的檢測項目。
◦ WASC (http://www....
常見網站程式弱點
http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202013.pdf
7
指令注入
身分驗證功能缺失
跨站腳本攻擊
不安全的物件檔案參考
安全性設定疏失
...
常見網站程式弱點
http://projects.webappsec.org/f/WASS-SS-2008.pdf
8
常見網站程式弱點
https://cwe.mitre.org/top25/#Guidance
9
常見網站程式弱點
SQL Injection
◦ 惡意的 SQL 指令被插入於事先定義好的
SQL 指令中,並試圖改變執行的結果
攻擊情境
10
常見網站程式弱點
攻擊情境 (用字串串接的方式處理外部參數
造成漏洞)
11
程式
預期
攻擊
攻擊
常見網站程式弱點
SQL Injection弱點讓攻擊者可以執行任
意SQL指令
12
常見網站程式弱點
Cross-Site Scripting(XSS)
◦ 允許攻擊者植入惡意javascript程式碼,並讓
瀏覽器執行的弱點,使用者可能於未察覺
的情況下被導往釣魚網站或被偷取資料
攻擊情境
13
惡意導向語法被存入內文,
前...
常見網站程式弱點
白箱與黑箱檢測軟體可以
◦ 自動掃描所有網站程式
◦ 偵測常見網站程式弱點
◦ 產生檢測報告,供網站開發人員進行確認與
修補網站弱點,以避免網站遭受駭客攻擊
14
白箱檢測
源碼檢測
分析源碼行為以指出安全問題所在,如弱點
種類、攻擊路徑等
檢測的結果仍會有誤報 (False Positive) 及漏報
(False Negative) 的可能
◦ 先利用檢測工具進行檢測,找出常見的潛
在弱點,再依工具分...
白箱檢測
Armorize CodeSecure可檢測PHP 、Java 、
ASP、ASP.NET等語言開發之網站程式
功能列表參考
16
http://cloud-
sharing.net/Armorize/document/CodeSec...
白箱檢測
依程式控制流程與資料控制流程來解析程式的進入點。
針對進入點檢測輸入參數是否來自不信任的資料來源且未經處
理,則標記參數為受汙染參數。
在流程中,下游函式若使用到受汙染參數且未經處理,則標記
函式為受汙染函式。
以此類推,直至檢視至末...
白箱檢測-操作說明
Armorize CodeSecure
18
https://armorize.zendesk.com/entries/21620795-
CodeSecure-5-0-x-Quick-Start-Guide-
白箱檢測
弱點類型與(不信任的)資料來源類型中英對照
19
白箱檢測-實機檢測Demo
SampleUnSafeWebapp.zip
實機檢測Demo
20
白箱檢測-報告解讀
SampleUnSafeWebapp_report.zip
21
白箱檢測-報告解讀
檢測設定
22
白箱檢測-報告解讀
弱點分佈總覽
23
白箱檢測-報告解讀
由弱點索引可以快速連結到某弱點類型的脆弱描述句
24
弱點追蹤數總和
白箱檢測-報告解讀
25
白箱檢測-報告解讀
報告中可列出掃描時自動偵測到的全部進入點與解析檔案
26
白箱檢測-報告解讀
弱點列表會依各不信任的資料來源、弱點類型排序
列出所有脆弱檔案與脆弱行數
27
白箱檢測-報告解讀
點選脆弱行數可以快速連結到該弱點的所有
弱點追蹤資訊
28
白箱檢測-報告解讀
由弱點追蹤可觀察汙染值的傳遞路徑
29
白箱檢測-修補建議
SampleSafeWebapp.zip
SQL Injection
◦ 使用參數化的查詢 (預備陳述式,prepared
statement)。使用預備陳述式與參數的綁定可以消
除 SQL 注入的弱點。
30
白箱檢測-SQL Injection修補建議
如真的有需要串接SQL字串的情況(非where部分)或是
大量舊程式調整的情況可以使用
InputCheckUtil.chkSqlInjection進行單引號跳脫處理輸
入值以避免SQL Injec...
白箱檢測-SQL Injection修補建議
部分特殊情況下駭客仍可利用不含單引
號與空白之攻擊SQL語法進行攻擊
使用參數化的查詢為第一優先修補方式
32
白箱檢測-XSS修補建議
Cross-Site Scripting
◦ 不要直接呼叫request. getParameter, getAttribute等方
法,改以RequestUtil包裝以取得request參數,
RequestUtil...
白箱檢測-XSS修補建議
RequestUtil背後使用
◦ AntiSamy
◦ ESAPI
此兩library進行輸入值檢查與清理的動
作
34
白箱檢測-XSS修補建議
AntiSamy(https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project)
◦ an HTML validation tool and API
◦...
白箱檢測-XSS修補建議
網站內文上稿通常會允許使用者輸入
HTML以進行排版,使用AntiSamy可允
許使用者輸入HTML,同時避免攻擊者
藉此輸入惡意javascript
36
白箱檢測-XSS修補建議
AntiSamy 預設提供的policy檔案
◦ antisamy-tinymce-X.X.X.xml
◦ antisamy-slashdot-X.X.X.xml
◦ antisamy-ebay-X.X.X.xml
◦...
白箱檢測-XSS修補建議
AntiSamy呼叫
38
白箱檢測-XSS修補建議
ESAPI(https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API)
◦ a free, open source, web appl...
白箱檢測-XSS修補建議
40
白箱檢測-XSS修補建議
使用org.owasp.esapi.filters.SecurityWrapperRequest以避免
直接存取HttpServletRequest
41
白箱檢測-XSS修補建議
ESAPI使用
SecurityWrapperRequest的getParameter方
法也會阻檔非法script,但不像AntiSamy
可以做到保留乾淨HTML
42
白箱檢測-修補建議
Resource Injection
◦ 如下牽涉檔案存取的動作可以使用
InputCheckUtil.chkFilePath處理輸入,以避免
駭客使用..上一層的方式存取到任意非預期
路徑
43
白箱檢測-修補建議
HTTP Response Splitting(低風險弱點)
◦ 牽涉到http回應操作,如
response.setHeader,response.addCookie時可以使用
InputCheckUtil.chkCrLf...
白箱檢測-修補建議
Information Leak of System Data
◦ 避免將除錯資訊直接輸出到畫面或stdout,可採將
除錯資訊輸出到日誌檔, 且日誌檔的存取受到嚴格
的管控
◦ 不要呼叫e.printStackTrace方...
白箱檢測-修補建議
Log Forging 日誌偽造(低風險弱點)
◦ 對log訊息檢查換行字元,進行HTML跳脫
◦ 使用InputCheckUtil.validateLogString以通過
白箱檢測
46
白箱檢測-修補建議
Information Leak Through Log Files
◦ 避免在log寫入環境資訊或做好機器環境防
護避免log檔未經授權的讀取
◦ 提供解釋日誌檔的存取受到嚴格的管控以
通過白箱檢測
47
白箱檢測-修補建議
過濾函式設定(淨化弱點)
◦ 設定過濾函式請在安全政策裡選擇 [管理淨
化函數]
48
白箱檢測-修補建議
接下來選擇 [新增過濾函式]
在命名空間、類別名稱及函式名稱內輸入過濾函式資訊
49
白箱檢測-修補建議
過濾函式輸入完畢後,選擇 [新增參數]
50
白箱檢測-修補建議
輸入參數類型,接下來勾選此函式將過濾的弱點及
過濾回傳,完成後選擇 [新增參數]
51
白箱檢測-修補建議
確認無誤後選擇 [新增過濾函式]
52
白箱檢測-修補建議
掃描後可以從掃描診斷的地方得知各過濾函式應用
情況
53
白箱檢測-修補建議
54
白箱檢測-修補建議
過濾函式列表參考
55
白箱檢測-修補建議
誤判設定
56
黑箱檢測
直接對運行中的網站檢測
根據Web伺服器回傳的回應進行分析
可連帶檢測系統環境的安全問題
與白箱相比誤判率較低但漏報率較高
需事先報備知會網管人員
公司使用Acunetix Web Vulnerability
Scanner黑箱檢測軟...
黑箱檢測-操作說明
Acunetix Web Vulnerability Scanner
58
http://www.acunetix.com/resources/wvsmanual
.pdf
黑箱檢測-報告解讀
掃描總覽
59
…
黑箱檢測-報告解讀
弱點總覽
60
黑箱檢測-報告解讀
61
黑箱檢測-XSS修補建議
Cross-Site Scripting
◦ 可透過以下filter檢查所有輸入
◦ com.hyweb.filter.XssFilter
62
黑箱檢測-XSS修補建議
XssFilter
63
黑箱檢測-修補建議
Slow HTTP DOS attack
◦ 透過對網站服務主機緩慢發出不完整的
Request指令,以佔用主機連線,耗盡目標
主機的連線資源
修補方式
◦ 調整AP Server連線設定參數,部分硬體防
火牆也可阻擋此攻擊...
黑箱檢測-修補建議
Apache Tomcat examples directory vulnerabilities
◦ 駭客可利用Tomcat安裝附帶的example目錄
下程式進行session變造等攻擊
修補方式
◦ 移除Tomcat安裝...
黑箱檢測-修補建議
Application error message
◦ 錯誤頁洩漏AP Server主機相關資訊,可能
被駭客蒐集以計畫後續攻擊
修補方式
◦ 自訂錯誤頁隱藏系統相關資訊
66
黑箱檢測-XFS修補建議
Missing Cross-Frame Scripting Protection(CWE 352)
◦ 利用瀏覽器允許框架(frame)跨站包含其它頁面的漏洞,在主
框架的代碼中加入scirpt,監視、盜取用戶輸入
修...
黑箱檢測-XFS修補建議
XfsFilter
68
黑箱檢測-修補建議
Unrestricted Upload of File with Dangerous
Type(CWE-434)
◦ 未阻擋上傳危險類型的檔案將允許駭客透過檔案
上傳進行攻擊,如上傳jsp檔案,然後執行攻擊
http://s...
黑箱檢測-CSRF修補建議
Cross-Site Request Forgery (CSRF)
◦ 跨網站的偽造要求
◦ 在使用者已經登入目標網站後,駭客利用受害者
的身分來進行請求,不但可以獲得受害者的權限,
而且在系統的相關紀錄中也很難發現...
黑箱檢測-CSRF修補建議
攻擊範例
71
黑箱檢測-CSRF修補建議
修補方式
◦ 避免使用 GET 方法傳送參數
◦ 應使用動態亂數Token來驗證表單來源要求者
72
表單端
表單接收端
亂數產生token id與內容
放入session
並當作form參數
接收來自form的to...
黑箱檢測-修補建議
Https Heartbleed漏洞
◦ OpenSSL 2012-3-14之後推出的1.0.1版~
1.0.1f版,以及1.0.2-beta~1.0.2-beta1等版本
有漏洞會外洩記憶體中機敏資料
修補方式
◦ 更新到...
結語
本課程介紹了
◦ 常見網站程式弱點
◦ 白箱檢測軟體使用方式與報告解讀
◦ 白箱檢測修補建議
◦ 黑箱檢測軟體使用方式與報告解讀
◦ 黑箱檢測修補建議
74
結語
比較項目
黑箱檢測法 白箱檢測法
人工滲透測試 自動弱點掃描 人工源碼檢測 自動源碼檢測
弱點定位精準度 普 差 佳 優
檢測完整/詳細程度 差 普 佳 優
輸入/輸出類安全檢測 普 普 佳 優
執行時安全問題檢測 優 佳 差 差
存取控...
結語
SQL Injection對網站本身危害極大,一定要補正與避
免
XSS會使網站使用者受到攻擊,不過程式修補上比較
費工,可參考本課程提供的RequestUtil或XssFilter進
行修補
Resource Injection是有提供...
Q&A
77
Nächste SlideShare
Wird geladen in …5
×

網站程式資安白箱與黑箱檢測處理經驗分享

20.883 Aufrufe

Veröffentlicht am

網路應用程式資安掃描,白箱檢測與黑箱檢測介紹,
弱點修補方式參考

漏洞修補範例程式
https://github.com/jiun-jeng/SampleSafeWebapp

不安全網站程式範例
https://github.com/jiun-jeng/SampleUnSafeWebapp

Veröffentlicht in: Technologie
  • Loggen Sie sich ein, um Kommentare anzuzeigen.

網站程式資安白箱與黑箱檢測處理經驗分享

  1. 1. 網站程式資安白箱與黑箱檢測 處理經驗分享 凌網科技 鄭穎駿 jiun.9023510@gmail.com
  2. 2. 大綱 網站程式資安的重要性 常見網站程式弱點 白箱檢測 ◦ 介紹與操作說明 ◦ 實機檢測Demo ◦ 報告解讀與修補建議 黑箱檢測 ◦ 介紹與操作說明 ◦ 報告解讀與修補建議 結語 Q&A 1
  3. 3. 課程目標 希望與課者能透過本課程 ◦ 了解常見網站程式弱點 ◦ 了解白箱檢測軟體使用方式與報告解讀 ◦ 了解白箱檢測修補方式 ◦ 了解黑箱檢測軟體使用方式與報告解讀 ◦ 了解黑箱檢測修補方式 提供與課者資安修補參考程式 2
  4. 4. 網站程式資安的重要性 Heartland ◦ Date: March, 2008 ◦ Impact: 134 million credit cards exposed through SQL injection to install spyware on Heartland's data systems. Sony ◦ Date: April 20, 2011 ◦ Impact: 77 million PlayStation Network accounts hacked; Sony is said to have lost millions while the site was down for a month. ESTsoft ◦ Date: July-August, 2011 ◦ Impact: The personal information of 35 million South Koreans was exposed after hackers breached the security of a popular software provider. AOL ◦ Date: August 6, 2006 ◦ Impact: Data on more than 20 million web inquiries, from more than 650,000 users, including shopping and banking data were posted publicly on a web site. 3
  5. 5. 網站程式資安的重要性 網站資安漏洞造成 ◦ 商譽損失 ◦ 賠償問題 ◦ 網站停擺 隨著網際網路、線上交易的發展,網站 安全更受重視, 影響的層面也更大 4
  6. 6. 網站程式資安的重要性 網站資安牽涉軟體、硬體、人員管控等多個環節 本課程著墨於網站程式透過白箱與黑箱檢測尋找弱 點並進行修補 5圖片來源:http://www.elec-intro.com/EX/05-15-18/tech_large.jpg
  7. 7. 常見網站程式弱點 網頁應用程式弱點的最新消息發布及更新 ◦ OWASP (https://www.owasp.org) 開放社群,目前大多的檢測工具都已經將 OWASP Top 10 列為基本的檢測項目。 ◦ WASC (http://www.webappsec.org) 將網站的安全威脅進行分類,共分成 34 種威脅。 ◦ CWE/SANS (https://cwe.mitre.org) CWE/SANS Top 25 由 MITRE 和 SANS 合作,共同發布網 頁應用程式前25大的威脅。 6
  8. 8. 常見網站程式弱點 http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202013.pdf 7 指令注入 身分驗證功能缺失 跨站腳本攻擊 不安全的物件檔案參考 安全性設定疏失 機密資料外洩 未進行函式存取控管 跨站冒名請求 未驗證的導向 使用不安全元件
  9. 9. 常見網站程式弱點 http://projects.webappsec.org/f/WASS-SS-2008.pdf 8
  10. 10. 常見網站程式弱點 https://cwe.mitre.org/top25/#Guidance 9
  11. 11. 常見網站程式弱點 SQL Injection ◦ 惡意的 SQL 指令被插入於事先定義好的 SQL 指令中,並試圖改變執行的結果 攻擊情境 10
  12. 12. 常見網站程式弱點 攻擊情境 (用字串串接的方式處理外部參數 造成漏洞) 11 程式 預期 攻擊 攻擊
  13. 13. 常見網站程式弱點 SQL Injection弱點讓攻擊者可以執行任 意SQL指令 12
  14. 14. 常見網站程式弱點 Cross-Site Scripting(XSS) ◦ 允許攻擊者植入惡意javascript程式碼,並讓 瀏覽器執行的弱點,使用者可能於未察覺 的情況下被導往釣魚網站或被偷取資料 攻擊情境 13 惡意導向語法被存入內文, 前端使用者檢視內文時可能被導往釣魚網站
  15. 15. 常見網站程式弱點 白箱與黑箱檢測軟體可以 ◦ 自動掃描所有網站程式 ◦ 偵測常見網站程式弱點 ◦ 產生檢測報告,供網站開發人員進行確認與 修補網站弱點,以避免網站遭受駭客攻擊 14
  16. 16. 白箱檢測 源碼檢測 分析源碼行為以指出安全問題所在,如弱點 種類、攻擊路徑等 檢測的結果仍會有誤報 (False Positive) 及漏報 (False Negative) 的可能 ◦ 先利用檢測工具進行檢測,找出常見的潛 在弱點,再依工具分析結果,進一步進行 了解、確認、修改。 公司使用Armorize CodeSecure白箱檢測軟體 15
  17. 17. 白箱檢測 Armorize CodeSecure可檢測PHP 、Java 、 ASP、ASP.NET等語言開發之網站程式 功能列表參考 16 http://cloud- sharing.net/Armorize/document/CodeSecureSupportList421.pdf
  18. 18. 白箱檢測 依程式控制流程與資料控制流程來解析程式的進入點。 針對進入點檢測輸入參數是否來自不信任的資料來源且未經處 理,則標記參數為受汙染參數。 在流程中,下游函式若使用到受汙染參數且未經處理,則標記 函式為受汙染函式。 以此類推,直至檢視至末碼,末碼將會被標註為一個弱點 17
  19. 19. 白箱檢測-操作說明 Armorize CodeSecure 18 https://armorize.zendesk.com/entries/21620795- CodeSecure-5-0-x-Quick-Start-Guide-
  20. 20. 白箱檢測 弱點類型與(不信任的)資料來源類型中英對照 19
  21. 21. 白箱檢測-實機檢測Demo SampleUnSafeWebapp.zip 實機檢測Demo 20
  22. 22. 白箱檢測-報告解讀 SampleUnSafeWebapp_report.zip 21
  23. 23. 白箱檢測-報告解讀 檢測設定 22
  24. 24. 白箱檢測-報告解讀 弱點分佈總覽 23
  25. 25. 白箱檢測-報告解讀 由弱點索引可以快速連結到某弱點類型的脆弱描述句 24 弱點追蹤數總和
  26. 26. 白箱檢測-報告解讀 25
  27. 27. 白箱檢測-報告解讀 報告中可列出掃描時自動偵測到的全部進入點與解析檔案 26
  28. 28. 白箱檢測-報告解讀 弱點列表會依各不信任的資料來源、弱點類型排序 列出所有脆弱檔案與脆弱行數 27
  29. 29. 白箱檢測-報告解讀 點選脆弱行數可以快速連結到該弱點的所有 弱點追蹤資訊 28
  30. 30. 白箱檢測-報告解讀 由弱點追蹤可觀察汙染值的傳遞路徑 29
  31. 31. 白箱檢測-修補建議 SampleSafeWebapp.zip SQL Injection ◦ 使用參數化的查詢 (預備陳述式,prepared statement)。使用預備陳述式與參數的綁定可以消 除 SQL 注入的弱點。 30
  32. 32. 白箱檢測-SQL Injection修補建議 如真的有需要串接SQL字串的情況(非where部分)或是 大量舊程式調整的情況可以使用 InputCheckUtil.chkSqlInjection進行單引號跳脫處理輸 入值以避免SQL Injection攻擊 31
  33. 33. 白箱檢測-SQL Injection修補建議 部分特殊情況下駭客仍可利用不含單引 號與空白之攻擊SQL語法進行攻擊 使用參數化的查詢為第一優先修補方式 32
  34. 34. 白箱檢測-XSS修補建議 Cross-Site Scripting ◦ 不要直接呼叫request. getParameter, getAttribute等方 法,改以RequestUtil包裝以取得request參數, RequestUtil內部會處理檢查與清除javascript動作 33
  35. 35. 白箱檢測-XSS修補建議 RequestUtil背後使用 ◦ AntiSamy ◦ ESAPI 此兩library進行輸入值檢查與清理的動 作 34
  36. 36. 白箱檢測-XSS修補建議 AntiSamy(https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project) ◦ an HTML validation tool and API ◦ 可根據policy檔案清除字串中javascript 保留乾淨HTML e.g. <div><b>'1中文'</b><script>alert('1中文');</script></div> 處理後 <div><b>'1中文'</b></div> 35
  37. 37. 白箱檢測-XSS修補建議 網站內文上稿通常會允許使用者輸入 HTML以進行排版,使用AntiSamy可允 許使用者輸入HTML,同時避免攻擊者 藉此輸入惡意javascript 36
  38. 38. 白箱檢測-XSS修補建議 AntiSamy 預設提供的policy檔案 ◦ antisamy-tinymce-X.X.X.xml ◦ antisamy-slashdot-X.X.X.xml ◦ antisamy-ebay-X.X.X.xml ◦ antisamy-myspace-X.X.X.xml ◦ antisamy-anythinggoes-X.X.X.xml 37
  39. 39. 白箱檢測-XSS修補建議 AntiSamy呼叫 38
  40. 40. 白箱檢測-XSS修補建議 ESAPI(https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API) ◦ a free, open source, web application security control library 39
  41. 41. 白箱檢測-XSS修補建議 40
  42. 42. 白箱檢測-XSS修補建議 使用org.owasp.esapi.filters.SecurityWrapperRequest以避免 直接存取HttpServletRequest 41
  43. 43. 白箱檢測-XSS修補建議 ESAPI使用 SecurityWrapperRequest的getParameter方 法也會阻檔非法script,但不像AntiSamy 可以做到保留乾淨HTML 42
  44. 44. 白箱檢測-修補建議 Resource Injection ◦ 如下牽涉檔案存取的動作可以使用 InputCheckUtil.chkFilePath處理輸入,以避免 駭客使用..上一層的方式存取到任意非預期 路徑 43
  45. 45. 白箱檢測-修補建議 HTTP Response Splitting(低風險弱點) ◦ 牽涉到http回應操作,如 response.setHeader,response.addCookie時可以使用 InputCheckUtil.chkCrLfInjection檢查是否有換行(n,r) 等非法字元,以避免駭客利用換行字元假造http回 應 44
  46. 46. 白箱檢測-修補建議 Information Leak of System Data ◦ 避免將除錯資訊直接輸出到畫面或stdout,可採將 除錯資訊輸出到日誌檔, 且日誌檔的存取受到嚴格 的管控 ◦ 不要呼叫e.printStackTrace方法改用 org.apache.commons.logging統一輸出錯誤訊息可通 過白箱檢測 45
  47. 47. 白箱檢測-修補建議 Log Forging 日誌偽造(低風險弱點) ◦ 對log訊息檢查換行字元,進行HTML跳脫 ◦ 使用InputCheckUtil.validateLogString以通過 白箱檢測 46
  48. 48. 白箱檢測-修補建議 Information Leak Through Log Files ◦ 避免在log寫入環境資訊或做好機器環境防 護避免log檔未經授權的讀取 ◦ 提供解釋日誌檔的存取受到嚴格的管控以 通過白箱檢測 47
  49. 49. 白箱檢測-修補建議 過濾函式設定(淨化弱點) ◦ 設定過濾函式請在安全政策裡選擇 [管理淨 化函數] 48
  50. 50. 白箱檢測-修補建議 接下來選擇 [新增過濾函式] 在命名空間、類別名稱及函式名稱內輸入過濾函式資訊 49
  51. 51. 白箱檢測-修補建議 過濾函式輸入完畢後,選擇 [新增參數] 50
  52. 52. 白箱檢測-修補建議 輸入參數類型,接下來勾選此函式將過濾的弱點及 過濾回傳,完成後選擇 [新增參數] 51
  53. 53. 白箱檢測-修補建議 確認無誤後選擇 [新增過濾函式] 52
  54. 54. 白箱檢測-修補建議 掃描後可以從掃描診斷的地方得知各過濾函式應用 情況 53
  55. 55. 白箱檢測-修補建議 54
  56. 56. 白箱檢測-修補建議 過濾函式列表參考 55
  57. 57. 白箱檢測-修補建議 誤判設定 56
  58. 58. 黑箱檢測 直接對運行中的網站檢測 根據Web伺服器回傳的回應進行分析 可連帶檢測系統環境的安全問題 與白箱相比誤判率較低但漏報率較高 需事先報備知會網管人員 公司使用Acunetix Web Vulnerability Scanner黑箱檢測軟體 57
  59. 59. 黑箱檢測-操作說明 Acunetix Web Vulnerability Scanner 58 http://www.acunetix.com/resources/wvsmanual .pdf
  60. 60. 黑箱檢測-報告解讀 掃描總覽 59 …
  61. 61. 黑箱檢測-報告解讀 弱點總覽 60
  62. 62. 黑箱檢測-報告解讀 61
  63. 63. 黑箱檢測-XSS修補建議 Cross-Site Scripting ◦ 可透過以下filter檢查所有輸入 ◦ com.hyweb.filter.XssFilter 62
  64. 64. 黑箱檢測-XSS修補建議 XssFilter 63
  65. 65. 黑箱檢測-修補建議 Slow HTTP DOS attack ◦ 透過對網站服務主機緩慢發出不完整的 Request指令,以佔用主機連線,耗盡目標 主機的連線資源 修補方式 ◦ 調整AP Server連線設定參數,部分硬體防 火牆也可阻擋此攻擊 64
  66. 66. 黑箱檢測-修補建議 Apache Tomcat examples directory vulnerabilities ◦ 駭客可利用Tomcat安裝附帶的example目錄 下程式進行session變造等攻擊 修補方式 ◦ 移除Tomcat安裝附帶的example目錄 ◦ Tomcat安裝附帶的管理工具manager目錄也 建議移除,以避免該目錄成為駭客攻擊的 目標 65
  67. 67. 黑箱檢測-修補建議 Application error message ◦ 錯誤頁洩漏AP Server主機相關資訊,可能 被駭客蒐集以計畫後續攻擊 修補方式 ◦ 自訂錯誤頁隱藏系統相關資訊 66
  68. 68. 黑箱檢測-XFS修補建議 Missing Cross-Frame Scripting Protection(CWE 352) ◦ 利用瀏覽器允許框架(frame)跨站包含其它頁面的漏洞,在主 框架的代碼中加入scirpt,監視、盜取用戶輸入 修補方式 ◦ 可透過以下filter設定X-Frame-Options Header ◦ com.hyweb.filter.XfsFilter 67
  69. 69. 黑箱檢測-XFS修補建議 XfsFilter 68
  70. 70. 黑箱檢測-修補建議 Unrestricted Upload of File with Dangerous Type(CWE-434) ◦ 未阻擋上傳危險類型的檔案將允許駭客透過檔案 上傳進行攻擊,如上傳jsp檔案,然後執行攻擊 http://site/uploadFolder/hacker.jsp 修補方式 ◦ 在伺服器端對上傳檔案的副檔名進行檢查 與限制 ◦ 上傳檔擺放路徑最好能跟web root目錄拆開, 以避免上傳之檔案被直接執行 69
  71. 71. 黑箱檢測-CSRF修補建議 Cross-Site Request Forgery (CSRF) ◦ 跨網站的偽造要求 ◦ 在使用者已經登入目標網站後,駭客利用受害者 的身分來進行請求,不但可以獲得受害者的權限, 而且在系統的相關紀錄中也很難發現可疑之處 70 圖片來源:http://yniewu.blogspot.tw/2011/01/zenphoto-csrf.html
  72. 72. 黑箱檢測-CSRF修補建議 攻擊範例 71
  73. 73. 黑箱檢測-CSRF修補建議 修補方式 ◦ 避免使用 GET 方法傳送參數 ◦ 應使用動態亂數Token來驗證表單來源要求者 72 表單端 表單接收端 亂數產生token id與內容 放入session 並當作form參數 接收來自form的token id與 內容 並與session中資訊比對
  74. 74. 黑箱檢測-修補建議 Https Heartbleed漏洞 ◦ OpenSSL 2012-3-14之後推出的1.0.1版~ 1.0.1f版,以及1.0.2-beta~1.0.2-beta1等版本 有漏洞會外洩記憶體中機敏資料 修補方式 ◦ 更新到OpenSSL最新版或使用其他非採 OpenSSl的Https引擎 73
  75. 75. 結語 本課程介紹了 ◦ 常見網站程式弱點 ◦ 白箱檢測軟體使用方式與報告解讀 ◦ 白箱檢測修補建議 ◦ 黑箱檢測軟體使用方式與報告解讀 ◦ 黑箱檢測修補建議 74
  76. 76. 結語 比較項目 黑箱檢測法 白箱檢測法 人工滲透測試 自動弱點掃描 人工源碼檢測 自動源碼檢測 弱點定位精準度 普 差 佳 優 檢測完整/詳細程度 差 普 佳 優 輸入/輸出類安全檢測 普 普 佳 優 執行時安全問題檢測 優 佳 差 差 存取控管機制檢測 佳 普 差 差 邏輯性安全問題檢測 佳 普 差 差 檢測時效 差 佳 差 優 與程式開發人員之溝 通成本 差 差 佳 優 檢測誤判情形 優 普 佳 普 綜合評比 佳 普 普 優 75 http://www.amxecure.com/index.php/zh/news/49-vulnerability/60-web
  77. 77. 結語 SQL Injection對網站本身危害極大,一定要補正與避 免 XSS會使網站使用者受到攻擊,不過程式修補上比較 費工,可參考本課程提供的RequestUtil或XssFilter進 行修補 Resource Injection是有提供檔案上傳、下載網站常會 發生的漏洞,會導致任意系統檔案被讀取或覆蓋, 也要小心防堵 希望本課程對同仁開發安全的網站程式有所助益 76
  78. 78. Q&A 77

×