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

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

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

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

本文深入分析了Linux環境下文件、進程及模塊的高級隱藏技術,其中包括:Linux可卸載模塊編程技術、修改內存映象直接對系統調用進行修改技術,通過虛擬文件系統proc隱藏特定進程的技術。

  隱藏技術在計算機系統安全中應用十分廣泛,尤其是在網絡攻擊中,當攻擊者成功侵入一個系統後,有效隱藏攻擊者的文件、進程及其加載的模塊變得尤為重要。本文將討論Linux系統中文件、進程及模塊的高級隱藏技術,這些技術有的已經被廣泛應用到各種後門或安全檢測程序之中,而有一些則剛剛起步,仍然處在討論階段,應用很少。

  1.隱藏技術

  1.1.Linux下的中斷控制及系統調用

  Intel x86系列微機支持256種中斷,為了使處理器比較容易地識別每種中斷源,把它們從0~256編號,即賦予一個中斷類型碼n,Intel把它稱作中斷向量。

  Linux用一個中斷向量(128或者0x80)來實現系統調用,所有的系統調用都通過唯一的入口system_call來進入內核,當用戶動態進程執行一條int 0x80匯編指令時,CPU就切換到內核態,並開始執行system_call函數,system_call函數再通過系統調用表 sys_call_table來取得相應系統調用的地址進行執行。系統調用表sys_call_table中存放所有系統調用函數的地址,每個地址可以用系統調用號來進行索引,例如sys_call_table[NR_fork]索引到的就是系統調用sys_fork()的地址。

  Linux用中斷描述符(8字節)來表示每個中斷的相關信息,其格式如下:

  偏移量31….16  一些標志、類型碼及保留位

  段選擇符      偏移量15….0

  所有的中斷描述符存放在一片連續的地址空間中,這個連續的地址空間稱作中斷描述符表(IDT),其起始地址存放在中斷描述符表寄存器(IDTR)中,其格式如下:

  32位基址值  界限

  其中各個結構的相應聯系可以如下表示:

  通過上面的說明可以得出通過IDTR寄存器來找到system_call函數地址的方法:根據IDTR寄存器找到中斷描述符表,中斷描述符表的第0x80項即是system_call函數的地址,這個地址將在後面的討論中應用到。

Copyright © Linux教程網 All Rights Reserved