Web2.0下的十大安全威脅(轉)

          下面列舉10個攻擊:

            1.AJAX中的跨站點腳本

            前幾個月,人們發現了多種跨站點的腳本攻擊。在此類攻擊中,受害者的包含信息的瀏覽器上會運行來自特定網站的惡意JAVA腳本代碼。 Yamanner蠕蟲就是一個最近的范例,它利用Yahoo郵件的AJAX調用中的跨站點腳本機會來攻擊受害者。另一個近期的范例就是Samy蠕蟲,它利 用MySpace.com的跨站點腳本漏洞來攻擊。AJAX在客戶端上運行,它允許錯誤書寫的腳本被攻擊者利用。攻擊者能夠編寫惡意鏈接來哄騙那些沒有準 備的用戶,讓他們用瀏覽器去訪問特定的網頁。傳統應用中也存在這樣的弱點,但AJAX給它添加了更多可能的漏洞。例子, Yamanner蠕蟲利用了Yahoo Mail的AJAX的跨站腳本漏洞,Samy蠕蟲利用了MySpace.com的跨站腳本漏洞。

            2.XML中毒

            很多Web2.0應用中,XML傳輸在服務器和瀏覽器之間往復。網絡應用接收來自AJAX客戶端的XML塊。這XML塊很可能染毒。多次將遞歸 負載應用到產出相似的XML節點,這樣的技術還并不普遍。如果機器的處理能力較弱,這將導致服務器拒絕服務。很多攻擊者還制作結構錯誤的XML文檔,這些 文檔會擾亂服務器上所使用的依賴剖析機制的邏輯。服務器端的剖析機制有兩種類型,它們是SAX和DOM。網絡服務也使用相同的攻擊向量,這是因為網絡服務 接收SOAP消息,而SOAP就是XML消息。在應用層大范圍地使用XMLs使攻擊者有更多的機會利用這個新的攻擊向量。

            XML外部實體參照是能被攻擊者偽造的一個XML的屬性。這會使攻擊者能夠利用人意的文件或者TCP連接的缺陷。XML schema中毒是另一個XML中毒的攻擊向量,它能夠改變執行的流程。這個漏洞能幫助攻擊者獲得機密信息。攻擊者可以通過復制節點進行DOS攻擊,或者生成不合法的XML導致服務器端邏輯的中斷。攻擊者也可以操縱外部實體,導致打開任何文件或TCP連接端口。XML數據定義的中毒也可以導致運行流程的改變,助攻擊者獲取機密信息。

            3.惡意AJAX代碼的執行

            AJAX調用非常不易察覺,終端用戶無法確定瀏覽器是否正在用XMLHTTP請求對象發出無記載的調用。瀏覽器發出AJAX調用給任意網站的時 候,該網站會對每個請求回應以cookies。這將導致出現泄漏的潛在可能性。例如,約翰已經登陸了他的銀行,并且通過了服務器認證。完成認證過程后,他 會得到一個會話 cookie。銀行的頁面中包含了很多關鍵信息。現在,他去瀏覽器他網頁,并同時仍然保持銀行賬戶的登陸狀態。他可能會剛好訪問一個攻擊者的網頁,在這個 網頁上攻擊者寫了不易被察覺的AJAX 代碼,這個代碼不用經過約翰的同意,就能夠發出后臺調用給約翰的銀行網頁,因而能夠從銀行頁面取得關鍵信息并且把這些信息發送到攻擊者的網站。這將導致機 密信息的泄漏甚至引發安全突破。AJAX 編碼可以在不為用戶所知的情形下運行,假如用戶先登錄一個機密網站,機密網站返回一個會話cookie,然后用戶在沒有退出機密網站的情形下,訪問攻擊者 的網站,攻擊者網頁上的AJAX編碼可以(通過這個會話cookie?)去訪問機密網站上的網頁,從而竊取用戶的機密信息。(注:這里的解釋有點含糊,理 論上講,瀏覽器不會把一個網站的會話cookie傳給另外一個網站的,即文中的這句“When the browser makes an AJAX call to any Web site it replays cookies for each request. ”,不完全對)

            4.RSS/Atom 注入

          這是一項新的web2.0攻擊。RSS反饋是人們在門戶網站或者網絡應用中共享信息的常用手段。網絡應用接受這些反饋然后發送給客戶端的瀏覽器。人們可 以在該RSS反饋中插入文本的JavaScript來產生對用戶瀏覽器的攻擊。訪問特定網站的終端用戶加載了帶有該RSS反饋的網頁,這個腳本 就會運行起來——它能夠往用戶的電腦中安裝軟件或者竊取cookies信息。這就是一個致命的客戶端攻擊。更糟糕的是,它可以變異。隨著RSS和ATOM 反饋成為網絡應用中整合的組件,在服務器端將數據發布給終端用戶之前,過濾特定字符是非常必要的。攻擊者可以在RSS feeds里注入Javascript腳本,如果服務器端沒有過濾掉這些腳本的話,在瀏覽器端會造成問題。

            5.WSDL掃描和enumeration

            WSDL(網絡服務界定語言)是網絡服務的一個接口。該文件提供了技術,開放方法,創新形式等等的關鍵信息。這是非常敏感信息,而且能夠幫助人 們決定利用什么弱點來攻擊。如果將不必要的功能或者方法一直開著,這會為網絡服務造成潛在的災難。保護WSDL文件或者限定對其的訪問是非常重要的。在實 際情況中,很有可能找到一些使用WSDL掃描的一些漏洞。WSDL提供了Web服務所用的技術,以及外露的方法,調用的模式等信息。假如Web服務對不必要的方法沒有禁止的話,攻擊者可以通過WSDL掃描找到潛在的攻擊點。

            6.AJAX常規程序中客戶端的確認

            基于web2.0的應用使用AJAX常規程序來在客戶端上進行很多操作,比如客戶端數據類型的確認,內容檢查,數據域等等。正常情況下,服務端 也應該備份這些客戶端檢查信息。大部分開發者都沒有這么做;他們這樣做的理由是,他們假設這樣的確認是由AJAX常規程序來負責的。避開基于AJAX的確 認和直接發送POST或者GET請求給那些應用——這些應用是諸如SQL注入,LDAP注入等類隨確認進入的攻擊主要來源,它們能夠攻擊網絡應用的關鍵資 源——都是可以做到的。這都增加了能夠為攻擊者所利用的潛在攻擊向量的數量。假如開發人員只依賴客戶端驗證,不在服務器端重新驗證的話,會導致SQL注入,LDAP注入等等。

            7.網絡服務路由問題

            網絡服務安全協議包括WS-Routing服務。WS-Routing允許SOAP消息在互聯網上各種各樣不同的節點中的特別序列中傳輸。通常 加密的信息在這些節點來回傳送。交互的節點中的任意一個被攻擊都將致使攻擊者能夠訪問到在兩個端點之間傳輸的SOAP消息。這將造成SOAP消息的嚴重的 安全泄漏。隨著網絡應用開始被網絡服務框架所采用,攻擊者們開始轉而利用這些新協議和新的攻擊向量。Web服務安全協議使用WS-Routing服務,假如任何中轉站被攻占,SOAP消息可以被截獲。

            8.SOAP消息的參數操作

            網絡服務接收信息和來自SOAP消息的變量。修改這些變量是很可能的。例如,“10”是SOAP消息中多個節點中的一個。攻擊者可以修改點,并 且嘗試不同種的注入攻擊——比如,SQL,LDAP,XPATH,命令行解釋器——并且探索能被他用來掌握及其內部信息的攻擊向量。網絡服務代碼中錯誤的 或者不夠完備的輸入確認使網絡服務應用易于發生泄漏.這是一個目標指向網絡服務所帶的網絡應用的一項新的攻擊向量。類似于SQL注入,假如對SOAP消息里節點的數據不做驗證的話。

            9.SOAP消息中的XPATH注入

            XPATH是一種用來查詢XML文檔的語言,它跟SQL語句很類似:我們提供某些信息(參數)然后從數據庫中得到查詢結果。很多語言都支持 XPATH 解析的功能。網絡應用接收大型XML文檔,很多時候這些應用從終端用戶和XPATH語句中取得輸入量。這些代碼的段落對XPATH注入沒有什么防御能力。 如果XPATH執行成功,攻擊者能夠繞過認證機制或者造成機密信息的一些損失。現在人們只知道很少部分的能夠被攻擊者利用的XPATH的漏洞。阻止這個攻 擊向量的唯一方法就是在給XPATH語句傳遞變量值的時候提供適當的輸入確認。類似于SQL注入,假如對數據不做驗證而直接做XPATH查詢的話。

            10. RIA瘦客戶端二進制的偽造

            豐富網絡應用(RIA)使用非常豐富的UI要素比如Flash,ActiveX控件或者Applets,它使用這些要素作為網絡應用的基本接 口。這個框架存在幾個安全問題。其中最主要的一個就是關于會話管理。它是在瀏覽器中運行的,并且共享相同的會話。同時,由于客戶端將下載整個二進制元件到 自己的主機,攻擊者就可以顛倒工程的那個二進制文件并且反編譯代碼。把這些二進制串打包并繞過一些包含在代碼中的認證邏輯是有可能實現的。這是 WEB2.0框架下的另一個有趣的攻擊向量。因為Rich Internet Applications的組件是下載到瀏覽器本地的,攻擊者可以對二進制文件進行逆向工程,反編譯編碼,通過改動文件,跳過認證邏輯 。

            結論

            AJAX,RIA以及網絡服務是WEB2.0應用空間的三項重要的技術向量。這些技術很有前景,它們帶給桌面新的程式,加強了網絡應用的整體效 率和效用。隨著這些新技術而來的是新的安全問題,忽略這些問題將會導致整個世界發生巨大的災難。本文中,我們只討論了10種攻擊。但是實際上還有很多其他 的攻擊向量。對這些新的攻擊向量的最好的防御方法是增加WEB2.0的安全意識,提高代碼操作的安全性以及配置的安全性

          posted on 2009-05-15 23:31 胡鵬 閱讀(239) 評論(0)  編輯  收藏 所屬分類: J2EE

          導航

          <2009年5月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          agile

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 古田县| 丹巴县| 岫岩| 寻甸| 临江市| 永修县| 铜陵市| 双牌县| 清镇市| 太湖县| 阳原县| 大理市| 明溪县| 永平县| 无棣县| 富裕县| 达州市| 文水县| 沾益县| 神池县| 岳阳市| 仪陇县| 留坝县| 阿合奇县| 黎平县| 乌审旗| 彝良县| 同德县| 迁安市| 丹东市| 新绛县| 曲阳县| 崇文区| 东城区| 六枝特区| 丹寨县| 龙州县| 肥西县| 敦化市| 临潭县| 大关县|