Ajax網頁的危機與防禦術 王寧疆 MCAD.NET/MCSD.NET/MCT/MVP 資策會教育訓練處.

Slides:



Advertisements
Similar presentations
●公司簡介. ●公司組織 行銷 企劃部 行銷 企劃部 研發 設計部 研發 設計部 視覺 設計部 視覺 設計部 媒體 製作部 媒體 製作部 行動 裝置部 行動 裝置部 執行長 總經理 管理部 本公司組織人力配置除董事長、執行長、總經理外,共 有六大部門,分別為研發部 6 人、管理部 4 人、視覺設計部.
Advertisements

模块五 动态网页技术 任务五 查询记录 任务一 表单设计制作 任务二 简单动态的 ASP 页面制作任务三 页面与数据库的集成任务四 添加记录 任务六 电商系统融入网站.
1 自然人憑證 結合人事差假管理系統 指導老師:丁德榮 教授 作者:何岳剛、蘇巨鋒、廖偉吏、鄭致瑋、湯媛喬、李封儒 報告人:廖偉吏 彰化師範大學 資訊工程學系 報告日期: 95/11/2.
1 网站设计理念 大连理工大学创新实验学院 优秀网站展示 - LAMP 类网站
3.0 企業雲端應用 用 聽見消費者的聲音.
Web app和html5给前端带来的变化 —— 我们的html5游戏平台之旅.
Information Security Fundamentals and Practices 資訊安全概論與實務
动态Web开发技术--JSP.
Security Checking Systems for Mobile Devices
3.0 企業雲端應用 用 聽見消費者的聲音.
2015年重点税源企业 报表填报流程培训会 海淀地税局 收入核算科.
Self-defending Web Server 3Gweb-I-2400
數聯資安(ISSDU) 講師:李品宏 社交工程的手法與趨勢 數聯資安(ISSDU) 講師:李品宏
劳动关系法务-实操篇 规章制度修审与员工手册撰写.
本投影片部份內容 由成大資通安全研發中心 鍾沛原先生提供
思维,决定一切 -公司战略、企业文化与人力资源的思辨
Access数据库知识 安丘市职业中专 雷云龙.
第七章 电子商务系统的运营与维护.
网站如何定制建设???.
Web程序设计基础 太原理工大学 计算机科学与技术学院 林福平 求实创新
王寧疆 資深講師 資策會數位教育研究所 MCPD/MCT/MVP
資訊安全管理概論 黃燕忠 (Jack Hwang) 中國文化大學副教授兼推資管系主任 捨得資訊股份有限公司 (藍色小舖) 總顧問
網頁技術簡介.
WEB常见漏洞与挖掘技巧研究 广东动易网络——吴建亮
大專院校校園e 化 PKI、智慧卡應用與整合.
《网页设计与制作》 教学课件 主讲人:湖南铁道职业技术学院 陈承欢
Visual Basic程序设计 主 编  柳青.
转正述职报告 乐恩公司 史航
5.1 – 表格(FORM) 輸入元素 : 兩種傳遞方法 : GET or POST 範例 1. 文字欄位 Text box
第二期实验室工作人员培训讲座(三) 加强规范化建设 提高仪器设备管理水平 设备处 黄久龙 2017年9月13日 徐州师范大学设备处 黄久龙.
CT212 (02/03)-Network Programming and design
Selenium 一个用于Web应用程序测试的工具 Robin Ren
Information Security Fundamentals and Practices 資訊安全概論與實務
《ASP.NET数据库网站设计教程(C#版)》
學術網站弱點檢測 演講者:魏宏吉 2012/05/25.
Microsoft Access 第十二組 黃彥維 陳重嘉.
黑客大曝光 安 阳 大 年11月8日星期四5时8分56秒2018年11月8日星期四5时8分56秒 黑客攻击与防范.
網路程式設計期末專案 Master Drummer 資工3A B 陳天盛.
電腦攻擊與防禦 The Attack and Defense of Computers
精誠資訊的企業電子化支援系統 指導老師: 王淑卿 教授 第六組組員名單: 許瑋麟 張勝彥 蔡孟翰
Asp.net 基礎.
Ajax编程技术 第一章 Ajax简介.
XSS & SQL Injection理論 2014/7/29 許子謙.
Arena System Technology Architecture 系统技术架构 1、Database V2(Lotus Notes)V3(Oracle8i) 2、Application Server SilverStream2.53 (Java as server side programming.
【電子商務學程簡介】 網站技術與經營模式大進化
网 站 设 计 与 建 设 Website design and developments
现代图书馆 服务的 手段和方法 扬州大学图书馆 吴海华
中央大學 電子計算機中心 . 雲端服務介紹 李靜怡 105年5月SNMG會議.
第2章 网络营销工具.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
主 讲 教 师:陆有军 Web技术与应用 第四章 内部对象 主 讲 教 师:陆有军
Windows Server 2008证书服务的安装
專題J組 題目: 檢定考試管理系統 指導老師: 曾修宜 老師 組員: 曾聖棋 謝宗翰
張智星 台大資工系 多媒體檢索實驗室 第十二章 ASP基本介紹 張智星 台大資工系 多媒體檢索實驗室.
WEB统一检索本地整合技术 中国农业大学图书馆 康实.
第4章 ASP.NET的HTTP物件、輸出入與Cookie處理
前端技术开发 高莺.
網路安全期末報告 -網路釣魚     學生:A 蘇育諄     指導教授:梁明章 教授.
第 1 章 簡介XML.
第十五章 WWW網頁的製作 計算機概論編輯小組.
站群系统管理平台简介 网教中心 2014年10月29日.
XML Web Service 开发 第1章 XML Web Service 第2章 XML Web Service 体系结构
關鍵字廣告工具、 搜尋引擎最佳化、 損益表實例
网 站 设 计 与 建 设 Website design and developments
本章要点: 了解ASP.NET 4.5的基础.NET Framework。
第 1 章 設計網頁的準備工作.
W3C标准网页制作 主讲教师:张 涛.
案例分析: THE NEXTGEN POS SYSTEM
FrontPage 2000.
JavaScript 教师:魏小迪
Presentation transcript:

Ajax網頁的危機與防禦術 王寧疆 MCAD.NET/MCSD.NET/MCT/MVP 資策會教育訓練處

大綱 故事的起源 傳統的網頁vs Ajax網頁 新興的駭客攻擊技術 重新評估Javascript的攻擊力 網站安全的新趨勢 Web 2.0精神與資訊安全

故事的起源 當您打開瀏覽器, 瀏覽Myspace.com社群網站某個人的部落格, 或是瀏覽雅虎的電子郵件, 隨著所瀏覽的網頁下載到您的電腦執行的Javascript悄悄地掃瞄您的網路, 判斷Router的廠牌, 然後傳送命令給Router, 打開無線網路, 關閉資料加密功能…在24小時內, 光是在美國境內, 就有一百萬人受到波及… 以上所說為真實的事件, 並非虛構

網頁程式與駭客攻擊 網頁程式可以直接被Internet使用者使用, 受到駭客攻擊的機會很高 只從網路與伺服器+防火牆方面加強安全性, 無法免除被駭客攻擊的恐懼 防火牆不能封鎖Web伺服器的80連接埠 SSL主要的作用在保護機密資料 程式開發者必須注意所開發的程式可能被攻擊的地方

網頁程式架構的複雜度易受攻擊 Web Server Application Server Database Server Web Service Wireless 網頁 媒體庫 商業邏輯 內容服務 使用者資料 存取管制 異動資訊 企業資料 Browser

網頁程式安全漏洞的來源 Web應用程式的安全漏洞的三大來源: 網頁程式 Web管理 70%的攻擊來自 網頁程式 - Garner Web平台 Application Mapping Cookie Manipulation Custom Scripting Parameter Manipulation Directory Transversal Brute Force Cookie Poisoning/ Theft Buffer Overflow SQL Injection Cross-site scripting 檢查副檔名 常用檔名檢查 資料副檔名檢查 備份檢查 列舉目錄 目錄截斷 隱藏網站目錄 允許目錄瀏覽 Web平台 已知的安全漏洞

傳統的網頁vs Ajax網頁 傳統網頁的運作原理 Ajax網頁的運作原理 Ajax網頁開發技術 傳統的網頁vs Ajax網頁

傳統網頁的運作原理 以同步(Click and Wait)的方式處理網頁使用者的操作 使用者必須等待網頁處理完成(不夠敏捷)

傳統的地圖服務網頁 Expedia.com旅遊網

Ajax網頁的運作原理 以非同步的方式處理網頁使用者的操作 使用者不需要等待網頁處理完成(敏捷)

Ajax風格的地圖服務網頁 Virtual Earth

傳統的網頁vs Ajax網頁 Thin Client vs Rich Client Clear Box vs Black Box

Ajax網頁開發技術 Ajax:Asynchronous Javascript and XML的縮寫 Rich Client網頁解決方案(利用Javascript, DHTML+ DOM + CSS, XMLHttp, 和XML技術) 優點 省時, 省錢, 節省頻寬 使用者操作感覺友善 缺點 瀏覽器必須可以執行Active Scripting Javascript扮演極重要的角色

新興的駭客攻擊技術 新興的攻擊傳播媒介:連結網站(例如Myspace.com), 電子郵件(例如:Yahoo) 使用Ajax技術開發的網站更易受到攻擊, 例如使用Ajax技術製作的電子郵件收發網頁 更多的頻寬, 更多的資料交換與連結, 培養更多的駭客, 網站的問題只會更多 資訊安全的問題若不能解決, Web 2.0網頁的精神將令使用者未蒙其利, 先受其害

資料來源 IDC and IBM Systems Sciences Institute Ajax網頁的安全考量 暴露較多的程式資訊 提供較傳統網頁更多的攻擊面 對XSS式駭客攻擊術有推波助瀾的效果 資料來源 IDC and IBM Systems Sciences Institute

資料來源 IDC and IBM Systems Sciences Institute Ajax網頁易暴露程式原始碼 駭客可以經由檢視網頁原始碼的方式輕易獲取程式的資訊, 包括 變數名稱, 資料型態, 允許的範圍 函數名稱, 參數, 回傳值 流程控制 輸入資料驗証 … 使用者從了解網頁的功能(What to do), 進化成了解網頁如何完成功能(How to do) 資料來源 IDC and IBM Systems Sciences Institute

示範:檢視Ajax網頁的原始碼 啟動IE, 執行 [檢視 | 原始碼]功能

資料來源 IDC and IBM Systems Sciences Institute Ajax網頁提供更多的攻擊面 傳統網頁的攻擊面 Form Input, Cookie, Header 參數(例如Query String), File, Database, … Ajax網頁暴露的攻擊面 Web Service提供的方法 Bridge (*.asbx) 資料來源 IDC and IBM Systems Sciences Institute

資料來源 IDC and IBM Systems Sciences Institute 查詢Web Service提供的功能 http://IP/虛擬目錄/Test.asmx?wsdl 可以透過設定關閉查詢功能 http://IP/虛擬目錄/Test.asmx?js <webServices> <protocols> <remove name="HttpPost"/> <remove name="HttpGet"/> <remove name="Documentation"/> </protocols> </webServices> 資料來源 IDC and IBM Systems Sciences Institute

示範:查詢Web Service功能

資料來源 IDC and IBM Systems Sciences Institute 對XSS式駭客攻擊推波助瀾 攻擊能夠以主動, 非同步, 不更新瀏覽器顯示的內容的方式進行攻擊或感染, 使用者不易察覺(衍然病毒), 伺服器亦難以判斷是否為使用者的行為 攻擊Myspace.com的XSS病毒發生於2005年10月 攻擊雅虎電子郵件的XSS病毒發生於2006年6月 XSS攻擊與Web平台和瀏覽器無關, 純粹是網頁程式製作不當 XSS驚人的擴散能力, 有必要重新檢視Javascript的攻擊力 資料來源 IDC and IBM Systems Sciences Institute

XSS基本攻擊原理 瀏覽內含惡意Javascript的網頁 網頁 內含惡意Javascript的網頁下載 到使用者的電腦中執行 網頁使用者 Web伺服器 惡意Javascript竊取資訊(例如Cookie資訊)後送往駭客網站 駭客伺服器

示範:XSS駭客攻擊

新的駭客攻擊技術的傳播能力 全球第一隻XSS病毒, 擴散程度創下記錄

重新評估Javascript的攻擊力 破壞網頁顯示的內容(改變網頁文字和圖形),包括重導網頁, 執行無窮迴圈… 竊取網頁使用者個人資料, 例如Cookie 記錄使用者的按鍵動作(keylogger), 抓取螢幕顯示內容(screen scraping) 掃瞄通訊埠 盜取剪貼簿(Clipboard)中的資料 …

盜取剪貼簿中的資料 在網頁中加入以下的Javascript就可以盜取剪貼簿(Clipboard)中的資料 <script Language="JavaScript"> var content = clipboardData.getData("Text"); alert(content); </script>

示範:盜取剪貼簿中的資料

示範:掃瞄連接埠

Ajax網頁抵禦攻擊之道 OWASP公佈十大網頁安全漏洞 資料輸入驗証的重要性 小心使用內含Javascript或HTML的Third-Party Gadget或Plug-In, 例如: Google AdSense Wikipedia – 維基百科 月曆 …

OWASP公佈十大網頁安全漏洞 未檢驗使用者輸入的資料 權限管制漏洞 身分驗証漏洞與Session管理不當 Cross Site Scripting漏洞 緩衝區溢滿 植入執行命令 錯誤處理不當 機密資料(包括金鑰, 密碼, 憑証)加密不當, 演算法選擇不當, 亂數產生不當… 癱瘓攻擊 不安全的設定, 啟用不需要的服務, 使用預設帳號, 預設密碼, 機密檔案存取權限管制不當…

資料輸入驗証基本原則 85%的攻擊肇因於疏於執行資料輸入驗証 基本原則 不可相信使用者輸入的資料 Client端驗証不算驗証 驗証資料型態, 資料內容值的範圍, 與資料長度 對輸入/輸出資料進行編碼 使用WhiteList不要使用BlackList(黑名單)

資料輸入驗証對象 對Form Input的驗証 對上傳檔案的驗証 對公開的網頁和Web Service功能的驗証 網頁輸入欄位, Get/Post參數, … 對上傳檔案的驗証 小心使用3rd Party的Library處理圖形檔案 對公開的網頁和Web Service功能的驗証 參數驗証, 身分驗証, 權限驗証, …

網站安全的新趨勢 駭客攻擊已經有自動化攻擊的趨勢, 例如使用搜尋引擎搜尋有安全漏洞的網站(Google Hacking), 或是利用SQL Injector, XSS-Proxy, XSS Shell等工具輕易地發起攻擊 使用防駭工具和漏洞測試工具協助提升網站的安全性, 可以有效彌補網站開發人員知識的不足和疏失

認識Microsoft Anti-XXS Library 符合使用工具防駭的世界潮流 和大部分的編碼工具不同的地方在於Microsoft Anti-XXS Library使用"principle of inclusions"技術有效阻絕XSS駭客攻擊 定義所有可以正常輸出的字元集合, 再對所有不能接受的字元加上編碼處理. 可以有效增強網站阻擋XSS攻擊的能力, 提升網站的安全性 利用功能強大的防駭工具彌補程式設計師經驗的不足

Microsoft Anti-XXS Library的功能 最新版本 : ver 1.5, 提供: 更多的Encoding方法, 除了HtmlEncode和UrlEncode方法外, 另外還提供了HtmlAttributeEncode, JavaScriptEncode, VisualBasicScriptEncode, XmlEncode, 以及XmlAttributeEncode等5個方法 支援Allow Partially Trusted Caller Attribute (APTCA) 說明文件 範例

使用Microsoft Anti-XSS Library 步驟 檢視ASP.NET網頁產生輸出內容的地方, 例如: Response.Write <% =… %> 檢視輸出內容中是否包含任何使用者輸入的資料, 例如: Application, Session, Cookie, 資料庫, Form欄位, QueryString 選擇編碼方法 對有問題的輸出內容執行編碼

選擇編碼方法的依據 視有問題的輸出內容被用在什麼地方而定 例如輸出的內容會被當成Attribute, 則使用HtmlAttributeEncode方法加以編碼 範例 //未經編碼 Literal1.Text = "<hr noshade size='[輸出內容]'>"; //經過編碼 Literal1.Text = "<hr noshade size='+ AntiXss.HtmlAttributeEncode("[輸出內容]") +"'>";

使用編碼方法注意事項 只能編碼一次 在輸出前才進行編碼 不正確的用法 正確的用法 String Input = TextBox1.Text; // 進行編碼 Input = AntiXss.HtmlEncode(Input); // 處理使用者輸入的資料 // 輸出編碼後的內容 Response.Write( "The input you gave was"+Input); String Input = TextBox1.Text; // 處理使用者輸入的資料 // 輸出編碼後的內容 Response.Write( "The input you gave was" + AntiXss.HtmlEncode(Input)); );

對網頁輸出的內容加上編碼處理 加入參考 – 參考AntiXssLibrary.dll 引入Microsoft.Security.Application名稱空間 <%@ Import Namespace= "Microsoft.Security.Application" %> 使用HtmlEncode編碼方法 <%# AntiXss.HtmlEncode(Eval("Message")) %>

示範:Microsoft Anti-XSS Library

網頁防駭守則(一) 使用者守則 網頁程式設計師守則 小心點選Email, 或IM中的超連結, 關閉瀏覽器的javascript, Java, ActiveX功能 網頁程式設計師守則 審慎驗証使用者輸入的資料, 注意各種可能的資料來源 防範重要的功能被自動化攻擊工具執行 限制Cookie不可被script讀取, 或是必須經由SSL連線傳送(利用HttpCookie類別的HttpOnly屬性) 對有問題的網頁輸出內容進行編碼

網頁防駭守則(二) 網站管理員守則 關閉伺服器未使用的功能, 包括通訊協定, 服務, SQL Server的xp_cmdshell, … 使用漏洞偵測工具定時偵測網站的安全漏洞, 詳見參考資料 使用自動化安全測試工具測試網站的安全強度, 詳見WhiteHat網站的說明(網址:http://www.whitehatinc.com)

Ajax網頁防駭特別守則 避免在Master(主版頁面)中引用 .js與.css檔案 隔離Ajax網頁需要呼叫的網頁方法/Web Service方法與其他的XML Web Service提供的方法 關閉Web Service查詢WSDL規格的功能 盡量使用ASP.NET的註解語法, 不要使用HTML的註解語法 減少Web Service公開給外界使用的功能 減少暴露在Client端的控制邏輯

Web 2.0精神與資訊安全 Web 2.0的基本精神, 每一項對資訊安全都形成挑戰 未小心處理將嚴重影響資訊安全 開放 可擴充 開放使用者參與網頁內容編輯 … 未小心處理將嚴重影響資訊安全

複習 故事的起源 傳統的網頁vs Ajax網頁 新興的駭客攻擊技術 重新評估Javascript的攻擊力 網站安全的新趨勢 Web 2.0精神與資訊安全

參考資料 How to prevent XSS in asp.net (http://msdn2.microsoft.com/en-us/library/ms998274.aspx) Design Guidelines for Secure Web Applications (http://msdn2.microsoft.com/en-us/library/aa302420.aspx) SafeHtml - Anti-Cross Site Scripting (XSS) HTML parser (http://directory.fsf.org/all/SafeHTML.html)

下載 Microsoft Anti-Cross Site Scripting Library V1.5 (http://www.microsoft.com/downloads/details.aspx?familyid=EFB9C819-53FF-4F82-BFAF-E11625130C25&displaylang=en) OWASP Top Ten Project – 十大駭客攻擊技巧解析 (http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project) OWASP WebScarab Project – 網站安全功能測試工具 (http://sourceforge.net/project/showfiles.php?group_id=64424&package_id=61823) HacmeBank – 有安全漏洞的虛擬銀行網站 (http://owasp.net/forums/63/ShowPost.aspx) JBroFuzz – 穿透測試工具 (http://sourceforge.net/project/showfiles.php?group_id=180679&package_id=209088&release_id=461300)

範例下載 – 資策會台北中心 http://www.iiiedu.org.tw/taipei 資訊專區

範例下載 – 台灣微軟網站 台灣微軟網站 http://www.microsoft.com/taiwan/msdn/eventsdownload/default.htm