此文刊登在《程序員》三月期,有刪改
提到安全問題,首先想到應付這些問題的應該是系統管理員以及后臺開發工程師們,而前端開發工程師似乎離這些問題很遙遠。然而,在 2008 年發生在安全領域的一系列 Web 安全事件,改變了人們對于傳統安全的觀念。讓我們在這里簡要回顧下:
IE7 的 0day 漏洞以及 Chrome 崩潰事件
2008 年的年底,IE7 爆出了個很嚴重的安全漏洞。與往期微軟的漏洞不同,這次的漏洞是從 IE7 發布時起就存在(這也是稱之為 0day 漏洞的原因)。
該漏洞的原理,就是通過解析某段精心構造的 XML 造成 IE7 內存溢出,進而可執行任意的代碼。雖然官方很快發布了此漏洞的補丁,但此漏洞仍然影響至今。
另個類似的瀏覽器風波,就是 Google 在 08 年 Q3 發布 Chrome 瀏覽器。在 Chrome 發布當天,黑客們就發現只要在地址欄中輸入構造好的字符就能導致瀏覽器崩潰。此后即便 Google 迅速的修復了該漏洞,但已經對用戶造成了非常糟糕的印象。
感嘆:瀏覽器平臺的安全問題,直接影響著該瀏覽器日后的市場份額。好比當年 Firefox 起家時也正因著重打安全這張重牌,才有今日的收獲。即將推出的 IE8 瀏覽器,微軟已經在各種場合大肆宣揚該新瀏覽器的安全性能。由此,正說明各瀏覽器廠商對安全這塊的重視程度。相信目前正酣的瀏覽器戰場,對于安全這塊必然 是兵家必爭之地。
各微博客的 CSRF 和 Clickjacking 漏洞
微博客的流行是 Web2.0 大潮中的奇葩,然而近期爆發的 飯否、嘰歪、Twitter 等的安全漏洞,著實讓前端開發工程師大開眼界。飯否 和 嘰歪 的 CSRF 漏洞,使得攻擊者能通過段 Javascript 代碼在用戶不知情的情況下,向微博客服務器發布相應的消息,從而造成攻擊。
感嘆:客戶端的 Javascript 腳本早已經擺脫僅僅是顯示頁面效果的“玩具”,它已經變成一把利刀。這把刀能幫前端解決問題的同時,也能傷害到用戶。
同比,年初爆發的 Twitter Clickjacking 漏洞,它將 Twitter 的發布頁面通過 iframe 嵌入到第三方頁面,然后通過 CSS 使得并將 Twitter 的發布按鈕與第三方頁面的按鈕重合。這樣,當用戶本意點擊第三方頁面的按鈕時,實際上點擊的是 Twitter 頁面的發布按鈕,進而造成攻擊。
感嘆:前端攻擊方式也正逐漸的升級,防范前端代碼的攻擊不僅僅就是防范 Javascript 等前端腳本,CSS 甚至 HTML 也能構成攻擊。
“精武門”安全峰會
“精武門”安全峰會是阿里巴巴集團組織的針對 Web 應用安全的研討會。和往年討論后臺安全不同,今年重點著重討論 Web 攻擊的方式和防范。眾多國內著名的安全小組集聚一堂,討論目前國內 Web 應用的前端安全問題。
感嘆:在見識了琳瑯滿目的攻擊方式的同時,也引發了對于未來國內 Web 應用安全的思考。
后記
Web 2.0 以降,前端這個職位已從傳統“美工”,蛻變成用戶體驗的實現者。然而隨著瀏覽器提供的功能日益強大、各種 Web 應用的日趨復雜,安全這塊被傳統籠罩的“灰色地帶”,也正進入每個前端開發工程師的視線。相信在不久的將來,前端開發工程師作為新生的安全力量,必占有十 分重要的一席。
安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢】