国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

Tracee是一個用于Linux的運行時安全性和取證的開源項目,用于解決常見的Linux安全性問題。通過利用Linux擴展的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)進行交互。出于這個原因,安全從業(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鉤子需要克服的一些問題:

準確理解相對路徑

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

例如,當調(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)建到一個文件的符號鏈接,其方式是一個文件充當另一個文件或目錄的引用。操作系統(tǒng)使用符號鏈接到達被鏈接的文件,并執(zhí)行給定的命令。請看下面的例子,創(chuàng)建了一個名為python的文件,并將其鏈接到一個惡意的二進制文件my_malware:

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

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

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

TOCTOU分析

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

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

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

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

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

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

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

簡化分析過程

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

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

結(jié)論

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

原文標題:利用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

    文章

    11759

    瀏覽量

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

    關(guān)注

    96

    文章

    2953

    瀏覽量

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

    關(guān)注

    38

    文章

    3344

    瀏覽量

    60253

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

    安全。霍爾電流傳感器作為機器人電力系統(tǒng)的“感知核心”,通過實時監(jiān)測電流信號、精準反饋運行狀態(tài),為機器人構(gòu)建全鏈路安全防護體系,成為提升操作安全性的關(guān)鍵器件。一、機
    的頭像 發(fā)表于 12-22 09:04 ?1387次閱讀
    機器人用霍爾電流傳感器,能<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)境嚴苛的場景中表現(xiàn)突出。以下從技術(shù)原理、安全優(yōu)勢、應(yīng)用場景及行業(yè)實踐
    的頭像 發(fā)表于 11-26 10:17 ?588次閱讀

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

    引言在汽車電子和消費電子領(lǐng)域,"車規(guī)級"與"消費級"芯片代表了兩種截然不同的設(shè)計理念和技術(shù)標準。車規(guī)級芯片專為汽車應(yīng)用設(shè)計,強調(diào)在極端環(huán)境下的可靠安全性
    的頭像 發(fā)表于 11-18 17:27 ?1252次閱讀
    車規(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 ?582次閱讀

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

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

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

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

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

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

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

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

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

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

    保障汽車安全:PCBA可靠提升的關(guān)鍵要素

    汽車電子PCBA的可靠提升要點 隨著汽車智能化、網(wǎng)聯(lián)化的快速發(fā)展,汽車電子在整車中的占比不斷提升,其重要日益凸顯。作為汽車電子的核心部件,PCBA(印制電路板組裝)的可靠
    的頭像 發(fā)表于 04-14 17:45 ?699次閱讀

    如何維護i.MX6ULL的安全內(nèi)核?

    為 5.15.158。 因此,我們想知道:是否有可能基于這個 BSP 平臺實現(xiàn)安全的 i.MX 6ULL 系統(tǒng)?您會推薦上游的 linux-fslc 還是 linux-imx (BSP) 內(nèi)核樹?顯然,
    發(fā)表于 04-01 08:28

    如何利用iptables修復(fù)安全漏洞

    隨著網(wǎng)絡(luò)安全威脅的不斷增加,安全中心掃描越來越頻繁。尤其是在大數(shù)據(jù)安全中心的漏洞報告中,許多漏洞在生產(chǎn)環(huán)境中無法通過服務(wù)升級來修復(fù)。
    的頭像 發(fā)表于 03-18 18:02 ?1054次閱讀

    電子電器產(chǎn)品安全性與針焰試驗的重要

    在當今電子電器產(chǎn)品廣泛應(yīng)用的背景下,消費者對其使用安全性愈發(fā)關(guān)注。電子設(shè)備的材料在電作用下可能面臨過熱應(yīng)力,一旦材料劣化,設(shè)備的安全性能將受到嚴重影響。針焰試驗作為一種關(guān)鍵的阻燃試驗,能夠有效評估
    的頭像 發(fā)表于 03-11 17:20 ?986次閱讀
    電子電器產(chǎn)品<b class='flag-5'>安全性</b>與針焰試驗的重要<b class='flag-5'>性</b>