1. Trang chủ
  2. » Giáo Dục - Đào Tạo

CSATTT14 tranbodem

36 6 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

Thông tin cơ bản

Tiêu đề Tìm Hiểu Về Lỗ Hổng Tràn Bộ Đệm (Buffer Overflow)
Tác giả Nguyễn Văn Lĩnh, Lê Gia Long, Trần Hữu Long
Trường học Học Viện Kĩ Thuật Mật Mã
Chuyên ngành An Toàn Thông Tin
Thể loại Báo Cáo Bài Tập Lớn
Định dạng
Số trang 36
Dung lượng 1,57 MB

Nội dung

HỌC VIỆN KĨ THUẬT MẬT MÃ AN TỒN THƠNG TIN  BÁO CÁO BÀI TẬP LỚN Đề tài: TÌM HIỂU VỀ LỖ HỔNG TRÀN BỘ ĐỆM (BUFFER OVERFLOW) THÀNH VIÊN CỦA NHÓM: NHÓM 14 Nguyễn Văn Lĩnh – AT150631 Lê Gia Long – AT150332 Trần Hữu Long – AT150434 TỔNG QUAN VỀ BUFFER OVERFLOW 01 NỘI DUNG: 02 03 KHAI THÁC BUFFER OVERFLOW BIỆN PHÁP PHÒNG CHỐNG TỔNG QUAN VỀ BUFFER OVERFLOW TỔNG QUAN VỀ BUFFER OVERFLOW KHÁI NIỆM:  Buffer Overflow hay lỗi tràn đệm điều kiện bất thường tiến trình lưu trữ liệu vượt ngồi biên nhớ đệm có chiều dài cố định Kết liệu đè lên nhớ liền kề Dữ liệu bị ghi đè bao gồm nhớ đệm khác, biến liệu điều khiển luồng chảy chương trình (program flow control) TỔNG QUAN VỀ BUFFER OVERFLOW VÍ DỤ: TỔNG QUAN VỀ BUFFER OVERFLOW NGUYÊN NHÂN:  Phương thức kiểm tra biên (boundary) không thực đầy đủ bỏ qua  Các ngơn ngữ lập trình ngơn ngữ C, thân tiền ẩn lỗi mà hacker khai thác TỔNG QUAN VỀ BUFFER OVERFLOW TÁC HẠI  Lỗi tràn đệm khiến ứng dụng ngừng hoạt động, gây liệu chí giúp kẻ cơng kiểm sốt hệ thống tạo hội cho kẻ công thực nhiều thủ thuật khai thác khác KHAI THÁC BUFFER OVERFLOW TỔ CHỨC BỘ NHỚ - Mỗi tiến trình thực thi hệ điều hành cấp phát cho không gian nhớ ảo giống Không gian nhớ gồm vùng:    Vùng Text Vùng Data Vùng Stack 10 CÁCH PHÁT HIỆN BUFFER OVERFLOW  Có cách để phát lỗi buffer overflow mà hacker sử dụng :  Nhìn vào source code: Hacker tìm kiếm string biến cục hàm chương trình, xem xét chúng có kiểm tra biên (boundary check) chưa Kiểm tra tiêu chuẩn hàm có liên quan đến phần chuỗi phần input, output  Nhập vào ứng dụng liệu xem xét ứng dụng có biểu khơng bình thường khơng 22 CÁCH PHÁT HIỆN BUFFER OVERFLOW   Xác định Bufer Overfow  1.Phát cơng từ bên ngồi  Phát tràn đệm bên ngồi xảy cơng sử dụng khai thác tràn đệm chuyển tiếp đến hệ thống từ hệ thống mạng Chẳng hạn xử lí máy chủ web , trọng tải công thông tin nhị phân mà mục tiêu diễn giải dạng mã liệu thực thi chương trình khác ( điều giống với phần mềm độc hại , tải trọng khai thác chứa mẫu liệu phân biệt để xác định diện công Buffer overflow Các mẫu liệu tạo thành mẫu kí số mà sử dụng để phát cơng Nếu xác định lưu lượng mạng vận chuyển liệu chữ ký nhận công tràn đệm Bấm để thêm nội dung 23 24 CÁCH PHÁT HIỆN BUFFER OVERFLOW   Xác định Bufer Overfow  Sử dụng phần mềm xác định công Buffer Overflow      Snort :       Snort hệ thống phát xâm nhập mạng mã nguồn mở miễn phí hệ thống ngăn chặn xâm nhập tạo vào năm 1998 Martin Roesch, người sáng lập cựu CTO Sourcefire.Snort phát triển Cisco, công ty mua Sourcefire vào năm 2013 25 CÁCH PHÁT HIỆN BUFFER OVERFLOW  • •  Xác định Bufer Overfow  ClamAV ClamAV từ viết tắt tên gọi Clam Antivirus phát triển Tập đoàn chuyên công nghệ thông tin kết nối mạng internet hệ thống Cisco (Cisco Systems) Clam Antivirus cơng cụ miễn phí, hỗ trợ đa tảng với hệ thống mở phát nhiều phần mềm, mã nguồn độc hại bao gồm virus 26 CÁCH PHÁT HIỆN BUFFER OVERFLOW  • •  Xác định Bufer Overfow  Host-based Intrusion Detecction Systems ( Hệ thống phát xâm nhập máy chủ ) HIDS cài đặt nhiều dạng máy tính khác cụ thể máy chủ, máy trạm, máy tính notebook HIDS cho phép bạn thực cách linh hoạt đoạn mạng Lưu lượng gửi tới host phân tích chuyển qua host chúng không tiềm ẩn mã nguy hiểm   HIDS cụ thể ứng dụng phục vụ mạnh mẽ cho thị trường Windows giới máy tính, có sản phẩm hoạt động ứng dụng UNIX nhiều hệ điều hành khác 27 CÁCH PHÁT HIỆN BUFFER OVERFLOW  • •  Xác định Bufer Overfow  5.Sử dụng EMET EMET, viết tắt Enhanced Mitigation Experienc Toolkit Microsoft, công cụ bảo mật tốt biết đến Microsoft tạo EMET phần mềm đơn giản hiệu sử dụng kỹ thuật giảm thiểu cụ thể ngăn chặn thực liệu, lọc địa xuất bảng, xử lý ngoại lệ có cấu trúc ghi đè bảo vệ, vv để thêm tính bảo mật bổ sung để bảo vệ ứng dụng cài đặt bạn không bị khai thác 28 CÁC CÁCH PHỊNG CHỐNG BUFFER OVERFLOW  Lựa chọn ngơn ngữ lập trình  Sử dụng thư viện an toàn  Chống tràn đệm stack  Bảo vệ không gian thực thi  Ngẫu nhiên hóa sơ đồ khơng gian địa (Address space layout randomization ASLR)  Kiểm tra sâu gói tin (deep packet inspection - DPI) 29 CÁC CÁCH PHỊNG CHỐNG BUFFER OVERFLOW Lựa chọn ngơn ngữ lập trình  • Ngơn ngữ lập trình có ảnh hưởng lớn xuất lỗi tràn đệm Ngơn ngữ lập trình C C++ hai ngơn ngữ lập trình thơng dụng, hạn chế khơng kiểm tra việc truy cập ghi đè liệu thơng qua trỏ • Cyclone: biến thể C, giúp ngăn chặn lỗi tràn đệm việc gắn thông tin kích thước mảng với mảng • Ngơn ngữ lập trình sử dụng nhiều kỹ thuật đa dạng để tránh gần hết việc sử dụng trỏ kiểm tra biên người dùng xác định • Nhiều ngơn ngữ lập trình khác cung cấp việc kiểm tra thời gian chạy Việc kiểm tra cung cấp ngoại lệ hay cảnh báo C hay C+ + ghi đè liệu ví dụ Pythol, Ada, Lisp, Ngồi ra, mơi trường Java hay Net đòi hỏi kiểm tra biên tất mảng 30 CÁC CÁCH PHÒNG CHỐNG BUFFER OVERFLOW Sử dụng thư viện an toàn  Sử dụng thư viện viết tốt kiểm thử dành cho kiểu liệu trừu tượng mà thư viện thực tự động việc quản lý nhớ, có kiểm tra biên làm giảm xuất ảnh hưởng tượng tràn đệm Các thư viện an toàn gồm có: The Better String Library, Arri Buffer API, Vstr 31 CÁC CÁCH PHÒNG CHỐNG BUFFER OVERFLOW Chống tràn đệm stack  Stack – smashing protection kỹ thuật dùng để phát hiện tượng tràn đệm phổ biến Kỹ thuật kiểm tra xem stack bị sửa đổi hay chưa hàm trả Nếu stack bị sửa đổi, chương trình kết thúc lỗi segmentation fault.Chế độ Data Execution Prevention (cấm thực thi liệu) Microsoft bảo vệ trỏ không cho chúng bị ghi đè.Có thể bảo vệ stack cách phân tán stack thành hai phần, phần dành cho liệu phần dành cho bước trả hàm, phân chia dùng ngôn ngữ Forth 32 CÁC CÁCH PHỊNG CHỐNG BUFFER OVERFLOW Bảo vệ khơng gian thực thi  Kỹ thuật ngăn chặn việc thực thi mã stack hay heap Hacker sử dụng tràn đệm để chèn đoạn mã tùy ý vào nhớ chương trình, với việc bảo vệ khơng gian thực thi cố gắng chạy đoạn mã gây ngoại lệ Một số CPU hỗ trợ tính có tin bit NX (No eXecute) bit XD (eXecute Disable) Khi kết hợp với phần mềm tính dùng để đánh dấu trang liệu (chẳng hạn trang chứa stack heap) đọc khơng thực 33 CÁC CÁCH PHỊNG CHỐNG BUFFER OVERFLOW Ngẫu nhiên hóa sơ đồ khơng gian địa (Address space layout randomization ASLR)  Là tính an ninh máy tính có liên quan đến việc xếp vùng liệu quan trọng (thường bao gồm nơi chứa mã thực thi vị trí thư viện, heap stack) cách ngẫu nhiên khơng gian địa tiến trình 34 CÁC CÁCH PHÒNG CHỐNG BUFFER OVERFLOW Kiểm tra sâu gói tin (deep packet inspection - DPI)  Có thể phát việc cố gắng khai thác lỗi tràn đệm từ xa từ biên giới mạng Các kỹ thuật có khả ngăn chặn gói tin có chứa chữ ký vụ công biết chứa chuỗi dài lệnh No- Operation (NOP – lệnh rỗng khơng làm gì) Việc rà qt gói tin khơng phải phương pháp hiệu ngăn chặn cơng biết có nhiều cách để mã hóa lệnh NOP 35

Ngày đăng: 13/10/2021, 08:29

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w