日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

程序員需要謹記的9個安全編碼規則

系統 2150 0

歷史已經證明,軟件設計的缺陷一直是導致其漏洞被利用的最主要的罪魁禍首。安全專家發現,多數漏洞源自常見軟件中相對有限的一些漏洞。軟件開發者和設計者應當嚴格檢查程序中的各種錯誤,盡量在軟件部署之前就減少或清除其中的漏洞。

下面列舉的這些方法會有助于開發人員提高編碼的安全性:

一、注意編譯器警告

程序員 應當使用編譯器的最高警告等級 。在編譯過程中,應當修改程序中的錯誤,直到警告解除。應當使用靜態和動態的分析工具來檢測和清除安全缺陷。

二、根據安全策略設置軟件架構

設計者應創建一個軟件架構,并在設計軟件的過程中實施和強化安全策略 。例如,如果你的系統在不同的時間要求不同的特權,就不妨考慮將系統分解成能夠互聯通信的不同的子系統,每一個系統都有自己適當的特權。這種“分而治之”的方法可以有效地提高應用程序的安全性。

三、驗證輸入

程序設計者在設計程序時必須驗證來自所有不可信數據源的輸入 。適當的輸入驗證可以清除多數軟件漏洞。在設計程序時,必須對多數外部的數據源抱著懷疑的態度,其中包括命令行參數、網絡接口、環境變量、用戶控制的文件等。

四、保持程序簡單

設計者要盡量使程序短小精悍。 復雜的設計會增加實施、配置、使用過程中出現錯誤的可能性 。程序越復雜,就需要越多的復雜的安全控制,企業需要付出的努力也就會越多。

五、拒絕默認訪問

訪問決策的制定應當根據許可權限而不是根據其它的任何方面。這意味著,默認情況下,應當拒絕訪問,程序的保護機制應當根據“允許誰訪問”來確認訪問條件。

六、遵循最小特權原則

程序的每個處理過程在執行時,都應當僅使用為完成其工作而需要的最小特權。任何提升的許可權限都要盡量持續最短的時間。這種方法可以減少攻擊者用提升的特權執行任意代碼的可能性。

七、“凈化”傳送給其它系統的數據

所謂“凈化” 是指從用戶輸入的數據中清除惡意數據 ,如清除用戶提交表單時的惡意的或錯誤的字符。

程序設計者必須對傳送到復雜的子系統(如命令外殼、關系型數據庫、購買的商業軟件組件)的所有數據進行“凈化”。攻擊者有可能通過使用 SQL 注入命令或其它注入攻擊來調用這些組件中沒有被使用的功能。這未必是輸入驗證問題,因為被調用的復雜的子系統并不理解調用過程中的前后關系。由于調用程序 理解前后關系,所以我們要在調用子系統之前對數據進行“凈化”。

八、實施深度防御

程序設計必須能夠利用多種防御策略來管理風險 。只有這樣,才能在一層防御不夠用或失效時,另外一層防御可以防止將安全設計上的缺陷變成可被利用的漏洞,從而可以限制攻擊者利用漏洞的后果。例如,將安全編程技術與安全運行環境結合起來,可以減少在部署階段殘存在代碼中的漏洞被攻擊者在操作環境中利用的可能性。

九、使用有效的質量保證技術

良好的質量保證技術可以有效地確認和清除漏洞。模糊測試、滲透測試、源代碼審計等都可以結合起來使用,以此作為一個有效的質量保證項目的一部 分。獨立的安全檢查可以使系統更安全。有資質的外部審查人員可以提供獨立的觀點,例如,外部人員有助于確認和糾正一些錯誤的設想。

當然,為保證代碼的安全,企業應當為開發語言和平臺制定并實施一套健全的編碼標準。

?

轉載自伯樂在線? http://blog.jobbole.com/16529/

程序員需要謹記的9個安全編碼規則


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 枣阳市| 宜昌市| 开远市| 雅江县| 调兵山市| 镇沅| 临清市| 江西省| 临海市| 寿阳县| 黄龙县| 西乡县| 杭锦后旗| 交城县| 通渭县| 洪湖市| 博野县| 正阳县| 辛集市| 都昌县| 洛川县| 巴彦淖尔市| 察雅县| 阿巴嘎旗| 象山县| 宁远县| 楚雄市| 平阳县| 调兵山市| 鄂州市| 谷城县| 武夷山市| 建平县| 红安县| 临桂县| 广州市| 廉江市| 嘉兴市| 柞水县| 广饶县| 平陆县|