• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            coreBugZJ

            此 blog 已棄。

            程序員需要謹記的九大安全編碼規(guī)則 (轉)

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


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


              一、注意編譯器警告

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


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

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


              三、驗證輸入

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


              四、保持程序簡單

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


              五、拒絕默認訪問

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


              六、遵循最小特權原則

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


              七、“凈化”傳送給其它系統(tǒng)的數據

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

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


              八、實施深度防御

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


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

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

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

            posted on 2012-04-02 16:43 coreBugZJ 閱讀(277) 評論(0)  編輯 收藏 引用 所屬分類: Software

            色诱久久久久综合网ywww| 久久亚洲国产中v天仙www| 久久久久黑人强伦姧人妻| 四虎国产精品成人免费久久| 中文字幕久久亚洲一区| 亚洲国产另类久久久精品黑人| 99久久综合国产精品免费| 久久精品免费观看| 国产亚洲精品久久久久秋霞| 国产亚洲美女精品久久久久狼| 久久这里只有精品视频99| 久久精品aⅴ无码中文字字幕不卡| 国产精品一区二区久久精品无码| 久久精品不卡| 久久激情五月丁香伊人| 国产亚洲婷婷香蕉久久精品| 怡红院日本一道日本久久| 无码人妻久久久一区二区三区| 人妻丰满?V无码久久不卡| 久久中文娱乐网| 久久99国产精品久久久| 青青久久精品国产免费看| 99久久无色码中文字幕| 欧美va久久久噜噜噜久久| 国产精品久久久久久久久软件| 国产亚洲精久久久久久无码AV| 精品久久久久中文字| 久久久久亚洲AV无码专区桃色| 久久精品无码一区二区三区免费| 99久久精品九九亚洲精品| 久久影院午夜理论片无码| 久久久这里有精品中文字幕| 狠狠色丁香婷婷久久综合五月 | 久久精品国产精品亜洲毛片| 99久久亚洲综合精品成人| 久久精品亚洲精品国产欧美| 日韩AV毛片精品久久久| 久久中文娱乐网| 久久国产乱子精品免费女| 精产国品久久一二三产区区别| 99国产欧美精品久久久蜜芽|