Bài giảng An toàn an ninh thông tin - Chương 1: Tổng quan về an toàn an ninh thông tin - Bùi Trọng Tùng
An toàn an ninh thông tin là gì?
Bảo vệ tài nguyên hệ thống thông tin trước các hành vi gây
tổn hại
• Tài nguyên hệ thống:
Phần cứng: máy tính, đường truyền, thiết bị mạng.
Phần mềm
Dữ liệu
Người dùng
• Các hành vi gây tổn hại: phần lớn là các hành vi tấn công
cố ý
Tấn công vật lý: tấn công vào phần cứng
Tấn công logic: sử dụng các chương trình phá hoại để can thiệp
vào quá trình xử lý và truyền dữ liệu
An toàn an ninh thông tin là gì?
• Hoạt động của hệ thống: yêu cầu tính đúng đắn là thực
hiện đầy đủ và chính xác với mọi giá trị đầu vào
Có thể không phát hiện được tình huống đáp ứng một giá trị đầu
vào độc hại sẽ dẫn đến một kết quả đầu ra nằm ngoài mong đợi
• AT-ANTT: là một dạng của tính đúng đắn
Hệ thống có khả năng phát hiện và ngăn chặn các giá trị đầu vào
không mong muốn
Đạt được tính đúng đắn ngay cả khi có sự hiện diện của kẻ tấn
công
Tại sao AT-ANTT là quan trọng?
Các hành vi tấn công AT-ANTT tác động tiêu cực tới:
• An toàn thân thể của mỗi cá nhân
• Sự bí mật của thông tin cá nhân và tổ chức
• Tài sản của cá nhân và tổ chức
• Sự phát triển của một tổ chức
• Nền kinh tế của một quốc gia
• Tính an toàn của một quốc gia
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Bài giảng An toàn an ninh thông tin - Chương 1: Tổng quan về an toàn an ninh thông tin - Bùi Trọng Tùng
hi giữa kỳ: 30% + 10%) Cuối kỳ: 60% • Website: https://users.soict.hust.edu.vn/tungbt/it4015 14 14 7 Thông tin giảng viên Bùi Trọng Tùng, Bộ môn Truyền thông và Mạng máy tính Email: tungbt@soict.hust.edu.vn Địa chỉ: phòng 405, nhà B1 FB: https://www.facebook.com/tungbui.hust Group: https://www.facebook.com/groups/FAQ.TungBT 15 Nội dung học phần • Mở đầu: Các khái niệm và nguyên lý cơ bản • Phần 1: Các hệ mật mã và ứng dụng Hệ mật mã khóa đối xứng Hệ mật mã khóa công khai Xác thực thông điệp • Phần 2: Kiểm soát truy cập Xác thực danh tính Ủy quyền • Phần 3: An toàn-an ninh phần mềm 16 16 8 Tài liệu tham khảo [1] TS. Nguyễn Khanh Văn (2015). Giáo trình Cơ Sở An Toàn Thông Tin. Nhà xuất bản Bách Khoa Hà nội. [2] Matt Bishop (2004). Introduction to Computer Security. Addison-Wesley [3] Tài liệu đọc thêm theo từng bài 17 17 Chúng ta học gì? • Suy nghĩ về hệ thống thông tin như một kẻ tấn công Xác định mối đe dọa và điểm yếu của hệ thống • Làm cách nào để thực hiện một số kỹ thuật tấn công Khai thác lỗ hổng phần mềm • Suy nghĩ về hệ thống như người thiết kế giải pháp AT- ANTT Cách thức ngăn chặn và giảm thiểu tấn công Hiểu và ứng dụng các nguyên lý AT-ANTT Hiểu và ứng dụng các cơ chế, công cụ AT-ANTT 18 18 9 2. KHÁI NIỆM CƠ BẢN VỀ AT-ANTT 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 19 19 AT-ANTT là gì? - CIA • Confidentiality (Bí mật): tài nguyên chỉ được tiếp cận bởi các bên được ủy quyền • Integrity (Toàn vẹn): tài nguyên chỉ được sửa đổi bởi các bên được ủy quyền • Availability (Sẵn sàng): tài nguyên sẵn sàng khi có yêu cầu Thời gian đáp ứng chấp nhận được Tài nguyên được định vị trí rõ ràng Khả năng chịu lỗi Dễ dàng sử dụng Đồng bộ khi đáp ứng yêu cầu 20 20 10 AT-ANTT là gì? – AAA • Assurance (Đảm bảo): hệ thống cung cấp sự tin cậy và quản trị được sự tin cậy Ví dụ: tính tin cậy trong hệ thống thanh toán trực tuyến Bao gồm khía cạnh kỹ thuật phần mềm: Làm thế nào chắc chắn rằng mã nguồn phần mềm được viết theo đúng thiết kế? • Authenticity (Xác thực): khẳng định được danh tính của chủ thể trong hệ thống • Anonymity (Ẩn danh): che giấu được thông tin cá nhân của chủ thể 21 21 Chính sách và cơ chế AT-ANTT • Chính sách AT-ANTT(security policy): tuyên bố về các mục tiêu/yêu cầu AT-ANTT của hệ thống Chủ thể Hành vi phải thực hiện/được phép/không được phép Tài nguyên • Là cơ sở để xây dựng hạ tầng AT-ANTT • Phục vụ cho quản trị AT-ANTT 22 22 11 Cơ chế AT-ANTT • Là các kỹ thuật, thủ tục để thi hành và đảm bảo chính sách AT-ANTT được thi hành • Phân loại: Ngăn chặn (Prevention): ngăn chặn chính sách bị xâm phạm Phát hiện (Detection) và Ứng phó(Response): phát hiện chính sách bị xâm phạm False positive rate: Tỉ lệ cảnh báo sai False negative rate: Tỉ lệ bỏ sót tấn công 23 23 Một số cơ chế AT-ANTT(tiếp) • Bảo vệ vật lý (Physical protection) • Mật mã học (Cryptography) • Định danh (Identification) • Xác thực (Authentication) • Ủy quyền (Authorization) • Nhật ký (Logging) • Kiểm toán(Auditting) • Sao lưu và khôi phục (Backup and Recovery) • Dự phòng (Redundancy) • Giả lập, ngụy trang (Deception) • Gây nhiễu, ngẫu nhiên(randomness) 24 24 12 3. Lỗ hổng và tấn công AT-ANTT • Mối đe dọa (Threat): các hành vi tiềm ẩn khả năng gây hại cho hệ thống • Tấn công (Attack): thực thi nguy cơ Thường lợi dụng, khai thác lỗ hổng Kẻ tấn công là ai? Kẻ tấn công có gì? • Độ rủi ro (Risk): xác suất hệ thống bị tổn hại bởi mối đe dọa • Lỗ hổng (Vulnerability): là những điểm yếu trong hệ thống có thể bị khai thác, lợi dụng để gây tổn hại cho hệ thống https://www.cvedetails.com/ Tầm soát lỗ hổng định kỳ là một trong những giải pháp phòng chống tấn công 25 25 Mô hình đe dọa • Threat Model: mô tả những mối đe dọa kẻ tấn công có thể gây ra cho hệ thống và hậu quả Cái gì cần bảo vệ? Ai có thể tấn công vào hệ thống? Chúng có gì? Hệ thống có thể bị tấn công như thế nào? Policiy Security Threat Mechan model ism 26 26 13 Ai có thể tấn công bạn? • Tội phạm vì động cơ tiền bạc • Tội phạm vì động cơ phá hoại • Chính phủ các nước Nếu bạn đủ quan trọng và đáng giá :D • Người thân quen: Kẻ tấn công nguy hiểm nhất 27 27 Những giả định về tấn công • Những giả định này là bi quan nhưng là sự cận trọng cần thiết • Kẻ tấn công có thể tương tác với hệ thống mà không gây ra sự khác biệt rõ rang • Kẻ tấn công có thể dễ dàng thu thập các thông tin thông thường của hệ thống(Ví dụ: hệ điều hành, phần mềm, dịch vụ,) • Kẻ tấn công có thể truy cập vào hệ thống tương tự để xác định được cách thức hệ thống hoạt động như thế nào 28 28 14 Những giả định về tấn công(tiếp) • Kẻ tấn công có khả năng tự động hóa các hành vi tấn công • Kẻ tấn công có khả năng phối hợp, điều phối các hệ thống/thành phần khác nhau • Kẻ tấn công có nguồn tài nguyên tính toán rất lớn • Kẻ tấn công có thể có một số quyền truy cập nhất định nào đó 29 29 Tại sao tấn công AT-ANTT là phổ biến? • Thứ gì có thể hack được? Symatec Internet Security Threat Report 2019 30 30 15 Tại sao tấn công AT-ANTT là phổ biến? Users attacked 40 2000 1800 35 Millions 1600 30 1400 25 1200 20 1000 800 15 600 10 400 5 200 0 0 2015 2016 2017 2018 2019 %computer Number of attacks Kaspersky Security Bulletin 2019 31 31 Tại sao tấn công AT-ANTT là phổ biến? • Đánh cắp thông tin cá nhân IBM X-Force Threat Intelligence Index 2019 32 32 16 Tại sao tấn công AT-ANTT là phổ biến? IBM X-Force Threat Intelligence Index 2019 33 33 Cuộc đua giữa tấn công và bảo vệ 34 34 17 Tại sao tấn công AT-ANTT là phổ biến? • Công cụ có sẵn Top 10 Web attack toolkits Symatec Internet Security Threat Report 2017 35 35 Tại sao tấn công AT-ANTT là phổ biến? • Công cụ có sẵn 36 36 18 Động cơ tấn công • Tiền bạc Kaspersky Security Bulletin 2019 37 37 Ransomware(2018) Kaspersky Security Bulletin 2019 38 38 19 WannaCry (05/2017) 39 39 Coinminer(2018) Symatec Internet Security Threat Report 2019 Kaspersky Security Bulletin 2019 40 40 20 Động cơ tấn công • Gián điệp, tình báo: Tấn công có chủ đích 41 41 Động cơ tấn công • Mục đích chính trị 42 42 21 Động cơ tấn công • Đùa cợt • Thú vui phá hoại 43 43 Một số dạng tấn công phổ biến • Nghe lén(Eavesdropping) • Sửa đổi(Alteration) • Từ chối dịch vụ (Denial of Service) • Giả danh(Masquerading) • Chối bỏ (Repudiation) • Thống kê(Correlation) và truy vết(Traceback) 44 44 22 4. Xây dựng hệ thống AT-ANTT 45 45 Quy trình xây dựng 4 giai đoạn: Xây dựng chính sách AT-ANTT Xác định các tình huống lạm quyền Phân tích yêu cầu Xây dựng mô hình nguy cơ Thiết kế Thiết kế hướng bảo mật Triển khai Duyệt mã nguồn (Code review) Kiểm thử và bảo trì Kiểm thử theo nguy cơ ATBM Kiểm thử xâm nhập Các giai đoạn được thực hiện tuần tự Luôn có sự phản hồi của giai đoạn sau tới giai đoạn trước Chia để trị 46 46 23 Quy trình xây dựng • Xây dựng chính sách: có thể mô tả ban đầu bằng ngôn ngữ tự nhiên: Hành vi phải thực hiện/được phép/ không được phép Chủ thể của hành vi Đối tượng hành vi tác động tới Điều kiện • Xây dựng các tình huống lạm quyền minh họa cho sự xâm phạm chính sách • Chính sách AT-ANTT phải phù hợp với quy định luật pháp 47 47 Quy trình xây dựng • Xây dựng mô hình đe dọa(Threat model): 1. Xác định, phân vùng tài nguyên cần bảo vệ 2. Xác định các luồng dữ liệu, hành vi tương tác tới tài nguyên 3. Phân tích các hoạt động diễn ra trên tài nguyên 4. Xác định các mối đe dọa có thể có, phân loại và đánh giá 5. Xác định các lỗ hổng liên quan Mô hình đe dọa tồi(bad model) Giải pháp AT-ANTT tồi (bad security) 48 48 24 Xây dựng mô hình đe dọa • AT-ANTT trên thực tế khác với lý thuyết 49 49 Hiểu biết về mô hình đe dọa với hệ thống • Ví dụ: Phần lớn két sắt chỉ có khả năng chống cháy Bảo vệ tài sản ở nhiệt độ bên trong < 177oC trong thời gian tối thiểu 30 phút khi nhiệt độ bên ngoài > 1000oC Bảo vệ tài sản ở nhiệt độ bên trong < 55oC trong thời gian tối thiểu 30 phút khi nhiệt độ bên ngoài > 1000oC Chọn mua két sắt loại nào? 50 50 25 Quy trình xây dựng • Thiết kế các thành phần theo mô hình nguy cơ: lựa chọn cơ chế AT-ANTT Ngăn chặn: Loại bỏ hoàn toàn nguy cơ Giảm thiểu Chấp nhận nguy cơ Chuyển nhượng rủi ro • Triển khai Chú ý: đào tạo người dùng • Vận hành và bảo trì: Chú ý: cần liên tục giám sát hệ thống 51 51 Một số nguyên tắc • AT-ANTT là bài toán kinh tế: để tăng mức độ an toàn phải tăng chi phí Giá trị tài nguyên cần bảo vệ/ Chi phí để bảo vệ Mức tổn thương mà tấn công gây ra / Chi phí để chống lại các kỹ thuật tấn công Chi phí thực thi tấn công / Giá trị thu lại Xây dựng hệ thống là an toàn nhất trong các điều kiện ràng buộc KISS: Keep It Simple, Sir! 52 52 26 AT-ANTT là bài toán kinh tế TL-15 TL-30 TRTL-30 TXTL-60 53 53 Một số nguyên tắc(tiếp) • Tối thiểu hóa quyền (Least privilege ): không cấp quyền nhiều hơn những gì mà đối tượng cần để hoàn thành nhiệm vụ. 54 54 27 Tối thiểu hóa quyền • Ứng dụng này cần những quyền gì? • Có thể: Truy cập màn hình hiển thị Truy cập thư mục chứa file đã download Truy cập vào các file của ứng dụng Thiết lập kết nối Chấp nhận kết nối 55 55 Tối thiểu hóa quyền • Trên thực tế, ứng dụng này có thể làm những gì? Rò rỉ file ở đâu đó? Có thể xóa hết file? Gửi thư rác? Thực thi một tiến trình khác 56 56 28 Tối thiểu hóa quyền • Phân chia quyền (Privilege separation): Phân chia hệ thống sao cho các thành phần được cấp quyền nhỏ nhất có thể. Small A A Compponent 1 Big Small B B Component Compponent 2 Small C C Compponent 3 Resources Resources Right 1 Big Resource Component X ? Right n 57 57 Tối thiểu hóa quyền • Chia sẻ trách nhiệm(Separation of responsibility): quyền chỉ được thực thi khi có sự phối hợp của nhiều thành phần 58 58 29 Một số nguyên tắc(tiếp) • Chia sẻ tối thiểu(Least common mechanism): Tài nguyên cần được chia sẻ tới ít bên nhất có thể • Dễ hiểu, dễ sử dụng cho người dùng: Người dùng sẽ tuân thủ cơ chế an toàn bảo mật hay quyết định phá vỡ nó? Nếu bạn không làm hệ thống dễ sử dụng và an toàn thì người dùng sẽ làm cho nó dễ sử dụng và không an toàn. 59 59 Dễ hiểu, dễ sử dụng cho người dùng 60 60 30 Dễ hiểu cho người dùng – Ví dụ Báo lỗi xác thực chứng thư số HTTPS trên IE6 • Phần lớn người dùng không hiểu “revocation information” • Lựa chọn không rõ ràng, người dùng không biết điều gì sẽ xảy ra khi chọn Yes/No 61 61 Dễ hiểu cho người dùng – Ví dụ • Trên IE8 Source Risk Choices Process 62 62 31 Dễ hiểu cho người dùng – Ví dụ • Google Chrome Risk Explanation Choices 63 63 Dễ hiểu cho người dùng – Ví dụ • Google Chrome Process Choices 64 64 32 Một số nguyên tắc(tiếp) • Mặc định an toàn (Fail-safe default): nếu có ngoại lệ xảy ra, hệ thống cần xử lý mặc định sao cho đầu ra là an toàn Sử dụng danh sách trắng(white list) thay vì danh sách đen (black list) Sử dụng cơ chế mặc định từ chối (default-deny policies) Khi một đối tượng được khởi tạo, mặc định quyền truy cập của nó là rỗng Sao lưu (backup) 65 65 Một số nguyên tắc(tiếp) • Kiểm tra tất cả truy cập Mọi truy cập cần phải được kiểm tra tính xác thực, tính toàn vẹn và thẩm quyền truy cập 66 66 33 Kiểm tra tất cả truy cập • Time Of Check To Time Of Use: TOCTTOU Lỗ hổng tranh đua điều kiện (Race Condition) procedure withdrawal(w) // contact central server to get balance 1. let b := balance 2. if b < w, abort // balance could have decreased at this point // contact server to set balance 3. set balance := b - w 4. dispense $w to user Điều gì xảy ra nếu thủ tục trên được gọi trên các luồng thực thi song song? 67 67 Một số nguyên tắc (tiếp) • Bảo vệ theo chiều sâu (Defense in depth): tạo ra nhiều lớp bảo vệ khác nhau cho tài nguyên • Kẻ tấn công cần phải phá vỡ tất cả các lớp bảo vệ • Tuy nhiên, sẽ làm gia tăng chi phí và ảnh hưởng tới hiệu năng của hệ thống 68 68 34 Một số nguyên tắc (tiếp) • Mức độ an toàn của hệ thống tương đương mức độ an toàn ở thành phần yếu nhất • Thiết kế mở: Không phụ thuộc vào các giải pháp an toàn bảo mật dựa trên việc che giấu mọi thứ (“security through obsecurity”) Shannon's Maxim: "The Enemy Knows the System" • Phát hiện những kỹ thuật tấn công không thể ngăn chặn 69 69 Một số nguyên tắc (tiếp) • Security is process, not service • AT-ANTT là quá trình, không phải dịch vụ Thiết kế AT-ANTT ngay từ đầu 70 70 35 5. CƠ SỞ TÍNH TOÁN ĐƯỢC TIN CẬY (TRUSTED COMPUTING BASE) 71 71 Trusted Computing Base(TCB) • TCB: Là một tập con của hệ thống, bao gồm phần cứng, phần mềm, mà hệ thống dựa vào nó để đạt được các mục tiêu AT-ANTT Các thành phần của TCB luôn tuân thủ chính sách AT-ANTT của hệ thống • TCB được xây dựng để đảm bảo chính sách AT-ANTT được giữ vững ngay cả khi các thành phần ngoài TCB xâm phạm chính sách TCB phải đủ lớn để không có thành phần nào ngoài nó có thể xâm phạm AT-ANTT của hệ thống • Trusted Path: là một kênh truyền thông mà các thành phần trên kênh đó có thể tin cậy lẫn nhau 72 72 36 TCB – Ví dụ • Giả sử mục tiêu AT-ANTT là những người dùng được cấp quyền có thể sử dụng Teamviewer để điều khiển máy tính từ xa. • TCB có thể gồm những gì? 73 73 Trusting trust? • “Reflections on Trusting Trust” – Ken. Thompson Nếu tin tưởng vào các chương trình thực thi? Ví dụ: #login RedHat có đáng tin không? Mật khẩu của người dùng có gửi đi đâu không? Nếu không tin tưởng Kiểm tra mã nguồn hoặc tự viết lại mã nguồn Vấn đề đã được giải quyết? • Chúng ta tin cậy vào cái gì? • Có thể lấy rất nhiều ví dụ khác... 74 74 37 Thiết kế theo TCB • Thiết kế AT-ANTT cho hệ thống luôn phải chỉ ra được các thành phần trong TCB • Yêu cầu với TCB: Đúng đắn Đầy đủ (Không thể vòng tránh - bypass) Chống sửa đổi Thiết kế TCB sao cho đơn giản là rất quan trọng Simple = Small • Cô lập TCB và các thành phần khác 75 75 Thiết kế theo TCB – Ví dụ • Bài toán: Xây dựng một hệ thống lưu trữ bản sao của thư điện tử (email) được gửi đi từ các nhân viên • Yêu cầu: Các bản lưu trữ không thể bị xóa (append-only) 76 76 38 Bài giảng có sử dụng hình ảnh từ các khóa học: • Computer and Network Security, Stanford University • Computer Security, Berkeley University 77 77 39
File đính kèm:
- bai_giang_an_toan_an_ninh_thong_tin_chuong_1_tong_quan_ve_an.pdf