Web應用安全威脅與防護措施

本文已收錄至《全國計算機等級考試——信息 安全技術》專欄

由于極其容易出現漏洞、并引發安全事故,因此數據隱私的保護是目前絕大多數企業不可繞過的運維環節。不過,許多中小型企業往往會錯誤地認為只有大型企業才會成為黑客的目標。而實際統計數字卻截然不同:有43%的網絡犯罪恰恰是針對小型企業的。而且,無論是系統陳舊且未給漏洞打上安全補丁,還是各種惡意軟件,甚至是一些人為的錯誤,都可以成為系統的受攻擊面。

如果仔細觀察當前的網絡威脅態勢,您可能會驚訝地發現,90%的Web應用都可能成為攻擊者的潛在目標。因此,為了讓應用程序和數據資產免受威脅,各大在線社區(例如OWASP和NIST)努力制定了各種安全標準和優秀實踐,并以免費的文檔、方法、工具等形式,協助企業通過對照實施,來增強其IT環境的安全態勢。

在我們開始深入討論之前,讓我們首先來看一些驚人的統計數據:

僅在2020年上半年間,企業數據的泄露量已累計高達360億條記錄。

86%的網絡安全泄漏是出于經濟目的,而有10%是源于間諜活動。

從分類來看,有45%的泄漏源于黑客攻擊,17%源于惡意軟件,22%與網絡釣魚有關。

許多金融企業會讓員工不受限地訪問各類文檔資源,他們甚至可以訪問到本企業內部大約17%的敏感文件(約1100萬個文件)。

平均而言,只有5%的公司文件夾受到了適當的保護。而且,有超過77%的企業并無事件響應計劃。

可見,針對上述威脅,我們應采取主動的Web安全策略,以及嚴格的措施,來確保敏感的數據信息、Web應用、以及信息系統等資產,免受攻擊與侵害。下面,我將和您討論五種最主要的Web應用安全威脅,以及七種行之有效的防護措施與實踐。

1.注入漏洞

注入漏洞會讓攻擊者方便將惡意代碼植入到目標應用系統(如,解析器)中。簡而言之,如果您的Web應用允許用戶將其輸入的信息插入后端數據庫,或使用shell命令對操作系統進行調用,那么您的應用就可能會受到注入漏洞的影響。

當然,您可以通過檢查應用的源代碼,或對應用進行徹底的滲透測試,來發現此類漏洞。注入漏洞最常見的類型是SQL注入。攻擊者會在SQL查詢中,插入惡意代碼,并將其轉發到后端數據庫服務器上,實施遠程盜竊或攻擊。

除常見的SQL注入之外,目前還有LDAP注入、XML注入、XPATH注入、OS命令注入、以及HTML注入。我們通常可以通過適當、及時地檢查與清理用戶的輸入,來防范此類威脅。

2.身份驗證失敗

身份驗證失敗是由身份驗證和會話管理控件的實施不當而引起的。如果攻擊者能夠成功地識別和利用那些與身份驗證相關的漏洞,那么他們就能直接訪問到各種敏感數據和功能。

為了利用身份驗證漏洞,攻擊者需要通過采用諸如:憑證填充、會話劫持、密碼暴力破解、以及會話ID URL重寫等方法,來模擬應用程序的合法用戶。

我們可以通過實施健全的會話管理控制、多因素身份驗證、限制和監視失敗的登錄嘗試,來防范此類攻擊。

3.敏感數據泄漏

當Web應用不能充分保護諸如:會話ID、密碼、財務信息、以及客戶數據等敏感信息時,數據泄露就會發生。

此類泄漏的內部原因主要包括:未對敏感數據實施加密,僅采用了弱加密方式,軟件應用的本身漏洞,以及操作員將數據上傳至錯誤的數據庫等方面。而外部攻擊因素則包括:SQL注入、身份驗證與訪問控制的破壞、網絡釣魚攻擊、以及針對明文協議HTTP、FTP和SMTP傳輸數據等網絡級別的攻擊。

為了應對此類泄漏,我們可以采取的主要措施包括:徹底檢查應用程序的源代碼與IT環境,尤其是正在使用安全密碼算法等方面。

4. XML外部實體

XML外部實體注入(通常被稱為XML External Entity,XXE)可以讓攻擊者通過Web應用的漏洞,干擾應用對于XML數據的處理。此類攻擊往往會導致諸如拒絕服務、數據泄露、服務器端請求偽造等問題。

我們可以通過實施服務器端的輸入驗證,修補和升級所有XML處理器,以及使用SAST工具來分析源代碼等方法,來有效地防止XML外部實體注入。

5.受損的訪問控制

從概念上說,訪問控制機制就是要確定用戶是否可以執行,與之身份和權限相符的操作。而當用戶可以在其預期權限之外執行某項操作時,那么就出現了訪問控制的破壞。

受損的訪問控制通常會導致:未經授權的信息泄露、數據被直接修改或破壞、以及業務功能偏離預期用途等情況。我們可以通過在受信任的服務器端代碼中、或無服務器的API中,強制使用完備的訪問控制機制,來防止攻擊者修改元數據(metadata),或繞過正常的訪問控制檢查。

鑒于Web應用在當下激烈競爭與快速發展的商業環境中尤為重要,我們可以通過如下七種針對Web應用的安全性防護措施與實踐,來協助企業保護系統與數據。

1.定義并采用合適的網絡安全框架

網絡安全框架包括一系列文檔和指南,它定義了企業在管理網絡安全風險,以及減少漏洞的過程中,需要遵循的各種優秀實踐。這里主要強調的是“合適才是最好的”。我們需要對企業所處的行業,當前開展的業務進行調研。在此基礎上,通過利用專業知識和業界現有的安全標準,為本企業準備詳細的計劃與適合的安全策略。

2.跟蹤您的資產并進行威脅評估

如今,大多數企業都會通過在線運維的方式,對諸如:Web應用、網站、Web服務、API、以及基于云的軟件即服務(SaaS)等IT資產,進行管理。因此在此類IT環境中,他們需要與內、外部的各種系統持續進行通信。同時,許多功能性的接口都會被暴露出來。

對此,企業需要實施關鍵性網絡安全計劃便是資產發現。該環節可幫助運維人員找到各種Web資產,以便他們按需保護目標組件,并制定出相應的安全策略。可以說,一旦創建了所有重要Web資產的列表,他們即可開始執行威脅評估,以識別出針對當前應用的潛在威脅,進而制定出有效的緩解計劃。

3.遵守安全編碼標準

據軟件工程研究所的統計,大約有90%的軟件安全問題,都是由軟件設計或代碼中的缺陷引起的。誠然,開發人員的主要工作是讓應用程序能夠正常運行,但是如果忽略了安全編碼,則會無形中留下各種安全漏洞和被攻擊的后門。

可見,我們需要實施安全的編碼標準,以確保軟件和應用得到保護,并免受安全漏洞的影響。在實際項目中,我們可以在軟件開發生命周期(SDLC)的早期階段引入安全性,并通過遵循OWASP的安全編碼規范、以及SEI CERT編碼標準,這兩種時下流行的安全編碼標準,以避免在后期測試和部署階段,花費時間和精力去填補各種安全漏洞。

4.部署企業級安全解決方案

最常見的企業級智能安全解決方案當屬Web應用防火墻(WAF)。它可以通過監控和過濾各種惡意HTTP流量,協助保護Web應用免受諸如SQL注入、跨站點腳本等攻擊的侵害。也就是說,我們通過在Web應用程序和互聯網之間放置一道WAF屏障,可以僅允許合法用戶的訪問,并阻斷各種惡意的請求。

當然,我們也可以考慮使用諸如Burpsuite pro和Acunetix之類專業的Web安全掃描器,以實現對Web應用的快速掃描,并識別出潛在的漏洞。

5.盡可能自動化

在日常運維中,我們往往需要執行Web應用掃描、簽名與行為分析、以及DDoS緩解等重復性的任務。為了節省大量的時間和精力,安全人員應當與自動化技術人員合作,在確保各項任務得以自動化實施的前提下,增強Web應用的安全性。

6.加密數據

過去,Web應用往往使用明文的HTTP協議進行通信。這會導致攻擊者能夠以中間人(MIM)的方式,扮演通信中的某一方,竊取具體內容。如今,使用基于傳輸層安全協議(TLS)的HTTP加密方式,已經成為了許多企業應用的必選項。同時,它也成為了大多數瀏覽器的默認配置項。

HTTPS加密可以維護用戶瀏覽器和服務器之間傳輸數據的完整性。也就是說,當用戶使用HTTPS協議連接到諸如某個互聯網銀行應用的網站時,瀏覽器會基于證書建立起安全的TLS會話,以保證瀏覽器和服務器之間的請求和響應都處于加密狀態。顯然,此類加密技術對于維護敏感用戶數據的機密性和完整性都是不錯的實踐。

7.滲透測試

最后一項有效的安全策略是,定期對Web應用執行全面的滲透測試,以及時發現目標系統的關鍵漏洞。滲透測試可以模擬攻擊者或黑客對系統的出入口、源代碼、數據庫、公共可用源、以及后端網絡,進行掃描和嘗試性地攻擊。

在完成測試后,滲透人員會出具已發現漏洞的優先級排序報告,并協助開發團隊參照最佳的行業標準,予以漏洞修補和安全整改。

小結

至此,我們討論了企業目前所面臨的五種主要Web應用威脅,以及七種應對威脅的技術實踐與防護措施。當然,對運維人員和普通員工進行最新的威脅概念教育,以及基本的威脅識別和預防等培訓也是非常必要的。總之,對于攻擊而言,越早發現,越早處置,越能保障安全。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716556.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716556.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716556.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

StarCoder2模型,釋放你的大模型編碼潛能

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎?訂閱我們的簡報,深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同,從行業內部的深度分析和實用指南中受益。不要錯過這個機會,成為AI領…

DeepSpeed-Chat RLHF 階段代碼解讀(0) —— 原始 PPO 代碼解讀

為了理解 DeepSpeed-Chat RLHF 的 RLHF 全部過程,這個系列會分三篇文章分別介紹: 原始 PPO 代碼解讀RLHF 獎勵函數代碼解讀RLHF PPO 代碼解讀 這是系列的第一篇文章,我們來一步一步的看 PPO 算法的代碼實現,對于 PPO 算法原理不太…

部署若依前后端分離項目,連接數據庫失敗

部署若依前后端分離項目,連接數據庫失敗,異常如下: 解決方案:application配置文件里,連接數據庫的參數useSSL的值改為false

leetcode 長度最小的子數組

在本題中,我們可以知道,是要求數組中組成和為target的最小子數組的長度。所以,我們肯定可以想到用兩層for循環進行遍歷,然后枚舉所有的結果進行挑選,但這樣時間復雜度過高。 我們可以采用滑動窗口,其實就是…

編寫dockerfile掛載卷、數據容器卷

編寫dockerfile掛載卷 編寫dockerfile文件 [rootwq docker-test-volume]# vim dockerfile1 [rootwq docker-test-volume]# cat dockerfile1 FROM centosVOLUME ["volume01","volume02"]CMD echo "------end------" CMD /bin/bash [rootwq dock…

2024 年廣東省職業院校技能大賽(高職組)“云計算應用”賽項樣題 2

#需要資源或有問題的,可私博主!!! #需要資源或有問題的,可私博主!!! #需要資源或有問題的,可私博主!!! 某企業根據自身業務需求&#…

每日OJ題_牛客_合法括號序列判斷

目錄 合法括號序列判斷 解析代碼 合法括號序列判斷 合法括號序列判斷__牛客網 解析代碼 class Parenthesis {public:bool chkParenthesis(string A, int n){if (n & 1) // 如果n是奇數return false;stack<char> st;for (int i 0; i < n; i) {if (A[i] () {s…

筆記本hp6930p安裝Android-x86補記

在上一篇日記中&#xff08;筆記本hp6930p安裝Android-x86避坑日記-CSDN博客&#xff09;提到hp6930p安裝Android-x86-9.0&#xff0c;無法正常啟動&#xff0c;本文對此再做嘗試&#xff0c;原因是&#xff1a;Android-x86-9.0不支持無線網卡&#xff0c;需要在BIOS中關閉WLAN…

《Docker極簡教程》--Docker的高級特性--Docker Compose的使用

Docker Compose是一個用于定義和運行多容器Docker應用程序的工具。它允許開發人員通過簡單的YAML文件來定義應用程序的服務、網絡和卷等資源&#xff0c;并使用單個命令來啟動、停止和管理整個應用程序的容器。以下是關于Docker Compose的一些關鍵信息和優勢&#xff1a; 定義…

B082-SpringCloud-Eureka

目錄 微服務架構與springcloud架構演變為什么使用微服務微服務的通訊方式架構的選擇springcloud概述場景模擬之基礎架構的搭建模擬微服務之間的服務調用目前遠程調用的問題 eureka注冊中心的作用注冊中心的實現服務提供者注冊到注冊中心 springcloud基于springboot 微服務架構與…

10 計算機結構

馮諾依曼體系結構 馮諾依曼體系結構&#xff0c;也被稱為普林斯頓結構&#xff0c;是一種計算機架構&#xff0c;其核心特點包括將程序指令存儲和數據存儲合并在一起的存儲器結構&#xff0c;程序指令和數據的寬度相同&#xff0c;通常都是16位或32位 我們常見的計算機,筆記本…

在Centos7中用Docker部署gitlab-ce

一、介紹 GitLab Community Edition (GitLab CE) 是一個開源的版本控制系統和協作平臺&#xff0c;用于管理和追蹤軟件開發項目。它提供了一套完整的工具和功能&#xff0c;包括代碼托管、版本控制、問題跟蹤、持續集成、持續交付和協作功能&#xff0c;使團隊能夠更加高效地進…

動態規劃|【路徑問題】|931.下降路徑最小和

目錄 題目 題目解析 思路 1.狀態表示 2.狀態轉移方程 3.初始化 4.填表順序 5.返回值 代碼 題目 931. 下降路徑最小和 給你一個 n x n 的 方形 整數數組 matrix &#xff0c;請你找出并返回通過 matrix 的下降路徑 的 最小和 。 下降路徑 可以從第一行中的任何元素開…

【Vue3】Props的使用詳解

&#x1f497;&#x1f497;&#x1f497;歡迎來到我的博客&#xff0c;你將找到有關如何使用技術解決問題的文章&#xff0c;也會找到某個技術的學習路線。無論你是何種職業&#xff0c;我都希望我的博客對你有所幫助。最后不要忘記訂閱我的博客以獲取最新文章&#xff0c;也歡…

概率基礎——多元正態分布

概率基礎——多元正態分布 介紹 多元正態分布是統計學中一種重要的多維概率分布&#xff0c;描述了多個隨機變量的聯合分布。在多元正態分布中&#xff0c;每個隨機變量都服從正態分布&#xff0c;且不同隨機變量之間可能存在相關性。本文將以二元標準正態分布為例&#xff0…

多線程JUC 第2季 中斷線程

一 中斷線程 1.1 中斷概念 1.在java中&#xff0c;沒有提供一種立即停止一條線程。但卻給了停止線程的協商機制-中斷。 中斷是一種協商機制。中斷的過程完全需要程序員自己實現。也即&#xff0c;如果要中斷一個線程&#xff0c;你需要手動調用該線程的interrupt()方法&…

錄制用戶操作實現自動化任務

先上視頻&#xff01;&#xff01; 流程自動化工具-錄制操作繪制流程 這個想法之前就有了&#xff0c;趁著周末時間給它擼出來。 實現思路 從之前的文章自動化桌面未來展望中已經驗證了錄制繪制流程圖的可行性。基于DOM錄制頁面操作軌跡的思路監聽頁面點擊、輸入事件即可&…

無人機鏡頭穩定的原理和相關算法

無人機的鏡頭穩定主要基于兩個關鍵技術&#xff1a;鏡頭平衡技術和實時電子穩像。無人機鏡頭穩定的原理和相關算法主要是通過鏡頭平衡技術和實時電子穩像技術來保持攝像鏡頭的穩定性&#xff0c;從而拍攝出清晰、穩定的畫面。無人機鏡頭穩定的原理主要是通過傳感器和算法來實現…

Ocr之PaddleOcr模型訓練

目錄 一、系統環境 1 鏡像拉取ppocr 進行部署 2 安裝paddlepaddle 二、訓練前的準備 1 下載源碼 2 預模型下載 3 修改模型訓練文件yml 4 編排訓練集 5 執行腳本進行訓練 6 需要修改文件夾名稱 三、開始訓練 1 執行訓練命令 2 對第一次評估進行解釋 3 引言 五、總…

NestJS使用模板引擎ejs

模板引擎? 模板引擎是一種用于生成動態內容的工具&#xff0c;它通過將預定義的模板與特定數據結合&#xff0c;來生成最終的輸出。? 在NodeJS開發中&#xff0c;我們會使用模板引擎來渲染一些常用的頁面&#xff0c;比如渲染代表404的Not Found 頁面&#xff0c;502的Bad …