Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Bài giảng An toàn an ninh thông tin: Chương 10 An toàn vùng nhớ tiến trình cung cấp cho người học những kiến thức như: Lỗ hổng tràn bộ đệm (Buffer Overflow); Lỗ hổng tràn số nguyên; Lỗ hổng xâu định dạng; Cơ bản về lập trình an toàn. Mời các bạn cùng tham khảo! | BÀI 10. AN TOÀN VÙNG NHỚ TIẾN TRÌNH Bùi Trọng Tùng Viện Công nghệ thông tin và Truyền thông Đại học Bách khoa Hà Nội 1 1 Nội dung Lỗ hổng tràn bộ đệm Buffer Overflow Lỗ hổng tràn số nguyên Lỗ hổng xâu định dạng Cơ bản về lập trình an toàn 2 1 2 2020 CWE Top 25 Danh sách 25 lỗ hổng phần mềm nguy hiểm nhất 4 trong số Top 10 là dạng lỗ hổng truy cập bộ nhớ 1 lỗ hổng liên quan CWE-20 3 3 1. TỔNG QUAN VỀ TIẾN TRÌNH NHẮC LẠI Bùi Trọng Tùng Viện Công nghệ thông tin và Truyền thông Đại học Bách khoa Hà Nội 4 2 4 Tiến trình là gì Là chương trình đang được thực hiện Các tài nguyên tối thiểu của tiến trình Vùng nhớ được cấp phát Con trỏ lệnh Program Counter Các thanh ghi của CPU Khối điều khiển tiến trình Process Control Block-PCB Cấu trúc chứa thông tin của tiến trình 5 5 Bộ nhớ của tiến trình Linux 32-bit 0xffffffff Tiến trình coi bộ Thực tế đây là bộ nhớ thuộc toàn bộ nhớ ảo với địa chỉ sở hữu của nó ảo sẽ được HĐH CPU ánh xạ sang địa chỉ vật lý 0x00000000 6 3 6 Bộ nhớ của tiến trình Linux 32-bit 0xffffffff Kernel 0xc0000000 Thiết lập khi tiến cmdline amp env trình bắt đầu Stack Thay đổi khi thực thi Heap BSS Xác định ở thời Data điểm biên dịch Text Không gian địa chỉ 0x08048000 Unused của thiết bị vào-ra 0x00000000 7 7 Vùng nhớ stack và heap Trình biên dịch cung cấp các hàm làm thay đổi kích thước vùng nhớ stack khi thực thi chương trình 0x00000000 0xffffffff Heap 3 2 1 Stack Con trỏ push 1 Được quản lý trong tiến stack push 2 trình bởi các hàm cấp push 3 phát bộ nhớ động return malloc calloc 8 4 8 Stack - Thực hiện lời gọi hàm void func char arg1 int arg2 char loc1 4 int loc2 8 byte giữa các tham số và các biến 0xffffffff loc2 loc1 arg1 arg2 caller s data Các cục bộ được Các tham số đưa đưa vào stack vào stack theo theo thứ tự thứ tự ngược 9 9 Stack frame void func char arg1 int arg2 char loc1 4 int loc2 0xffffffff loc2 loc1 arg1 arg2 caller s data Stack frame Một phần của vùng nhớ stack tương ứng với lời gọi của một hàm 10 5 10 Stack frame void main countUp 3 void .