999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Web程序安全與防御機制研究

2019-10-21 03:07:44楊晨霞涂風濤
科技風 2019年5期

楊晨霞 涂風濤

摘 要: 本文主要基于Web程序安全機制的實現方法,探討幾種嚴重威脅Web程序安全性的漏洞的基本原理,以及相應的漏洞挖掘和防御技術,包括驗證機制的安全性、會話管理機制的安全性等。

關鍵詞: Web程序;程序安全;防御機制

Research on Web Program Security and Defense Mechanism

Yang Chenxia Tu Fengtao

YuZhang Normal University Jiangxi Nanchang 330103

Abstract: This paper is mainly based on the implementation method of Web program security mechanism,discusses the basic principles of several vulnerabilities that seriously threaten the security of Web programs,and the corresponding vulnerability mining and defense technologies,including the security of the authentication mechanism,the security of the session management mechanism,and so on.

Key words: Web program;Program security;Defense mechanism

一、緒論

Web程序安全是網絡安全研究領域的熱點問題之一。因為Internet上的大多數Web站點實際上都是應用程序,它們功能強大,在服務器和瀏覽器之間進行雙向信息傳遞。用戶從Web程序中獲取的內容大部分屬于私密和高度敏感的信息,因此安全問題至關重要,如果人們認為某個Web程序不夠安全,他們就會拒絕使用。

因為Web程序各不相同,所包含的安全問題也不相同,而且許多Web程序常常是由幾位開發人員獨立開發,但是他們可能根本不了解所編寫的代碼可能引起的安全問題,這就使得Internet上有相當多的Web程序存在各種各樣的安全漏洞。更為嚴重的是,Web程序為了實現核心功能,通常需要與內部服務器系統建立各種連接,而這些系統往往保存著高度敏感的信息。因此,一個潛在的Web程序漏洞可能造成極其嚴重的后果,帶來巨大的經濟損失。

二、Web程序安全問題

由于Web程序無法控制瀏覽器,用戶幾乎可以向Web程序提交任意惡意信息。攻擊者可以采取的手段包括:

(1)修改瀏覽器與服務器之間傳遞的數據,包括請求的參數、Cookie和HTTP報文頭部。例如,攻擊者可以更改隱藏在HTML表單中產品價格字段,從而以較低的價格購買產品;或是修改在HTTP Cookie中傳送的會話令牌,劫持其他用戶的會話。

(2)在多階段交互中,攻擊者可以打亂提交請求的順序,在每個階段重復提交請求或者不提交參數。他們的操作可能與程序預期的操作完全不同。

(3)攻擊者使用多種瀏覽器訪問Web應用程序,或者使用輔助工具協助攻擊,自動提交大量普通瀏覽器無法提交的請求,查找Web程序存在的安全問題。

如果一個Web程序必須接收并且處理未經驗證的可疑輸入,就會產生核心的安全問題。更為嚴重的是,以下Web程序開發過程中的各種潛在因素導致該安全問題很難解決。

(1)開發人員缺少Web程序安全意識。雖然大多數IT安全人員掌握了不少網絡安全知識,但是他們對Web程序安全有關的許多核心概念還是不太了解,使得對所用編程框架的安全性往往做出錯誤假設。

(2)基于應用程序框架開發的模式。Internet中存在許多提供現成代碼組件的應用程序框架,可以處理各種常見的功能,包括身份驗證,頁面模板和公告牌等,Web程序員基于這些框架可以快速方便地開發出強大的Web程序。但是這些框架中也可能存在潛在的安全風險。由于許多公司可能會使用相同的框架,因此,只要框架中存在一個安全漏洞,就會影響眾多相關的Web程序。

(3)Web程序的安全威脅發展迅速。Web程序的攻擊方法層出不窮,新概念和新威脅出現的速度很快,已有的Web防御技術在這些新的攻擊面前失去作用。因此,即使在Web程序開發階段針對已有威脅已經實現了相應的安全防御機制,也可能到部署階段時會面臨許多未知的威脅。

(4)程序開發時間和可用資源十分有限。為了按時完成項目,開發者往往會忽略一些安全問題,程序部署時會存在安全隱患。

另外,Web程序的安全問題同時也改變了目標系統的安全邊界,傳統的網絡防御技術可以在網絡邊界部署防火墻、IPS、VPN、惡意代碼防范等網絡安全組件,抵御外部攻擊者發起的攻擊。但是,當用戶訪問Web程序時,防火墻必須允許用戶通過HTTP或HTTPS協議訪問內部服務器,Web程序需要連接后臺服務器通信。因此,當Web程序存在漏洞時,Internet的攻擊者只擊需要從瀏覽器提交專門設計的輸入數據,就可以繞過這些防御組件,直接攻擊目標系統的核心后端服務器。例如,攻擊者希望攻擊某個銀行網絡,在銀行使用Web程序之前,他必須發現某個網絡服務中存在的安全漏洞,并利用它進入銀行內部某個網絡,然后嘗試繞過限制其訪問關鍵網絡的防火墻,在關鍵網絡上確定重要的服務器,最后監聽或破解關鍵用戶的口令以進行登錄。但是,如果銀行使用存在漏洞的Web程序,那么攻擊者很可能只需要修改隱藏在HTML表單字段中的一個帳號,就可以達到相同的目的。

因此,不管是對部署Web程序的組織,還是對訪問它們的用戶而言,針對Web程序的攻擊都是很嚴重的威脅。

三、核心防御機制

由于Web用戶的任意輸入都不可信,因此Web程序必須實施大量的安全機制來防御可能的Web攻擊。我們主要可以采用以下四個方面的安全機制。

(1)處理用戶訪問。每個用戶只能訪問被授權訪問的信息。絕大部分Web程序都使用三種相互關聯的安全機制處理用戶訪問,即身份驗證、會話管理和訪問控制。

①身份驗證。身份驗證機制是Web程序處理用戶訪問的最基本機制,絕大部分Web程序程序都采用經典的身份驗證模型,即要求用戶提交賬號和口令。在一些安全性要求很高的Web程序中,往往會結合其他證書,如客戶端數字證書、智能卡,或者采取多階段登錄過程來增強身份驗證過程。

②會話管理。會話管理機制的安全性取決于令牌的安全性,令牌生成過程中的缺陷有可能使得攻擊者可以猜測發布給其他用戶的令牌。如果令牌傳輸過程中沒有加密,令牌就可能被攻擊者監聽并截獲。

③訪問控制。當Web程序從HTTP請求中正確識別發出請求的用戶身份后,訪問控制機制需要考慮各種相關領域與不同類型的功能,需要支持各種擁有不同權限的用戶角色,限制每位用戶只允許訪問Web程序的部分數據。

(2)處理用戶的輸入,防止錯誤輸入造成潛在危險。必須假設所有的用戶輸入都是惡意的,大量針對Web程序的攻擊都與提交惡意輸入有關。因此,安全處理用戶的輸入是保證Web程序安全的一個基本要求。輸入確認(Input validation)是防御這些攻擊的常用手段。

我們根據輸入的多樣性,可以采用以下方法。

①白名單。輸入確認機制僅接收與白名單匹配的輸入。例如,程序在查詢用戶的身份證號碼時,可能會確認其僅包含數字信息,長度必須為18,未通過白名單匹配的輸入將會被拒絕。這種方式是處理惡意輸入的最有效方法。

②凈化。凈化(sanitizing)指Web程序把接收到的各種惡意字符刪除,只留下已知安全的字符,或者在對輸入進行處理之前對惡意字符進行適當編碼或轉義。例如,對于試圖執行非授權目錄中的文件操作的惡意輸入串“..\\..\\..\\..\\windows\\system32\\cmd.exe”,可以執行凈化操作,刪除所有的“..\\”字符,凈化后的輸入串為“windows\\system32\\cmd.exe”,該輸入串會因為“指定路徑不存在”而被拒絕訪問。凈化方法十分有效,也是處理惡意輸入問題的通用解決辦法。

③完全編程。許多時候,使用不安全的編程方式處理用戶提交的數據是Web程序存在漏洞的根本原因。只要保證處理過程絕對安全即可避免有關漏洞。例如:在數據庫訪問過程中正確使用參數化查詢,即可有效避免SQL注入攻擊;再如,禁止向操作系統直接提交用戶輸入作為命令執行,即可有效避免命令注入。

④語義檢查。在一些Web攻擊過程中,攻擊者提交的輸入與正常用戶提交的輸入在語法上完全相同,此時只能執行嚴格的語義檢查。例如,攻擊者可以修改隱藏的表單字段,提交較低的產品價格,Web程序必須確認所提交的產品價格與存儲在數據庫中的產品價格是否一致。

(3)防范Web攻擊,即使Web程序成為攻擊目標時,程序依然可以正常運轉。當Web程序成為攻擊者的直接攻擊目標時,應該能夠處理并應對這些攻擊,這是Web程序安全機制的一項主要功能。Web程序為處理攻擊而采取的措施包括處理錯誤、維護日志、報警、主動響應。

①錯誤處理機制。程序部署后,Web程序不應該在頁面響應中返回任何系統生成的消息或者其他調試信息。大多數Web開發語言都提供良好的異常處理機制,Web程序應充分利用這些機制處理各種錯誤。

②維護日志。日志一般會記錄每件事情的發生時間、發起主機的IP地址和通過驗證的用戶賬號等。日志文件本身必須受到安全保護,避免被非授權修改和訪問。一種有效的方法是將日志保存在一個單獨的主機或服務器上,并且只與Web程序進行安全的信息交互。

③報警。報警機制必須即能夠準確報告每次真實的攻擊,又不能產生過多的虛警,需要在兩個相互矛盾的目標之間取得平衡,并且在可能的情況下可以將多個事件進行關聯,集中到一個報警中,確定Web程序正在受到的攻擊。我們的做法是將報警與Web程序的輸入確認機制和其他訪問控制方法緊密結合,提供完全自定義的惡意行為報警,一旦防御機制對輸入進行檢查后發現有任何異常,即可產生報警。

④主動響應。Web程序可以采取自動的響應措施阻止攻擊者進行攻擊嘗試,例如減緩對攻擊嘗試的頁面響應速度或者終止攻擊者的會話,這些措施能夠阻止很多Internet中的隨意攻擊行為,并為管理員贏得時間去采取其他進一步的措施。

(4)管理、監控和配置Web程序的行為。任何有用的Web程序都需要管理與維護,它是Web程序安全機制的重要組成部分,用于幫助管理員管理用戶賬戶和角色、應用監控和審計功能、配置Web程序等。

四、總結

幾乎所有的Web程序都存在相似的安全問題,采用相同的核心安全機制,只是實現的形式存在巨大的差異。處理用戶訪問和用戶輸入的安全機制最為重要,它們是攻擊者的主要攻擊對象,一旦被攻破,攻擊者就可以訪問其他用戶數據或者執行任意代碼。

參考文獻:

[1]沈鑫剡.計算機網絡安全[M].北京:清華大學出版社,2009.

[2]叮叮.常見十大Web應用安全漏洞[J/OL].http://www.evget.com/article/2014/6/20/21209.html.

[3]汪列軍.安全漏洞及分類[J/OL].http://www.2cto.com/article/201405/299140.html.

主站蜘蛛池模板: 蜜臀AV在线播放| 国产一区成人| 国产内射一区亚洲| 亚洲日韩国产精品综合在线观看| 亚洲天堂免费观看| 99久视频| 国产精品成人免费视频99| 一本大道无码高清| 国产麻豆91网在线看| 一本大道东京热无码av | 91在线丝袜| 亚洲AV免费一区二区三区| 黑人巨大精品欧美一区二区区| 亚洲精品无码专区在线观看| 亚洲美女久久| 精品国产电影久久九九| 亚洲无限乱码| 91小视频在线观看免费版高清| 久久国产精品麻豆系列| 波多野结衣视频一区二区| 99久久精品视香蕉蕉| 在线视频亚洲欧美| 国产欧美另类| 成人午夜网址| 国产aⅴ无码专区亚洲av综合网| 熟女日韩精品2区| 四虎影院国产| 国产美女叼嘿视频免费看| 草逼视频国产| 91精品国产一区自在线拍| 永久免费精品视频| 国产精品高清国产三级囯产AV| 99在线视频精品| 国产精品视频观看裸模| 九一九色国产| 国产又粗又猛又爽视频| 亚洲精品人成网线在线| 国产成人综合久久精品下载| 第一页亚洲| 小说区 亚洲 自拍 另类| 狠狠干综合| 精品精品国产高清A毛片| 国产精品尤物在线| 中文字幕在线永久在线视频2020| 亚洲欧美日韩中文字幕一区二区三区| 国产波多野结衣中文在线播放| 亚洲人成在线精品| 九九精品在线观看| 18禁影院亚洲专区| 国产区人妖精品人妖精品视频| 亚洲天堂网在线观看视频| 国产91透明丝袜美腿在线| 国产a网站| 国产精品永久免费嫩草研究院| 五月天久久综合国产一区二区| 波多野结衣无码中文字幕在线观看一区二区 | 久草性视频| 她的性爱视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 青青久久91| 国产精品手机在线播放| 欧美福利在线观看| 亚欧成人无码AV在线播放| 91精品国产91欠久久久久| 精品国产电影久久九九| 91小视频在线观看| 男女性午夜福利网站| 久久香蕉欧美精品| 99热国产这里只有精品无卡顿"| 伊人丁香五月天久久综合| 国产激情在线视频| 国产小视频免费观看| 精品自窥自偷在线看| 国产精品视频白浆免费视频| 热久久这里是精品6免费观看| 亚洲天堂视频网站| 无码国产偷倩在线播放老年人 | 色屁屁一区二区三区视频国产| 性69交片免费看| 九九线精品视频在线观看| 亚洲欧美在线看片AI| 免费在线国产一区二区三区精品|