Web應用程式安全與風險

2022-02-27 20:28:35 字數 3294 閱讀 1836

web

應用程式安全無疑是當務之急,也是值得關注的話題。對相關各方

而言,這一問題都至關重要。這裡的相關各方包括網際網路業務收入日益增長的公司、向

web應用程式託付敏感資訊的使用者,以及通過竊取支付資訊或入侵銀行賬戶偷竊鉅額資金的犯罪分子。可靠的信譽也非常重要,沒人願意與不安全的

web站點進行交易,也沒有組織願意披露有關其安全方面的漏洞或違規行為的詳細情況。因此,獲取當前

web應用程式安全狀況的可靠資訊不可小視。

本章簡要介紹web應用程式的發展歷程及它們提供的諸多優點,並且列舉我們親身體驗過的在目前web應用程式中存在的漏洞,這些漏洞表明絕大多數應用程式還遠遠不夠安全。本章還將描述web應用程式面臨的核心安全問題(即使用者可提交任意輸入的問題),以及造成安全問題的各種因素。最後討論web應用程式安全方面的最新發展趨勢,並**其未來的發展方向。

web應用程式的發展歷程

在網際網路發展的早期階段,全球資訊網(world wideweb)僅由web站點

構成,這些站點基本上是包含靜態文件的資訊庫。隨後人們發明了web瀏覽器,通過它來檢索和顯示那些文件,如圖1-1所示。這種相關資訊流僅由伺服器向瀏覽器單向傳送。多數站點並不驗證使用者的合法性,因為根本沒有必要這樣做;所有使用者同等對待,提供同樣的資訊。建立乙個web站點所帶來的安全威脅主要與web伺服器軟體的(諸多)漏洞有關。攻擊者入侵web站點並不能獲取任何敏感資訊,因為伺服器上儲存的資訊可以公開檢視。所以攻擊者往往會修改伺服器上的檔案,以歪曲web站點的內容,或者利用伺服器的儲存容量和頻寬傳播「非法軟體」。

如今的全球資訊網與早期的全球資訊網已經完全不同,web上的大多數站點實際上是應用程式(見圖1-2)。它們功能強大,在伺服器和瀏覽器之間進行雙向資訊傳送。它們支援註冊與登入、金融交易、搜尋以及使用者創作的內容。使用者獲取的內容以動態形式生成,並且往往能夠滿足每個使用者的特殊需求。它們處理的許多資訊屬於私密和高度敏感的資訊。因此,安全問題至關重要:如果人們認為

web應用程式會將他們的資訊洩露給未授權的訪問者,他們就會拒絕使用這個

web應用程式。

圖1-1

包含靜態資訊的傳統

web站點

圖1-2

典型的web

應用程式

web應用程式帶來了新的重大安全威脅。應用程式各不相同,所包含的漏洞也各不相同。許多應用程式是由開發人員獨立開發的,還有許多應用程式的開發人員對他們所編寫的**可能引起的安全問題只是略知一二。為了實現核心功能,

web應用程式通常需要與內部計算機系統建立連線。這些系統中儲存著高度敏感的資料,並能夠執行強大的業務功能。

15年前,如果需要轉賬必須去銀行,讓銀行職員幫助你完成交易。而今天,你可以訪問銀行的

web應用程式,自己完成轉賬交易。進入

web應用程式的攻擊者能夠竊取個人資訊,進行金融欺詐或執行針對其他使用者的惡意行為。

web應用程式的常見功能

q 購物(amazon);

q 社交網路(facebook);

q 銀行服務(citibank);

q web搜尋(google);

q 拍賣(ebay);

q 博彩與投機(betfair);

q 部落格(blogger);

q web郵件(gmail);

q 互動資訊(wikipedia)。

如今,使用計算機瀏覽器訪問的應用程式的功能越來越多地與使用智慧型手機或平板電腦訪問的移動應用程式的功能重疊。大多數移動應用程式都通過瀏覽器或定製客戶端與伺服器進行通訊,這些瀏覽器或客戶端大多使用基於http的api。應用程式功能和資料通常在應用程式用於不同使用者平台的各種介面之間共享。

除公共網際網路外,組織內部已廣泛採用web應用程式來支援關鍵業務功能。許多這類應用程式可以訪問各種高度敏感的資料和功能。

q 使用者可以使用hr應用程式訪問工資資訊、提供並接收績效反饋,以及管理人員招聘和紀律處分程式。

q 連線關鍵體系架構(如web和郵件伺服器)的管理介面、使用者工作站及虛擬機器管理。

q 用於共享文件、管理工作流程和專案、跟蹤問題的協作軟體。這些功能通常涉及重要的安全和監管問題,而且組織結構大多完全依賴於它們的web應用程式內建的控制項來實現這些功能。

q 企業資源規劃(erp)軟體等業務應用程式,這類應用程式以前使用專用厚客戶端應用程式訪問,現在則可以通過web瀏覽器進行訪問。

q 電子郵件之類的軟體服務,這類服務最初需要獨立的電子郵件客戶端,現在可以通過web介面(如outlook web access)訪問。

q 傳統的桌面辦公應用程式(如文字處理程式和電子**)已通過

和microsoft office live等服務轉換為web應用程式。

為降低成本,組織逐漸將各種任務外包給外部服務提供商來完成,因此,在上述所有示例中,我們所認為的「內部」應用程式正日益由外部機構託管。在這些所謂的「雲」解決方案中,業務關鍵功能和資料向數目更龐大的潛在攻擊者開放,而組織卻越來越多地依賴於不受其控制的安全防禦。

大多數計算機使用者所需要的客戶端軟體僅僅是乙個web應用程式,這樣的時代即將來臨。到那時,使用者使用一組共享的協議和技術即可執行各種功能,但隨之也會出現各種常見的安全漏洞。

web應用程式的優點

web應用程式越來越流行的原因顯而易見。若干技術因素已經與主要的商業動機相結合,從而引發了網際網路使用方式上的重大變革。

q http是用於訪問全球資訊網的核心通訊協議,它是輕量級的,無須連線。這一點提供了對通訊錯誤的容錯性。應用http,許多傳統客戶端—伺服器應用程式中的伺服器無須再向每乙個使用者開放網路連線。http還可通過**和其他協議傳輸,允許在任何網路配置下進行安全通訊。

q 每個web使用者都在其計算機和其他移動裝置上安裝了瀏覽器。web應用程式為瀏覽器動態部署使用者介面,不必像以前的web應用程式那樣需要分配並管理獨立的客戶端軟體。介面變化只需在伺服器上執行一次,就可立即生效。

q如今的瀏覽器功能非常強大,可構建內容豐富並且令人滿意的使用者介面。web介面使用標準導航和輸入控制項,可保證使用者即時熟悉這些功能,而不需要學習如何使用各種應用程式。應用程式可通過客戶端指令碼功能將部分處理交由客戶端完成,必要時,可使用厚客戶端元件任意擴充套件瀏覽器的功能。

q用於開發web應用程式的核心技術和語言相對簡單。即使是初學者,也可使用現有的各種平台和開發工具,開發出強大的應用程式,還有大量開源**和其他資源可供整合到定製的應用程式中。

——摘自《黑客攻防技術寶典:web實戰篇(第2版)》

Web應用程式與桌面應用程式的區別

web delphi 伺服器網路 internet access 如果都是用.net做的話,桌面程式需要開發伺服器端和客戶端兩塊程式,電腦都要安裝.net framework,b s形式的話,只用做伺服器端。但兩者桌面應用可能軟體介面更好控制一些,web形式客戶端的螢幕就不太好空,一般滿足1024 ...

Web應用程式與桌面應用程式的區別

web delphi 伺服器網路 internet access 如果都是用.net做的話,桌面程式需要開發伺服器端和客戶端兩塊程式,電腦都要安裝.net framework,b s形式的話,只用做伺服器端。但兩者桌面應用可能軟體介面更好控制一些,web形式客戶端的螢幕就不太好空,一般滿足1024 ...

web 應用程式與桌面應用程式的區別與優缺點

smartypants將ascii標點字元轉換為 智慧型 印刷標點html實體。例如 type ascii html single backticks isn t this fun?isn t this fun?quotes isn t this fun?isn t this fun?dashes ...