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

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

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

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

設(shè)計LSM鉤子提升Linux漏洞安全性

Linux閱碼場 ? 來源:Linux閱碼場 ? 作者:Linux閱碼場 ? 2022-07-11 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Tracee是一個用于Linux的運行時安全性和取證的開源項目,用于解決常見的Linux安全性問題。通過利用Linux擴(kuò)展的Berkeley Packet Filter (eBPF)的技術(shù)優(yōu)勢,在內(nèi)核運行時跟蹤系統(tǒng)和應(yīng)用程序,以便獲取相應(yīng)的數(shù)據(jù)信息。Tracee分析收集的事件可以用來檢測可疑的行為模式,在本文中,我將分享從使用eBPF和Linux安全模塊(LSM)鉤子的角度,來分析在解決Linux漏洞(如TOCTOU類型)中學(xué)到的經(jīng)驗教訓(xùn)。

設(shè)計LSM鉤子來提升安全性

在正在運行的應(yīng)用程序中,通常是通過系統(tǒng)調(diào)用與操作系統(tǒng)進(jìn)行交互。出于這個原因,安全從業(yè)者會使用系統(tǒng)調(diào)用來分析運行中的應(yīng)用程序的行為。重點在于選擇收集系統(tǒng)調(diào)用的方法,因為獲取到的參數(shù)值和操作系統(tǒng)實際使用的參數(shù)值之間可能存在差距。

eBPF允許在無需更改內(nèi)核源代碼或加載內(nèi)核模的情況下,在Linux內(nèi)核中運行沙盒程序。通過使用kprobes附加到Linux Security Module (LSM)掛鉤上,我們可以收集內(nèi)核實際使用的參數(shù)值。下面是具體使用LSM鉤子需要克服的一些問題:

準(zhǔn)確理解相對路徑

在Linux中,當(dāng)從用戶程序中讀取信息時,path參數(shù)可以包含一個相對路徑。

例如,當(dāng)調(diào)用一個程序時,Tracee可以使用以下參數(shù)獲取一個系統(tǒng)調(diào)用:

·open(“。./。./directory/file”, O_RDONLY)

·open(“。/test/。./。./directory/file”, O_RDONLY)

這些系統(tǒng)調(diào)用中的路徑可能指向相同的位置,但問題來了,根據(jù)給定的參數(shù),很難精確定位絕對且始終唯一的規(guī)范路徑。在構(gòu)建安全策略時,規(guī)范路徑的重要性變得更加明顯,因為相對路徑的意圖和效果可能太過模糊。

找出鏈接文件

例如,用戶程序給出的某個文件的參數(shù)值可能會包含指向其他文件的鏈接。在Linux中,我們可以創(chuàng)建到一個文件的符號鏈接,其方式是一個文件充當(dāng)另一個文件或目錄的引用。操作系統(tǒng)使用符號鏈接到達(dá)被鏈接的文件,并執(zhí)行給定的命令。請看下面的例子,創(chuàng)建了一個名為python的文件,并將其鏈接到一個惡意的二進(jìn)制文件my_malware:

1b2be154-00c1-11ed-ba43-dac502259ad0.png

當(dāng)運行python時,我們可以看到Tracee跟蹤了兩個事件。其一是帶有參數(shù)值的系統(tǒng)調(diào)用 。/python。但實際上,python是象征性地鏈接到~/bin/my_malware,第二個就是被Tracee捕獲的security_bprm_check事件返回了實際執(zhí)行的文件的路徑名。

1b406f3e-00c1-11ed-ba43-dac502259ad0.png

TOCTOU分析

當(dāng)試圖獲取用戶程序的參數(shù)值時,如果只分析系統(tǒng)調(diào)用參數(shù),結(jié)果可能會受到條件競爭的影響而錯過關(guān)鍵細(xì)節(jié)。這是因為在獲取信息后,用戶程序可以基于另一個并發(fā)線程,來進(jìn)行更改系統(tǒng)調(diào)用參數(shù)。

例如,當(dāng)調(diào)用一個程序時,Tracee可以使用以下參數(shù)獲取一個系統(tǒng)調(diào)用:

execve(“/bin/ls”, NULL, 0)

1b54634a-00c1-11ed-ba43-dac502259ad0.png

在進(jìn)程中某一線程和內(nèi)核調(diào)用執(zhí)行Syscall之間會存在同一時間點。在這個時間點開始階段,通過使用指向進(jìn)程地址空間中內(nèi)存位置的指針,pathname參數(shù)被傳遞給內(nèi)核。在這個期間,進(jìn)程的另一個線程可以快速更改路徑名,最后內(nèi)核來更新路徑名。

繼續(xù)我們的例子,另一個線程可以將第一個參數(shù)從/bin/ls更改為/bin/malicious,后者將由內(nèi)核執(zhí)行,而前者將由Tracee記錄。這個場景被稱為TOCTOU競態(tài)。攻擊者可以利用它來影響檢查和真正使用之間的記錄值,這樣會導(dǎo)致收集到的數(shù)據(jù)不準(zhǔn)確,并誤導(dǎo)安全研究人員或自動檢測工具。

基于上面的原因,決定在Tracee中連同Syscall數(shù)據(jù)一起使用LSM鉤子來進(jìn)行追蹤。像security_file_open這樣的事件,包含內(nèi)核實際使用的路徑名,并與上報的常規(guī)Syscall事件交叉引用。

簡化分析過程

我們都知道在Linux中,Everything is a file這句著名的口號(https://en.wikipedia.org/wiki/Everything_is_a_file),是的,所有東西都是文件,需要使用文件描述符才能與之交互。當(dāng)打開一個文件時(例如使用open),你會收到一個文件描述符。使用這些系統(tǒng)調(diào)用openat, unlinkat, execveat, accept, connect, bind, listen等等來與打開的文件進(jìn)行交互。由于這個原因,如果我們想要分析在一個文件上執(zhí)行的操作,那就必須跟蹤其打開的文件描述符,而Socket允許在不同的程序之間傳遞打開的文件描述符,這樣就會使分析更加困難。

對于使用Tracee的LSM鉤子事件,跟蹤文件描述符變得無關(guān)重要,因為LSM事件已經(jīng)包含了相關(guān)的數(shù)據(jù),比如完整的路徑名。這使得在分析問題時可以避免上述的影響,更加簡化分析流程。

結(jié)論

Tracee是一個易于使用的Linux運行時安全和取證工具,采用了目前最為火熱功能更為強(qiáng)大的eBPF技術(shù),可以讓我們更好地理解程序的運行時行為,并打破對類似安全軟件構(gòu)成困難和挑戰(zhàn)的桎梏,為安全分析人員提供進(jìn)一步深入分析的方案。

原文標(biāo)題:利用LSM鉤子打破系統(tǒng)調(diào)用跟蹤桎梏

文章出處:【微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    88

    文章

    11806

    瀏覽量

    219502
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2953

    瀏覽量

    70628
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3346

    瀏覽量

    60407

原文標(biāo)題:利用LSM鉤子打破系統(tǒng)調(diào)用跟蹤桎梏

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Microchip ATSHA204A:高安全性硬件認(rèn)證設(shè)備的深度解析

    Microchip ATSHA204A:高安全性硬件認(rèn)證設(shè)備的深度解析 在當(dāng)今數(shù)字化時代,數(shù)據(jù)安全至關(guān)重要。Microchip的ATSHA204A作為CryptoAuthentication?家族
    的頭像 發(fā)表于 04-06 14:55 ?647次閱讀

    從 M0 到 M3丨笙泉32 位 MCU:高效能、安全性與多元應(yīng)用兼具

    從 M0 到 M3丨笙泉32 位 MCU:高效能、安全性與多元應(yīng)用兼具 笙泉32位MCU打造多元應(yīng)用控制方案 32 位 MCU(單片機(jī) / 微控制器),如 Arm? Cortex?-M0
    發(fā)表于 03-10 15:29

    請問VisionFive 2 的熱安全性如何?

    我的 VisionFive 2 目前沒有風(fēng)扇。如果我開始以 100% 的速度使用 CPU,我應(yīng)該擔(dān)心它過熱嗎? 為了安全起見,它會進(jìn)行熱節(jié)流嗎? 如果是這樣,如何查看它是否處于熱節(jié)流狀態(tài)?
    發(fā)表于 02-27 06:31

    儲能EMS控制器(8) — 儲能柜項目調(diào)試如何提升安全性?

    當(dāng)儲能柜的項目需求變化比較大,或者對于新手調(diào)試運維工程師來說,在本地EMS能量管理系統(tǒng)的運行時直接調(diào)試有風(fēng)險。那么,如何給儲能柜調(diào)試提升安全性?簡介當(dāng)儲能柜的項目需求變化比較大,或者對于新手調(diào)試運維
    的頭像 發(fā)表于 01-28 11:50 ?408次閱讀
    儲能EMS控制器(8) — 儲能柜項目調(diào)試如何<b class='flag-5'>提升</b><b class='flag-5'>安全性</b>?

    機(jī)器人用霍爾電流傳感器,能提升操作安全性么?

    安全?;魻栯娏鱾鞲衅髯鳛闄C(jī)器人電力系統(tǒng)的“感知核心”,通過實時監(jiān)測電流信號、精準(zhǔn)反饋運行狀態(tài),為機(jī)器人構(gòu)建全鏈路安全防護(hù)體系,成為提升操作安全性的關(guān)鍵器件。一、機(jī)
    的頭像 發(fā)表于 12-22 09:04 ?1517次閱讀
    機(jī)器人用霍爾電流傳感器,能<b class='flag-5'>提升</b>操作<b class='flag-5'>安全性</b>么?

    請問CW32L052C8T6這種安全性低功耗MCU的安全固件部分怎么實現(xiàn)?

    請問,CW32L052C8T6這種安全性低功耗MCU的安全固件部分怎么實現(xiàn)?
    發(fā)表于 12-05 07:19

    疊層固態(tài)鋁電解電容:無漏液風(fēng)險,提升產(chǎn)品安全性

    疊層固態(tài)鋁電解電容通過采用導(dǎo)電聚合物替代液態(tài)電解液,從根本上杜絕了漏液風(fēng)險,顯著提升了產(chǎn)品安全性,尤其在新能源汽車等振動頻繁、環(huán)境嚴(yán)苛的場景中表現(xiàn)突出。以下從技術(shù)原理、安全優(yōu)勢、應(yīng)用場景及行業(yè)實踐
    的頭像 發(fā)表于 11-26 10:17 ?704次閱讀

    車規(guī)級與消費級芯片的可靠、安全性與成本差異

    引言在汽車電子和消費電子領(lǐng)域,"車規(guī)級"與"消費級"芯片代表了兩種截然不同的設(shè)計理念和技術(shù)標(biāo)準(zhǔn)。車規(guī)級芯片專為汽車應(yīng)用設(shè)計,強(qiáng)調(diào)在極端環(huán)境下的可靠安全性
    的頭像 發(fā)表于 11-18 17:27 ?1529次閱讀
    車規(guī)級與消費級芯片的可靠<b class='flag-5'>性</b>、<b class='flag-5'>安全性</b>與成本差異

    如何利用X-Ray技術(shù)提升鋰電池安全性與穩(wěn)定性

    非破壞、高分辨率的優(yōu)勢,成為提升鋰電池品質(zhì)和安全性能的重要工具。本文將深入探討如何利用X-Ray技術(shù)提升鋰電池安全性與穩(wěn)定性,幫助企業(yè)優(yōu)化
    的頭像 發(fā)表于 10-13 14:22 ?815次閱讀

    有哪些技術(shù)可以提高邊緣計算設(shè)備的安全性?

    設(shè)備自身安全、數(shù)據(jù)安全、網(wǎng)絡(luò)安全、身份認(rèn)證、安全管理、新興技術(shù)賦能六大核心維度,梳理可提升邊緣計算設(shè)備
    的頭像 發(fā)表于 09-05 15:44 ?1759次閱讀
    有哪些技術(shù)可以提高邊緣計算設(shè)備的<b class='flag-5'>安全性</b>?

    如何驗證硬件加速是否真正提升了通信協(xié)議的安全性?

    驗證硬件加速是否真正提升通信協(xié)議的安全性,需從 安全功能正確、抗攻擊能力增強(qiáng)、安全性能適配、合規(guī)一致
    的頭像 發(fā)表于 08-27 10:16 ?1300次閱讀
    如何驗證硬件加速是否真正<b class='flag-5'>提升</b>了通信協(xié)議的<b class='flag-5'>安全性</b>?

    如何利用硬件加速提升通信協(xié)議的安全性?

    特性增強(qiáng)安全性(而非僅依賴軟件防護(hù))。其本質(zhì)是 “將安全計算從通用 CPU 卸載到專用硬件”,既解決軟件處理安全操作的性能瓶頸,又規(guī)避軟件層可能存在的漏洞(如內(nèi)存泄露、側(cè)信道攻擊風(fēng)險)
    的頭像 發(fā)表于 08-27 09:59 ?1157次閱讀
    如何利用硬件加速<b class='flag-5'>提升</b>通信協(xié)議的<b class='flag-5'>安全性</b>?

    宏集分享 | 集中告警管理如何提升設(shè)施安全性

    提高團(tuán)隊響應(yīng)速度,優(yōu)化維護(hù)運營在工業(yè)或商業(yè)建筑中,集中告警管理已成為確保安全性或檢測故障的必備工具。通過將所有安全系統(tǒng)集中管理,企業(yè)能夠?qū)⑺懈婢y(tǒng)一在一個HMI界面中,大幅提升響應(yīng)速度。關(guān)鍵要點
    的頭像 發(fā)表于 08-08 18:25 ?609次閱讀
    宏集分享 | 集中告警管理如何<b class='flag-5'>提升</b>設(shè)施<b class='flag-5'>安全性</b>?

    請問DM平臺訪問安全性如何控制?

    DM平臺訪問安全性如何控制?
    發(fā)表于 08-06 06:01

    SD-WAN供應(yīng)商在安全性方面有哪些差異?服務(wù)商安全性排行

    市場報告,2022年該市場增長達(dá)25%,預(yù)計2027年規(guī)模將突破75億美元,而**安全性差異**成為企業(yè)選型的首要考量。以下從技術(shù)架構(gòu)、行業(yè)適配等維度解析頭部服務(wù)商
    的頭像 發(fā)表于 07-29 10:14 ?345次閱讀
    SD-WAN供應(yīng)商在<b class='flag-5'>安全性</b>方面有哪些差異?服務(wù)商<b class='flag-5'>安全性</b>排行