色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

與您一路同行:從代碼質量到全面安全

半導體芯科技SiSC ? 來源:半導體芯科技SiSC ? 作者:半導體芯科技SiS ? 2023-12-01 09:07 ? 次閱讀

作者:Shawn Prestridge,IAR資深現場應用工程師 / 美國FAE團隊負責人

安全一直都是一個非常熱門的話題,似乎每周都會聽到這樣的消息:某某公司如何被入侵,數百萬用戶的數據被泄露。

我們看到這么多的安全問題,部分原因在于我們對待安全的方式:安全性通常被認為是事后考慮的問題,是在開發結束時才添加到設備上的東西。然而,復雜的系統,尤其是嵌入式系統,有一個很大的攻擊面,這讓攻擊者有機可乘,能夠在“盔甲”上找到破綻。如果你去研究大部分黑客試圖入侵系統的方式,你很快就會發現,在他們的武器庫中,他們最喜歡的手段就是尋找和利用設備的軟件漏洞。

如果軟件漏洞是黑客所利用的入口,那么我們就需要提高自己的代碼質量來解決這個問題。但是,這個問題有多嚴重,我們能做什么來解決它呢?

代碼漏洞容易成為黑客的目標

代碼質量糟糕實際上是一個普遍存在的問題,而且有相當多的證據支持這樣的說法:糟糕的編碼直接導致了漏洞。雖然許多軟件工程專家多年來一直在宣揚這一點,但人們第一次真正意識到這一點也許是在2001年,當時紅色代碼(Code Red)蠕蟲對微軟的互聯網信息服務(IIS)施加了緩沖區溢出攻擊。[1]雖然第一個有記載的緩沖區溢出攻擊發生在1988年,針對的是Unix的finger指令,但對普通人的影響十分有限,因此沒有上頭條新聞。

由于紅色代碼造成了大規模的互聯網減速,并在新聞報道中鋪天蓋地的傳播,突然間,我們隨處都能看到緩沖區溢出攻擊的增加,看上去安全研究人員和黑客都在各種系統(包括嵌入式系統)中到處尋找這些漏洞。利用緩沖區溢出攻擊,黑客可以在受影響的系統上運行他們想要運行的任何代碼,其目標是使用固定長度的緩沖區來保存文本或數據的一切代碼。黑客將緩沖區空間填充到最大,然后在合法緩沖區空間的末端寫下可執行代碼。然后,被攻擊的系統就會執行緩沖區末端的代碼,在許多情況下,這就可以使攻擊者為所欲為了。[2]

這種類型的攻擊之所以成為緊急事件,是因為當時檢查和執行緩沖區限制的編碼并不普遍,但現在許多編碼標準,如mitre.org的通用缺陷列表(Common Weakness Enumeration,CWE),都建議檢查緩沖區是否存在這種類型的漏洞。[3]遺憾的是,開發人員在編寫代碼時普遍都不去尋找這個問題,通常需要代碼分析工具來發現這些問題,這樣開發人員才會意識到問題的存在并加以修復。像這樣一個簡單的代碼質量改進,就可以消除黑客最常使用的手段之一,從而大大提高代碼的安全性。因此,檢查并執行代碼中的緩沖區長度,這樣的編碼才是好編碼。

不僅僅是緩沖區溢出

然而,問題不僅僅在于緩沖區溢出,這實際上是一個系統性問題,草率的編碼通常會導致無數的安全漏洞,而黑客可以利用這些漏洞來入侵系統。美國軟件工程學會(SEI)發表的一篇論文將這一點說得非常清楚:

“......質量性能指標為確定高質量產品、預測安全和保障結果提供了依據。通用缺陷列表(CWE)中的許多內容,如編程語言結構的不當使用、緩沖區溢出、驗證輸入值失敗等,都可能與低質量的編碼和開發過程有關。提高代碼質量是解決一些軟件安全問題的必要條件。”[4]

該論文還指出,因為許多安全問題是由軟件漏洞引起的,因此可以像處理更普通的編碼漏洞一樣處理安全問題,您可以應用傳統的質量保證技術來幫助解決至少一部分安全問題。

既然正常的軟件質量保證過程可以讓我們估計系統中剩余的漏洞數量,那么可以對安全漏洞做同樣的事情嗎?雖然SEI沒有確認代碼質量和安全性之間的數學關系,但他們確實指出,1%到5%的軟件漏洞是安全漏洞,并繼續指出,他們的證據表明當安全漏洞被追蹤時,他們可以準確地估計系統中的代碼質量水平。[4]這最終表明,代碼質量是安全的必要條件(但不是充分條件),真正讓“安全性可以被視為開發結束時才添加到設備上的東西”這一概念不攻自破。相反,安全性必須貫穿項目的DNA,從設計到編碼,一直到生產。

編碼標準可提供很大的幫助

許多最常見的安全漏洞都在諸如mitre.org的通用缺陷列表等編碼標準中得到了解決,并指出了需要關注的其他方面,如除零錯誤、數據注入、循環不規則、空指針利用和字符串解析錯誤。MISRA C和MISRA C++還提倡編碼的安全性和可靠性,以防止安全漏洞滲入你的代碼。雖然這些編碼標準可以捕捉到許多常見的漏洞,但開發人員在編寫代碼時必須考慮得更長遠:黑客是如何利用我剛剛編寫的代碼的?漏洞在哪里?我是否對輸入會是什么樣子以及輸出會如何使用做了假設?一個好的經驗法則是,如果你在做假設,那么這些假設應該變成代碼,以確保你所期待的東西實際上就是你所要得到的。如果你不這樣做,那么黑客就會出手了。

但是開源軟件呢?在設計中使用開源組件的典型論點依賴于“已在使用中被證明”(proven in use)的論點:這么多人使用它,它一定是好的。SEI的同一篇論文對于這個問題也有一些闡述:

“除了免費之外,開源所宣揚的好處之一,就是認為‘有很多人關注源代碼意味著安全問題可以很快被發現,任何人都可以修復漏洞,不需要依賴供應商’。然而,現實情況是,如果沒能有紀律地、一致地把關注點放在消除漏洞上,安全漏洞和其他漏洞將出現在代碼中。”[4]

換句話說,SEI認為,“已在使用中被證明”的論點毫無意義,并且在將質量保證應用于開源代碼時,會讓人想起Anybody、Somebody、Nobody和Everybody的故事。此外,你的測試并不足以證明代碼是令人滿意的。SEI表示,像CWE這樣的代碼質量標準可以發現你代碼中的問題,而這些問題往往不會在標準測試中被發現,通常只有在黑客利用漏洞時才會被發現。[4]為了證明這一點,2020年5月,普渡大學的研究人員展示了在Linux、macOS、Windows和FreeBSD中使用的開源USB堆棧的26個漏洞。[5]所以,談及安全性時,代碼質量是關鍵,并且所有代碼都很重要。

代碼分析工具有助于遵守標準

在解決代碼質量問題上,我們可以做些什么來提高自己應用程序的安全性呢?簡單的答案就是使用代碼分析工具,這些工具有兩種基本類型:靜態分析工具和運行時(或動態)分析工具,靜態分析只查看應用程序的源代碼,而運行時分析則是對代碼進行檢測,尋找空指針和數據注入方法等漏洞。IAR可以同時提供這兩種工具,包括靜態分析工具IAR C-STAT和運行時分析工具IAR C-RUN,它們都完全集成在IAR Embedded Workbench開發環境中。高質量的代碼分析工具包括對CWE、MISRA和CERT C的檢查。CERT C是另外一種編碼標準,旨在促進編碼安全。這三個規則集共同構成了一個優質組合,有助于實現可提升安全性的編碼:一些規則集與其他規則集有重合之處,但也提供了一些獨特的功能,可以幫助確保你的代碼具有高度的安全性。使用這些標準也有助于確保你擁有最高的代碼質量,甚至可能發現代碼中的一些潛在漏洞。

高質量的代碼就是安全的代碼

保證代碼質量才能確保代碼安全。不要把代碼質量的責任推給別人,因為別人的漏洞很可能給你帶來安全性方面的噩夢。但希望還是有的,因為代碼分析工具可以幫助你在漏洞找麻煩之前迅速發現問題。通往安全的道路總是要經過代碼質量這一關口。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 半導體
    +關注

    關注

    334

    文章

    27652

    瀏覽量

    221278
  • 代碼
    +關注

    關注

    30

    文章

    4819

    瀏覽量

    68879
收藏 人收藏

    評論

    相關推薦

    TVP5158 4video in只用一路,剩下的三怎么處理?懸空還是怎樣?

    如題,我如果只用1剩下的三怎么處理?懸空還是怎樣?四我選任意一路作為IN,沒有區別吧?我不需要推薦TVP5150 。謝謝。
    發表于 01-17 08:33

    如何提高嵌入式代碼質量

    技術 現代的嵌入式開發工具和測試技術可以極大地提升代碼質量和開發效率: 1. 靜態分析工具:如Coverity、Lint等,能夠幫助發現潛在的代碼缺陷和安全漏洞。 2. 單元測試和集
    發表于 01-15 10:48

    安靠智電入選“一路”建設經典案例

    近日,江蘇安靠智電股份有限公司(簡稱“安靠智電”)憑借其卓越的技術創新和海外市場拓展能力,成功入選由絲路規劃研究中心精心編制的“一路”建設經典案例,成為民營電力裝備企業中的唯代表。 此次入選
    的頭像 發表于 01-07 14:58 ?188次閱讀

    攜手同行,感恩有!2024年終感謝函

    攜手同行,感恩有!2024年終感謝函
    的頭像 發表于 12-31 08:02 ?101次閱讀
    攜手<b class='flag-5'>同行</b>,感恩有<b class='flag-5'>您</b>!2024年終感謝函

    DAC7724為什么會壞一路而不是全部壞呢?

    請教下DAC7724芯片會什么會壞一路啊 而不是全部壞呢 很困擾這個芯片最近老發生此類問題
    發表于 12-30 06:17

    afe5803 SPI控制VCAT 8一路單獨控制還是只能起控制?

    afe5803SPI控制VCAT 8一路單獨控制還是只能起控制? 如何選擇digital VCNTL mode,哪里可以找到digital Vcntl相關?
    發表于 12-20 07:04

    DS90UB948軟件能控制LVDS信號的幅度,為什么軟件調控過后,只有一路的幅度能增大,另外一路沒變化?

    DS90UB948軟件能控制LVDS信號的幅度,但是為什么軟件調控過后,只有一路的幅度能增大,另外一路沒變化,求解釋
    發表于 12-20 06:19

    AIC3254使用一路mic輸入不使用mono mixer時音量要低很多,為什么?怎么解決?

    兩個mic輸入,用mono mixer把兩輸入合成一路,再用split分開兩輸出。 這樣輸出的聲音較之前使用一路mic輸入不使用mono mixer時音量要低很多,這是為什么呢?
    發表于 11-05 06:22

    PCM1864EVM有8音頻輸入,可以同時得到這8的每一路信號嗎?

    1)PCM1864EVM 有8音頻輸入,可以同時得到這8的每一路信號嗎?如果不能最多能得到幾路? 2)PCM1864EVM 的USB插到計算機上,設置為mode2模式 僅有2
    發表于 10-28 06:35

    PCM1861只支持一路立體聲輸入?

    PCM186x手冊看到,軟控版本可以對輸入的四個通道進行單獨選擇,選擇一路立體聲或者選擇其中幾路立體聲進行輸入的混合,但是并沒看到有關硬控版本的PCM1861的相關說明。是否在硬控模式下
    發表于 09-29 08:47

    西井科技聯合成立長三角“一路”高質量發展促進會

    第六屆長三角體化發展高層論壇在浙江溫州舉行,長三角“一路”高質量發展促進會在現場揭牌。該促進會以中國貿促會為業務主管單位,由包括上海西井科技股份有限公司(簡稱“西井科技”)在內的
    的頭像 發表于 09-23 15:24 ?462次閱讀

    運算放大器,芯片電阻電容之類的都樣,一路能放大信號,另一路就不能,為什么?

    運算放大器,芯片電阻電容之類的都樣,但是一路能放大信號,另一路就不能,這可能使什么原因
    發表于 09-23 07:08

    使用兩塊AD5412,想要一路電壓,一路電流輸出,但是配置后 兩塊芯片還是不能同時分開輸出電流和電壓,為什么?

    使用兩塊AD5412,想要一路電壓,一路電流輸出,但是配置后 兩塊芯片還是不能同時分開輸出電流和電壓。 比如:我先配置1號DAC,輸出電壓,然后再配置2號DAC輸出電壓,這樣兩電壓是正常的。這個時候改變任意通道,配置成電流,另
    發表于 07-11 07:05

    tc397的dtm模塊輸出組pwm,可否讓其中一路直是高電平或低電平,另一路正常輸出pwm呢?

    tc397的dtm模塊輸出組pwm,可否讓其中一路直是高電平或低電平,另一路正常輸出pwm
    發表于 07-05 06:43

    一路RS485信號轉LoRa和4G輸出方案

    本文旨在提出種簡單可靠的“一路RS485信號轉一路LoRa和一路4G信號輸出解決方案”,實現將個RS485輸出信號轉發到兩個不同的設備或
    的頭像 發表于 05-09 14:52 ?919次閱讀
    <b class='flag-5'>一路</b>RS485信號轉LoRa和4G輸出方案
    主站蜘蛛池模板: 欧美精品专区免费观看| 把极品白丝班长啪到腿软| 亚洲区视频在线观看| 87.6在线收听| 国产人妻午夜无码AV天堂| 久久中文字幕免费视频| 婷婷色色狠狠爱| 9420高清免费观看在线大全| 国产剧果冻传媒星空在线观看| 欧美精品AV精品一区视频| 一个人视频日本在线观看| 国产精品7777人妻精品冫 | 羲义嫁密着中出交尾gvg794| 最新国产精品福利2020| 国产亚洲精品线观看不卡| 欧美怡红院视频一区二区三区| 亚洲一区二区三不卡高清| 工口肉肉彩色不遮挡| 免费看国产曰批40分钟| 亚洲最大日夜无码中文字幕| 国产三级在线免费观看| 色尼玛亚洲综合| z0000性欧美| 嫩草影院精品视频在线观看| 在线欧美精品一区二区三区| 国内精品久久久久影院老司| 色婷婷粉嫩AV精品综合在线| silk118中文字幕无删减| 麻豆E奶女教师国产精品| 亚洲一区免费看| 国产真实女人一级毛片| 无码国产色欲XXXX视频| 福利免费观看体检区| 秋霞三级理伦免费观看| 91在线一区二区| 麻豆高潮AV久久久久久久| 中文无码不卡的岛国片国产片| 精品人伦一区二区三区潘金莲 | 真人裸交有声性动态图| 久久9精品区-无套内射无码| 亚洲九九视频|