我正在使用開源 MobSF 安全框架來掃描我的 Swift 專案的源代碼及其對漏洞的依賴關系。大多數事情看起來都不錯,但是我擔心它向我展示了我的依賴項中的加密演算法(MD5、SHA1)不夠安全。
解決這個問題的標準做法是什么?我確保為其中的大多數提取最新的分支,但他們似乎堅持使用過時的演算法。我不愿意進入并且不得不更改他們的源代碼,只是每次我重建 Podfile 時都會將其清除。
uj5u.com熱心網友回復:
首先,這取決于他們使用這些演算法的原因。對于某些用途,MD5 或 SHA-1 沒有安全問題,它們可能是與現有標準兼容或向后兼容所必需的。
例如,PBKDF2 使用 SHA-1 作為其哈希是完全安全的。它不需要非常強大的哈希函式來維護自己的安全性。使用 MD5 甚至是安全的。使用 PBKDF2 切換到 SHA-2 并不能提高安全性,它只是“安全衛生”,即“避免在您的代碼中存在已知問題的演算法,即使它們在您的特定用例中沒有引起任何問題。” 安全衛生是一種很好的做法,但它與安全性不同。
對于其他用例,哈希函式的安全性至關重要。如果一個框架使用 MD5 對任意訊息進行身份驗證,那就完全被破壞了。不要拿這個答案來暗示演算法無關緊要。他們是這樣!但并非在每個用例中。如果你想解碼信用卡刷卡交易,你可能需要 DES 出現在你的代碼中,這已經被嚴重破壞了,但你仍然需要它,因為這就是磁條的加密方式。它不會使您的框架“不安全”。
當您說“但他們似乎堅持使用過時的演算法”時,我假設您的意思是您打開了 PR 但他們拒絕了它,在這種情況下,我認為他們有充分的理由(例如在沒有實際安全問題時的向后兼容性)。如果你還沒有,那么顯然第一步就是打開一個 PR。
也就是說,如果您想更改此設定,因為您覺得存在無法解決的實際安全問題,或者純粹是為了衛生,那么使用 CocoaPods,您將分叉專案,修改它,并使用屬性指向您自己的source版本到pod關鍵字。
我自己維護一個密碼學框架,我經常從使用這些掃描儀的開發人員那里收到錯誤報告。確保您知道掃描儀告訴您什么以及如何評估結果。誤報在這些方面極為常見。這些工具很有用,但您需要具備一些專業知識才能閱讀他們的報告。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/448418.html
