intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng An toàn phần mềm

Chia sẻ: Lê Na | Ngày: | Loại File: PDF | Số trang:12

145
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng An toàn phần mềm trình bày các nội dung: Bảo mật hệ thống/phần mềm, các hình thức tấn công hệ thống/phần mềm, các yêu cầu của bảo mật hệ thống/phần mềm, hổ hổng an toàn phần mềm và các biện pháp ngăn chặn.

Chủ đề:
Lưu

Nội dung Text: Bài giảng An toàn phần mềm

  1. 8/28/2014 Hải V. Phạm Bộ môn HTTT – Viện CNTT&TT H BKHN @Hai V Pham 2 – 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. – Với dạng tấn công thụ động, nhấn mạnh vấn đề ngăn chặn hơn là vấn đề phát hiện. 3 1
  2. 8/28/2014 Dạng ng tấn n công chủ ch động ng  Mối đe dọa chủ động 4  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 @Hai V Pham 5  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  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) 2
  3. 8/28/2014  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  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 được mọi thứ mà một phần mềm 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 3
  4. 8/28/2014  Virus 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)  Bộ nhớ (Memory-Resident)  Ứng dụng (Application Program)  Thư viện (Library)  … 4
  5. 8/28/2014  Mã 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  Mã đính kèm không thay đổi ◦ 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  Sử dụng phần mềm thương mại từ nguồn tin cậy  Kiểm thử phần mềm trên một máy tính/hệ thống tách biệt  Mở tệp đính kèm chỉ khi nào biết rõ nguồn gốc  Lưu ở nơi an toàn một phiên bản có thể tái tạo của hệ thống đang sử dụng  Sử dụng phần mềm quét diệt virus  Virus chỉ lây nhiễm trên các hệ thống MS Windows  Virus không thể thay đổi các file “hidden” hoặc “read-only”  Virus chỉ xuất hiện trong tệp dữ liệu, chương trình  Virus chỉ phát tán thông qua qua đĩa, e-mail  Virus không thể tồn tại trong bộ nhớ sau khi reboot power off/on  Virus lây nhiễm trên phần cứng 5
  6. 8/28/2014  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  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)  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  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)  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 6
  7. 8/28/2014  Trà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  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)  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  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) 7
  8. 8/28/2014  Mụ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) 3. Chức năng (Function Testing) 4. Hiệu năng (Performance Testing) 5. Công nhận (Acceptance 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 8
  9. 8/28/2014  Hộ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ử  Hộp trắng (White-box) ◦ 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ộp xám (Grey-box) ◦ 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  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)  Mục đích của kiểm định hình thức là chứng minh hệ thống an toàn 9
  10. 8/28/2014  Kiể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  Suy diễn logic (Logical Inference) ◦ ầ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 ầu vào Chương trình ầu ra Chương trình ầu vào + iều kiện ầu ra + iều kiện trước +iều kiện sau  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  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) 10
  11. 8/28/2014  Nguyê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 11
  12. 8/28/2014  Mộ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 / phần mềm  2) Các kỹ thuật và công cụ phần mềm để bảo mật hệ thống / phần mềm 36 12
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2