安全編碼為何如此重要?

當組織發生重大安全漏洞時,他們并不總是披露安全漏洞的性質。這是因為即使他們負有責任,知道原因并已修復,但有關如何實現這一目標的信息對于未來的攻擊者來說仍然是寶貴的知識。但很容易想象,不安全的編碼可能導致這些問題的很大一部分,尤其是數據泄露。

數據泄露可能是最可怕、代價最高的安全漏洞。僅在 2020 年,就有超過 250 億條記錄被泄露或被盜,而據估計,2021 年的情況只會變得更糟。組織需要加強其安全協議,而安全編碼是這些安全協議的核心。如果沒有安全編碼,所有其他安全協議都無法保護您最寶貴的資產。

來源:https://www.securecodewarrior.com/blog/we-need-heroes-to-secure-our-code-have-developers-got-what-it-takes

危害源代碼完整性的五大行為

這里的重點是開發人員在職業生涯早期通常會采取的常見行為。如果不加以控制,這些行為可能會在近期或遠期造成嚴重的維護和安全問題。確保組織中的所有開發人員都了解這些不良做法并學習如何避免它們。

1. 未經檢查的復制代碼

我聽到過有人對復制粘貼式編程既嗤之以鼻,又大加贊揚。有時開發需要一些核心功能,而這些功能已經被其他開發人員編碼了數萬次。那么為什么不復制他們的工作,而不是從頭開始編寫呢?大多數時候,你肯定應該使用別人的作品,但你必須聰明地使用它。

了解你復制的代碼。如果你決定復制代碼,一定要通讀并理解它。就像你審查同事的代碼一樣。永遠不要盲目相信互聯網上有人寫出了足夠好的代碼并將其公開。驗證一下。

盡可能使用庫。在某種程度上,使用庫比復制代碼更可取。如果您需要一些字符串處理功能,那么將來可能需要更多這樣的功能。使用處理字符串的庫可能是您項目的一個很好的補充。當然,您不希望庫膨脹。因此,您必須仔細選擇要添加到項目中的庫。如果您只需要一個函數,那么復制它可能比使用整個庫更好。

2. 已棄用的、廢棄的和可疑的庫

市面上有很多糟糕的代碼。有時,開源代碼未經社區的適當審查就被打包到庫中。這可能會導致代碼存在安全漏洞,甚至沒人愿意去發現,更不用說修復了。

使用庫時,請確保它們是被廣泛使用和受信任組織或大量開發人員監控的庫。這些庫應該得到維護并定期更新。如果該庫十年來都沒有更新過,那么在將其納入安全項目之前,您需要檢查整個代碼庫。否則,您就不能信任它。

3. 不受限制的存儲庫訪問

在當今的環境下,人們傾向于信任開發人員,并允許他們不受限制地訪問源代碼存儲庫。這是一個重大的安全漏洞。開發人員不需要訪問所有內容,他們只需要訪問他們正在處理的代碼區域,甚至可能不需要寫入權限。

限制訪問有時會減慢開發速度,但更多的時候它有助于保持代碼的解耦和模塊化。如果開發人員只能更改他們正在開發的模塊,他們就被迫與項目的其余部分保持脫鉤。即使不考慮安全性,這也是一件好事

無法訪問整個源代碼的員工造成破壞的能力非常有限,無論是出于惡意還是無能。但即使在受限訪問策略下,當開發人員離開組織時,IT 也必須撤銷對源代碼存儲庫的訪問權限。閑置未使用的憑據將導致問題發生。

4. 硬編碼秘密

機密是提供應用程序到應用程序訪問的任何在線憑證。它可以是 API 密鑰、云憑證、加密密鑰、數據庫訪問詳細信息等等。缺乏經驗的開發人員在初始開發時通常會在代碼中使用純文本機密。這些機密通常會被遺忘和遺留,從而導致潛在的泄漏。

托管在 GitHub 等公共云服務上的源代碼很容易被惡意人員掃描和利用。在將代碼上傳到云端之前,請務必掃描代碼以查找機密信息。

但即使源代碼從未公開,大多數編譯代碼都可以被逆向工程。混淆可以幫助增加對編譯代碼進行逆向工程的難度。然而,最好以一種防止泄露的方式妥善存儲機密。

5. 錯誤消息中暴露的信息

使用詳細的錯誤消息來調試代碼是開發人員的常見做法。但這些錯誤消息可能會向試圖侵入您的軟件的攻擊者提供信息。錯誤消息需要對用戶有所幫助,但不能提供任何有關代碼如何工作的信息。

隱藏有關代碼結構、數據結構和與其他軟件的連接的信息。此外,確保捕獲并處理異常。未捕獲的異常通常會提供堆棧跟蹤,其中包含攻擊者可以利用的信息。捕獲所有相關異常,不要拋出無法捕獲的未經檢查或運行時異常。

通過了解這些壞習慣以及如何養成更好的習慣,您已經在著手開發更安全的代碼。有了這些知識,請注意您可能擁有的任何習慣,并記錄下來,如果您認為它們可能會導致安全問題。讓同事們注意到這一點,你可能會發現其他人也在做同樣的事情。一起尋找解決方案并養成新習慣。如果其他人和你一起改變習慣,改變習慣就會容易得多。

文章來源:5 Bad Coding Habits That Leave Your Source Code Exposed

上一篇:

大數據安全的十大要點

下一篇:

22個Web可訪問性測試工具及其測試內容
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費