<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          安全編碼實踐三個關(guān)鍵原則

          共 1921字,需瀏覽 4分鐘

           ·

          2022-01-18 10:06

          多數(shù)安全漏洞是人為錯誤的結(jié)果。開發(fā)人員可以引入Web應(yīng)用程序漏洞和API安全問題。因此,構(gòu)建安全應(yīng)用程序的基礎(chǔ)方法是盡一切可能首先避免引入此類錯誤。

          我們可以找到一些關(guān)于如何在應(yīng)用程序開發(fā)過程中創(chuàng)建安全代碼的詳細(xì)指南,例如,Open Web Application Security Project (OWASP) 提供的指南。他們專注于輸入驗證、輸出編碼、訪問控制、通信安全、數(shù)據(jù)保護(hù)、加密實踐、錯誤處理、最小特權(quán)原則等細(xì)節(jié)。此外,我們還應(yīng)該從戰(zhàn)略角度來看待軟件安全問題。

          原則 1:傳播意識和教育

          在大多數(shù)情況下,開發(fā)人員在編寫的源代碼中引入安全風(fēng)險只是因為他們沒有意識到這些風(fēng)險。雖然大學(xué)經(jīng)常側(cè)重于教授形式驗證等細(xì)節(jié),但很多大學(xué)都沒有專門開設(shè)網(wǎng)絡(luò)安全課程,甚至沒有提到注入攻擊或跨站腳本(XSS)等主題。

          在大學(xué)學(xué)到的編程語言是有限的,因此開發(fā)人員在大多數(shù)情況下會有自學(xué)的內(nèi)容,并且一些安全問題是編程語言特有的。

          為了確保你的軟件開發(fā)團(tuán)隊不會因為缺乏意識、理解或教育上的差距而犯錯誤,可以從戰(zhàn)略上看待這個問題:

          安全問題應(yīng)該是從開發(fā)還未進(jìn)行時就提前想到的,尤其項目經(jīng)理對安全的重視。對于開發(fā)人員,可以在編碼過程中對其進(jìn)行安全編碼標(biāo)準(zhǔn)的培訓(xùn)。

          需要注意的是,無論您的開發(fā)人員對安全性有多了解,由于技術(shù)進(jìn)步的速度,新技術(shù)和攻擊經(jīng)常出現(xiàn)。因此不要期望開發(fā)人員可以一直不犯錯,而是讓開發(fā)團(tuán)隊和安全團(tuán)隊密切合作。

          原則二:引入多層驗證

          即使是最有意識和受過最好教育的開發(fā)人員也會犯錯誤的可能,所以除了相信他們能編寫安全的代碼,還需要在開發(fā)過程中實時工作的自動審計工具,以幫助他們認(rèn)識到錯誤并采取適當(dāng)?shù)慕鉀Q方案。

          在理想情況下,一般會使用以下工具和方法來測試軟件:

          一個內(nèi)置在開發(fā)環(huán)境中的代碼分析工具。這種工具可以在開發(fā)人員輸入代碼時即時防止出現(xiàn)基本錯誤。

          作為CI/CD管道的一部分工作的SAST(靜態(tài)應(yīng)用程序安全性測試)解決方案。這種解決方案在構(gòu)建源代碼之前對其進(jìn)行分析,并能發(fā)現(xiàn)潛在的軟件漏洞。

          作為CI/CD管道的一部分工作的SCA(軟件組合分析)解決方案。由于現(xiàn)在大多數(shù)代碼不是直接來自開發(fā)人員,而是來自他們使用的開源庫,因此通過SCA幫助他們確保他們使用的是此類庫的安全版本。

          作為 CI/CD 管道的一部分工作的DAST(動態(tài)應(yīng)用程序安全測試)解決方案。這樣的解決方案在運(yùn)行時分析應(yīng)用程序(在編譯之后,無法訪問源代碼)并找到安全漏洞。

          對無法自動發(fā)現(xiàn)的錯誤進(jìn)行額外的手動滲透測試,例如業(yè)務(wù)邏輯錯誤。但是,這需要專門的安全人員并花費(fèi)大量時間,因此通常僅在軟件開發(fā)生命周期 (SDLC) 的最后階段執(zhí)行。

          早期的安全測試不但可以提高軟件安全,而且還能大大降低修改漏洞的時間和成本,為企業(yè)避免遭到網(wǎng)絡(luò)攻擊的風(fēng)險。

          原則 3:盡早測試以提升責(zé)任感

          要獲得最高的代碼質(zhì)量,僅僅有安全的編碼需求和安全的編碼準(zhǔn)則以及測試基礎(chǔ)設(shè)施是不夠的。開發(fā)團(tuán)隊編寫安全代碼除了是在遵循安全編碼原則,而且編寫安全的代碼也符合他們的最佳利益。安全編碼不僅需要規(guī)則和執(zhí)行,還需要正確的態(tài)度。

          左移方法有許多優(yōu)點(diǎn),其中之一是讓開發(fā)人員意識到他們是安全環(huán)境的一個組成部分。這使得他們覺得對代碼安全性有責(zé)任,并且意識到如果犯了錯誤,他們會立即修復(fù)它,而不是指望別人稍后來做。

          當(dāng)然,您可以在應(yīng)用程序投入生產(chǎn)之前或什至在生產(chǎn)中(右移)測試您的應(yīng)用程序是否存在安全漏洞。但是,與向左移動相比,它會花費(fèi)更多。該軟件將不得不再次經(jīng)歷所有階段,這涉及其他資源,而不僅僅是開發(fā)人員。開發(fā)人員不會記住他們使用的代碼,或者修復(fù)程序可能會分配給與原始開發(fā)人員不同的開發(fā)人員,因此,開發(fā)人員將需要更多時間來查找和刪除漏洞。因此,延遲測試可能會延遲發(fā)布甚至數(shù)周。

          當(dāng)然,企業(yè)也可以嘗試將安全測試“右移”,但這付出的代價要比左移大得多。軟件將不得不再次經(jīng)歷所有階段,這涉及到其他資源,而不僅僅是開發(fā)人員。開發(fā)人員很可能不再熟悉他們編寫的代碼,或者修復(fù)問題可能分配給不同的開發(fā)人員,從而導(dǎo)致不得不花費(fèi)更多的時間來發(fā)現(xiàn)并修復(fù)安全漏洞,延遲測試將會推遲發(fā)布時間。

          不僅僅是安全政策

          總之,意識到安全問題很有必要,但如果認(rèn)為其是一種限制而非增強(qiáng)則是不夠的。安全始于構(gòu)建應(yīng)用軟件時正確的態(tài)度。即使是用于維護(hù)安全的最好工具也必須在過程中以正確的方式使用,以便它們被認(rèn)為是有幫助的而不是一種“累贅”。


          參讀鏈接:

          https://www.acunetix.com/blog/web-security-zone/secure-coding-practices/

          瀏覽 116
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产TS丝袜人妖系列视频 | 国产高清无码激情 | 大相焦依人在钱 12 | 精品视频天天在线免费 | 草在线观看免费视频 |