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

BÀI GIẢNG AN TOÀN PHẦN MỀM

12 101 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

Định dạng
Số trang 12
Dung lượng 3,06 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

Hả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 2

 Mố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 3

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

 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 4

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)

Ứng dụng (Application Program)

Thư viện (Library)

…

Trang 5

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

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

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)

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 7

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

◦ 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 8

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)

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 9

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ử

◦ 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 10

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

◦ ầ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 11

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

Trang 12

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 /

Ngày đăng: 13/03/2019, 09:59