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