• <menu id="w2i4a"></menu>
  • logo Parasoft C/C++test 使用教程

    文檔首頁>>Parasoft C/C++test 使用教程>>【Parasoft C/C++ Test】沒有理由忽略CERT C++標(biāo)準(zhǔn)

    【Parasoft C/C++ Test】沒有理由忽略CERT C++標(biāo)準(zhǔn)


    安全性正在成為軟件開發(fā)團(tuán)隊(duì)的新口號(hào),特別是那些負(fù)責(zé)安全或關(guān)鍵型軟件任務(wù)的人員。在過去,安全性通常是團(tuán)隊(duì)在開發(fā)周期的最后階段添加到系統(tǒng)的特征,但現(xiàn)在安全性是一個(gè)由多種研究計(jì)劃和標(biāo)準(zhǔn)支持的工程學(xué)科。

    如果您希望系統(tǒng)在設(shè)計(jì)上是安全的,則需要從開發(fā)過程的最初階段開始,確保所創(chuàng)建的代碼的每一行都遵循安全最佳實(shí)踐。對于使用C++開發(fā)的團(tuán)隊(duì)來說,最好的選擇之一是SEI CERT C++標(biāo)準(zhǔn)。

    Parasoft C/C++ Test是一款優(yōu)秀的并且全面支持該標(biāo)準(zhǔn)的工具,是C/C++代碼完整的安全測試和合規(guī)性解決方案。本文旨在向大家介紹CERT C++的重點(diǎn)內(nèi)容,以及了解Parasoft C/C++ Test對C++開發(fā)團(tuán)隊(duì)的重要作用。


    CERT C++大量的編碼指南

    SEI CERT C++標(biāo)準(zhǔn)引入了一系列規(guī)則來強(qiáng)制執(zhí)行安全編碼實(shí)踐并消除易受攻擊的代碼構(gòu)造。該標(biāo)準(zhǔn)由11章組成,包含特定主題領(lǐng)域的規(guī)則。與CERT C不同,CERT C++編碼標(biāo)準(zhǔn)只有規(guī)則,沒有建議(它們有待進(jìn)一步審查和開發(fā))。

    SEI CERT C++依賴于CERT C標(biāo)準(zhǔn),并包含適用于C++的CERT C規(guī)則子集。目前為止有98個(gè)CERT C++規(guī)則和80個(gè)繼承自CERT C的規(guī)則。標(biāo)準(zhǔn)概述如下表所示:

    從版本10.4.1開始,Parasoft C/C++ Test完全支持CERT C++規(guī)則。使用C/C++的團(tuán)隊(duì)可以從CERT C和C++的專用合規(guī)報(bào)告中受益,從而構(gòu)建可持續(xù)的合規(guī)流程。通過報(bào)告擴(kuò)展,用戶可以動(dòng)態(tài)查看合規(guī)性流程,并根據(jù)CERT風(fēng)險(xiǎn)評估框架審查優(yōu)先級(jí)的違規(guī)行為。

    CERT根據(jù)以下三個(gè)因素對每個(gè)違規(guī)行為進(jìn)行歸類:

    • 嚴(yán)重程度
    • 發(fā)生的可能性
    • 補(bǔ)救成本

    優(yōu)先級(jí)計(jì)算為這三個(gè)因素的乘積,并分為以下級(jí)別:L1,L2和L3。L1表示高嚴(yán)重性違規(guī),具有高可能性和低補(bǔ)救成本,這是我們最想看到的修復(fù)。使用CERT的評分框架可以幫助您節(jié)省精力并使團(tuán)隊(duì)能夠充分利用他們的時(shí)間。

    除了在小工具、和風(fēng)險(xiǎn)評分框架的幫助下快速推進(jìn)合規(guī)流程的進(jìn)展,Parasoft C/C++ Test的報(bào)告框架還可以自動(dòng)生成適合代碼審核的合規(guī)性報(bào)告來節(jié)省您的時(shí)間,


    您如何從CERT C++中受益

    C++是一門具有許多功能的現(xiàn)代優(yōu)秀語言,能夠設(shè)計(jì)具有高級(jí)模式的復(fù)雜系統(tǒng)。而且允許直接通過指針訪問內(nèi)存而無需檢查其訪問權(quán)限是否正確,因此提高了效率。

    但是C++也有劣勢的一面,即使是非常有經(jīng)驗(yàn)的開發(fā)人員開發(fā)的代碼也容易受攻擊,最常見的原因是內(nèi)存訪問和管理訪問緩沖區(qū)溢出、懸空引用的使用以及整數(shù)溢出。攻擊者可以利用電弧注入或代碼注入以獲得對具有受損程序系統(tǒng)的特權(quán)控制,更糟糕的是獲得內(nèi)核訪問級(jí)別。

    那么,我們?nèi)绾畏乐构粽哌M(jìn)入我們的系統(tǒng)呢?不可能采用現(xiàn)有的代碼庫嘗試所有可能的安全漏洞。當(dāng)前可用于C/C++程序員的最佳選擇是首先創(chuàng)建不受某些被證明是安全漏洞源的構(gòu)造影響的代碼。讓我們看一個(gè)簡單的例子:

    auto g() {
      int i = 12;
      return [&] {
        i = 100;   // Problem
        return i;
      };
    }
    void f() {
      int j = g()();
    }

    在此示例中,函數(shù)g()通過引用隱式捕獲自動(dòng)局部變量i,當(dāng)從g()調(diào)用返回函數(shù)時(shí),它捕獲的引用將引用其生命周期結(jié)束的變量(g函數(shù)消失)。因此當(dāng)f()執(zhí)行時(shí),懸空引用的使用會(huì)影響未定義的行為。攻擊者可以利用這種未定義的行為來控制程序,造成損失。


    總結(jié)

    正如標(biāo)題所說,很難找到不遵循CERT C++安全標(biāo)準(zhǔn)的理由,有了這個(gè)標(biāo)準(zhǔn),才讓C++的開發(fā)變得有跡可循,變得更加安全穩(wěn)定。CERT C++包含許多可以檢測潛在問題的規(guī)則,并將幫助您促進(jìn)安全編碼實(shí)踐。它的安全編碼指南在使用時(shí)可以幫助加強(qiáng)源代碼的安全性,是確保整體系統(tǒng)安全的有效策略。

    想要購買Parasoft C/C++ Test正版授權(quán),或者獲取更多該產(chǎn)品相關(guān)信息的朋友可以點(diǎn)擊" 咨詢在線客服 "~
    海量產(chǎn)品正在參加年終大促,價(jià)格優(yōu)惠!詳情請點(diǎn)擊" 年終巔峰鉅惠 "~
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();