Bài giảng An toàn hệ điều hành - Rootkit

ROOTKIT  
1
Rootkit là gì?  
ꢀ Rootkit là một "kit" gồm các chương trình nhỏ và  
hữu dụng cho phép attacker duy trì việc truy xuất  
đến root (user có quyền lực nhất trên máy tính).  
ꢀ Rootkit là một tập chương trình cho phép duy trì  
sự hiện diện lâu dài và chắc chắn trên máy tính  
mà không bị phát hiện bởi các phương tiện quản  
trị và an ninh thông thường.  
2
Các dịch vụ được cung cấp bởi Rootkit  
ꢀ Command and Control (C2)  
ꢀ Surveillance (giám sát thu thập)  
ꢀ Concealment (che giấu)  
3
Rootkit là Post-Intrusion Tool  
4
Rootkit hoạt động như thế nào?  
ꢀ Rootkits làm việc dựa trên phương thức sửa đổi.  
ꢀ Xác định và sửa đổi các phần mềm khiến cho  
chúng đưa ra các quyết định sai lầm.  
ꢀ Có nhiều chỗ có thể sửa đổi trong phần mềm.  
5
Patching  
ꢀ Software logic có thể bị thay đổi nếu các data  
byte bị sửa đổi. Kỹ thuật này được gọi là patching  
ꢀ Byte patching là một trong những kỹ thuật chính  
được dùng bởi các hoạt động bẻ khóa phần  
mềm.  
6
Easter Eggs  
ꢀ Sự thay đổi software logic có thể được thiết lập một  
cách cố ý từ đầu.  
ꢀ Người lập trình có thể đặt một back door trong  
chương trình do họ viết ra.  
ꢀ Back door này không được trình bày trong tài liệu và  
nó là đặc tính bị giấu.  
ꢀ Dạng này được gọi là Easter Egg.  
ꢀ Có thể được dùng như chữ ký  
7
Spyware Modifications  
ꢀ Một chương trình sẽ sửa đổi chương trình khác  
để chèn vào một spyware. Ví dụ spyware theo  
dõi các website là người dùng truy cập.  
ꢀ Khó phát hiện spyware  
ꢀ Ví dụ: spyware đánh lừa các trình duyệt hay  
shell, rất khó xóa chúng.  
8
Source-Code Modification  
ꢀ Người lập trình có thể chèn vào mã nguồn các  
dòng mã độc.  
ꢀ Một back door được thực hiện như một bug trong  
phần mềm. Ví dụ một chương trình bị cài một lỗ  
hổng buffer overflow.  
ꢀ Khó phát hiện vì xem như một bug  
9
Sửa đổi trong User Mode  
10  
Sửa đổi trong Kernel Mode  
11  
Các thủ thuật thông thường  
Mu  
̣
́
̀
̀
đă  
̣
̀
̣
Sửa Data  
• Call Tables  
• Kernel Objects  
Sửa Code có sẵn  
• In-Place Patching  
• Detour Patching  
Đệ trình Code mới  
• Filter Drivers  
• Hypervisors  
• DLL & Thread Injection  
• COM & BHO Objects  
12  
Call Tables  
ꢀ Là mảng của các con trỏ hàm (function pointers)  
13  
Kernel Objects  
ꢀ Không phải đối tượng như trong lập trình hướng  
đối tượng  
ꢀ Là sự trừu tượng hóa tài nguyên hệ thống  
ꢀ Được hiện thực như một cấu trúc trong C  
ꢀ Ví dụ: nt!_EPROCESS, nt!_DRIVER_OBJECT,  
nt!_TOKEN  
ꢀ Có thể kiểm tra bằng kernel debugger  
14  
In-Place Patching  
Có thể thay đổi code mà không phải thay đổi hướng thực thi  
Thay je SHORT $LN2@routine (đó là 0x74 0x24)  
bởi  
NOP NOP  
(đó là 0x90 0x90)  
Code ở trong ngoặc luôn được thực thi!  
15  
Detour Patching  
Trampoline là tấm bạt che giấu  
16  
Filter Drivers (1/2)  
ꢀ Filter driver được chèn vào một stack hiện hữu  
17  
Filter Drivers (2/2)  
ꢀ Can thiệp và sửa đổi các IRP (I/O Request Packet)  
đi qua chúng  
18  
DLL & Thread Injection  
ꢀ Cách hiệu quả, Microsoft đã cài đặt các chức năng  
chống lại như UIPI*  
19  
Những gì không phải là rootkit  
ꢀ Rootkit không phải là Exploit  
ꢀ Rootkit không phải là Virus  
Virus Problem  
Các virus áp dụng công nghệ rootkit, do đó càng  
khó phát hiện và ngăn chặn  
20  
Tải về để xem bản đầy đủ
pdf 44 trang yennguyen 22560 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An toàn hệ điều hành - Rootkit", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_dieu_hanh_rootkit.pdf