Mối đe dọa chủ động4 D Dạng ng ng ttttấn n n công công công ch ch chủ đ đ động ng Bảo đảm chỉ người dùng có quyền truy xuất có thể truy cập thôngtin Thông tin luôn luôn sẵn sàng cho ngườ
Trang 1Hải V Phạm
Bộ môn HTTT – Viện CNTT&TT
H BKHN
– Dạng tấn công thụ động rất khó bị phát hiện vì
không làm thay đổi dữ liệu.
Trang 2Mối đe dọa chủ động
4
D
Dạng ng ng ttttấn n n công công công ch ch chủ đ đ động ng
Bảo đảm chỉ người dùng có quyền truy xuất
có thể truy cập thôngtin
Thông tin luôn luôn sẵn sàng cho người dùng
truy xuất
Dữ liệu phải luôn chính xác, không bị cập
nhật trái phép
◦ Các phần mềm ác tính thường gặp
◦ Các biện pháp ngăn chặn
◦ Các lỗi phần mềm thường gặp
Các biện pháp an toàn
Trang 3Phần mềm ác tính
◦ Các phần mềm ác tính thường gặp
◦ Các biện pháp ngăn chặn
Lỗi phần mềm
◦ Các lỗi phần mềm thường gặp
◦ Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thức (Formal Verification)
Lập trình an toàn (Secure Coding)
Chạy theo chủ định của người lập trình ra nó
Chạy và phản ứng theo cách bất thường,
không trông đợi từ phía người dùng
Ẩn náu trong hệ thống, hoặc gắn vào các
phần mềm không ác tính
có thể làm
Vi rut (Virus)
◦ Gắn vào một chương trình, phát tán bản sao ra khác chương trình
khác
Trojan horse
◦ Có các tính năng bất thường
Bom logic (Logic bomb)
◦ Phát động khi điều kiện được thỏa mãn
Bom thời gian (Time bomb)
◦ Phát động khi đến hạn thời gian
Trapdoor
◦ Cho phép truy nhập trái phép các tính năng
Sâu (Worm)
◦ Phát tán bản sao qua mạng
Thỏ (Rabbit)
◦ Nhân bản đến khi không còn tài nguyên
Trang 4Virus chỉ gây hại khi được kích hoạt
◦ Virus chạy cùng với một chương trình khác chạy bởi
người dùng
◦ Virus chạy khi mở tệp đính kèm trong e-mails, tệp
ảnh, tệp đồ họa
Mã virus đính vào mã chương trình
◦ Nối mã virus với mã chương trình
◦ Mã virus bao quanh mã chương trình
◦ Mã virus tích hợp vào mã chương trình
Virus tài liệu
◦ Tài liệu chứa cả dữ liệu và các lệnh
Vùng Boot (Boot Sector)
Ứng dụng (Application Program)
Thư viện (Library)
…
Trang 5Mã virus có kiểu mẫu đặc biệt
◦ Có thể nhận biết các đoạn mã của từng loại virus
◦ Chương trình đính kèm sẽ lớn hơn chương trình
ban đầu
Vị trí đính kèm không thay đổi
cậy
thống tách biệt
của hệ thống đang sử dụng
Windows
“read-only”
trình
reboot power off/on
Trang 6Phần mềm ác tính
◦ Các phần mềm ác tính thường gặp
◦ Các biện pháp ngăn chặn
◦ Các lỗi phần mềm thường gặp
◦ Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thức (Formal Verification)
Lập trình an toàn (Secure Coding)
Phần mềm ác tính
◦ Các phần mềm ác tính thường gặp
◦ Các biện pháp ngăn chặn
◦ Các lỗi phần mềm thường gặp
◦ Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thức (Formal Verification)
Lập trình an toàn (Secure Coding)
Lập trình viên thường mắc lỗi
◦ không cố ý
◦ không ác tính
◦ nhưng đôi khi gây hậu quả nghiêm trọng
Trang 7Tràn bộ đệm (Buffer Overflow)
◦ Array Index Out of Bound
Không đầy đủ (Incomplete Mediation)
◦ Format String
◦ Implicit Cast, Integer Overflow
ồng bộ (Synchronization)
◦ File stat()/open()
Phần mềm ác tính
◦ Các phần mềm ác tính thường gặp
◦ Các biện pháp ngăn chặn
◦ Các lỗi phần mềm thường gặp
◦ Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thức (Formal Verification)
Lập trình an toàn (Secure Coding)
Phần mềm ác tính
◦ Các phần mềm ác tính thường gặp
◦ Các biện pháp ngăn chặn
◦ Các lỗi phần mềm thường gặp
◦ Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thức (Formal Verification)
Lập trình an toàn (Secure Coding)
Trang 8Mục đích của kiểm thử là tìm ra lỗi của hệ
thống
◦ Nếu không tìm ra lỗi, chúng ta hi vọng rằng hệ
thống là an toàn
1. ơn vị (Unit Testing)
2. Tích hợp (Integration Testing)
4. Hiệu năng (Performance Testing)
6. Cài đặt (Installation Testing)
Hồi quy (Regression Testing)
◦ Nếu hệ thống có thay đổi, chỉnh sửa
Xoắn (Fuzz Testing)
◦ Các trường hợp đặc biệt, dễ bị khai thác và tấn
công
Trang 9Hộp đen (Black-box)
◦ Không có thông tin về cấu trúc bên trong của phần
mềm
◦ Dùng cho tất cả các mức của quy trình kiểm thử
◦ Biết cấu trúc bên trong của phần mềm
◦ Thường dùng cho kiểm thử đơn vị
◦ Hỗn hợp
en: kiểm thử
Trắng: thiết kế ca kiểm thử
Phần mềm ác tính
◦ Các phần mềm ác tính thường gặp
◦ Các biện pháp ngăn chặn
◦ Các lỗi phần mềm thường gặp
◦ Các biện pháp an toàn
Kiểm thử (Testing)
Kiểm định hình thức (Formal Verification)
Lập trình an toàn (Secure Coding)
Mục đích của kiểm định hình thức là chứng
minh hệ thống an toàn
Trang 10Kiểm định mô hình (Model checking)
◦ Phần mềm được đặc tả bằng một mô hình
◦ Quá trình kiểm định thực hiện bằng cách duyệt tất cả
các trạng thái thông qua tất cả các chuyển tiếp
◦ ầu vào của phần mềm bị ràng buộc bằng một biểu
thức logic
◦ Tương tự với đầu ra
◦ Bản thân phần mềm cũng bị ràng buộc bằng một biểu
thức logic
Chương trình
ầu vào
ầu ra
ầu vào
+iều kiện sau
Chương trình
+ iều kiện
Phần mềm ác tính
◦ Các phần mềm ác tính thường gặp
◦ Các biện pháp ngăn chặn
◦ Các lỗi phần mềm thường gặp
Các biện pháp an toàn
Trang 11Nguyên tắc
◦ Mô đun (Modularity)
◦ óng gói (Encapsulation)
◦ Giấu thông tin (Information Hiding)
Thiết kế các hợp phần
◦ Một mục tiêu/nhiệm vụ
◦ Nhỏ
◦ ơn giản
◦ ộc lập
Giấu thông tin về cách thức cài đặt các hợp
phần
◦ Ví dụ: lớp ảo C++, giao diện Java
Giảm thiểu chia xẻ giữa các hợp phần
◦ Ví dụ: các thư viện
Các hợp phần tương tác thông qua các giao
diện
◦ Ví dụ: tương tác giữa các đối tượng thông qua các
phương thức
Trang 12Một hợp phần như một hộp đen nhìn từ phía
ngoài
◦ Ví dụ: một lớp C++, Java
Các phần tử bên ngoài không thể thay đổi
sữa chữa thông tin một cách ác ý và trái phép
◦ Ví dụ: các thuộc tính private, protected
Một số quy tắc thực hành
◦ Sử dụng một chuẩn lập trình
◦ Lập trình phòng thủ
Kiểm tra dữ liệu đầu vào/đầu ra
Sử dụng đặc quyền thấp nhất có thể
◦ Thiết kế theo chính sách an toàn
◦ Sử dụng các công cụ đảm bảo chất lượng
Kiểm thử
Kiểm định
Duyệt lại mã
Hãy thiết kế mô hình tổng quát bảo mật hệ
thống thông tin / phần mềm của một doanh
nghiệp hay tổ chức có cơ sở hạ tầng CNTT
mạng LAN kết nối trực tuyến với Internet:
1) Mô hình bảo mật hệ thống thông tin /