精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

設計LSM鉤子提升Linux漏洞安全性

Linux閱碼場 ? 來源:Linux閱碼場 ? 作者:Linux閱碼場 ? 2022-07-11 10:55 ? 次閱讀

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

設計LSM鉤子來提升安全性

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

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

準確理解相對路徑

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

例如,當調用一個程序時,Tracee可以使用以下參數獲取一個系統調用:

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

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

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

找出鏈接文件

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

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

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

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

TOCTOU分析

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

例如,當調用一個程序時,Tracee可以使用以下參數獲取一個系統調用:

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

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

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

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

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

簡化分析過程

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

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

結論

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

原文標題:利用LSM鉤子打破系統調用跟蹤桎梏

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

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

    關注

    87

    文章

    11229

    瀏覽量

    208927
  • 源代碼
    +關注

    關注

    96

    文章

    2944

    瀏覽量

    66668
  • 應用程序
    +關注

    關注

    37

    文章

    3243

    瀏覽量

    57600

原文標題:利用LSM鉤子打破系統調用跟蹤桎梏

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

收藏 人收藏

    評論

    相關推薦

    socket編程的安全性考慮

    在Socket編程中,安全性是一個至關重要的考慮因素。以下是一些關鍵的安全性考慮和措施: 1. 數據加密 使用TLS/SSL協議 :TLS/SSL(傳輸層安全性/安全套接層)是網絡
    的頭像 發表于 11-01 16:46 ?190次閱讀

    UWB模塊的安全性評估

    UWB(超寬帶)模塊的安全性評估是一個復雜而關鍵的過程,涉及多個方面,包括技術特性、加密機制、抗干擾能力、物理層安全等。以下是對UWB模塊安全性評估的分析: 一、技術特性帶來的安全性
    的頭像 發表于 10-31 14:17 ?133次閱讀

    智能系統的安全性分析

    智能系統的安全性分析是一個至關重要的過程,它涉及多個層面和維度,以確保系統在各種情況下都能保持安全、穩定和可靠。以下是對智能系統安全性的分析: 一、數據安全性 數據加密 : 采用對稱加
    的頭像 發表于 10-29 09:56 ?204次閱讀

    如何提升SoC的安全性

    安全啟動確保SoC從可信的固件開始啟動,防止未授權或惡意軟件加載。SoC內置一個只讀存儲器(ROM)中的Bootloader,這段代碼不可更改,用于執行初始啟動。固件鏡像在編譯完成后使用開發者的私鑰
    的頭像 發表于 10-21 14:19 ?148次閱讀

    固態電池安全性怎么樣

    固態電池在安全性方面表現出顯著的優勢,這主要得益于其獨特的固態電解質結構。以下是對固態電池安全性的詳細分析:
    的頭像 發表于 09-15 11:47 ?546次閱讀

    樓宇自控系統:提升建筑安全性的隱形盾牌

    樓宇自控系統:提升建筑安全性的隱形盾牌 在城市的鋼鐵森林中,每一座建筑都是人類智慧與創造力的結晶。然而,隨著建筑規模的不斷擴大和復雜的增加,其安全性問題也日益凸顯。在這個背景下,樓宇
    的頭像 發表于 08-22 13:43 ?197次閱讀

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

    DM平臺訪問安全性如何控制?
    發表于 07-25 06:10

    工業以太網安全性分析及防護措施

    。因此,對工業以太網的安全性進行深入分析和采取相應的防護措施至關重要。本文將從工業以太網面臨的安全威脅、漏洞入手,探討相應的防護措施。
    的頭像 發表于 06-28 16:58 ?471次閱讀

    藍牙模塊的安全性與隱私保護

    藍牙模塊作為現代無線通信的重要組成部分,在智能家居、可穿戴設備、健康監測等多個領域得到了廣泛應用。然而,隨著藍牙技術的普及,其安全性和隱私保護問題也日益凸顯。本文將探討藍牙模塊在數
    的頭像 發表于 06-14 16:06 ?505次閱讀

    艾體寶方案 | 管理開源軟件包更新,提升開源安全性

    文章介紹了Mend.io如何通過其Smart Merge Control功能增強開源軟件的安全性。現代應用程序高度依賴開源軟件,但這也增加了潛在的安全漏洞。Mend SCA的增強功能允許開發者
    的頭像 發表于 05-31 17:03 ?288次閱讀

    銳明技術計劃海外設廠,以提升供應鏈安全性

    根據戰略目標及關稅影響等多重考量,銳明技術堅信在海外設廠具有可行,不僅能有效避開關稅,還能提升客戶信心,增強供應鏈穩定性與安全性
    的頭像 發表于 05-10 09:28 ?296次閱讀

    沃爾沃利用英偉達的SoC和AI來提升自動駕駛的安全性

    在2024年英偉達GPU技術大會(NVIDIA GTC 2024)上,沃爾沃介紹了如何利用人工智能和日益提升的算力來提升自動駕駛的安全性
    的頭像 發表于 05-08 14:38 ?1125次閱讀

    KVM矩陣的智能化管理:提升運維效率與安全性

    隨著信息技術的飛速發展,KVM矩陣作為數據中心運維的重要工具,正逐漸融入智能化管理的理念。智能化管理不僅提升了KVM矩陣的運維效率,更在保障系統安全性方面發揮了重要作用。本文將探討KVM矩陣的智能化
    的頭像 發表于 02-18 14:51 ?504次閱讀

    使用融合CDN同時提升網站效能及安全性

    現在許多企業的服務都依靠網站營運,維持穩定的網站效能及安全性變得相當重要。事實上,當網站載入時間超過 3 秒鐘,超過 40% 的使用者會直接跳出,由此可見網站效能的重要;而當網站受到 DDoS
    的頭像 發表于 02-02 14:39 ?276次閱讀

    為工業應用選擇高安全性功率繼電器

    為工業應用選擇高安全性功率繼電器
    的頭像 發表于 12-05 15:11 ?433次閱讀
    為工業應用選擇高<b class='flag-5'>安全性</b>功率繼電器