• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Web應(yīng)用安全的研究

      2009-07-01 02:42:24孫繼紅
      新媒體研究 2009年23期
      關(guān)鍵詞:漏洞應(yīng)用程序解決方案

      [摘要]分析Web應(yīng)用安全的現(xiàn)狀以及其重要性,同時分析Web應(yīng)用所面臨的主要威脅和攻擊,包括Web平臺軟件漏洞、Web認證和授權(quán)威脅、非法輸入和參數(shù)篡改漏洞、Web應(yīng)用管理漏洞等,并提出相應(yīng)的解決方案。最后,通過Web應(yīng)用安全生命周期體系從軟件工程的角度來研究Web應(yīng)用的安全及解決方案。

      [關(guān)鍵詞]Web應(yīng)用安全漏洞攻擊安全生命周期

      中圖分類號:TP393文獻標識碼:A文章編號:1671-7597(2009)1210094-02

      一、Web應(yīng)用安全的現(xiàn)狀及其重要性

      當(dāng)今世界,Internet已經(jīng)成為一個非常重要的基礎(chǔ)平臺,很多企業(yè)都將應(yīng)用架設(shè)在該平臺上,為客戶提供更為方便、快捷的服務(wù)支持。這些應(yīng)用在功能和性能上,都在不斷的完善和提高,然而在安全性上,卻沒有得到足夠的重視。由于網(wǎng)絡(luò)技術(shù)日趨成熟,黑客們也將注意力從以往對網(wǎng)絡(luò)服務(wù)器的攻擊逐步轉(zhuǎn)移到了對Web應(yīng)用的攻擊上。然而,絕大多數(shù)企業(yè)將大量的投資花費在網(wǎng)絡(luò)和服務(wù)器的安全上,沒有從真正意義上保證Web應(yīng)用本身的安全,給黑客以可乘之機,安全風(fēng)險達到了前所未有的高度。

      一個典型的Web應(yīng)用通常是標準的三層架構(gòu)模型:第一層是客戶端;使用動態(tài)Web內(nèi)容技術(shù)的部分屬于中間層;數(shù)據(jù)庫是第三層。在企業(yè)Web應(yīng)用的各個層面,都會使用不同的技術(shù)來確保安全性。為了保護客戶端機器的安全,用戶會安裝防病毒軟件;為了保證用戶數(shù)據(jù)傳輸?shù)狡髽I(yè)Web服務(wù)器的傳輸安全,通信層通常會使用SSL(安全套接層)技術(shù)加密數(shù)據(jù);企業(yè)會使用防火墻和IDS(入侵診斷系統(tǒng))/IPS(入侵防御系統(tǒng))來保證僅允許特定的訪問。

      但是,即便有防病毒保護、防火墻和IDS/IPS,企業(yè)仍然不得不允許一部分的通訊經(jīng)過防火墻,同時,Web應(yīng)用是由軟件構(gòu)成的,那么,它一定會包含bugs,這些bugs就可以被惡意的用戶利用,他們通過執(zhí)行各種惡意的操作,或者偷竊、或者操控、或者破壞Web應(yīng)用中的重要信息。只要訪問可以順利通過企業(yè)的防火墻,Web應(yīng)用就毫無保留地呈現(xiàn)在用戶面前。只有加強Web應(yīng)用自身的安全,才是真正的Web應(yīng)用安全解決之道。

      二、常見的Web應(yīng)用安全漏洞及解決方案

      (一)Web平臺軟件漏洞

      Web平臺軟件漏洞包括Web應(yīng)用使用的操作系統(tǒng)、HTTP底層服務(wù)器軟件(如IIS或Apache)和第三方應(yīng)用程序中的所有程序錯誤或者可以被利用的漏洞。這個問題也涉及到錯誤配置,包含有不安全的默認設(shè)置或管理員沒有進行安全配置的應(yīng)用程序。

      解決方案:

      執(zhí)行嚴格的雙向網(wǎng)絡(luò)訪問控制。

      找出系統(tǒng)的安全漏洞,及時更新軟件的安全補丁。

      不要在源代碼中放置私密信息。

      禁用Web服務(wù)器上不必要的功能,刪除不需要的應(yīng)用程序。

      定期掃描入侵者。

      (二)Web認證威脅

      Web認證包括用戶名和口令認證、基于令牌和證書的認證以及認證服務(wù)。攻擊者可以通過用戶名枚舉、密碼猜測和竊聽等手段來獲取用戶名和密碼;攻擊者還可以通過SQL注入繞過論證,也可以竊取用戶的Cookie并訪問用戶的帳戶,而不必輸入ID和口令或進行其他認證。

      解決方案:

      使用強健的密碼策略和賬戶鎖定策略。

      采用高強度的證書,例如數(shù)字證書。證書認證使用公開密鑰系統(tǒng)和數(shù)字證書來認證用戶。證書認證還可以和其他基于密碼的認證機制一起使用,以提供更強健的安全性。

      使用HTTPS來保護認證傳輸,避免受到竊聽和重放攻擊的風(fēng)險。

      輸入驗證可以防止SQL注入、腳本注入和命令執(zhí)行。

      確保認證安全令牌,如Session ID和Cookie等不會被輕易竊取。

      (三)Web授權(quán)威脅

      授權(quán)可以確定經(jīng)過認證的用戶可以訪問應(yīng)用程序的哪些部分,以及他們在應(yīng)用程序中可執(zhí)行哪些操作。攻擊者通過爬行訪問控制列表(ACL)以及分析會話(Session)和Cookie中保存的信息來得到非法的授權(quán)。

      解決方案:

      為應(yīng)用程序定義明確的、一致的訪問策略,配置好用戶角色。

      使用SSL加密措施防止攻擊。

      不要在會話中包含個人敏感信息。

      一旦改變權(quán)限要重新生成會話ID。

      (四)非法輸入和參數(shù)篡改漏洞

      在數(shù)據(jù)被輸入程序前忽略對數(shù)據(jù)合法性的檢驗是一個常見的編程漏洞,它導(dǎo)致SQL注入和數(shù)據(jù)存儲攻擊、腳本攻擊(包括跨站點腳本攻擊)和緩沖區(qū)溢出等。

      注入漏洞,特別是SQL注入漏洞,主要是利用目標網(wǎng)站程序未對用戶輸入的字符進行特殊字符過濾或合法性校驗,可直接執(zhí)行數(shù)據(jù)庫語句,導(dǎo)致網(wǎng)站存在安全風(fēng)險。

      跨站點腳本(XSS)攻擊利用網(wǎng)頁及Cookies漏洞,攻擊者往Web頁面里插入惡意html代碼,當(dāng)用戶瀏覽該頁之時,嵌入其中Web里面的html代碼會被執(zhí)行,從而達到惡意用戶的特殊目的。

      參數(shù)篡改包括操縱URL字符串,以檢索用戶以其他方式得不到的信息。訪問Web應(yīng)用的后端數(shù)據(jù)庫就是通過常常包含在URL中的SQL調(diào)用來進行的。惡意的用戶可以操縱SQL代碼,以便將來有可能檢索一份包含所有用戶、口令、信用卡號的清單或者儲存在數(shù)據(jù)庫中的任何其他數(shù)據(jù)。

      解決方案:

      對輸入數(shù)據(jù)采用服務(wù)器端驗證。

      限制輸入字段的長度和數(shù)字邊界檢查以防止緩沖區(qū)溢出。

      對HTML和SQL格式中的字符進行編碼,如將腳本中的尖括號轉(zhuǎn)化為對應(yīng)的編碼以防止腳本攻擊。

      使用正則表達式查找授權(quán)或未經(jīng)授權(quán)的內(nèi)容。

      在應(yīng)用程序中使用參數(shù)來構(gòu)建查詢以及盡可能在數(shù)據(jù)庫中使用存儲過程。

      數(shù)據(jù)庫加密,通過表級別和字段級別的加密保護數(shù)據(jù)。

      (五)Web應(yīng)用管理漏洞

      包括管理員配置錯誤和開發(fā)者錯誤造成的漏洞,例如不必要的Web服務(wù)器擴展、直接訪問瀏覽以及文件、用戶和狀態(tài)頁面信息泄露等。

      服務(wù)器目錄瀏覽是一個不安全的配置,管理員把敏感l(wèi)og放在Web目錄上,又開放了瀏覽目錄權(quán)限,使得黑客直接訪問這個目錄就把這些敏感的log打開就獲取到了明文的用戶名、密碼。

      開發(fā)人員常常建立一些后門并依靠調(diào)試來排除應(yīng)用程序的故障,這些安全漏洞經(jīng)常被留在一些放在Internet上的最終應(yīng)用中。一些常見的后門使用戶不用口令就可以登錄或者訪問允許直接進行應(yīng)用配置的特殊URL。

      解決方案:

      禁止IIS的擴展。

      保持站點目錄整潔并實行正確的訪問控制。

      提高站點開發(fā)者的水平和安全意識。

      (六)Web客戶端攻擊

      通過釣魚軟件、間諜軟件和惡意廣告對在線用戶進行欺詐。釣魚軟件是通常以精心設(shè)計的虛假網(wǎng)頁引誘用戶上當(dāng),達到盜取銀行賬號、信用卡號碼等目的。虛假網(wǎng)頁一般以eBay和PayPal等大家熟悉的網(wǎng)頁為招牌,用戶點擊鏈接之后就進入了一個看起來與真實網(wǎng)頁完全相似的網(wǎng)頁。

      解決方案:

      運行防病毒軟件以及反釣魚和反間諜軟件工具。

      提高警惕,高度謹慎地處理基于Internet的請求和事務(wù)。

      (七)程序拒絕服務(wù)攻擊

      程序拒絕服務(wù)(DoS)攻擊包括計算機網(wǎng)絡(luò)帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網(wǎng)絡(luò),使得所有可用網(wǎng)絡(luò)資源都被消耗殆盡,最后導(dǎo)致合法的用戶請求就無法通過。連通性攻擊指用大量的連接請求沖擊計算機,使得所有可用的操作系統(tǒng)資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。

      解決方案:

      網(wǎng)絡(luò)管理員要積極謹慎地維護系統(tǒng),增強服務(wù)器的安全性,確保無安全隱患和漏洞。

      安裝防火墻等安全設(shè)備過濾DoS攻擊。

      網(wǎng)絡(luò)管理員應(yīng)當(dāng)定期查看安全設(shè)備的日志,及時發(fā)現(xiàn)對系統(tǒng)的安全威脅行為。

      在設(shè)計Web應(yīng)用程序時,通過控制用戶登錄和各種數(shù)據(jù)處理方式來避免DoS攻擊。如盡可能不要在客戶端做數(shù)據(jù)處理,盡可能從緩存讀取數(shù)據(jù)庫等等。

      (八)不適當(dāng)?shù)腻e誤處理

      通過對各種錯誤的處理操作,應(yīng)用程序可能由于其不適當(dāng)?shù)腻e誤處理在無意中泄露其配置信息、內(nèi)部運作信息以及侵犯隱私的敏感信息。攻擊者利用該漏洞可能盜取敏感的數(shù)據(jù),甚至發(fā)動更為危險的攻擊行為。

      解決方案:

      使用結(jié)構(gòu)化錯誤處理,以避免使用軟件默認的錯誤處理器而暴露信息。

      確定結(jié)構(gòu)化錯誤處理器,當(dāng)代碼失敗時,可以安全地失敗。

      三、Web應(yīng)用安全生命周期體系

      以上是從技術(shù)角度討論Web應(yīng)用的安全,但是Web應(yīng)用安全是安全教育、安全技術(shù)、安全制度的綜合,是一個持續(xù)演進的過程,不僅僅局限于技術(shù)。Web應(yīng)用開發(fā)生命周期包括可行性分析與開發(fā)項計劃、需求分析,分析設(shè)計、編碼實現(xiàn)、測試以及發(fā)布和維護,開始得到一個初始的版本,這個過程又重新整理新的需求,根據(jù)用戶反饋,新的需求又被更新、設(shè)計,加到新的開發(fā)計劃里去。這是一個迭代的過程。在每一個步驟都要實施安全教育,并且使用相關(guān)的安全技術(shù),來保證常見的Web缺陷能夠在成本最低的階段把它解決掉。

      第一步,定義角色、職責(zé)。一個典型的結(jié)構(gòu)包括管理決策層負責(zé)安全制度的決策,然后簽署相關(guān)的政策文件。專業(yè)的安全部門負責(zé)安全技術(shù)的開發(fā)、研發(fā),然后還有架構(gòu)的安全審核、安全流程開發(fā)、漏洞的響應(yīng),這是一個專業(yè)的團隊。設(shè)立一個安全專員負責(zé)整個項目,整個流程里面所有的這些安全需求、安全規(guī)范,安全接口人為業(yè)務(wù)部門和安全部門起到一個溝通作用。通過這樣一個結(jié)構(gòu),每個人擔(dān)當(dāng)什么角色都明確定義出來,這樣每個人就能知道具體做哪些事情。角色和職責(zé)確定之后,就是安全意識的培養(yǎng)。

      第二步,在需求這個階段就必須把安全需求提出來。在開發(fā)過程中,還可能有需求變更的情況。如果需求變更了,對現(xiàn)有系統(tǒng)有哪些影響,這些都需要在需求這個階段確定,并且要保證安全需求能夠持續(xù)得到跟蹤。

      第三步,設(shè)計一個安全的架構(gòu)。明確資源、角色、邊界之后就可以對不同的資源提出不同的安全需求,提供不同程度的保護措施。當(dāng)這些都確定后,可以設(shè)計一個最簡單的方案,包括安全的措施,并且在這個過程中設(shè)計一個驗證的方案和風(fēng)險分析。這個主要通過幾個步驟來實現(xiàn),首先是需要分析運營環(huán)境中有哪些安全因素,是網(wǎng)絡(luò)這一層還是應(yīng)用這一層,還是合作方這一層。確定最有可能的威脅,哪一些威脅是最嚴重的,最有可能發(fā)生的。一旦發(fā)生之后它的影響會有多大,它發(fā)生的頻率有多高。一旦這些清楚之后,我們就可以制定降低威脅和風(fēng)險的措施。當(dāng)這個架構(gòu)設(shè)計好之后,通常應(yīng)該還是經(jīng)過一個驗證、評審階段。還有在架構(gòu)進行重大調(diào)整的時候,也需要評審,這個重構(gòu)會不會對現(xiàn)有架構(gòu)產(chǎn)生新的威脅。

      第四步,安全編碼。對于跨站、跳轉(zhuǎn)、注入這些漏洞,大多數(shù)都是非常簡單的不安全編碼疏忽所導(dǎo)致的,可以在編碼這個階段通過使用一些安全編碼實踐來避免掉。在這個階段可以提供一些工具的支持,比如靜態(tài)代碼分析,可以分析一些SQL注入、跨站腳本,同時可以提供一些脆弱性測試工具。在這個階段還要進行重審代碼,把殘留的不安全代碼清理掉。

      第五步,測試這個階段需要為安全需求創(chuàng)建測試策略和用例。

      第六步,發(fā)布和維護階段。部署之前要確保運營主機環(huán)境安全,主要是一些配置。通過在線監(jiān)控和掃描可以發(fā)現(xiàn)存在的漏洞和文件篡改,對于一些入侵也可以進行某些告警,同時對業(yè)務(wù)異常信息進行監(jiān)測與分析。

      通過以上幾個安全開發(fā)周期的相關(guān)策略,基本可以消滅大部分的安全隱患。但是還是可能會存在漏網(wǎng)之魚,那就是要通過安全響應(yīng)來進行善后處理。主要是經(jīng)常監(jiān)視這些漏洞的來源,是來自外部報告還是內(nèi)部滲透測試,還是被一些地下組織利用。漏洞發(fā)現(xiàn)之后要分析與定位,到底涉及哪些系統(tǒng),發(fā)現(xiàn)的問題是在哪個地方,然后制定修復(fù)計劃。進行回歸測試,確保沒有問題之后再重新發(fā)布上線。

      四、結(jié)語

      只要我們從思想上重視Web應(yīng)用的安全性并且在Web開發(fā)的生命周期的每個階段都采取行之有效的方法來避免漏洞和抵御攻擊,就一定可以將Web應(yīng)用的風(fēng)險降到最低。

      本文作者創(chuàng)新點:從技術(shù)和管理兩個不同的角度分別討論了Web應(yīng)用程序的安全性,并給出了行之有效的解決方案。

      參考文獻:

      [1]鄭明、邵貝恩等,企業(yè)應(yīng)用集成服務(wù)的安全策略設(shè)計與實現(xiàn)[J].微計算機信息,2009,2-3:3-4.

      [2](美)JoelScambray,黑客大曝光[M].北京:電子工業(yè)出版社,2008-6:108,140,208-209.

      [3](美)Mark M.Burnett,拒絕黑客[M].北京:電子工業(yè)出版社,2005-2:264-267.

      [4]張敏波,網(wǎng)絡(luò)安全實戰(zhàn)詳解[M].北京:電子工業(yè)出版社,2008-5:365-369.

      [5]丁妮,Web應(yīng)用安全研究[D].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2007-5:19-23.

      [6]劉楠,一種Web應(yīng)用安全增強方案的設(shè)計與實現(xiàn)[D].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2007-3:41-43.

      [7]鄭繼勝,Web網(wǎng)站安全防御系統(tǒng)的研究與應(yīng)用[D].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2009-6:28-30.

      作者簡介:

      孫繼紅(1970-),女,漢族,湖北武漢人,廣東科貿(mào)職業(yè)學(xué)院計算機信息工程系講師,研究生,主要從事網(wǎng)絡(luò)數(shù)據(jù)庫和軟件技術(shù)研究。

      猜你喜歡
      漏洞應(yīng)用程序解決方案
      漏洞
      解決方案和折中方案
      簡潔又輕松的Soundbar環(huán)繞聲解決方案
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      三明:“兩票制”堵住加價漏洞
      漏洞在哪兒
      兒童時代(2016年6期)2016-09-14 04:54:43
      4G LTE室內(nèi)覆蓋解決方案探討
      高鐵急救應(yīng)補齊三漏洞
      Moxa 802.11n WLAN解決方案AWK-1131A系列
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      精河县| 武穴市| 元阳县| 新宾| 饶河县| 东乌珠穆沁旗| 五华县| 柳林县| 兰考县| 拜城县| 班戈县| 澜沧| 铁岭县| 寿阳县| 尚志市| 定陶县| 丰顺县| 博湖县| 阿瓦提县| 忻城县| 子长县| 崇州市| 镇远县| 晋宁县| 隆回县| 兴文县| 汕头市| 昂仁县| 天津市| 电白县| 芦山县| 大悟县| 花莲县| 牙克石市| 富民县| 江西省| 台江县| 迁安市| 萨迦县| 西峡县| 淮滨县|