新聞中心
◆Web 2.0 應(yīng)用安全解決方案

創(chuàng)新互聯(lián)公司是一家專業(yè)從事做網(wǎng)站、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)公司依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
什么是 Web2.0 ?它包含了哪些技術(shù)?這些技術(shù)的產(chǎn)生又對(duì)網(wǎng)絡(luò)應(yīng)用安全帶來了哪些隱患和風(fēng)險(xiǎn)?本文從這些問題著手,重點(diǎn)探討 Web2.0 時(shí)代的技術(shù)特征和應(yīng)用安全,并通過結(jié)合明鑒Web應(yīng)用弱點(diǎn)掃描器安全解決方案,為大家提供面對(duì)新時(shí)代、新問題的應(yīng)用安全應(yīng)對(duì)思路。
一、什么是Web2.0?
Web 2.0,是由 O'Reilly 公司在 2003 年造的一個(gè)詞,2004 年召開 Web 2.0 大會(huì)之后,這個(gè)詞就流行起來,意指基于 Web 的下一代社區(qū)和托管服務(wù),比如社會(huì)網(wǎng)絡(luò)、維基百科、大眾分類等等,幫助 Web 用戶協(xié)作和分享。
二、Web 2.0 成功的核心模式
Web 2.0 和過去的 Web 1.0 之間有什么不同?討論這個(gè)話題,最權(quán)威的莫過于 Tim O'Reilly 所寫的"什么是 Web 2.0?",我在這里拾人牙慧,概述一下我的理解。Web 的演變是持續(xù)進(jìn)行的,Web 就像是有生命的實(shí)體,在不斷生長,所以當(dāng)我們說 Web 2.0 和 Web 1.0 之間的差別時(shí),是一個(gè)相對(duì)靜態(tài)的階段性觀點(diǎn),而不是絕對(duì)的。如前所述,Web 2.0 是指互聯(lián)網(wǎng)泡沫之后,人們使用 Web 的方式的巨大變化,開發(fā)人員、最終用戶和商家,都在不斷地實(shí)踐新的方法。幾年過去,他們?nèi)〉昧撕芏嗔瞬黄鸬某晒?,締造了很多成功?Web 2.0 公司,從 Google、Salesforce、MySpace、Flickr、Delicious、YouTube、Linkedin 到今天十分火爆的 Facebook,具有 Web 2.0 特征的公司,風(fēng)起云涌。如何定義 Web 2.0 不重要,重要的是 Web 2.0 背后的模式和原則,這些模式對(duì)于 Web 2.0 的成功至關(guān)重要。
Web 2.0 具有八個(gè)核心模式,它們分別是:
群眾智慧(Collective Intelligence)
建立一個(gè)參與架構(gòu),借助網(wǎng)絡(luò)效應(yīng)和算法,使得軟件隨著使用的人越來越多而變得越來越好。
數(shù)據(jù),下一個(gè)"Intel Inside"
利用獨(dú)特、難以復(fù)制的數(shù)據(jù)源,成為這個(gè)時(shí)代的"Intel Inside",其中,數(shù)據(jù)變得跟功能一樣重要,成為核心競爭能力。
"復(fù)合"創(chuàng)新
建立一個(gè)平臺(tái),通過數(shù)據(jù)和服務(wù)的組合,來創(chuàng)造新的市場和機(jī)會(huì)。
豐富用戶體驗(yàn)
超越傳統(tǒng)的 Web 頁面模式,讓在線應(yīng)用擁有桌面應(yīng)用一樣的豐富用戶體驗(yàn)。
支持多種設(shè)備
支持各種連接到因特網(wǎng)的設(shè)備,為用戶提供無所不在、無縫的在線體驗(yàn)。
軟件即服務(wù)(Software as a Services,SaaS),和永久試驗(yàn)版(Perpetual Beta)
改變了傳統(tǒng)軟件開發(fā)和使用的模式,轉(zhuǎn)向永久在線、持續(xù)更新、軟件即服務(wù)的模式。
利用長尾
借助因特網(wǎng)帶來的接觸極大規(guī)模客戶的能力以及極低成本的營銷方式,來獲得細(xì)分的"利基"(niche)市場的利潤。
輕量級(jí)模型和低成本優(yōu)勢(shì)的可擴(kuò)充能力
利用輕量級(jí)的商業(yè)模型和軟件開發(fā)模式,來快速、廉價(jià)地構(gòu)造產(chǎn)品和服務(wù)。
以上幾個(gè)模式,分別關(guān)注不同方面,但是它們由如下幾個(gè) Web 2.0 的特質(zhì)而相互關(guān)聯(lián)起來:
大規(guī)?;ミB
今天我們從過去一對(duì)多的發(fā)布和通信,轉(zhuǎn)向多對(duì)多的連接,網(wǎng)絡(luò)效應(yīng)使得邊際同核心一樣重要,顛覆著舊的通信、發(fā)布、分發(fā)和聚合模式。
去中心化
這種大規(guī)?;ヂ?lián),也顛覆著傳統(tǒng)的控制和權(quán)力結(jié)構(gòu),帶來更大程度的去中心化。從全球信息流動(dòng),營銷,到新產(chǎn)品設(shè)計(jì),這種發(fā)自底層的草根力量, 都在"叫板"來自權(quán)力階層的聲音。系統(tǒng)更多地從通過邊沿的拉動(dòng)來生長,而不是借助核心的推動(dòng)向外生長。
以用戶為中心
網(wǎng)絡(luò)效應(yīng)給予用戶前所未有的力量,他們參與、對(duì)話、協(xié)作,最終產(chǎn)生巨大的影響。消費(fèi)者可以說話、交流和討論他們的經(jīng)驗(yàn),他們擁有控制權(quán),積極主動(dòng)地影響著產(chǎn)品的方向,同時(shí)也對(duì)那些積極應(yīng)對(duì)的公司報(bào)以忠誠和口口相傳的口碑營銷。#p#
開放
這種開放性,是以因特網(wǎng)的開放技術(shù)標(biāo)準(zhǔn)為基礎(chǔ)的,但很快地演進(jìn)到一個(gè)由開放應(yīng)用所構(gòu)成的生態(tài)系統(tǒng),這些應(yīng)用建構(gòu)在開放數(shù)據(jù)、開放 API 和可重用的組件之上。開放,還意味著超越技術(shù)層次的更大程度的透明性,如公司對(duì)外溝通,共享知識(shí)產(chǎn)權(quán)、產(chǎn)品的開發(fā)過程等。
輕量級(jí)
軟件由小團(tuán)隊(duì)使用敏捷方法設(shè)計(jì)和開發(fā),使用簡單數(shù)據(jù)格式和協(xié)議,采用運(yùn)行開銷小的平臺(tái)和框架,應(yīng)用和服務(wù)部署簡易,商業(yè)上力圖保持低的投資和成本,營銷上利用簡單的消費(fèi)者之間的口口相傳來形成病毒式傳播。
自然浮現(xiàn)
不是依靠預(yù)先完整定義好的應(yīng)用結(jié)構(gòu),而是讓應(yīng)用的結(jié)構(gòu)和行為隨著用戶的實(shí)際使用而靈活適應(yīng)和自然演變;成功來自合作,而不是控制。
這些特質(zhì),Web 2.0 的應(yīng)用體現(xiàn)得越來越多,由這樣的應(yīng)用所構(gòu)成的應(yīng)用生態(tài)系統(tǒng),具備了將大規(guī)模個(gè)性化的信息和服務(wù)帶給極大規(guī)模普通人的潛力。
三、Web2.0 部分技術(shù)淺析
Web2.0 中涉及了很多名詞和術(shù)語,比如 Tags、Blogs、Ajax、Flex、MalWare、Wiki、RSS、Social Networking、Podcast、Mushup等等。由于篇幅所限,我們僅在本章節(jié)分析 Ajax、Flex。
3.1、Ajax 和 Web2.0
Ajax 全稱為"Asynchronous JavaScript and XML"(異步 JavaScript 和 XML),是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。在 Web1.0 時(shí)代中,客戶端瀏覽器和服務(wù)器之間的通訊是同步的,也就是說,當(dāng)我們?cè)?Web 頁面上填寫表單(例如使用搜索功能),請(qǐng)求就會(huì)發(fā)送到服務(wù)器上,經(jīng)過處理后,服務(wù)器將完整的結(jié)果頁面再次發(fā)送回來??梢钥闯?,發(fā)送請(qǐng)求的前后兩個(gè)頁面,很多內(nèi)容是完全重復(fù)的。這種做法的反復(fù)執(zhí)行,極大的浪費(fèi)了網(wǎng)絡(luò)帶寬,也浪費(fèi)了使用者很多等待多余信息的寶貴時(shí)間。
Ajax 應(yīng)用則可以和服務(wù)器通訊更改過的內(nèi)容。它借助于客戶端的 JavaScript 處理來自服務(wù)器的響應(yīng)。同時(shí),還有很多任務(wù)是由客戶端本身來完成。因此,在網(wǎng)絡(luò)上的數(shù)據(jù)交換更少、Web 服務(wù)器的處理時(shí)間更短。用戶感覺到的是更快的請(qǐng)求響應(yīng)速度。
由于 Ajax 良好的用戶體驗(yàn),被認(rèn)為是 Web2.0 的典型技術(shù)特征,已經(jīng)在很多成熟應(yīng)用中被廣泛采納,如大家熟悉的 Google 地圖、Google 搜索建議、Gmail 等。要了解更多 Ajax 信息,請(qǐng)?jiān)L問 http://www.openajax.org/index.php
3.2、Ajax 技術(shù)特征
3.2.1 Ajax 動(dòng)態(tài)特征
Ajax 是構(gòu)建在 DHTML(動(dòng)態(tài) HTML)技術(shù)之上的,這包括:
JavaScript:在 Web 應(yīng)用客戶端廣泛使用的腳本語言;
DOM:Document Object Model,文檔對(duì)象模型,用來代表 HTML 或 XML 文檔的標(biāo)準(zhǔn)對(duì)象模型,當(dāng)前瀏覽器都支持 DOM 并且允許 JavaScript 代碼使用 DOM 來動(dòng)態(tài)修改 HTML 內(nèi)容;
CSS:Cascading Style Sheets,級(jí)聯(lián)樣式表,是一種用來描述 HTML 文檔展現(xiàn)的樣式表語言,JavaScript 可以在訪問 Web 頁面時(shí)動(dòng)態(tài)修改 CSS。通過這些動(dòng)態(tài)技術(shù),在 Ajax 應(yīng)用中,客戶端 JavaScript 通過動(dòng)態(tài)修改 DOM 樹結(jié)構(gòu)和 CSS,實(shí)現(xiàn)了動(dòng)態(tài)的更新 Web 頁面。
3.2.2 Ajax 異步通訊特征
前面提到,Ajax 可以和服務(wù)器交換更改過的、而非整個(gè)頁面的內(nèi)容。這種異步通訊,是通過如下技術(shù)實(shí)現(xiàn)的:
JSON:JavaScript Object Notation,是一種基于文本(類似于 XML)、輕量級(jí)的數(shù)據(jù)交換格式。在 Web 應(yīng)用中,可以使用 JSON 傳輸字符串、數(shù)字、二進(jìn)制,或是數(shù)組、對(duì)象等等。由于它格式簡單、容易理解、容易解析,是目前在 Ajax 應(yīng)用中最為靈活的數(shù)據(jù)交換解決方案。
XMLHttpRequest 對(duì)象:是 XMLHTTP API 函數(shù)集的一個(gè)對(duì)象。該函數(shù)集在 Web 瀏覽器和服務(wù)器之間收發(fā) XML 或其它數(shù)據(jù)。一個(gè)由 XMLHttpRequest 對(duì)象發(fā)送的 HTTP 請(qǐng)求并不要求頁面中擁有或返回一個(gè)< form >元素,這意味著該對(duì)象的 send() 方法可以立即返回,從而讓 Web 頁面上的其它 HTML/JavaScript 元素繼續(xù)由瀏覽器處理,而由服務(wù)器處理該 HTTP 請(qǐng)求并發(fā)送響應(yīng)。通過這樣的機(jī)制,實(shí)現(xiàn)動(dòng)態(tài)更新頁面部分元素,而無需傳遞整個(gè)頁面的效果。它是當(dāng)今 Ajax 和 Web2.0 應(yīng)用的技術(shù)基礎(chǔ)。#p#
3.2.3 Ajax 非同源調(diào)用特征
在介紹 Ajax 調(diào)用之前,我們先來看看瀏覽器的"同源安全模型"。同源模型是客戶端腳本運(yùn)行的重要安全度量標(biāo)準(zhǔn),它指的是來自于同一個(gè)"源"的腳本可以互相訪問其方法和 屬性,而拒絕非同"源"的訪問。該模型的精髓是:它認(rèn)為從任何站點(diǎn)裝載的內(nèi)容是不安全的,當(dāng)被瀏覽器不太信任的腳本運(yùn)行時(shí),它們應(yīng)該只被允許訪問來自同一 站點(diǎn)的資源,而不是那些來自其它站點(diǎn)可能懷有惡意的資源。這里"源"包含了 Domain、Protocol 和 Port。當(dāng)采用同源策略時(shí),來自于 http://www.example.com/dir/page.html 頁面的腳本 A,可以訪問和使用來自 http://www.example.com/dir2/other.html 頁面的腳本 B,因?yàn)閮烧咴?Domain(www.example.com)、Protocol(http 協(xié)議)和 Port(默認(rèn)為 80)上是一樣的,被認(rèn)為是同源;而腳本 A 不能訪問 http://www.example.com:81/dir2/other.html 頁面的腳本 C,因?yàn)樗麄儾皇峭粋€(gè) Port,被認(rèn)為非同源。
為什么要有同源的限制呢?這是瀏覽器提供的最為基礎(chǔ)的安全保障之一。如果放開同源限制,黑客就可以通過引誘用戶訪問嵌入在自己惡意站點(diǎn)上的正 常應(yīng)用(如用 Iframe 將銀行登錄頁面嵌入到黑客的惡意應(yīng)用中),當(dāng)用戶訪問該應(yīng)用時(shí),攻擊腳本就可以在不同源之間互訪,竊取用戶登錄信息,或者跟蹤用戶的各種操作。
3.3 Ajax 應(yīng)用安全隱患
雖然 Ajax 技術(shù)極大地推動(dòng)了 Web2.0(如 Mushup 應(yīng)用)的發(fā)展,但是由于上述討論的 Ajax 特征(動(dòng)態(tài)、異步、突破同源限制),給應(yīng)用安全帶來了隱患。
3.3.1 Ajax 和 XSS(跨站腳本攻擊)
XSS 是目前發(fā)生頻率最高的網(wǎng)絡(luò)攻擊手段之一,它是通過引誘用戶執(zhí)行惡意的 JavaScript 腳本(如引誘用戶點(diǎn)擊包含惡意腳本的鏈接),來達(dá)到竊取用戶信息或者實(shí)現(xiàn)其它惡意行為的目的。正是由于 Web2.0 鼓勵(lì)信息分享、信息交互和協(xié)作,用戶就有了更多的機(jī)會(huì)去看、去修改他人的信息,比如通過 Wiki、Blog 或 SNS(Social Networking Service),從而創(chuàng)造了更多的 XSS 攻擊機(jī)會(huì)。Web1.0 時(shí)代的 XSS,是作為服務(wù)器端 Web 應(yīng)用安全隱患被廣泛注意,由于 Ajax,它已經(jīng)蔓延到客戶端。現(xiàn)在的瀏覽器允許在 Web 頁面運(yùn)行時(shí)主動(dòng)插入 HTML 代碼(比如使用 innerHTML 屬性),如果這些代碼中包含惡意的 JavaScript,則會(huì)被瀏覽器立刻執(zhí)行,帶來安全隱患。
3.3.2 Ajax 和 CSRF(跨站請(qǐng)求偽造)
CSRF 中,攻擊者在用戶完全未察覺的情況下,代表用戶發(fā)送請(qǐng)求。這可以通過引誘用戶點(diǎn)擊鏈接,或是將請(qǐng)求嵌入到 Image Tag 等 HTML 標(biāo)記中,強(qiáng)迫用戶發(fā)送。這里列舉一個(gè)攻擊場景:攻擊者向用戶發(fā)送一封電子郵件,郵件中包含一個(gè)銀行鏈接請(qǐng)求,請(qǐng)求的目的是從用戶的銀行賬戶向攻擊者賬戶進(jìn) 行轉(zhuǎn)賬,用戶使用該鏈接進(jìn)入銀行網(wǎng)站并進(jìn)行了登錄操作,該請(qǐng)求就會(huì)偕同用戶 Cookie 信息自動(dòng)發(fā)送給銀行。如果銀行網(wǎng)站僅把 Cookie 值當(dāng)做驗(yàn)明用戶身份的唯一手段,那么 Web 應(yīng)用就認(rèn)為該請(qǐng)求是合法的,轉(zhuǎn)賬操作立刻被執(zhí)行。
在 Ajax 應(yīng)用中,客戶端和服務(wù)器的交互是通過 HTTP 協(xié)議實(shí)現(xiàn)的,如果站點(diǎn)安全保護(hù)措施不夠強(qiáng)健,一旦 CSRF 成功,將會(huì)帶來一系列隱患,如利用 Web-Mail 服務(wù)發(fā)送郵件、代表用戶在 Blog 上寫注釋、在 SNS 中修改用戶信息等等。
3.3.3 Ajax 和 DoS(拒絕服務(wù)攻擊)
DoS 是通過某種手段讓服務(wù)器資源耗盡,阻斷正常用戶訪問的攻擊方法。比如說向服務(wù)器提交大量請(qǐng)求,使服務(wù)器負(fù)荷過重。用戶瀏覽器如果可以執(zhí)行第三方 JavaScript,就會(huì)帶來 DoS 攻擊的可能性,因?yàn)榈谌?JavaScript 邏輯中,很可能包含大量導(dǎo)致服務(wù)器資源耗盡的循環(huán)程序,所以允許大量 JavaScript 使用的 Ajax 應(yīng)用中,DoS 攻擊概率大大提高。
3.3.4 其它安全隱患
Mushup 應(yīng)用通常是將任意第三方的 mushup 組件組合在一起,如果攻擊者向 Mushup 應(yīng)用提供了惡意的 mushup 組件,同時(shí)該應(yīng)用沒有提供足夠的安全保護(hù)的話,用戶和整個(gè) Mushup 應(yīng)用就面臨著巨大的安全隱患。因?yàn)橐粋€(gè)惡意的 mashup 組件可以向整個(gè) Mushup 應(yīng)用中注入惡意代碼,從而觸發(fā)多種攻擊行為,包括 XSS、CSRF、DoS。如果該 Mushup 應(yīng)用還提供服務(wù)器端的 Ajax 代理服務(wù),由于 Ajax 代理突破了同源限制,惡意的客戶端 mushup 組件就可以將用戶的隱私發(fā)送到外部站點(diǎn)。
3.4 Flash/Flex 和 Web2.0
互聯(lián)網(wǎng)從 1996 年引入了 Flash 技術(shù)后,通過動(dòng)畫和交互,極大的改變了 Web 頁面的用戶體驗(yàn)。2004 年 3 月,Macromedia 公司基于其專有的 Macromedia Flash 平臺(tái),發(fā)布了 Flex。它涵蓋了支持 RIA(Rich Internet Applications)開發(fā)和部署的一系列技術(shù)。在 Web2.0 時(shí)代,越來越多的開發(fā)者使用 Flex 技術(shù)開發(fā) Flash 應(yīng)用,由此引入的安全隱患也不容忽視。#p#
3.5 Flash 應(yīng)用安全隱患
由于 Flash 支持全局變量,因此帶來了很多安全隱患。只要攻擊者控制了全局變量,那么他就可以實(shí)施多種攻擊行為。
3.5.1 Cross-Site Flashing(跨站 Flash 攻擊)
和 XSS 原理相似,不過 XSF 是通過向網(wǎng)站注入惡意的 Flash 程序來實(shí)施攻擊。 由于 Web2.0 時(shí)代的應(yīng)用復(fù)雜性(如 Mushup 應(yīng)用),注入的惡意 Flash 不但可以攻擊同源內(nèi)的應(yīng)用,還可能在非同源的各個(gè)組件中傳播。
3.5.2 Cross-Site Scripting through Flash(通過 Flash 進(jìn)行跨站腳本攻擊)
該方法使用易受感染的 Flash 文件進(jìn)行典型的 XSS 攻擊。和 XSF 很相似,攻擊的發(fā)生同樣來源于對(duì)全局變量的引用,如將全局變量作為裝入函數(shù)(如 getURL())的參數(shù)
攻擊者使用惡意腳本,可能執(zhí)行如下操作:
1、將用戶的 Cookie 值發(fā)送給攻擊者;
2、將用戶的共享 Flash 對(duì)象發(fā)送給攻擊者;
3、將可通過 DOM(如 URL、表單字段等)訪問的信息發(fā)送給攻擊者。
四、Web2.0 安全總結(jié)
從上面章節(jié)的分析可以看出,Web2.0 時(shí)代的應(yīng)用安全,有著明顯的特征,可以總結(jié)為如下兩個(gè)方面:
由于新技術(shù)的引入,帶來了新的安全隱患,如 XSF 攻擊等;
很多 Web1.0 時(shí)代的安全隱患,出現(xiàn)了新的傳播渠道,如 Ajax 應(yīng)用,就提高了 XSS、CSRF、DoS等攻擊的機(jī)會(huì)。
五、明鑒Web應(yīng)用弱點(diǎn)掃描器如何應(yīng)對(duì) Web2.0 ?
Web2.0 新安全隱患應(yīng)對(duì)策略
考慮到 Web2.0 時(shí)代的應(yīng)用安全特點(diǎn),明鑒Web應(yīng)用弱點(diǎn)掃描器(Webscan)應(yīng)用安全解決方案不僅加強(qiáng)了對(duì)原有 Web 安全隱患的診斷能力,還提供了針對(duì)新安全隱患的診斷和防御功能。
5.1 Flash 安全防御
WebScan 5.0(WebScan 標(biāo)準(zhǔn)版)提供了對(duì) Flash 安全隱患的完整分析和測(cè)試。這包括:
1、將 Web 應(yīng)用中的 Flash 代碼解析為文本數(shù)據(jù),從中收集鏈接,進(jìn)行安全隱患分析;
2、播放應(yīng)用中的 Flash 文件,動(dòng)態(tài)發(fā)現(xiàn)僅通過解析發(fā)現(xiàn)不了的鏈接;
3、測(cè)試由 Adobe? Flex 應(yīng)用程序發(fā)送的后臺(tái) AMF 協(xié)議消息。
圖 1. 是在配置WebScan 掃描某 Web 應(yīng)用時(shí)的 Flash 選項(xiàng),用戶可以根據(jù)需要選擇如何處理應(yīng)用中的 Flash。
圖1.Webscan5.0中Flash配置選項(xiàng)
Webscan5.0提供多種專門針對(duì) Flash 的測(cè)試用例,如允許Flash文件與任何HTML頁面通信、允許訪問任何域的Flash文件、允許Flash文件調(diào)用所有網(wǎng)絡(luò)API、Flash文件源代碼泄露等等。如圖 2。
圖2.Webscan5.0中Flash測(cè)試用例
5.2增強(qiáng)的 JavaScript 引擎
Web2.0 使 JavaScript 得到了充分的應(yīng)用。WebScan 可以分析 Web 應(yīng)用中的 JavaScript,并且在新版本中,通過不斷改進(jìn)對(duì)內(nèi)存的占用,提高 JavaScript 分析的性能。
【編輯推薦】
- 高校應(yīng)用安全攻防實(shí)驗(yàn)室組建方案
- 安恒信息范淵:運(yùn)營商應(yīng)用安全防護(hù)急需加強(qiáng)
- 如何拯救web應(yīng)用安全威脅?
- 從黑客常用攻擊手段來對(duì)WEB應(yīng)用安全防護(hù)進(jìn)行了解
當(dāng)前標(biāo)題:Web 2.0應(yīng)用安全深入解析
網(wǎng)站URL:http://m.5511xx.com/article/codseop.html


咨詢
建站咨詢
