chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在開(kāi)發(fā)生命周期的早期降低安全風(fēng)險(xiǎn)

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:JANE GOH ? 2022-11-10 16:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過(guò)限制代碼中原語(yǔ)的數(shù)量,開(kāi)發(fā)人員可以使黑客利用軟件的過(guò)程更加困難,從而增加利用成本并降低其可能性。

軟件對(duì)軍隊(duì)的野戰(zhàn)防御和作戰(zhàn)支援能力越來(lái)越重要。軍事和航空航天系統(tǒng)中的嵌入式軟件必須既可靠又安全,因?yàn)榘踩┒纯赡芘c行業(yè)開(kāi)發(fā)的許多控制措施來(lái)防止的功能缺陷一樣危險(xiǎn)。

許多用于解決功能或質(zhì)量缺陷的相同技術(shù)也可以減少安全漏洞。在軟件開(kāi)發(fā)方面,安全缺陷應(yīng)被視為軟件缺陷,并作為開(kāi)發(fā)過(guò)程的一部分進(jìn)行管理。事實(shí)上,安全和質(zhì)量之間的區(qū)別有時(shí)可能是微妙的。今天表現(xiàn)為系統(tǒng)故障的缺陷明天可能會(huì)被攻擊者利用。

缺陷本質(zhì)上是潛在的利用原語(yǔ)1,黑客可以創(chuàng)造性地將其串在一起進(jìn)行攻擊。開(kāi)發(fā)人員可以通過(guò)消除盡可能多的原語(yǔ)來(lái)使攻擊者利用軟件的過(guò)程更加困難。下面的示例演示如何將多個(gè)基元鏈接在一起以實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行。

多基元攻擊示例

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

在我們的示例中,攻擊者使用(但不限于)四個(gè)唯一的基元。使用的第一個(gè)原語(yǔ)是軟泄漏2,它利用合法的程序功能來(lái)操作目標(biāo)應(yīng)用程序中的內(nèi)存,而不會(huì)對(duì)穩(wěn)定性或安全產(chǎn)生影響。這些基元恰好是最常見(jiàn)的,因?yàn)樗鼈円蕾囉陬A(yù)期的有效程序功能。例如,根據(jù)設(shè)計(jì),服務(wù)器將接受來(lái)自客戶端的請(qǐng)求。該客戶端發(fā)送在會(huì)話終止發(fā)生之前一直保留的信息。漏洞利用編寫(xiě)者可以通過(guò)確定這些請(qǐng)求和會(huì)話的工作原理,根據(jù)特定應(yīng)用程序的功能對(duì)其內(nèi)存布局做出某些假設(shè)。

下一個(gè)使用的基元是硬泄漏2。硬泄漏或資源泄漏對(duì)于大多數(shù) C/C++ 程序員來(lái)說(shuō)非常熟悉。當(dāng)程序員忘記釋放在運(yùn)行時(shí)動(dòng)態(tài)獲取的內(nèi)存時(shí),就會(huì)發(fā)生泄漏。雖然大多數(shù)程序員認(rèn)為這是一個(gè)質(zhì)量問(wèn)題,在最壞的情況下會(huì)導(dǎo)致大量?jī)?nèi)存消耗,但許多開(kāi)發(fā)藝術(shù)家認(rèn)為這是確保漏洞利用穩(wěn)定性的機(jī)會(huì)。攻擊者可以通過(guò)永久獲取內(nèi)存來(lái)確保內(nèi)存的某些部分在進(jìn)程的整個(gè)生存期內(nèi)永遠(yuǎn)不會(huì)被使用。

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

最后,最后一個(gè)使用的基元是緩沖區(qū)溢出。這是 C/C++ 程序中最常見(jiàn)的具有安全影響的缺陷類型。當(dāng)程序?qū)懭氤^(guò)緩沖區(qū)末尾時(shí),會(huì)導(dǎo)致緩沖區(qū)溢出,從而導(dǎo)致相鄰內(nèi)存內(nèi)容損壞。在某些情況下,這可能會(huì)導(dǎo)致覆蓋堆?;蚨训膬?nèi)容,從而允許攻擊者破壞系統(tǒng)的正常運(yùn)行,并最終接管程序的控制流。

RCE 中的原始用法

現(xiàn)在,基元類型已經(jīng)介紹完畢,讓我們討論示例中的攻擊者如何利用它們來(lái)實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行。首先,通過(guò)使用現(xiàn)有的程序功能,攻擊者發(fā)送有效的請(qǐng)求,導(dǎo)致根據(jù)其輸入的大小分配許多內(nèi)存塊。這似乎無(wú)害,但對(duì)于實(shí)現(xiàn)堆確定性至關(guān)重要:將應(yīng)用程序的內(nèi)存布局操作到已知的理想狀態(tài),這在利用基于堆的緩沖區(qū)溢出時(shí)是強(qiáng)制性的。接下來(lái),漏洞利用作者知道一些內(nèi)存一旦分配,就永遠(yuǎn)不應(yīng)該再釋放。通過(guò)利用應(yīng)用程序中的硬泄漏,可以實(shí)現(xiàn)在進(jìn)程的整個(gè)生命周期中保持內(nèi)存的目標(biāo),從而提高開(kāi)發(fā)后的穩(wěn)定性。

觸發(fā)了導(dǎo)致未充分分配的堆緩沖區(qū)溢出的整數(shù)溢出。這會(huì)導(dǎo)致分配緩沖區(qū)的實(shí)際大小與其包含的預(yù)期數(shù)據(jù)元素?cái)?shù)不匹配。然后,攻擊者可以利用緩沖區(qū)溢出來(lái)覆蓋相鄰內(nèi)存的內(nèi)容。例如,假設(shè)無(wú)法確定一張規(guī)則紙的最后一行。如果你按順序繼續(xù)寫(xiě)句子,你最終會(huì)在桌子上寫(xiě)字,并可能寫(xiě)下那件漂亮的新襯衫。通過(guò)覆蓋相鄰內(nèi)存,攻擊者可以用他控制的數(shù)據(jù)覆蓋重要信息。

無(wú)論嚴(yán)重性如何,將基元鏈接在一起的能力都可以更好地控制利用和開(kāi)發(fā)后功能。如果我們的攻擊者沒(méi)有能力在應(yīng)用程序中創(chuàng)建硬泄漏,他將不得不找出一種不同的方法來(lái)確保他的內(nèi)存在會(huì)話超時(shí)時(shí)不會(huì)被釋放,或者他至少會(huì)意識(shí)到最終的程序崩潰是不可避免的。如果整數(shù)溢出不存在,我們的攻擊者根本沒(méi)有機(jī)會(huì)利用。

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

保護(hù)代碼開(kāi)發(fā)的實(shí)用方法

開(kāi)發(fā)可靠且安全的軟件是 IT 團(tuán)隊(duì)面臨的一項(xiàng)艱巨挑戰(zhàn),因?yàn)閷踩珳y(cè)試盡早集成到開(kāi)發(fā)生命周期中的計(jì)劃尚未得到廣泛采用。這并不是說(shuō)開(kāi)發(fā)人員不想開(kāi)發(fā)安全的產(chǎn)品,而是他們專注于提供新的特性和功能,并且經(jīng)常面臨滿足發(fā)布截止日期的巨大壓力。除了缺乏投資加強(qiáng)安全性的經(jīng)濟(jì)激勵(lì)外,開(kāi)發(fā)人員傳統(tǒng)上沒(méi)有接受過(guò)安全專家的培訓(xùn)。計(jì)算機(jī)科學(xué)課程的重點(diǎn)是培養(yǎng)具有成為優(yōu)秀應(yīng)用程序開(kāi)發(fā)人員基礎(chǔ)的程序員,但不一定是安全專家。因此,今天的開(kāi)發(fā)人員基本上沒(méi)有意識(shí)到他們可以在代碼中引入安全問(wèn)題的無(wú)數(shù)種方式,并且在發(fā)現(xiàn)安全問(wèn)題時(shí)也沒(méi)有資金來(lái)修復(fù)它們。

開(kāi)發(fā)測(cè)試解決方案需要從開(kāi)發(fā)人員的角度進(jìn)行設(shè)計(jì)。這意味著要解決使開(kāi)發(fā)人員回避傳統(tǒng)安全評(píng)估工具的主要問(wèn)題:缺乏可用性和高誤報(bào)率。尋求將安全測(cè)試集成到其流程中的開(kāi)發(fā)經(jīng)理應(yīng)尋找能夠提供以下功能的自動(dòng)化開(kāi)發(fā)測(cè)試工具:

清晰解釋缺陷,噪音?。洪_(kāi)發(fā)人員根本沒(méi)有時(shí)間浪費(fèi)時(shí)間試圖篩選嘈雜的結(jié)果,或重現(xiàn)實(shí)際上不存在的虛幻缺陷。他們需要易于理解且誤報(bào)盡可能少的缺陷。

在編寫(xiě)代碼時(shí)及早并經(jīng)常檢測(cè)缺陷:確定缺陷的確切原因需要付出大量努力,修復(fù)缺陷可能涉及大量的體系結(jié)構(gòu)更改。盡早發(fā)現(xiàn)關(guān)鍵缺陷使開(kāi)發(fā)團(tuán)隊(duì)能夠預(yù)測(cè)工作負(fù)載和對(duì)發(fā)布計(jì)劃的影響,從而降低整個(gè)項(xiàng)目的成本。

有關(guān)如何修復(fù)安全缺陷的可操作且正確的建議:作為安全評(píng)估的一部分提供的缺陷修正建議通常不會(huì)針對(duì)軟件包中使用的相關(guān)框架、語(yǔ)言或庫(kù)進(jìn)行自定義。開(kāi)發(fā)人員很難將通用建議轉(zhuǎn)化為有效的修復(fù)程序,這通常會(huì)導(dǎo)致應(yīng)用錯(cuò)誤或不完整的修復(fù)程序,從而導(dǎo)致客戶流失和返工。

缺陷是軟件開(kāi)發(fā)不可避免的事實(shí)。雖然可能無(wú)法完全防止在代碼開(kāi)發(fā)過(guò)程中引入漏洞,但現(xiàn)在存在的技術(shù)和流程可以幫助開(kāi)發(fā)人員盡可能快速有效地查找和修復(fù)這些缺陷。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    10102

    瀏覽量

    90912
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2122

    瀏覽量

    76719
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4942

    瀏覽量

    73167
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何利用技術(shù)實(shí)現(xiàn)裝置數(shù)據(jù)驗(yàn)證的全生命周期管理?

    效率與合規(guī)性。以下從 “階段拆解 + 技術(shù)落地” 角度,詳細(xì)說(shuō)明實(shí)現(xiàn)路徑,并結(jié)合行業(yè)案例強(qiáng)化可操作性。 一、先明確:裝置數(shù)據(jù)驗(yàn)證全生命周期的核心階段 落地技術(shù)前,需先錨定全生命周期的關(guān)鍵環(huán)節(jié) —— 每個(gè)階段的目標(biāo)不同,技術(shù)
    的頭像 發(fā)表于 09-05 15:23 ?534次閱讀
    如何利用技術(shù)實(shí)現(xiàn)裝置數(shù)據(jù)驗(yàn)證的全<b class='flag-5'>生命周期</b>管理?

    掌控汽車信息安全生命周期:合規(guī)、實(shí)現(xiàn)、驗(yàn)證的協(xié)同之道

    智能網(wǎng)聯(lián)汽車產(chǎn)業(yè)加速發(fā)展,信息安全挑戰(zhàn)日益嚴(yán)峻。經(jīng)緯恒潤(rùn)提供全生命周期解決方案,涵蓋MCU安全、軟件代碼管理和自動(dòng)化測(cè)試,確保滿足GB/R155/ISO等法規(guī)標(biāo)準(zhǔn)要求,助力企業(yè)實(shí)現(xiàn)合規(guī)防護(hù)。
    的頭像 發(fā)表于 08-22 14:26 ?1698次閱讀
    掌控汽車信息<b class='flag-5'>安全</b>全<b class='flag-5'>生命周期</b>:合規(guī)、實(shí)現(xiàn)、驗(yàn)證的協(xié)同之道

    【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù)

    【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、生命周期階段: 創(chuàng)建階段 build: 構(gòu)建組件
    的頭像 發(fā)表于 07-11 18:24 ?818次閱讀

    CYW20706的生命周期狀態(tài)如何?

    CYW20706的生命周期狀態(tài)如何? 我注意到CYW20706不再列AIROC? Bluetooth? LE& Bluetooth? 下。貿(mào)澤現(xiàn)在還將該器件列為不建議用于未來(lái)設(shè)計(jì)。 對(duì)于CYW20706來(lái)說(shuō),什么是好的更換零件。 還會(huì)有支持 LE Audio 的
    發(fā)表于 07-04 07:25

    關(guān)于生命周期中的aboutToAppear和onPageShow的理解和應(yīng)用

    ?##HarmonyOS 應(yīng)用開(kāi)發(fā)## 官網(wǎng)的“自定義組件的生命周期”這一章節(jié)當(dāng)中介紹的生命周期中,有兩個(gè)對(duì)開(kāi)發(fā)我覺(jué)得很重要的
    發(fā)表于 06-30 17:32

    如何在MCXN947微控制器上配置安全啟動(dòng)和生命周期

    本文檔旨在介紹如何在MCXN947微控制器上配置安全啟動(dòng)和生命周期,以確保產(chǎn)品量產(chǎn)階段的安全性,防止代碼被竊取和篡改,并且能夠安全地升級(jí)更
    的頭像 發(fā)表于 06-26 09:49 ?2102次閱讀
    如何在MCXN947微控制器上配置<b class='flag-5'>安全</b>啟動(dòng)和<b class='flag-5'>生命周期</b>

    ArkUI-X中Plugin生命周期開(kāi)發(fā)指南

    ArkUI-X插件用于拓展ArkUI應(yīng)用的能力,提供管理插件生命周期的能力。本文主要介紹Android平臺(tái)的ArkUI-X插件生命周期的使用。 Android平臺(tái)創(chuàng)建ArkUI-X插件生命周期
    發(fā)表于 06-04 22:36

    ServiceAbility的生命周期介紹

    ServiceAbility的生命周期 開(kāi)發(fā)者可以根據(jù)業(yè)務(wù)場(chǎng)景重寫(xiě)生命周期相關(guān)接口。ServiceAbility生命周期接口說(shuō)明見(jiàn)下表。 表1 ServiceAbility
    發(fā)表于 05-28 08:22

    UIAbility組件生命周期介紹

    知道當(dāng)前UIAbility實(shí)例的某個(gè)狀態(tài)發(fā)生改變,會(huì)經(jīng)過(guò)UIAbility實(shí)例的創(chuàng)建和銷毀,或者UIAbility實(shí)例發(fā)生了前后臺(tái)的狀態(tài)切換。 UIAbility的生命周期包括Create
    發(fā)表于 05-16 08:28

    KaihongOS操作系統(tǒng):頁(yè)面的生命周期介紹

    頁(yè)面的生命周期 KaihongOS中,學(xué)習(xí)頁(yè)面的生命周期前需要先了解自定義組件。 1. 自定義組件(Component) 自定義組件是通過(guò)@Component裝飾的UI單元,可以組合多個(gè)系統(tǒng)
    發(fā)表于 04-25 08:18

    KaihongOS操作系統(tǒng):UIAbility的生命周期

    UIAbility的生命周期 KaihongOS中,EntryAbility.ets 是一個(gè)關(guān)鍵的文件,它定義了應(yīng)用的入口Ability。以下是EntryAbility.ets中涉及的生命周期
    發(fā)表于 04-25 07:04

    一文讀懂產(chǎn)品生命周期管理系統(tǒng)(PLM)?

    在當(dāng)今快速迭代的制造業(yè)和科技領(lǐng)域,企業(yè)能否高效管理產(chǎn)品從概念到退市的全生命周期,已成為其核心競(jìng)爭(zhēng)力的重要體現(xiàn)。產(chǎn)品生命周期管理系統(tǒng)(Product Lifecycle Management, PLM
    的頭像 發(fā)表于 03-10 17:09 ?2088次閱讀
    一文讀懂產(chǎn)品<b class='flag-5'>生命周期</b>管理系統(tǒng)(PLM)?

    PLM產(chǎn)品生命周期管理系統(tǒng)需要采集哪些數(shù)據(jù)

    在當(dāng)今競(jìng)爭(zhēng)激烈的商業(yè)環(huán)境中,企業(yè)要想保持領(lǐng)先地位,實(shí)現(xiàn)可持續(xù)發(fā)展,就必須不斷優(yōu)化產(chǎn)品研發(fā)、生產(chǎn)和管理流程。而PLM(產(chǎn)品生命周期管理系統(tǒng)),正是企業(yè)實(shí)現(xiàn)這一目標(biāo)的關(guān)鍵利器,它是一種先進(jìn)的管理
    的頭像 發(fā)表于 02-24 17:13 ?907次閱讀
    PLM產(chǎn)品<b class='flag-5'>生命周期</b>管理系統(tǒng)需要采集哪些數(shù)據(jù)

    設(shè)備全生命周期管理系統(tǒng),一站式管控設(shè)備 “一生”

    文章探討了設(shè)備全生命周期管理的概念和實(shí)踐,闡述了中設(shè)智控設(shè)備全生命周期管理方面的技術(shù)優(yōu)勢(shì)和應(yīng)用案例。文章指出,全生命周期管理的核心價(jià)值在于降低
    的頭像 發(fā)表于 02-21 10:09 ?1582次閱讀
    設(shè)備全<b class='flag-5'>生命周期</b>管理系統(tǒng),一站式管控設(shè)備 “一生”

    PLM解決方案,產(chǎn)品生命周期管理軟件

    PLM解決方案產(chǎn)品生命周期管理軟件規(guī)劃、開(kāi)發(fā)和交付超越客戶期望的創(chuàng)新產(chǎn)品。借助我們適用于任意規(guī)模的可擴(kuò)展、適應(yīng)性強(qiáng)的PLM解決方案,利用準(zhǔn)確的產(chǎn)品數(shù)據(jù)推動(dòng)多學(xué)科團(tuán)隊(duì)之間的協(xié)作。優(yōu)化產(chǎn)品生命周期客戶
    的頭像 發(fā)表于 02-10 10:15 ?854次閱讀
    PLM解決方案,產(chǎn)品<b class='flag-5'>生命周期</b>管理軟件