日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

在開發(fā)生命周期的早期降低安全風險

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:JANE GOH ? 2022-11-10 16:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

多基元攻擊示例

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

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

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

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

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

RCE 中的原始用法

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

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

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

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

保護代碼開發(fā)的實用方法

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

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

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

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

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

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

審核編輯:郭婷

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

    關注

    14

    文章

    10386

    瀏覽量

    91785
  • C++
    C++
    +關注

    關注

    22

    文章

    2131

    瀏覽量

    77428
  • 代碼
    +關注

    關注

    30

    文章

    4977

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Altera三大FPGA系列產(chǎn)品生命周期支持延至2045年

    近日,全球最大專注于 FPGA 解決方案的提供商 Altera 宣布,將其 Agilex、MAX 10 和 Cyclone V FPGA 系列的產(chǎn)品生命周期支持延長至 2045 年。
    的頭像 發(fā)表于 04-13 16:30 ?1722次閱讀

    汽車網(wǎng)絡安全 ISO/SAE 21434是什么?(一)

    等全供應鏈參與方,用于規(guī)范全流程網(wǎng)絡安全活動、風險評估與安全管控要求。 實施核心價值 a.合規(guī)準入:滿足國際市場的網(wǎng)絡安全法規(guī)要求,打通市場準入通道; b.
    發(fā)表于 04-07 10:37

    芯盾時代為湖南銀行建立特權賬號全生命周期管理體系

    芯盾時代中標湖南銀行!芯盾時代基于零信任安全理念,通過密碼集中管控、動態(tài)權限調(diào)整及自動化運維流程,為客戶建立特權賬號全生命周期管理體系,實現(xiàn)全局特權賬號的統(tǒng)一管理,打破特權賬號管理系統(tǒng)與員工身份
    的頭像 發(fā)表于 01-22 11:14 ?713次閱讀

    從安裝到數(shù)據(jù):振弦式表面應變計的全生命周期服務指南

    工程安全監(jiān)測領域,振弦式表面應變計作為一種精密的測量工具,其價值貫穿于從初始安裝到長期數(shù)據(jù)服務的整個生命周期。一套科學、嚴謹?shù)娜?b class='flag-5'>生命周期服務,是確保監(jiān)測數(shù)據(jù)準確可靠、最終為結(jié)構物
    的頭像 發(fā)表于 11-05 16:01 ?356次閱讀
    從安裝到數(shù)據(jù):振弦式表面應變計的全<b class='flag-5'>生命周期</b>服務指南

    射頻識別RFID設備賦能噴涂線全生命周期識別智造

    晨控智能采用RFID技術解決汽車零部件噴涂線體識別難題,實現(xiàn)高效、穩(wěn)定、精準的全生命周期追溯。
    的頭像 發(fā)表于 10-15 15:27 ?518次閱讀

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

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

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

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

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

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

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

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

    關于生命周期中的aboutToAppear和onPageShow的理解和應用

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

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

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

    羅徹斯特電子應對長生命周期應用的技術變革

    )、高帶寬內(nèi)存(HBM)以及以數(shù)據(jù)中心為核心的網(wǎng)絡和存儲設備領域。盡管業(yè)界普遍積極推動新技術的應用,但許多長生命周期的應用并不適合。因此,引入新技術之前,必須全面評估目標應用的設計周期生命
    的頭像 發(fā)表于 06-24 09:24 ?730次閱讀

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

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

    ServiceAbility的生命周期介紹

    ServiceAbility的生命周期 開發(fā)者可以根據(jù)業(yè)務場景重寫生命周期相關接口。ServiceAbility生命周期接口說明見下表。 表1 ServiceAbility
    發(fā)表于 05-28 08:22

    UIAbility組件生命周期介紹

    知道當前UIAbility實例的某個狀態(tài)發(fā)生改變,會經(jīng)過UIAbility實例的創(chuàng)建和銷毀,或者UIAbility實例發(fā)生了前后臺的狀態(tài)切換。 UIAbility的生命周期包括Create
    發(fā)表于 05-16 08:28
    响水县| 成安县| 巴彦淖尔市| 航空| 固镇县| 澜沧| 肃宁县| 喀喇沁旗| 金乡县| 泽州县| 横峰县| 江山市| 竹山县| 娄烦县| 桓台县| 龙里县| 桐梓县| 彰武县| 景德镇市| 渑池县| 龙陵县| 陆川县| 江山市| 金堂县| 休宁县| 邯郸县| 德惠市| 诸城市| 金平| 深水埗区| 交口县| 黑河市| 融水| 吉安市| 惠东县| 鹿邑县| 蒙山县| 盐源县| 炉霍县| 钟山县| 穆棱市|