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…
36 trang |
Chia sẻ: franklove | Lượt xem: 4587 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Kỹ thuật tấn công và phòng thủ trên không gian mạng - Kỹ thuật tấn công mạng - Buffer Overflow, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Institute of Network Security - istudy.ispace.edu.vn
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
NỘI DUNG
• Module 01: Tổng quan An ninh mạng
• Module 02: Kỹ thuật tấn cô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
tấ c
Institute of Network Security - istudy.ispace.edu.vn
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
Buffer Overflows
Institute of Network Security - istudy.ispace.edu.vn
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
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
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
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
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
Giới thiệu về lỗi tràn bộ đệm
• Memory Allocation
Institute of Network Security - istudy.ispace.edu.vn
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
Giới thiệu về lỗi tràn bộ đệm
• Application Structure
Institute of Network Security - istudy.ispace.edu.vn
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
Giới thiệu về lỗi tràn bộ đệm
Institute of Network Security - istudy.ispace.edu.vn
Giới thiệu về lỗi tràn bộ đệm
Institute of Network Security - istudy.ispace.edu.vn
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
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
Shell Code
• Conflicker Shellcode
Institute of Network Security - istudy.ispace.edu.vn
Stack Overflow
Institute of Network Security - istudy.ispace.edu.vn
Stack Overflow
• LIFO.
• Biến cục bộ.
• Lời gọi hàm.
• Exception
Institute of Network Security - istudy.ispace.edu.vn
Stack Overflow
Institute of Network Security - istudy.ispace.edu.vn
Stack Overflow
Institute of Network Security - istudy.ispace.edu.vn
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
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
Stack Overflow
• Gọi hàm A1(AAAAAAAA…AAAAAAAA);
Institute of Network Security - istudy.ispace.edu.vn
Stack Overflow
Thay thế địa
chỉ trả về
bằng địa chỉ
Shellcode
Institute of Network Security - istudy.ispace.edu.vn
Heap Corruption
Institute of Network Security - istudy.ispace.edu.vn
Heap Corruption
Institute of Network Security - istudy.ispace.edu.vn
Heap Corruption
Institute of Network Security - istudy.ispace.edu.vn
Heap Corruption
Institute of Network Security - istudy.ispace.edu.vn
Heap Corruption
Institute of Network Security - istudy.ispace.edu.vn
Phòng chống lỗi Buffer Overflow
Institute of Network Security - istudy.ispace.edu.vn
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
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
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
Q & A
36