<video id="5jvlp"></video>

                  24小時聯系電話:18217114652、13661815404

                  中文

                  您當前的位置:
                  首頁>
                  電子資訊>
                  技術專題>
                  使用安全編碼技術消除...

                  技術專題

                  使用安全編碼技術消除缺陷


                  編程語言的現代化和更好的編碼技術的重要性,直接關系到從機械計算機到現代軟件的發展-發展過程。我們從一種高度專業化的,主要是數學的符號轉變為接近人類語法的高級編程語言。1盡管通過編譯器技術使之成為可能,但它為缺陷打開了大門。

                  諸如CC ++之類的高級編程語言包含大量未定義的行為,各種編譯器可能會略有不同的解釋。這可能會導致未知或有害的副作用,這些副作用將轉化為缺陷。

                  檢測和修復缺陷可能需要長達開發時間的80 ,這取決于? ?開發組織的成熟度。顯然,代碼質量是一個巨大的問題。為什么不避免缺陷并大大減少調試時間呢?

                  附帶說明一下,軟件中的錯誤調試一詞最初來自哈佛大學的機械計算機。蛾子被卡在繼電器中,該事件被記錄為計算機歷史上的第一個系統缺陷或錯誤” 。

                  一些受人尊敬的機構,如NASA,貝爾實驗室,以及MITRE公司多次進行調查和研究,導致了同樣的結論:d在網絡evelopers,應用小號,桌面,或嵌入傾向于注入,一不小心,同一種錯誤的對他們的源代碼反復出現。

                  這些常見的錯誤的實例包括分配無無原型用于C ++代碼解除分配(或甚至在C代碼)和功能,所以你不要'噸得到嚴格類型檢查在編譯時間。除了確定這些共性之外,研究還確定了最佳或推薦的編程實踐列表,這些列表可以查明并幫助防止危險和不良的編碼行為。

                  一些最佳做法已被定義以及-已知標準,例如,MISRA CCERT C.這是特別是在確保代碼安全的關鍵在像交通和醫療行業使用的應用程序和安全性。

                  功能安全標準,如IEC 61508 ,2 EN 50128 , 3ISO 26262 4建議(或強烈建議,根據不同的安全完整性等級(SIL)或汽車安全完整性等級(ASIL))使用靜態的-和運行-分析符合標準的工具。安全關鍵系統中的缺陷可能導致嚴重后果,例如生命損失或環境破壞。

                  安全編碼技術代表了編碼質量,編碼安全性和編碼安全性的組合。代碼安全性集中在軟件的可靠性上,而代碼安全性則是關于防止不必要的活動并在攻擊過程中保持系統安全。無論在很大程度上依賴于代碼質量是' S ^每可靠的應用程序的基礎。

                  雖然安全編碼技術和標準,推動軟件安全ensur ?所需的可靠性,小號關鍵還提高了源代碼的可讀性和可維護性。更高效,更易讀的代碼意味著對源代碼進行過時的驗證,從而減少了缺陷,并使代碼的重用成為可能。

                  MISRA C是最完善的軟件之一-開發標準,旨在幫助避免常見的陷阱和漏洞。但是,對于任何嵌入式應用程序,強烈建議使用其他準則,例如CWE (通用弱點枚舉)和CERT C編碼標準。

                  MISRA C由汽車工業軟件可靠性協會開發。其目的是為了便于代碼的安全性,移植性,并且可靠性在嵌入式系統的上下文中,特別是第在ISO C.編程OSE系統

                  第一版?MISRA C標準,準則使用車載軟件的C語言,是在1998年生產的,被官方稱為MISRA C1998年,它被更新在2004年再次在2012年添加更多的規則。有' S還對MISRA C ++基于C 2008標準++ 2003最近,MISRA C2012年,修訂1增加了14條附加規則,自動對焦的安全問題OCUS強調了ISO C安全準則幾個這些規則的地址。與使用不可信數據有關的特定問題,這是許多嵌入式應用程序中眾所周知的安全漏洞。

                  MISRA可以幫助您在將代碼檢入正式版本之前發現問題,因此以這種方式查找錯誤可以使缺陷像從未發生過一樣。MISRA規則是--設計時考慮到安全性和可靠性,而且還使得代碼更容易移植到其他工具和架構。  

                  CWECERT C / C ++

                  CWE是社區開發的軟件弱點類型字典。CWE提供了一套統一的,可測量的軟件弱點,以更好地理解和管理它們,并啟用可以找到它們的高效軟件安全工具和服務。

                  CERT C / C ++安全編碼標準是計算機應急響應小組(CERT)發布的標準。它們提供了使用C / C ++編程語言進行安全編碼的規則和建議。

                  作為一般建議,每個嵌入式應用程序至少應遵循CWECERT C / C ++標準。對于安全關鍵型系統,MISRA C是必需的。

                  按照同樣的概念,在運行時你仍然可以容易的算術問題,緩沖區溢出,邊界問題,堆的完整性,以及內存泄漏??梢酝ㄟ^插入特定的儀器代碼來檢測此類錯誤,或者在可能發生潛在錯誤的所有位置聲明該錯誤。但是,手動添加說明以檢查狀況并以某種方式在運行時報告問題是一項非常耗時的任務。

                  應用所有準則和標準意味著除了檢測代碼外,您還需要遵守近700條規則和要求。那么,你怎么可以強制執行的安全編碼技術和跟上所有的規則嗎?

                  實施軟件質量,安全的最佳方式,而安全性是使用自動化工具。這可以通過使用高來實現-質量編譯器和鏈接器是優選的官能-安全CE rtified并用自動靜態分析和運行時分析相結合。

                  編譯器和鏈接器應支持現代編程語言,例如最新的CISO / IEC 98992018)和C ++ISO / IEC 14882,稱為C ++,具有最新的C ++ 17視覺)。這里脫穎而出,它們可以產生suspici警告的OU情況或語法薄弱環節,例如,易失性存儲器存取評估其順序可能會影響應用程序的邏輯。

                  警告是你的第一個通靜態-分析檢查,不應該被忽視,特別是在功能性-安全SETT ING。最好的建議是通過更改編譯器設置將所有警告都視為錯誤,從而將警告變成錯誤。這將迫使開發人員修復代碼中的所有歧義,因為所有問題都將被視為真實問題。

                  靜態-a nalysis工具可以幫助您找到最常見的源程序的缺陷ES在你的代碼。然而,他們也幫助發現問題,開發商往往不會想到或者什么時候擔心嘗試寫自己的代碼,尤其是當他們'重新只是搭腳手架代碼得到的東西的工作。

                  這種工具確實一個ID在開發更好的代碼,因為他們ENF奧爾塞的編碼標準。此外,動態或運行時-分析工具捕捉和觸發缺陷,只有在運行時彈出。運行時-分析工具可以同時執行的SOF程序發現代碼中的實際和潛在的錯誤tware調試器。

                  所以,當你看到所有的該缺陷可能是在你的系統,靜態分析是善于發現的一些缺陷和運行時分析是擅長精確定位等。有時小號的重疊,但在其他實例中是個缺陷只能在一個域或其他被檢測到。為了獲得最佳的代碼分析,您需要將二者結合使用,并與一流的構建工具集成在一起。  當組合不同的工具時,矩陣(圖)最能代表完整的缺陷覆蓋率。



                  請輸入搜索關鍵字

                  確定
                  中文字幕亚洲无线码在线一区_国产日产韩国精品视频_自拍偷精品亚洲手机在线_加勒比中文无码久久综合

                          <video id="5jvlp"></video>