Help net security發佈了一篇使用人工智慧減少秘密掃描器的誤報
密碼掃描器是一種安全工具,用於在程式碼中尋找可能洩露的敏感資料,例如使用者名稱、密碼、API金鑰、SSH金鑰等。這些資料被稱為密碼,是任何現代應用程式的核心,也是攻擊者的目標。如果這些密碼外洩,後果可能非常嚴重。
然而,密碼掃描器並不完美,它們常常會產生大量的假陽性,也就是將一些無關緊要的資料誤判為密碼。這會造成安全人員的警覺疲勞,降低他們處理真正風險的效率。因此,如何提高密碼掃描器的準確性,減少假陽性的發生,是一個迫切的問題。
本文將探討以下幾個方面:
- 密碼的種類和風險
- 目前密碼掃描器的限制
- 人工智慧和機器學習在密碼掃描器中的應用和效果
- 密碼安全管理的建議
密碼的種類和風險
密碼在軟體開發的每個階段都扮演重要的角色,從原始碼管理系統到持續整合和持續交付的流程,再到雲端基礎設施。密碼的種類和風險包括:
- 使用者名稱和密碼:一種經典的驗證方法。如果被攻擊者發現,他們可以用它來訪問其他關鍵系統。
- API金鑰:一種唯一的識別碼,用於驗證一個使用者、開發者或呼叫程式對一個API的訪問權限。如果暴露,可能導致未經授權的訪問或濫用它們解鎖的服務。
- SSH金鑰:一種數位簽名,用於安全地訪問遠端系統。如果被竊取,也可以導致未經授權的系統訪問和潛在的資安事件。
- Git憑證:用於訪問第三方資料庫中的程式碼倉庫。如果曝光,可能發生未經授權的程式碼變更或竊取,影響開發過程或導致嚴重的安全事故。
不是所有的密碼都是系統憑證或特定的程式碼字串。有時,開發者不小心將個人身份資訊(PII),如健康資料、信用卡號碼或銀行帳戶資訊,留在程式碼中。在許多情況下,這是「測試」資料,但如果被暴露,仍然會讓組織面臨資安事件和違反合規的重罰風險。
目前密碼掃描器的限制
保護這些密碼的安全並不容易,因為它們在每個步驟都可能出現在程式碼中。一個常見的密碼洩露的地方是原始碼,因為開發者可能會在公開的平台上分享或儲存他們的程式碼,例如GitHub或GitLab。這些平台上的程式碼是公開可見的,任何人都可以搜尋或下載它們,包括攻擊者。
密碼掃描器的目的是在這些密碼落入惡意手中之前找到它們。它們通常使用正則表達式或其他規則來匹配可能的密碼模式。然而,這種方法有幾個缺點:
- 規則的數量和複雜度會隨著密碼的種類和變化而增加,導致維護成本高昂。
- 規則的靈敏度和精確度之間存在權衡。如果規則太寬鬆,會捕捉到更多的潛在密碼,但也會產生更多的假陽性。如果規則太嚴格,會減少假陽性,但也會錯過一些真正的密碼。
- 規則無法考慮程式碼的語意和上下文。例如,一個字串可能看起來像一個密碼,但實際上是一個程式碼變數、函數呼叫、CSS選擇器等。這些情況會導致不必要的警報。
因此,密碼掃描器的假陽性率通常很高,有時甚至高達90%。這對於安全人員來說是一個巨大的挑戰,因為他們必須花費大量的時間和精力來檢查和驗證每一個警報,而忽略了更重要的威脅。
人工智慧和機器學習在密碼掃描器中的應用和效果
為了解決這個問題,一些密碼掃描器開始採用人工智慧(AI)和機器學習(ML)的技術,以提高密碼的識別和分類的準確性。AI和ML可以幫助密碼掃描器:
- 學習不同的密碼模式和特徵,而不需要人工定義規則。
- 分析程式碼的語意和上下文,以區分密碼和其他資料。
- 適應新的密碼類型和變化,而不需要人工更新。
- 降低假陽性的發生,提高真陽性的發現。
我們最近的研究發現,使用AI和ML的密碼掃描器可以將假陽性率降低86%,同時保持高度的靈敏度和覆蓋率。這意味著安全人員可以更有效地管理密碼的風險,減少不必要的工作和減少資安事件的風險。
密碼安全管理的建議
使用AI和ML的密碼掃描器是一個有效的方法,可以幫助組織找到和消除程式碼中的密碼。然而,這並不意味著密碼掃描器可以完全取代人工的審查和監督。密碼掃描器只是密碼安全管理的一個工具,而不是一個解決方案。為了確保密碼的安全,組織還需要採取以下一些措施:
- 建立和執行一個密碼安全政策,規範密碼的生成、儲存、使用和銷毀的標準和流程。
- 教育和培訓開發者和安全人員,提高他們對密碼安全的意識和責任感,避免在程式碼中硬編碼或暴露密碼。
- 使用安全的密碼管理工具,如密碼保險庫或密碼管理器,來集中和加密密碼的儲存和訪問,減少密碼的暴露風險。
- 定期檢查和更新密碼,以防止密碼過期或被破解。使用強大和隨機的密碼,避免使用常見或重複的密碼。
- 採用多因素驗證(MFA)或單一登入(SSO)等技術,以增加密碼的安全性和便利性,減少密碼的數量和複雜度。
總之,密碼掃描器是一個有用的工具,可以幫助組織發現和消除程式碼中的密碼,提高密碼的安全性和合規性。使用AI和ML的密碼掃描器可以進一步提高密碼掃描器的準確性和效率,減少假陽性的發生,節省安全人員的時間和精力。然而,密碼掃描器並不能完全替代人工的審查和監督,組織還需要建立和執行一個完整的密碼安全管理策略,以確保密碼的安全和可靠。
詳情請看: