Kỹ thuật tấn công và phòng thủ trên không gian mạng - Module 02: Kỹ thuật tấn công - Lesson 12: Buffer overflow

pdf 36 trang vanle 2110
Bạn đang xem 20 trang mẫu của tài liệu "Kỹ thuật tấn công và phòng thủ trên không gian mạng - Module 02: Kỹ thuật tấn công - Lesson 12: Buffer overflow", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfky_thuat_tan_cong_va_phong_thu_tren_khong_gian_mang_module_0.pdf

Nội dung text: Kỹ thuật tấn công và phòng thủ trên không gian mạng - Module 02: Kỹ thuật tấn công - Lesson 12: Buffer overflow

  1. KỸ THUẬT TẤN CÔNG VÀ PHÒNG THỦ TRÊN KHÔNG GIAN MẠNG Institute of Network Security - istudy.ispace.edu.vn
  2. NỘI DUNG • Module 01: Tổng quan An ninh mạng • ModuleModule 0202: KỹKỹ thuậtthuật tấntấn côngcông • Module 03: Kỹ thuật mã hóa • Module 04: Bảo mật hệ điều hành • Module 05: Bảo mật ứng dụng • Module 06: Virus và mã độc • Module 07: Các công cụ phân tích an ninh mạng • Module 08: Chính sách bảo mật và phục hồi thảm họa dữ liệu • Ôn tập • Báo cáo đồ án • Thi cuối khóa Institute of Network Security - istudy.ispace.edu.vn
  3. Module 02: KỸ THUẬT TẤN CÔNG • Lesson 01: Footprinting và Reconnaissance • Lesson 02: Google Hacking • Lesson 03: Scanning Networks • Lesson 04: Enumeration • Lesson 05: System Hacking • Lesson 06: Sniffer hệ thống mạng • Lesson 07: Social Engineering • Lesson 08: Denial of Service • Lesson 09: Session Hijacking • Lesson 10: SQL Injection • Lesson 11: Hacking Wireless Networks • Lesson 12: Buffer Overflow Institute of Network Security - istudy.ispace.edu.vn
  4. Buffer Overflows Institute of Network Security - istudy.ispace.edu.vn
  5. Nội dung • Giới thiệu về lỗi tràn bộ đệm • Windows Assembly • Stack Overflows • Heap Corruption • Format String Vulnerability Institute of Network Security - istudy.ispace.edu.vn
  6. Giới thiệu về lỗi tràn bộ đệm • Buffer(bộ đệm) là một vùng dữ liệu (trên RAM) được cấp phát trong quá trình thực thi ứng dụng. • Buffer OverFlow (BoF –tràn bộ đệm) là lỗi của phần mềm khi ghi khối dữ liệu quá lớn so với kích thước thực của Buffer. • Lỗ hổng tràn bộ đệm là lỗi tràn bộ đệm của phần mềm cho phép Hacker lợi dụng cài đặt mã độc và kiểm soát hệ thống. • Giới thiệu về Shellcode: – Là một đoạn mã máy dùng để thực hiện một việc gì đó khi được gọi đến như: mở cmd, bind port, load dll Institute of Network Security - istudy.ispace.edu.vn
  7. Giới thiệu về lỗi tràn bộ đệm void buffover(int i) { byte buffer[5]; strcpy(buffer,”123”); } void demo_function(int i) { byte buffer[8]; strcpy(buffer,”123456 shellcode”); -> Tấn công ở đây! } Institute of Network Security - istudy.ispace.edu.vn
  8. Giới thiệu về lỗi tràn bộ đệm • Dấu hiệu nhận diện ứng dụng bị lỗi tràn bộ đệm Institute of Network Security - istudy.ispace.edu.vn
  9. Giới thiệu về lỗi tràn bộ đệm • Sơ đồ phân bố vùng nhớ của ứng dụng • Windows x86 32 bit – System dll – Stack – Heap Institute of Network Security - istudy.ispace.edu.vn
  10. Giới thiệu về lỗi tràn bộ đệm • Memory Allocation Institute of Network Security - istudy.ispace.edu.vn
  11. Giới thiệu về lỗi tràn bộ đệm • Application Memory Layout – 2GB của bộ nhớ ảo sẽ được cấp cho user mode và 2GB còn lại là cho kernel mode. – Trong Windows địa chỉ từ 0x00000000 đến 0x7fffffff dành cho user mode và từ 0x80000000 đến 0xBfffffff cho kernel mode. Institute of Network Security - istudy.ispace.edu.vn
  12. Giới thiệu về lỗi tràn bộ đệm • Application Structure Institute of Network Security - istudy.ispace.edu.vn
  13. Giới thiệu về lỗi tràn bộ đệm • Phân loại vùng đệm – Stack OverFlow • (Buffer trên Stack) – Heap OverFlow • (Buffer trên Heap) Institute of Network Security - istudy.ispace.edu.vn
  14. Giới thiệu về lỗi tràn bộ đệm Institute of Network Security - istudy.ispace.edu.vn
  15. Giới thiệu về lỗi tràn bộ đệm Institute of Network Security - istudy.ispace.edu.vn
  16. Giới thiệu về lỗi tràn bộ đệm • Tăng tốc lây lan và phá hoại của Virus – Code Red (2001) –lỗi trong IIS. – Blaster (2003) –lỗi trong DCOM RPC. – Sasser (2004) –lỗi trong LSASS. – Conficker (2009) –lỗi RPC • Mất quyền kiểm soát hệ thống, mất thông tin nhạy cảm Institute of Network Security - istudy.ispace.edu.vn
  17. Shell Code • Đoạn mã máy nhỏ. • Thực thi nhiệm vụ đơn giản. • Phụ thuộc hệ điều hành, cấu trúc tập lệnh CPU. • Mã độc. Institute of Network Security - istudy.ispace.edu.vn
  18. Shell Code • Conflicker Shellcode Institute of Network Security - istudy.ispace.edu.vn
  19. Stack Overflow Institute of Network Security - istudy.ispace.edu.vn
  20. Stack Overflow • LIFO. • Biến cục bộ. • Lời gọi hàm. • Exception Institute of Network Security - istudy.ispace.edu.vn
  21. Stack Overflow Institute of Network Security - istudy.ispace.edu.vn
  22. Stack Overflow Institute of Network Security - istudy.ispace.edu.vn
  23. Stack Overflow • Buffer Injection Techniques • Optimizing the Injection Vector – Quyết định vị trí đặt payload. – File trên đĩa. – Những biến môi trường được điều khiển bởi local user. – Biến môi trường bên trong một Web request. – Những vùng có thể điều chỉnh bởi người dùng trong một giao thức mạng. • Những phương pháp để payload được xử lý – Direct jump ( Guessing Offsets) – Blind Return – Pop Return – Call Register – No Operation (NOP) Sled Institute of Network Security - istudy.ispace.edu.vn
  24. Stack Overflow A(){ // A1(“Xin chào”); A2(“tiếp tục’); } A1(char* in){ char *bar; char c[12]; strcpy(c,in); return; } Institute of Network Security - istudy.ispace.edu.vn
  25. Stack Overflow • Gọi hàm A1(AAAAAAAA AAAAAAAA); Institute of Network Security - istudy.ispace.edu.vn
  26. Stack Overflow Thay thế địa chỉ trả về bằng địa chỉ Shellcode Institute of Network Security - istudy.ispace.edu.vn
  27. Heap Corruption Institute of Network Security - istudy.ispace.edu.vn
  28. Heap Corruption Institute of Network Security - istudy.ispace.edu.vn
  29. Heap Corruption Institute of Network Security - istudy.ispace.edu.vn
  30. Heap Corruption Institute of Network Security - istudy.ispace.edu.vn
  31. Heap Corruption Institute of Network Security - istudy.ispace.edu.vn
  32. Phòng chống lỗi Buffer Overflow Institute of Network Security - istudy.ispace.edu.vn
  33. Phòng chống lỗi Buffer Overflow • Giải pháp ngăn chặn việc chặn địa chỉ trả về. Institute of Network Security - istudy.ispace.edu.vn
  34. Phòng chống lỗi Buffer Overflow • Ghi đè SEH Handle thay vì địa chỉ trả về. – Microsoft sử dụng thuật toán kiểm tra độ chính xác của địa chỉ SEH. – Thuật toán này không hoàn thiện dẫn đến khả năng đánh lừa thuật toán (Bypass SafeSEH). – Ngăn chặn thực thi Shellcode trong vùng dữ liệu (Heap, Stack). – Vì lý do tương thích, trong một vài trường hợp Microsoft vẫn cho phép tắt DEP. Điều này dẫn đến khả năng đánh lừa DEP và thực thi mã độc. • Thay đổi liên tục địa chỉ các vùng nhớ. Làm cho địa chỉ trả về trở nên vô tác dụng. – Thuật toán thay đổi địa chỉ (ramdom) của Microsoft chưa hoàn thiện dẫn đến có thể bypass trong một vài trường hợp Institute of Network Security - istudy.ispace.edu.vn
  35. TÓM LƯỢC BÀI HỌC • Buffer Overflow. • Các công cụ cần thiết. • Các điểm cần lưu ý. Institute of Network Security - istudy.ispace.edu.vn
  36. Q & A 36 Institute of Network Security - istudy.ispace.edu.vn