什麼是 Web 應用程式安全性?
Web 應用程式安全是保護網站、應用程式和 API 免受攻擊的做法。這是一門廣泛的學科,但其最終目標是保持 Web 應用程式平穩運作,並保護企業免受網路破壞、資料竊取、不道德競爭和其他負面後果的影響。
網際網路的全球性使 Web 應用程式和 API 面臨來自許多位置以及各種規模和複雜性層級的攻擊。因此,Web 應用程式安全性包含多種策略,涵蓋軟體供應鏈的許多部分。
常見的 Web 應用程式安全風險有哪些?
Web 應用程式可能面臨多種攻擊類型,具體取決於攻擊者的目標、目標組織的工作性質以及應用程式的特定安全性漏洞。常見的攻擊類型包括:
- 零時差漏洞:這些是應用程式製造者不知道的漏洞,因此沒有可用的修復程式。我們現在每年看到超過 20,000 個零時差漏洞。攻擊者們試圖快速利用這些漏洞,並且通常會試圖逃避安全廠商實施的保護措施。
- Cross-site scripting (XSS):XSS 這種弱點允許攻擊者將用戶端指令碼插入網頁中,以便直接存取重要資訊、假冒成使用者或藉由欺騙使用者來竊取重要資訊。進一步瞭解如何防止 XSS 攻擊。
- SQL 資料隱碼攻擊 (SQi):SQi 這種方法能讓攻擊者以資料庫執行搜尋查詢的方式鑽漏洞。攻擊者使用 SQi 取得未授權資訊的存取權限、修改或建立新的使用者權限,或是操縱或毀損機密資料。進一步瞭解如何防止 SQL 資料隱碼攻擊。
- 阻斷服務 (DoS) 和分散式阻斷服務 (DoS) 攻擊:透過各種媒介,攻擊者能夠使用各種類型的攻擊流量,讓目標伺服器或其周圍的基礎結構過載。當伺服器再也無法有效處理傳入的要求後,就會開始表現遲緩,最終對合法使用者傳入的要求阻斷服務。
- 記憶體毀損:若不小心修改了記憶體中的位置,造成軟體有可能產生意外行為,就會發生記憶體毀損。惡意執行者將會透過惡意探索(例如程式碼插入或緩衝區溢位攻擊),嘗試發現並利用記憶體毀損。
- 緩衝區溢位:緩衝區溢位是一種異常情況,當軟體將資料寫入到記憶體中稱為緩衝區的限定空間時,就會發生。緩衝區空間的溢位會造成鄰近的記憶體位置遭到資料覆寫。此行為會遭到惡意探索,用來將惡意程式碼插入記憶體中,讓目標機器可能因此產生弱點。
- 跨網站偽造要求 (CSRF):跨網站偽造要求涉及欺騙受害者,進行利用其驗證或授權的要求。藉由利用使用者的帳戶權限,攻擊者能夠傳送假冒成使用者的要求。使用者的帳戶遭受入侵後,攻擊者就能外流、銷毀或修改重要資訊。權限高的帳戶(例如管理員或行政主管)通常會成為目標。
- 憑證填充:攻擊者可能會使用機器人將大量竊取的使用者名稱和密碼組合快速輸入到 Web 應用程式的登入入口網站中。如果憑證填充使攻擊者能夠存取真實使用者的帳戶,他們可能會竊取使用者的資料或以使用者的名義進行欺詐性購買。
- 頁面抓取:攻擊者還可能使用機器人大規模竊取網頁內容。他們可能會使用此內容來獲得相對于競爭對手的價格優勢,出於惡意目的或其他原因模仿頁面擁有者。
- API 濫用:API(應用程式程式設計介面)是允許兩個應用程式相互通訊的軟體。與任何類型的軟體一樣,它們可能存在漏洞,允許攻擊者將惡意代碼傳送到其中一個應用程式,或在敏感性資料從一個應用程式移動到另一個應用程式時進行攔截。隨著 API 使用的增加,這是一種越來越常見的攻擊類型。OWASP API Top 10 清單簡明扼要地總結了當今組織面臨的主要 API 安全風險。
- 影子 API:開發團隊快速工作以滿足業務目標,在不通知安全團隊的情況下頻繁構建和發佈 API。這些未知的 API 可能會暴露敏感的公司資料,在「影子」中運作,因為負責保護 API 的安全團隊並不知道它們的存在。
- 第三方代碼濫用:許多現代 Web 應用程式使用各種第三方工具——例如,使用第三方支付處理工具的電子商務網站。如果攻擊者在其中一個工具中發現漏洞,他們可能會入侵該工具,竊取它處理的資料,阻止它運作,或者使用它在應用程式的其他地方插入惡意代碼。Magecart 攻擊是這種攻擊類型的一個範例,它從支付處理器中盜取信用卡資料。這些攻擊也被認為是瀏覽器供應鏈攻擊。
- 攻擊面設定錯誤:組織的攻擊面是其可能容易受到網路攻擊的整個 IT 足跡:可從網際網路存取的伺服器、裝置、SaaS 和雲端資產。由於某些元素被忽略或設定錯誤,此攻擊面可能仍然容易受到攻擊。
有哪些重要的 Web 應用程式安全性策略?
如前所述,Web 應用程式安全是一個廣泛的、不斷變化的學科。因此,隨著新的攻擊和漏洞的出現,該學科的最佳做法也會發生變化。但現代網際網路威脅形勢非常活躍,如果沒有某些符合其業務特定需求的「籌碼」安全服務,任何組織都無法生存:
- DDoS 緩解:DDoS 緩解服務位於伺服器和公共網際網路之間,使用專門的篩選和極高的頻寬容量來防止惡意流量激增使伺服器不堪重負。這些服務很重要,因為許多現代 DDoS 攻擊傳遞的惡意流量甚至足以淹沒最具彈性的伺服器。
- Web 應用程式防火牆 (WAF):篩選掉已知或懷疑利用 Web 應用程式漏洞的流量。WAF 很重要,因為新的漏洞出現得太快而且悄無聲息,幾乎所有組織都無法自行捕捉。
- API 閘道:有助於識別被忽視的「影子 API」,並封鎖已知或懷疑以 API 漏洞為目標的流量。它們還幫助管理和監控 API 流量。(瞭解有關 API 安全性的更多資訊。)
- DNSSEC:此通訊協定可確保 Web 應用程式的 DNS 流量安全路由到正確伺服器,讓使用者不會被中間人攻擊者攔截。
- 加密憑證 管理:由第三方管理 SSL/TLS 加密過程的關鍵元素,如產生私密金鑰、更新憑證、因漏洞而撤銷憑證等。這消除了這些元素被忽視和暴露私人流量的風險。
- 傀儡程式管理:它使用機器學習和其他專門的偵測方法來區分自動流量和人類使用者,並防止前者存取 Web 應用程式。
- 用戶端安全性:檢查新的第三方 JavaScript 相依性和第三方代碼變更,協助組織更快地捕獲惡意活動。
- 攻擊面管理:可操作的攻擊面管理工具應該提供一個單一的地方來對應攻擊面,識別潛在的安全風險,而且只需幾次點擊即可緩解風險。
組織應該期望他們的廠商提供哪些應用程式安全最佳做法?
Web 開發人員可以對應用程式進行精心設計和構建,以防止攻擊者存取私人資料、欺詐性存取使用者帳戶和執行其他惡意動作。OWASP Top 10 清單列出了開發人員應該注意的最常見的應用程式安全風險。預防這些風險的做法包括:
- 要求輸入驗證:阻止格式不正確的資料通過應用程式的工作流程,有助於防止惡意代碼透過插入式攻擊進入應用程式。
- 使用最新的加密:以加密方式儲存使用者資料,並使用 HTTPS 加密輸入和輸出流量的傳輸,協助防止攻擊者竊取資料。
- 提供強驗證和授權:內建和強制實施強密碼控制、提供包括硬金鑰在內的多重要素驗證選項、提供存取控制選項以及其他做法,讓攻擊者更難以欺詐方式存取使用者帳戶並在您的應用程式內橫向移動。
- 追蹤 API:有一些工具可用於識別可能構成攻擊面的被忽視的「影子 API」,但當 API 從一開始就不被忽視時,API 安全性就會變得更容易。
- 記錄代碼變更:這有助於安全和開發團隊更快地修復新引入的漏洞。
Cloudflare 如何保證 Web 應用程式的安全?
Cloudflare 執行的全球網路遍佈 330 座城市,提供上面列出的許多安全服務,包括 DDoS 緩解、Web 應用程式防火牆、API 保護、DNSSEC、受管理 SSL/TLS、機器人管理、用戶端保護等。
這些服務都設計為從我們網路中的任何資料中心執行,從而使它們能夠在靠近來源的地方阻止攻擊。它們與我們的網站效能服務相整合,因此新增新的安全保護永遠不會減慢流量。此外,所有這些服務都適用於各種網站基礎架構,通常可以在幾分鐘內啟動。
瞭解有關應用程式安全解決方案的更多資訊,或註冊獲取 Cloudflare 方案。