歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux操作系統下的高級隱藏技術詳解(2)

Linux操作系統下的高級隱藏技術詳解(2)

日期:2017/2/25 10:36:46   编辑:Linux教程

Linux操作系統下的高級隱藏技術詳解(2)

1.2.Linux 的LKM(可裝載內核模塊)技術

  為了使內核保持較小的體積並能夠方便的進行功能擴展,Linux系統提供了模塊機制。模塊是內核的一部分,但並沒有被編譯進內核,它們被編譯成目標文件,在運行過程中根據需要動態的插入內核或者從內核中移除。由於模塊在插入後是作為Linux內核的一部分來運行的,所以模塊編程實際上就是內核編程,因此可以在模塊中使用一些由內核導出的資源,例如Linux2.4.18版以前的內核導出系統調用表(sys_call_table)的地址,這樣就可以根據該地址直接修改系統調用的入口,從而改變系統調用。在模塊編程中必須存在初始化函數及清除函數,一般情況下,這兩個函數默認為init_module ()以及clearup_module(),從2.3.13內核版本開始,用戶也可以給這兩個函數重新命名,初始化函數在模塊被插入系統時調用,在其中可以進行一些函數及符號的注冊工作,清除函數則在模塊移除系統時進行調用,一些恢復工作通常在該函數中完成。

  1.3.Linux下的內存映像

  /dev/kmem是一個字符設備,是計算機主存的映像,通過它可以測試甚至修改系統,當內核不導出sys_call_table地址或者不允許插入模塊時可以通過該映像修改系統調用,從而實現隱藏文件、進程或者模塊的目的。

Copyright © Linux教程網 All Rights Reserved