1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng An toàn Hệ điều hành: Rootkit - Nguyễn Hồng Sơn

44 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Bài giảng An toàn Hệ điều hành: Rootkit cung cấp cho người học các kiến thức: Rootkit là gì, các dịch vụ được cung cấp bởi Rootkit, rootkit hoạt động như thế nào, raster eggs, spyware modifications,... Mời các bạn cùng tham khảo.

ROOTKIT Rootkit gì? Rootkit "kit" gồm chương trình nhỏ hữu dụng cho phép attacker trì việc truy xuất đến root (user có quyền lực máy tính) Rootkit tập chương trình cho phép trì diện lâu dài chắn máy tính mà khơng bị phát phương tiện quản trị an ninh thông thường Các dịch vụ cung cấp Rootkit Command and Control (C2) Surveillance (giám sát thu thập) Concealment (che giấu) Rootkit Post-Intrusion Tool Rootkit hoạt động nào? Rootkits làm việc dựa phương thức sửa đổi Xác định sửa đổi phần mềm khiến cho chúng đưa định sai lầm Có nhiều chỗ sửa đổi phần mềm Patching Software logic bị thay đổi data byte bị sửa đổi Kỹ thuật gọi patching Byte patching kỹ thuật dùng hoạt động bẻ khóa phần mềm Easter Eggs Sự thay đổi software logic thiết lập cách cố ý từ đầu Người lập trình đặt back door chương trình họ viết Back door khơng trình bày tài liệu đặc tính bị giấu Dạng gọi Easter Egg Có thể dùng chữ ký Spyware Modifications Một chương trình sửa đổi chương trình khác để chèn vào spyware Ví dụ spyware theo dõi website người dùng truy cập Khó phát spyware Ví dụ: spyware đánh lừa trình duyệt hay shell, khó xóa chúng Source-Code Modification Người lập trình chèn vào mã nguồn dòng mã độc Một back door thực bug phần mềm Ví dụ chương trình bị cài lỗ hổng buffer overflow Khó phát xem bug Sửa đổi User Mode 10 Dùng Trojan hay file bị nhiễm Bất kỳ tập tin sys hay executable nạp vào lúc boot bị thay thế, hay loader code chèn vào theo cách tương tự virus nhiễm vào file Một trojan DLL chèn vào search path Một DLL hữu bị thay cách đơn giản 30 Dùng tập tin ini Các tập tin ini bị thay đổi khiến cho chương trình chạy Nhiều chương trình có tập tin khởi động chạy lệnh tập tin DLL để nạp 31 Đăng ký driver Rootkit tự đăng ký driver phép nạp vào lúc boot máy Điều yêu cầu tạo registry key, nhiên key ẩn rootkit nạp 32 Đăng ký add-on ứng dụng hữu Để bổ sung chức mở rộng vào trình duyệt web Chức mở rộng nạp ứng dụng nạp Phương pháp hiệu để nạp rootkit 33 Sửa đổi kernel đĩa Kernel bị sửa đổi cách trực tiếp lưu đĩa Phải thay đổi vài thứ boot loader cho kernel bỏ qua thủ tục kiểm tra tính tồn vẹn theo checksum (checksum integrity check) Kernel bị thay đổi vĩnh viễn khơng có dirver phải đăng ký 34 Sửa đổi boot loader Boot loader bị sửa đổi để áp đặt vá vào kernek trước nạp Ưu điểm kernel file khơng có biểu bị thay đổi hệ thống phân tích offline Việc sửa đổi boot-loader hồn tồn bị phát cơng cụ thích hợp 35 Đệ trình code vào Kernel Một cách đệ trình code vào kernel dùng module nạp, gọi device driver hay kernel driver Hầu hết hệ điều hành đại cho phép chức mở rộng kernel nạp (hỗ trợ cho nhà chế tạo phần cứng thứ ba) Bất kỳ code đệ trình thơng qua driver (khơng phải cho thiết bị ngoại 36 vi) full access to computer Module tiêu biểu Linux-loadable module int init_module(void) { } void cleanup_module(void) { } Trong Windows device driver, entry point phải đăng ký function callbacks 37 NTSTATUS DriverEntry( ) { theDriver->DriverUnload = MyCleanupRoutine; } NTSTATUS MyCleanupRoutine() { } Xây dựng Windows Device Driver 38 Device Driver đơn giản #include "ntddk.h" NTSTATUS DriverEntry( IN PDRIVER_OBJECT theDriverObject, IN PUNICODE_STRING theRegistryPath )' { DbgPrint("Hello World!"); return STATUS_SUCCESS; } 39 Bộ công cụ phát triển Device Driver Driver Development Kit (DDK) Windows 2003 DDK Can build drivers for Windows XP, using this version of the DDK The DDK provides two different build environments: the checked and the free build environments 40 Unload Routine Khi tạo driver, tham số theDriverObject truyền vào hàm main driver Nó đến cấu trúc liệu chức trỏ hàm Một trỏ gọi "unload routine." Nếu unload routine set driver unload khỏi nhớ Ngược lại, unload driver khỏi nhớ, cần phải boot lại 41 Thủ tục set trỏ unload routine Trước hết cần tạo hàm unload function, sau cài đặt trỏ unload: 42 VOID OnUnload( IN PDRIVER_OBJECT DriverObject ) { DbgPrint("OnUnload called\n"); } NTSTATUS DriverEntry(IN PDRIVER_OBJECT theDriverObject, IN PUNICODE_STRING theRegistryPath) { DbgPrint("I loaded!"); // Initialize the pointer to the unload function // in the DriverObject theDriverObject->DriverUnload = OnUnload; return STATUS_SUCCESS;} Loading Unloading Driver PnPUtil Thêm gói driver vào kho driver Liệt kê gói driver kho Xóa gói driver 43 HẾT 44 ... trị an ninh thông thường Các dịch vụ cung cấp Rootkit Command and Control (C2) Surveillance (giám sát thu thập) Concealment (che giấu) Rootkit Post-Intrusion Tool Rootkit hoạt động nào? Rootkits... dụng công nghệ rootkit, khó phát ngăn chặn 20 Một số giải pháp chống rootkit 21 Kernel bị xâm hại nào? 22 Các thành phần trọng yếu Kernel Process management File access Security Memory management... (2/2) Can thiệp sửa đổi IRP (I/O Request Packet) qua chúng 18 DLL & Thread Injection Cách hiệu quả, Microsoft cài đặt chức chống lại UIPI* 19 Những khơng phải rootkit Rootkit Exploit Rootkit

Ngày đăng: 21/05/2021, 17:34

Xem thêm:

w