无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

    尋覓安全編碼的蹤跡

    發(fā)布時間:  2012/8/22 10:24:15
    在做好安全軟件開發(fā)的準備之后,開發(fā)團隊還需要清楚安全編碼的原則。這是開發(fā)任何健壯、安全軟件的重要基礎。

    保持代碼的簡潔

    代碼庫越小越簡單,就越容易驗證軟件的安全性。有些代碼的功能強大,可能會造成嚴重的后果,通過減少實現(xiàn)這些功能的源代碼模塊的大小,就可以極大地減少代碼中的漏洞數(shù)量。

    在此,列示幾個縮短和簡化代碼的方法:

    1、確保軟件僅包含所要求或規(guī)定的功能。增加不必要的功能會增加軟件的攻擊面,并增加軟件被破解的可能性。

    2、盡可能地將大的或復雜的功能分解為更小、更簡單的功能。這會使系統(tǒng)更易于理解和記錄,在驗證個別組件、整個系統(tǒng)的安全性和正確性時也更為輕松。

    3、在構建系統(tǒng)時盡量使其依賴關系盡可能地少。這樣做有一好處,即能夠確保在不影響整個系統(tǒng)操作的前提下就可以禁用或替換任何過程模塊或組件。

    4、對軟件進行封裝,限制泄露敏感信息,限制外部所造成的影響。

    軟件開發(fā)團隊還應當考慮軟件的大小和簡易性之間的平衡關系。如果將功能分解成太多的小功能,在查看不同的功能如何協(xié)同工作時,就會存在困難。

    確?梢韵蚯昂拖蚝笞匪菰创a

    開發(fā)團隊應當使軟件易于跟蹤每個要求,跟蹤其設計形式,以便于追溯其源代碼。當然,開發(fā)團隊還要使軟件能夠根據(jù)代碼的形式,追查其實現(xiàn)的每一個需求。

    代碼的可重用性和可維護性

    使代碼安全(簡易、可理解、可跟蹤)的一些特性也有助于代碼的可重用性和可維護性。如果代碼很容易被重用,其安全性就可以傳遞給未來的軟件項目。如果代碼易于維護,在維護過程中就不太可能增加漏洞。

    開發(fā)團隊應當盡力構建可以預測未來事件的代碼。要確保軟件需要的所有值源自數(shù)據(jù)庫或外部的屬性文件,而不是源自硬編碼(硬編碼是指在計算機程序中將變量用一個固定值來代替)。例如,在JAVA中,可考慮在方法簽名中使用輸入對象的bean可重用組件,而不是指定數(shù)據(jù)類型和預期值。這會使程序的功能按照需要而變化,并實現(xiàn)代碼重用。

    遵循安全編碼的標準和指南

    某些特定語言已經(jīng)有了明確的安全編碼的實踐和模式,開發(fā)團隊應當優(yōu)先選擇并采用其安全編碼的標準和指南。否則,團隊將不能避免在軟件開發(fā)中出現(xiàn)常見的編碼漏洞和潛在的易受攻擊的軟件架構。開發(fā)團隊應當積極地選擇應對這些缺陷的安全方法。這些標準和指南既涉及到編碼過程的錯誤做法和正確做法。例如,美國的卡內(nèi)基梅隆軟件工程學院就發(fā)布了C、C++、JAVA等語言的著名安全編碼標準。

    還有一個大名鼎鼎的標準,即汽車工業(yè)軟件可靠性聯(lián)會(MISRA)標準,它雖然不是專為解決軟件安全而制定的標準,但它確實可以作為編碼指南的一個例子。該機構是相關行業(yè)汽車制造商和公司的協(xié)會,其用戶早已經(jīng)超出了汽車行業(yè)。它為C和C++語言創(chuàng)建了安全編碼指南,并為嵌入式電子系統(tǒng)提供了有關可靠性的最佳實踐。改善代碼的質(zhì)量是改善代碼安全性的一個重要部分。

    在確定好標準之后,開發(fā)團隊應當對軟件執(zhí)行一致性測試,判定編碼是否正確地遵循了選定的編碼標準。CERT的源代碼分析試驗室(SCAL)提供了針對CERT的C語言安全編碼標準的系統(tǒng)一致性測試。成功通過一致性測試的軟件就可以得到CERT加蓋的一致性測試印章。

    使用編譯器的安全檢查和強化功能

    不同的編譯器是為不同的目的開發(fā)的。例如,C語言標準定義了許多未定義的、未明確規(guī)范的、由實現(xiàn)環(huán)境決定的行為。其它的許多問題都留給了“實施質(zhì)量”,這意味著市場決定著行為是否合適。通常,開發(fā)團隊可選擇實施實現(xiàn)了安全特性的編譯器,以此來改善安全性,也可以通過使用靜態(tài)分析等方法來改善安全性。

    在開始代碼開發(fā)之前,開發(fā)者應當在最大程度上啟用編譯器的警告和錯誤。如果在日后再去應對所報告的問題,其代價將很昂貴。只要可能,要盡最大努力解決各種警告問題。如果解決警告問題并不現(xiàn)實,就要在代碼中記錄這些警告。

    現(xiàn)代開發(fā)環(huán)境,如微軟的Visual Studio包含著靜態(tài)代碼分析功能,而且能夠自動應用。此集成開發(fā)環(huán)境不僅能夠編譯代碼,而且還擁有200多個預定義的規(guī)則。開發(fā)人員可以根據(jù)這些規(guī)則,對照一系列潛在的漏洞來檢查代碼的諸多方面。

    在編譯和鏈接實際的二進制可執(zhí)行文件時,應當禁用調(diào)試選項。例如,有些流行的商業(yè)級操作系統(tǒng)都曾被報告包含危急漏洞,可以使攻擊者利用操作系統(tǒng)的標準的調(diào)試接口。該接口的設計目的是為了使開發(fā)人員在測試期間能夠控制程序,在實際的生產(chǎn)系統(tǒng)中也保持可用。攻擊者為了能夠控制程序,會通過網(wǎng)絡利用此接口,提升攻擊者對調(diào)試器程序的特權。

    有些編譯時的驗證工具可以利用類型限定符。這些限定符可以給程序加上注釋,從而可以正式驗證程序,免受已知漏洞的威脅。有些限定符不受語言的限定,并且可以檢測那些本應當由開發(fā)者檢查的“不安全的”系統(tǒng)調(diào)用,還有其它的工具可以檢測特定語言的漏洞。

    此外,還可以修改編譯器,以檢測對堆棧數(shù)據(jù)區(qū)域的惡意篡改。這種保護的一種簡單形式就是“堆棧密探”。子程序的入口代碼將“堆棧密探”放在堆棧上,并由編譯器生成的子程序的退出代碼對它進行驗證。如果密探被篡改,退出代碼就會終止程序,同時產(chǎn)生一個錯誤。

    許多C/c++編譯器可以檢測不正確的格式字符串。例如,Gnu編譯器Collection支持C的擴展。C擴展可用于標記包含不正確的格式字符串的函數(shù),而微軟的Visual C++ .NET中的/GS編譯器開關可被用于標記運行時代碼中的緩沖區(qū)溢出。

    雖然類型和格式字符串的檢查對于檢測簡單的錯誤非常有用,但對于檢測更為復雜的漏洞,就顯得有點兒小兒科了。有些編譯時的工具會執(zhí)行“污點分析”,即將輸入數(shù)據(jù)標記為“污點”,確保在將此類數(shù)據(jù)用于易受攻擊的功能之前,先對其進行驗證。開源的“污點”分析工具Flayer就是一個好例子。此功能也被集成到了Perl語言中。其它的編譯器也包括更廣泛的邏輯,可以執(zhí)行全面的程序驗證,并根據(jù)正式規(guī)范來驗證復雜的安全屬性。程序驗證編譯器最常被用于檢測C和 C++程序和庫中的漏洞和“有危險的”構造,其中也包括使程序易于遭受格式字符串攻擊和緩沖區(qū)溢出的構造。

    當然,還有其它的一些要求編譯時支持的保護措施,這包括內(nèi)存中的變量和代碼位置的隨機化,特別是被加載庫的位置和匯編預處理程序位置的隨機化,這可以減少C和C++程序遭受堆棧的緩沖區(qū)溢出的可能性。這常常要求編譯器和運行時的支持。 


    本文出自:億恩科技【mszdt.com】

    本文出自:億恩科技【www.enidc.com】
    -->

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      1
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線