在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

在開發生命周期的早期降低安全風險

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:JANE GOH ? 2022-11-10 16:43 ? 次閱讀

通過限制代碼中原語的數量,開發人員可以使黑客利用軟件的過程更加困難,從而增加利用成本并降低其可能性。

軟件對軍隊的野戰防御和作戰支援能力越來越重要。軍事和航空航天系統中的嵌入式軟件必須既可靠又安全,因為安全漏洞可能與行業開發的許多控制措施來防止的功能缺陷一樣危險。

許多用于解決功能或質量缺陷的相同技術也可以減少安全漏洞。在軟件開發方面,安全缺陷應被視為軟件缺陷,并作為開發過程的一部分進行管理。事實上,安全和質量之間的區別有時可能是微妙的。今天表現為系統故障的缺陷明天可能會被攻擊者利用。

缺陷本質上是潛在的利用原語1,黑客可以創造性地將其串在一起進行攻擊。開發人員可以通過消除盡可能多的原語來使攻擊者利用軟件的過程更加困難。下面的示例演示如何將多個基元鏈接在一起以實現遠程代碼執行。

多基元攻擊示例

假設駐留在遠程上的代碼中存在安全漏洞。雖然確定根本原因足以修復缺陷,但成功利用該漏洞取決于多個預先存在的條件。對于此示例的上下文,我們假設攻擊者嘗試實現遠程代碼執行 (RCE),從而在遠程計算機上運行攻擊者選擇的代碼。雖然觸發安全漏洞是實現RCE所必需的,但它實際上需要許多小步驟,我們稱之為利用原語。通過將這些原語鏈接在一起,攻擊者可以創建一個可靠工作并在漏洞利用結束后保持穩定性的漏洞利用。

在我們的示例中,攻擊者使用(但不限于)四個唯一的基元。使用的第一個原語是軟泄漏2,它利用合法的程序功能來操作目標應用程序中的內存,而不會對穩定性或安全產生影響。這些基元恰好是最常見的,因為它們依賴于預期的有效程序功能。例如,根據設計,服務器將接受來自客戶端的請求。該客戶端發送在會話終止發生之前一直保留的信息。漏洞利用編寫者可以通過確定這些請求和會話的工作原理,根據特定應用程序的功能對其內存布局做出某些假設。

下一個使用的基元是硬泄漏2。硬泄漏或資源泄漏對于大多數 C/C++ 程序員來說非常熟悉。當程序員忘記釋放在運行時動態獲取的內存時,就會發生泄漏。雖然大多數程序員認為這是一個質量問題,在最壞的情況下會導致大量內存消耗,但許多開發藝術家認為這是確保漏洞利用穩定性的機會。攻擊者可以通過永久獲取內存來確保內存的某些部分在進程的整個生存期內永遠不會被使用。

使用的第三個基元是整數溢出。如果數學運算嘗試存儲大于整數可以容納的數字,則多余的數字將丟失。多余數據的丟失有時稱為整數換行。例如,無符號 32 位整數可以保存最大正值。通過將 1 加到該最大正值,整數將在零 (UINT_MAX + 1 == 0) 處再次開始計數。一個真實的例子是汽車在行駛 100 萬英里后翻車并從零重新開始里程計數的里程表。攻擊者可以通過在分配例程中使用此溢出整數來分配比預期更少的內存。

最后,最后一個使用的基元是緩沖區溢出。這是 C/C++ 程序中最常見的具有安全影響的缺陷類型。當程序寫入超過緩沖區末尾時,會導致緩沖區溢出,從而導致相鄰內存內容損壞。在某些情況下,這可能會導致覆蓋堆棧或堆的內容,從而允許攻擊者破壞系統的正常運行,并最終接管程序的控制流。

RCE 中的原始用法

現在,基元類型已經介紹完畢,讓我們討論示例中的攻擊者如何利用它們來實現遠程代碼執行。首先,通過使用現有的程序功能,攻擊者發送有效的請求,導致根據其輸入的大小分配許多內存塊。這似乎無害,但對于實現堆確定性至關重要:將應用程序的內存布局操作到已知的理想狀態,這在利用基于堆的緩沖區溢出時是強制性的。接下來,漏洞利用作者知道一些內存一旦分配,就永遠不應該再釋放。通過利用應用程序中的硬泄漏,可以實現在進程的整個生命周期中保持內存的目標,從而提高開發后的穩定性。

觸發了導致未充分分配的堆緩沖區溢出的整數溢出。這會導致分配緩沖區的實際大小與其包含的預期數據元素數不匹配。然后,攻擊者可以利用緩沖區溢出來覆蓋相鄰內存的內容。例如,假設無法確定一張規則紙的最后一行。如果你按順序繼續寫句子,你最終會在桌子上寫字,并可能寫下那件漂亮的新襯衫。通過覆蓋相鄰內存,攻擊者可以用他控制的數據覆蓋重要信息。

無論嚴重性如何,將基元鏈接在一起的能力都可以更好地控制利用和開發后功能。如果我們的攻擊者沒有能力在應用程序中創建硬泄漏,他將不得不找出一種不同的方法來確保他的內存在會話超時時不會被釋放,或者他至少會意識到最終的程序崩潰是不可避免的。如果整數溢出不存在,我們的攻擊者根本沒有機會利用。

利用原語和安全漏洞之間的聯系可以是直接或間接的。某些類型的基元(如緩沖區溢出)可能導致許多不同類型的漏洞,具體取決于攻擊者的技能、創造力和決心。然而,顯而易見的是,擁有更多可用的原語使攻擊者更容易利用更嚴重的漏洞并開發破壞性漏洞。因此,在開發過程的早期查找和消除大量利用原語可以極大地幫助減少應用程序服務期間的安全漏洞暴露和維護成本。

保護代碼開發的實用方法

開發可靠且安全的軟件是 IT 團隊面臨的一項艱巨挑戰,因為將安全測試盡早集成到開發生命周期中的計劃尚未得到廣泛采用。這并不是說開發人員不想開發安全的產品,而是他們專注于提供新的特性和功能,并且經常面臨滿足發布截止日期的巨大壓力。除了缺乏投資加強安全性的經濟激勵外,開發人員傳統上沒有接受過安全專家的培訓。計算機科學課程的重點是培養具有成為優秀應用程序開發人員基礎的程序員,但不一定是安全專家。因此,今天的開發人員基本上沒有意識到他們可以在代碼中引入安全問題的無數種方式,并且在發現安全問題時也沒有資金來修復它們。

開發測試解決方案需要從開發人員的角度進行設計。這意味著要解決使開發人員回避傳統安全評估工具的主要問題:缺乏可用性和高誤報率。尋求將安全測試集成到其流程中的開發經理應尋找能夠提供以下功能的自動化開發測試工具:

清晰解釋缺陷,噪音小:開發人員根本沒有時間浪費時間試圖篩選嘈雜的結果,或重現實際上不存在的虛幻缺陷。他們需要易于理解且誤報盡可能少的缺陷。

在編寫代碼時及早并經常檢測缺陷:確定缺陷的確切原因需要付出大量努力,修復缺陷可能涉及大量的體系結構更改。盡早發現關鍵缺陷使開發團隊能夠預測工作負載和對發布計劃的影響,從而降低整個項目的成本。

有關如何修復安全缺陷的可操作且正確的建議:作為安全評估的一部分提供的缺陷修正建議通常不會針對軟件包中使用的相關框架、語言或庫進行自定義。開發人員很難將通用建議轉化為有效的修復程序,這通常會導致應用錯誤或不完整的修復程序,從而導致客戶流失和返工。

缺陷是軟件開發不可避免的事實。雖然可能無法完全防止在代碼開發過程中引入漏洞,但現在存在的技術和流程可以幫助開發人員盡可能快速有效地查找和修復這些缺陷。

審核編輯:郭婷

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

    關注

    12

    文章

    9295

    瀏覽量

    85907
  • C++
    C++
    +關注

    關注

    22

    文章

    2114

    瀏覽量

    73806
  • 代碼
    +關注

    關注

    30

    文章

    4823

    瀏覽量

    68926
收藏 0人收藏

    評論

    相關推薦

    德賽電池儲能全生命周期管理平臺上線

    近期,由德賽智儲研究院聯合信息技術部自主研發的儲能全生命周期管理平臺正式上線并投入運營,該系統云邊協同、智能運維、主動安全以及全生命周期管理方面,進行了前瞻性創新,推動儲能技術與管理
    的頭像 發表于 01-24 10:00 ?112次閱讀
    德賽電池儲能全<b class='flag-5'>生命周期</b>管理平臺上線

    什么是PLM產品生命周期管理系統?

    在當今競爭激烈的制造業環境中,企業不僅要關注產品的設計和生產,還需要對產品的整個生命周期進行全面管理。這包括了從產品概念構思、設計開發、生產制造、銷售分發,到最終報廢處理的每一個環節。為了高效、系統
    的頭像 發表于 11-23 16:14 ?315次閱讀
    什么是PLM產品<b class='flag-5'>生命周期</b>管理系統?

    如何確保車規級芯片全生命周期安全

    為保障質量、安全性和可靠性,汽車行業始終如一地貫徹著嚴苛的標準。然而,這種對汽車安全性和可靠性的堅定追求,也催生了對預測性維護的迫切需要,即在芯片生命周期管理(SLM)中,使用先進的監測和分析技術來預測和預防半導體組件的故障。
    的頭像 發表于 08-12 10:47 ?572次閱讀
    如何確保車規級芯片全<b class='flag-5'>生命周期</b>的<b class='flag-5'>安全</b>

    半導體產業背后的“守護者”:全生命周期測試設備解析

    半導體產業作為現代電子工業的核心,其產品的全生命周期測試對于確保產品質量、提高生產效率和降低成本具有重要意義。半導體全生命周期測試設備涵蓋了從原材料檢測到最終產品測試的一系列設備,本文將對這些設備進行詳細介紹。
    的頭像 發表于 08-10 10:05 ?433次閱讀
    半導體產業背后的“守護者”:全<b class='flag-5'>生命周期</b>測試設備解析

    半導體全生命周期測試:哪些設備默默守護你的電子產品?

    半導體產業作為現代電子工業的核心,其產品的全生命周期測試對于確保產品質量、提高生產效率和降低成本具有重要意義。半導體全生命周期測試設備涵蓋了從原材料檢測到最終產品測試的一系列設備,本文將對這些設備進行詳細介紹。
    的頭像 發表于 07-01 09:38 ?372次閱讀
    半導體全<b class='flag-5'>生命周期</b>測試:哪些設備<b class='flag-5'>在</b>默默守護你的電子產品?

    鴻蒙開發組件:DataAbility的生命周期

    應用開發者可以根據業務場景實現data.js/data.ets中的生命周期相關接口。DataAbility生命周期接口說明見下表。
    的頭像 發表于 06-20 09:39 ?484次閱讀

    鴻蒙開發:【PageAbility的生命周期

    PageAbility生命周期是PageAbility被調度到INACTIVE、ACTIVE、BACKGROUND等各個狀態的統稱。PageAbility生命周期流轉及狀態說明見如下圖1、表1所示。
    的頭像 發表于 06-17 10:05 ?739次閱讀
    鴻蒙<b class='flag-5'>開發</b>:【PageAbility的<b class='flag-5'>生命周期</b>】

    設備全生命周期管理流程有哪些?

    采購與安裝階段設備全生命周期管理系統對設備需求進行分析,記錄設備信息,確保設備正確安裝并達到預期性能。維護保養階段制定科學維護計劃,定期檢查和保養。性能優化與升級階段通過分析數據發現問題,優化設備性能。
    的頭像 發表于 06-13 15:21 ?868次閱讀
    設備全<b class='flag-5'>生命周期</b>管理流程有哪些?

    鴻蒙Ability Kit(程序框架服務)【UIAbility組件生命周期】實例

    本文檔主要描述了應用運行過程中UIAbility和自定義組件的生命周期。對于UIAbility,描述了Create、Foreground、Background、Destroy四種生命周期。對于頁面
    的頭像 發表于 05-31 15:03 ?1167次閱讀
    鴻蒙Ability Kit(程序框架服務)【UIAbility組件<b class='flag-5'>生命周期</b>】實例

    如何保護電子元器件以延長生命周期

    電子電力領域,許多關鍵應用要求設備必須運行很長一段時間,甚至幾十年。尤其是對于航空航天、國防、能源和醫療行業方面而言,為了保持設備正常運行,必須在其整個生命周期內持續供應組件。那么,如何保護電子
    的頭像 發表于 05-31 13:59 ?629次閱讀
    如何保護電子元器件以延長<b class='flag-5'>生命周期</b>

    鴻蒙Ability Kit(程序框架服務)【UIAbility組件生命周期

    當用戶打開、切換和返回到對應應用時,應用中的UIAbility實例會在其生命周期的不同狀態之間轉換。UIAbility類提供了一系列回調,通過這些回調可以知道當前UIAbility實例的某個狀態發生改變,會經過UIAbility實例的創建和銷毀,或者UIAbility實例
    的頭像 發表于 05-30 21:51 ?1612次閱讀
    鴻蒙Ability Kit(程序框架服務)【UIAbility組件<b class='flag-5'>生命周期</b>】

    Traveo II B-H中的SECURE和SECURE_WITH_DEBUG生命周期階段有何不同?

    Traveo II B-H 中的 SECURE 和 SECURE_WITH_DEBUG 生命周期階段有何不同?
    發表于 05-21 07:07

    HarmonyOS開發案例:【UIAbility和自定義組件生命周期

    本文檔主要描述了應用運行過程中UIAbility和自定義組件的生命周期。對于UIAbility,描述了Create、Foreground、Background、Destroy四種生命周期。對于頁面
    的頭像 發表于 05-10 15:31 ?1324次閱讀
    HarmonyOS<b class='flag-5'>開發</b>案例:【UIAbility和自定義組件<b class='flag-5'>生命周期</b>】

    什么是設備全生命周期管理系統?

    設備全生命周期管理系統是一款能夠對設備進行全周期數字化管理的軟件平臺,它通過將設備信息電子化,使得設備的管理和監督更加便捷。這個系統不僅涵蓋了設備的采購、使用、維修、報廢等各個階段,還能夠對設備
    的頭像 發表于 02-26 14:21 ?1270次閱讀
    什么是設備全<b class='flag-5'>生命周期</b>管理系統?

    半導體測試設備大盤點:全生命周期無死角檢測

    半導體產業作為現代電子工業的核心,其產品的全生命周期測試對于確保產品質量、提高生產效率和降低成本具有重要意義。半導體全生命周期測試設備涵蓋了從原材料檢測到最終產品測試的一系列設備,本文將對這些設備進行詳細介紹。
    的頭像 發表于 02-02 09:46 ?2529次閱讀
    半導體測試設備大盤點:全<b class='flag-5'>生命周期</b>無死角檢測

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品
    主站蜘蛛池模板: 五月婷婷免费视频 | 黄到让你下面湿的视频 | 成人网视频免费播放 | 一区二区手机视频 | 毛片8| a男人的天堂久久a毛片 | 我被黑人巨大开嫩苞在线观看 | 99成人| 免费观看视频网站 | 欧美另类图片亚洲偷 | 亚洲午夜精品久久久久久成年 | 国产三片理论电影在线 | 丁香视频在线观看播放 | 四虎最新免费观看网址 | 69堂在线观看国产成人 | 97影院午夜午夜伦不卡 | 亚洲综合欧美日本另类激情 | 一丝不遮视频免费观看 | www在线视频在线播放 | 国产一级大片免费看 | 国产片无遮挡在线看床戏 | 免费在线黄色网址 | 一区二区福利 | 黄网站色视频 | 亚洲区| 欧美sese | 四虎成人精品在永久在线观看 | 亚洲男人的天堂在线播放 | 三级视频在线播放线观看 | 免费在线看黄色 | 国产一区二区三区四卡 | 手机在线看 | 久久国产精品夜色 | 美女露出扒开尿口让男人桶 | 成人精品视频在线观看播放 | 狠狠色丁香婷婷久久 | 国产网站免费看 | 激情五月在线 | 亚洲激情视频网站 | 深夜视频免费看 | 四虎永久在线精品免费观看地址 |