安全測試——當務之急
雅虎最近確認,2014年末其系統發生大規模資料洩露,至少5億使用者賬戶資訊可能被駭客竊取。雅虎發言人的宣告指出,這些賬戶資訊可能包括姓名、電子郵件地址、電話號碼、出生日期、雜湊密碼,以及某些情況下的加密或未加密的安全問題和答案。
來自美國的另一個訊息,美國安全機構最近發現駭客正在努力滲透選民登記資料庫以獲取機密資訊,因為選舉即將到來。儘管他們尚未能夠滲透系統。
您可能聽說過許多此類網路安全漏洞事件。對於使用者以及構建和維護這些應用程式的公司而言,這些新聞確實令人震驚和擔憂。這就是為什麼安全測試成為人們關注的焦點,以防止軟體應用程式受到惡意攻擊。
什麼是安全測試?
在進行應用程式測試時,我們通常關注功能和效能測試。假設需要對涉及貨幣交易的銀行和金融應用程式進行安全測試,而不需要對普通應用程式進行安全測試。這是一個誤解;事實上,安全測試不僅可以防止財務損失,還可以保護有用的資料不落入駭客手中。
安全測試使我們能夠找出系統中的漏洞和弱點,這些漏洞和弱點可能給組織造成巨大的損失。
應識別並修復系統的威脅和弱點,以保護應用程式的寶貴資料。
在執行安全測試時,我們應該記住一些基本事項:
授權 - 只有授權使用者才能訪問應用程式
身份驗證 - 驗證輸入資料,應限制虛假或惡意資料
機密性 - 資料機密性應保持完整並受到保護
完整性 - 資料完整性在通訊過程中不應更改
不可否認性 - 傳送方和接收方都不能否認資料已傳送和接收
何時執行安全測試?
我們並非只在專案週期測試階段才考慮安全測試。事實上,我們應該更早地進行規劃,從需求分析階段開始。
在需求階段進行安全分析,並準備相關的場景、測試資料和測試用例
在測試計劃和專案進度中預留安全測試時間,並找到執行安全測試的工具
執行安全測試的基本步驟
無論您是使用一些已建立的工具進行安全測試,還是考慮購買新的工具,您仍然可以執行一些最低限度的檢查。一些無需藉助任何大型工具即可進行的基本檢查,例如:
基本使用者憑據驗證檢查,無效使用者不應侵入系統
應用程式間的密碼應採用加密格式
在某些應用程式中,不允許“右鍵單擊”和“後退按鈕”操作。檢查它們
驗證會話在使用者一段時間不活動時應超時
對於 Web 應用程式,您可以使用瀏覽器的內建開發者工具來檢查應用程式的原始碼和樣式元素
使用開發者工具,您可以檢查傳送的請求以及瀏覽器是否允許操作內聯程式碼
透過使用內建外掛和擴充套件程式,您可以透過操作資料、HTTP 請求和其他方面來測試您的 Web 應用程式,以確保 Web 應用程式的安全。
誰將執行安全測試?
當我們討論安全測試時,最常見的問題是:**誰來做這件事?**我認為這不像“給貓戴鈴鐺”那麼難;任何測試人員都可以執行此操作,前提是他具備**必要的知識,並瞭解安全測試的各個方面**。
還有一些合法駭客,也稱為道德駭客,公司授權他們透過入侵其網站來找出漏洞。
谷歌最近宣佈了“零專案”競賽,邀請駭客參加 Android 駭客大賽,以找出安全漏洞,一等獎獲得者將獲得高達 200,000 美元的現金獎勵。
流行的開源工具
讓我們看看一些流行的開源安全測試工具。
Vega – 它是一個自動化漏洞掃描器和測試工具,用於測試 Web 應用程式。它可以檢測 SQL 注入、頭注入、跨站點指令碼等漏洞。它適用於 Linux、OS X 和 Windows 平臺。
Grabber – 它是一個簡單的工具,用於檢測 Web 應用程式的漏洞,沒有圖形使用者介面。它可以檢測跨站點指令碼、SQL 注入、Ajax 測試、檔案包含、JS 原始碼分析器、備份檔案檢查等漏洞。
ZED Attack Proxy – 也稱為 ZAP,此工具適用於 Windows、Unix/Linux 和 Macintosh 平臺。這是執行 Web 應用程式滲透測試最有效的工具之一。
Netsparker – 它是一個無誤報的安全掃描器工具,用於 Web 應用程式。它還可以檢測許多漏洞,例如 SQL 注入、URL 操縱、跨站點指令碼、暴力攻擊等。它支援基於 Ajax 和 JavaScript 的應用程式。
市場上還有許多其他工具。您可以根據自己的需求選擇最佳工具。世界各地都有駭客日夜試圖竊取您在網際網路上提供的寶貴資料。因此,安全測試是當務之急,以確保您的應用程式免受資料盜竊、未經授權的訪問和整體安全漏洞的侵害。
引用本傑明·富蘭克林先生的格言:“預防勝於治療”,因此,最好現在就進行安全測試,而不是在發生任何事件後再採取行動。