TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU VÀ XÂY DỰNG PHẦN MỀM BKAV ANTI ROOTKIT TRÊN CÁ[.]
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU VÀ XÂY DỰNG PHẦN MỀM BKAV ANTI ROOTKIT TRÊN CÁC HỆ ĐIỀU HÀNH WINDOWS Sinh viên thực : Trần Nguyên Bản Lớp CNPM – K51 Giáo viên hướng dẫn: TS Nguyễn Khanh Văn HÀ NỘI 05-2011 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên Họ tên sinh viên: Trần Nguyên Bản Điện thoại liên lạc: 0975986374 Email: nguyenban_nd@yahoo.com Lớp: CNPMA-K51 Hệ đào tạo: Đại học quy Đồ án tốt nghiệp thực tại: Trung tâm an ninh mạng BKIS – Công ty TNHH An ninh mạng BKAV Thời gian làm ĐATN: Từ ngày 27 / 02 /2011 đến 27 / 05 /2011 Mục đích nội dung ĐATN Mục đích nội dung ĐATN nghiên cứu kĩ thuật Rootkit, từ xây dựng lên phần mềm anti-Rootkit Các nhiệm vụ cụ thể ĐATN - Nghiên cứu cấu trúc hoạt động hệ điều hành Windows 32 bit, đặc biệt cấu trúc bên nhân hệ điều hành này, thay đổi qua phiên - Nghiên cứu kĩ thuật Rootkit phương pháp chống lại kĩ thuật - Xây dựng lên phần mềm Bkav Anti Rootkit Lời cam đoan sinh viên: Tôi – Trần Ngun Bản - cam kết ĐATN cơng trình nghiên cứu thân hướng dẫn TS Nguyễn Khanh Văn Các kết nêu ĐATN trung thực, khơng phải chép tồn văn cơng trình khác Hà Nội, ngày 27 tháng 05 năm 2011 Tác giả ĐATN Trần Nguyên Bản Xác nhận giáo viên hướng dẫn mức độ hoàn thành ĐATN cho phép bảo vệ: Hà Nội, ngày 27 tháng 05 năm 2011 Giáo viên hướng dẫn TS Nguyễn Khanh Văn Sinh viên thực hiện: Trần Nguyên Bản, 20060173, K51, Lớp CNPMA TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP Malware (phần mềm độc hại) mối đe dọa phổ biến giới tin học phát triển mạnh mẽ ngày Sự phát triển malware từ kĩ thuật lập trình đơn giản, ứng dụng thơng thường, kĩ thuật lập trình phức tạp dùng đến driver hệ thống Quá trình phát triển malware làm nảy sinh nhu cầu bảo vệ chúng tránh khỏi phát người sử dụng hệ thống, chí tránh phát phần mềm bảo mật có hệ thống Những malware có khả che dấu thân gọi Rootkit Và thực tế, kĩ thuật Rootkit ngày áp dụng rộng rãi vào việc viết lên malware Stuxnet, malware bùng nổ giới từ tháng 01 – 2011, ví dụ tiêu biểu phần mềm độc hại có khả lây lan mạnh mẽ đặc biệt có khả tự che dấu, bảo vệ thân xuất sắc Do nguy hiểm kĩ thuật Rootkit, phổ biến Rootkit ngày nay, tác giả thực nghiên cứu sâu Rootkit với mong muốn tìm hiểu Rootkit khả năng, giải pháp phịng chống Rootkit để xây dựng lên phần mềm anti-Rootkit Các hệ điều hành Windows, mục tiêu Rootkit, nghiên cứu kĩ lưỡng đồ án Đồ án bao gồm phân tích phương pháp, kĩ thuật khác Rootkit để từ xây dựng lên giải pháp xử lí Rootkit tương ứng Đồng thời từ kiến thức Rootkit xây dựng lên phần mềm Bkav Anti Rootkit (BkhavARK) ĐATN bao gồm thiết kế phần quan trọng phần mềm BkavARK Từ khóa: Rootkit, anti-Rootkit, BkavARK, Bkav Sinh viên thực hiện: Trần Nguyên Bản, 20060173, K51, Lớp CNPMA LỜI CẢM ƠN Trước hết, em xin chân thành gửi lời cảm ơn sâu sắc tới thầy cô giáo trường Đại học Bách Khoa Hà Nội nói chung thầy cô Viện Công nghệ thông tin truyền thơng, mơn Cơng nghệ phần mềm nói riêng tận tình giảng dạy, truyền đạt cho em kiến thức kinh nghiệm quý báu suốt năm học tập rèn luyện trường Đại học Bách Khoa Hà Nội Em xin gửi lời cảm ơn đến TS Nguyễn Khanh Văn - Giảng viên môn Công nghệ phần mềm, Viện Công nghệ thông tin truyền thông, trường Đại học Bách Khoa Hà Nội hết lòng giúp đỡ, hướng dẫn dạy tận tình trình em làm đồ án tốt nghiệp Em xin gửi lời cám ơn tới Trung tâm An ninh mạng Bkis tạo điều kiện cho em có mơi trường thực tập làm việc chun nghiệp suốt quãng thời gian 03 năm em thực tập Xin cám ơn anh Vũ Ngọc Sơn, anh Đỗ Mạnh Dũng, anh Nguyễn Công Cường, anh Nguyễn Ngọc Dũng anh chị cán nhân viên trung tâm giúp đỡ em nhiều mặt chun mơn, giúp em hồn thành đồ án tốt nghiệp Cuối cùng, em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè quan tâm, động viên, đóng góp ý kiến giúp đỡ q trình học tập, nghiên cứu hồn thành đồ án tốt nghiệp Hà Nội, ngày tháng 05 năm 2010 Trần Nguyên Bản Lớp CNPMA – K51 Viện CNTT & TT – ĐH Bách Khoa HN PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP .2 TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP LỜI CẢM ƠN Danh mục hình vẽ nội dung đồ án Danh mục hình vẽ phần phụ lục .8 Phần mở đầu 10 Sinh viên thực hiện: Trần Nguyên Bản, 20060173, K51, Lớp CNPMA Phần 1: Đặt vấn đề định hướng giải pháp 12 Chương 1: Rootkit giải pháp BkavARK 13 Rootkit phân loại Rootkit 13 Giải pháp cho Bkav AntiRootkit 15 2.1 Các yêu cầu mục tiêu BkavARK 15 2.2 Giải pháp BkavARK 15 Chương 2: Cơ sở lý thuyết phương án cụ thể cho kĩ thuật Rootkit 17 Nói chung hệ điều hành 17 Hệ điều hành WinNT 18 Các kĩ thuật Rootkit phương pháp chống lại 24 3.1 Hook hàm hệ thống .24 3.2 Inline hook 25 3.3 DKOM .26 Công cụ sử dụng 27 Phần 2: Những kết đạt 28 Chương 3: Kết phân tích, thiết kế Bkav Anti Rootkit 29 Các biểu đồ use case: 29 1.1 Phần quản lý tiến trình liên quan 29 1.2 Phần quản lý kernel hook 31 1.3 Phần quản lý file system 33 1.4 Phần quản lý system module .35 1.5 Phần mạng (Network) 37 Thiết kế lớp 38 2.1 Các lớp liên quan đến tiến trình 39 2.2 Các lớp liên quan đến hook nhân hệ thống 40 2.3 Các lớp liên quan đến phần xử lý hệ thống file 42 2.4 Các lớp phần mạng system module 43 Biểu đồ hệ thống 44 Chương 4: Kết thực hiện, cài đặt, thử nghiệm .47 Kết thực .47 Cài đặt thử nghiệm BkavARK 48 Sinh viên thực hiện: Trần Nguyên Bản, 20060173, K51, Lớp CNPMA Đánh giá hệ thống so sánh với sản phẩm loại 49 3.1 Khả tương thích với hệ điều hành 50 3.2 Tiến trình vấn đề liên quan .50 3.3 Kernel hook vấn đề liên quan 51 3.4 FileBrowser vấn đề liên quan 51 3.5 System Module vấn đề liên quan 51 3.6 Network vấn đề liên quan .51 Kết luận 52 Kết đạt 52 Những điểm hạn chế 52 Định hướng phát triển tương lai .53 TÀI LIỆU THAM KHẢO .54 Phụ lục A: Sự thay đổi cấu trúc WIndows .55 Phụ lục B: Các thiết kế chi tiết lớp quan trọng 58 Phụ lục C: Hình ảnh giao diện BkavARK 63 Sinh viên thực hiện: Trần Nguyên Bản, 20060173, K51, Lớp CNPMA Danh mục hình vẽ nội dung đồ án Hình Cơ chế bảo vệ theo vịng .14 Hình Mơ hình thiết kế BkavARK 16 Hình Vị trí hệ điều hành hệ thống tính tốn 18 Hình Kiến trúc hệ điều hành Windows 19 Hình Quản lý nhớ phân trang Windows NT 21 Hình EPROCESS Windows XP 22 Hình EPROCESS Windows Vista .23 Hình EPROCESS Windows .23 Hình Mơ tả hàm hệ thống 24 Hình 10 Mơ hình Inline Hook 25 Hình 11 Minh họa phương pháp DKOM 26 Hình 12 Use case quản lý tiến trình 29 Hình 13 Use case hook hệ thống 31 Hình 14 Use Case quản lý hệ thống file 33 Hình 15 Use Case phần system module 35 Hình 16 Use case phần network .37 Hình 17 Mơ hình lớp quan hệ lớp 39 Hình 18 Mơ hình lớp phần tiến trình 39 Hình 19 Mơ hình lớp Kernel Hook 40 Hình 20 Mơ hình lớp File Browser 42 Hình 21 Mơ hình lớp phần System Module Network 43 Hình 22 Biểu đồ phần tiến trình 44 Hình 23 Biểu đồ phần kernel hook .45 Hình 24 Biểu đồ File Browser 45 Hình 25 Biểu đồ phần system module 46 Hình 26 Biểu đồ phần Network 46 Hình 27 Giao diện BkavARK .47 Hình 28 Thử nghiệm với tiến trình bị ẩn 48 Hình 29 Hình ảnh phát hook bảng SSDT .49 Hình 30 Phát Hook Inline Hook Shadow SSDT 49 Sinh viên thực hiện: Trần Nguyên Bản, 20060173, K51, Lớp CNPMA Danh mục hình vẽ phần phụ lục Phụ lục Sự thay đổi cấu trúc EPROCESS 55 Phụ lục Cấu trúc MMVAD Windows XP 55 Phụ lục Cấu trúc MMVAD Windows 56 Phụ lục Cấu trúc MM_AVL_TABLE 56 Phụ lục Cấu trúc MMADDRESS_NODE 57 Phụ lục Lớp Cprocess Phụ lục Lớp CprocessPage .58 Phụ lục Lớp CSSDTShadowTable Phụ lục Lớp CkernelHookPage 59 Phụ lục 10 Các lớp SystemIdtHook, CInlineHook, CssdtTableHook 59 Phụ lục 11 Lớp FileBrowserPage, CproxyFunctionFile 60 Phụ lục 12 Các lớp thao phân tách ổ cứng 61 Phụ lục 13 Lớp CSystemModulePage CsystemModule 62 Phụ lục 14 Lớp CNetworkPage CnetSnapshot 62 Phụ lục 15 Giao diện phần Kernel Hook 63 Phụ lục 16 Giao diện phần File Browser 63 Phụ lục 17 Giao diện phần System Module 64 Phụ lục 18 Giao diện phần Network 64 Sinh viên thực hiện: Trần Nguyên Bản, 20060173, K51, Lớp CNPMA Danh mục thuật ngữ từ viết tắt Thuật ngữ Malware Rootkit SSDT BkavARK IDT User Mode Kernel Mode WinNT Ý nghĩa Phần mềm độc hại Malware đặc biệt có khả che dấu thân hay thành phần xác định hệ thống System Service Descriptor Table Bảng miêu tả hàm hệ thống (nằm ntoskrnl.exe) Bkav Anti Rootkit – Phần mềm chống Rootkit cần xây dựng đồ án Interupt Descritptor Table – Bảng ngắt Chế độ chạy Ring hệ điều hành, với mức đặc quyền thấp không thao tác trực tiếp với phần cứng Chế độ chạy Ring hệ điều hành, với mức đặc quyền cao, thao tác trực tiếp với phần cứng Các hệ điều hành Windows đại (New Technology), mà cụ thể Windows XP, Windows Vista, Windows Sinh viên thực hiện: Trần Nguyên Bản, 20060173, K51, Lớp CNPMA Phần mở đầu Cùng với phát triển mạnh mẽ ngành công nghệ thông tin phát triển bùng nổ internet giới phát triển hình thức phá hoại, kiếm lợi bất cơng cụ ngành công nghệ thông tin Malware (phần mềm độc hại) vấn nạn phổ biến Quá trình phát triển malware chia làm nhiều giai đoạn với đặc trưng riêng Chúng ta tóm gọn lại sau Malware ban đầu phần mềm có khả tự nhân bản; malware cập nhật thêm vài ý tưởng phá hoại tối thiểu đổi ngày hệ thống, hay thay đổi hình Bước phát triển malware chúng trở thành phần mềm quảng cáo, chúng phát triển lên đến mức nguy hiểm cao phần mềm ăn cắp thông tin, thiết lập cổng hậu để điều khiển hệ thống người dùng từ xa lâu dài Trong trình phát triển đó, malware nảy sinh nhu cầu bảo vệ thân hệ thống lây nhiễm nhằm tránh phát người sử dụng, chí tránh phần mềm bảo mật thông tin phần mềm anti-virus, firewall, … có hệ thống Những phần mềm có khả tự che dấu thân che dấu thành phần xác định hệ thống gọi Rootkit Nhằm tìm hiểu phương pháp, kĩ thuật Rootkit sử dụng, loại Rootkit tiên tiến nay, từ đưa giải pháp xây dựng phần mềm anti-Rootkit (chống Rootkit), TGĐA lựa chọn đề tài: “Nghiên cứu xây dựng phần mềm Bkav Anti Rootkit hệ điều hành Windows.” Đồ án thực trung tâm an ninh mạng BKIS – Công ty TTHH An ninh mạng Bkav TGĐA thực tập trung tâm BKIS 03 năm thực tập chuyên mảng malware – Rootkit Nội dung đồ án yêu cầu trung tâm BKIS nhằm phát triển sản phẩm phần mềm anti-Rootkit riêng BKIS có đủ khả tích hợp vào sản phẩm thương mại Bkav Trên thực tế, sản phẩm kết đồ án phần mềm Bkav Anti Rootkit tích hợp vào sản phẩm BkavPro 201 BkavPro 2011mới mắt vào tháng 05 – 2011 Mục tiêu đề tài tìm hiểu kiến trúc, cách thức hoạt động hệ điều hành Windows, đặc biệt thành phần nhân nó, kĩ thuật khác Rootkit, cách thức hoạt động che dấu, bảo vệ Rootkit, để từ đưa phương án xử lí với loại Rootkit, kết hợp kiến thức lại để thiết kế phần mềm Bkav AntiRootkit triển khai thiết kế thành sản phầm hoàn chỉnh Nội dung đồ án gồm phần mở đầu, phần nội dung phần kết luận Trong phần nội dung thứ chia làm chương, phần nội dung thứ hai chia làm chương Toàn bố cục đồ án sau: Sinh viên thực hiện: Trần Nguyên Bản, 20060173, K51, Lớp CNPMA 10