(NB) Giáo trình An toàn và bảo mật thông tin gồm 6 chương, Chương đầu nêu tổng quan về bảo mật, chương 2 tóm tắt sơ lược về mã cổ điển, chương 3 trình bày về chứng thực, chương 4 giới thiệu về mã khối và chuẩn mã dữ liệu, chương 5 nêu các vấn đề về xâm nhập và phát hiện xâm nhập và cuối cùng, chương 6 giới thiệu ứng dụng về an toàn Web và IP.
BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TRƯỜNG CAO ĐẲNG NGHỀ KỸ THUẬT CÔNG NGHỆ - - GIÁO TRÌNH MƠ ĐUN : AN TỒN VÀ BẢO MẬT THƠNG TIN NGHỀ: CƠNG NGHỆ THƠNG TIN TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số: 245/QĐ-CĐNKTCN ngày 23 tháng 10 năm 2020 Hiệu trưởng Trường Cao đẳng nghề Kỹ thuật Công nghệ Hà Nội, năm 2021 (Lưu hành nội bộ) TUYÊN BỐ BẢN QUYỀN: Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm MÃ TÀI LIỆU: MHCNTT 27 LỜI GIỚI THIỆU Gần đây, môn học “An tồn bảo mật thơng tin” đưa vào giảng dạy hầu hết Khoa Công nghệ Thông tin trường đại học cao đẳng Do ứng dụng mạng internet ngày phát triển mở rộng, nên an tồn thơng tin mạng trở thành nhu cầu bắt buộc cho hệ thống ứng dụng Giáo trình gồm chương Chương đầu nêu tổng quan bảo mật, chương tóm tắt sơ lược mã cổ điển, chương trình bày chứng thực, chương giới thiệu mã khối chuẩn mã liệu, chương nêu vấn đề xâm nhập phát xâm nhập cuối cùng, chương giới thiệu ứng dụng an toàn Web IP Xin chân thành cảm ơn! Hà Nội, ngày 23 tháng 04 năm 2021 Tham gia biên soạn Chủ biên Đỗ Tiến Hưng – Giáo viên Khoa CNTT Tập thể Giảng viên Khoa CNTT Mọi thơng tin đóng góp chia sẻ xin gửi hòm thư hungdt.ktcn t@gmail.com, liên hệ số điện thoại 0949074004 MỤC LỤC LỜI GIỚI THIỆU CHƯƠNG TỔNG QUAN VỀ AN TỒN VÀ BẢO MẬT THƠNG TIN Nội dung an toàn bảo mật thông tin Các chiến lượt an toàn hệ thống Các mức bảo vệ mạng 3.1 Quyền truy nhập 3.2 Đăng ký tên mật 3.3 Mã hoá liệu 3.4 Bảo vệ vật lý 3.5 Tường lửa 3.6 Quản trị mạng An tồn thơng tin mật mã Vai trò hệ mật mã Phân loại hệ mật mã 10 Tiêu chuẩn đánh giá hệ mật mã 11 7.1 Độ an toàn 11 7.2 Tốc độ mã giải mã 11 7.3 Phân phối khóa 11 CHƯƠNG CÁC PHƯƠNG PHÁP MÃ HÓA CỔ ĐIỂN 12 Các hệ mật mã cổ điển 12 1.1 Mã dịch vòng ( shift cipher) 12 1.2 Mã thay 13 1.3 Mã Affine 14 1.4 Mã Vigenère 17 1.5 Mật mã Hill 17 Mã thám hệ mã cổ điển 17 2.1 Thám hệ mã Affine 19 2.2 Thám hệ mã thay 20 CHƯƠNG CHỨNG THỰC 23 Các định nghĩa 23 Sơ đồ chữ kí ELGAMAL 24 Chuẩn chữ kí số 25 Bài tập 25 CHƯƠNG MÃ KHỐI VÀ CHUẨN MÃ DỮ LIỆU DES 27 Giới thiệu chung DES 27 Mơ tả thuật tốn 27 Hoán vị khởi đầu 28 Khoá chuyển đổi 28 Hoán vị mở rộng 28 Hộp thay S 29 Hộp hoán vị P 29 Hoán vị cuối 29 Giải mã DES 30 CHƯƠNG PHÁT HIỆN XÂM NHẬP 31 Kẻ xâm nhập 31 1.1 Khái niệm 31 1.2 Các kỹ thuật xâm phạm 31 1.3 Đoán mật 31 1.4 Phát xâm nhập 32 1.5 Quản trị mật 34 Phần mềm có hại 35 2.1 Các kiểu phần mềm có hại khác ngồi Virus 35 2.2 Cửa sau cửa sập 36 2.3 Bom logic 36 2.4 Ngựa thành Tơ roa 36 2.5 Zombie 36 Virus 36 3.1 Macro Virus 37 3.2 Virus email 37 3.3 Sâu 38 3.4 Các biện pháp chống Virus 39 3.5 Phần mềm chống Virus 39 3.6 Kỹ thuật chống Virus nâng cao 39 3.7 Phần mềm ngăn chặn hành vi 39 3.8 Tràn đệm 40 3.9 Tấn công tràn nhớ 41 3.10 Code che đậy (Shellcode) 42 3.11 Bảo vệ tràn nhớ 42 Bức tường lửa 43 4.1 Mở đầu 43 4.2 Bức tường lửa – lọc gói 44 4.3 Bức tường lửa – cổng giao tiếp tầng ứng dụng (hoặc proxy) 44 4.4 Bức tường lửa - cổng giao tiếp mức mạch vòng 45 4.5 Máy chủ Bastion 45 4.6 Kiểm soát truy cập 45 4.7 Các hệ thống máy tính tin cậy 45 4.8 Mơ hình Bell LaPadula 45 4.9 Tiêu chuẩn chung 46 Bài tập 46 Bài tập 53 CHƯƠNG AN TOÀN IP VÀ WEB 48 Secure Sockets Layer (SSL) Transport Layer Security (TLS) 48 1.1 Secure Sockets Layer (SSL) 48 1.2 Transport Layer Security (TLS) 49 Secure Hypertext Transfer Protocol (HTTPS) 51 Instant Messaging (IM) 51 3.1 IM Security Issues 51 3.2 IM Applications 51 Vulnerabilities of Web Tools 52 4.1 JavaScript 52 4.2 ActiveX 52 4.3 Buffer 52 4.4 Cookies 53 4.5 Java Applets 53 4.6 Common Gateway Interface (CGI) 53 4.7 Simple Mail Transfer Protocol (SMTP) 53 CÁC THUẬT NGỮ CHUYÊN MÔN 54 TÀI LIỆU THAM KHẢO 55 GIÁO TRÌNH MƠN HỌC Tên mơn học: An tồn bảo mật thơng tin Mã mơn học: MHCNTT 27 Vị trí, tính chất, ý nghĩa vai trị mơn học: Mơn học bố trí sau sinh viên học xong mơn Mạng máy tính Là mơn học chun mơn nghề Mục tiêu mơn học: - Về kiến thức: + Trình bày nguy liệu, phương pháp đảm bảo an toàn liệu + Ghi nhớ kiến thức mật mã, mã hóa, bảo mật liệu (khái niệm, yêu cầu, dẫn, dịch vụ, kỹ thuật, thuật tốn, ) + Trình bày chức an ninh mạng, trình bày quy trình bảo mật thư điện tử mã hóa thơng điệp + Trình bày kiến thức hệ thống thương mại điện tử (thanh toán tự động, đặt chỗ tự động, mơ hình giao dịch mạng, bảo mật giao dịch điện tử ) - Về kỹ năng: + Thực quy trình khóa chứng thực (khóa sở liệu / thư mục,chữ ký số, định danh, ) - Về lực tự chủ trách nhiệm: + Bố trí làm việc khoa học đảm bảo an tồn cho người phương tiện học tập Thời lượng Mã chương Tên chương mục MHCNTT 27.1 Tổng quan an tồn bảo mật thơng tin Các phương pháp mã hóa cổ điển Chứng thực MHCNTT 27.2 MHCNTT 27.3 MHCNTT 27.4 MHCNTT 27.5 MHCNTT 27.6 Mã khối chuẩn liệu DES Phát xâm nhập tường lửa An toàn IP Web Tổng Lý số thuyết Thực hành Kiểm Tra* 7 0 12 6 0 14 10 13 CHƯƠNG TỔNG QUAN VỀ AN TỒN VÀ BẢO MẬT THƠNG TIN Mã chương: MHCNTT 27.01 Mục tiêu: - Trình bày nội dung tổng quan an tồn bảo mật thơng tin - Xác định mức bảo vệ hệ thống - Thực thao tác an tồn với máy tính mật mã Nội dung chính: Nội dung an tồn bảo mật thơng tin Khi nhu cầu trao đổi thông tin liệu ngày lớn đa dạng, tiến điện tử - viễn thông công nghệ thông tin không ngừng phát triển ứng dụng để nâng cao chất lượng lưu lượng truyền tin quan niệm ý tưởng biện pháp bảo vệ thông tin liệu đổi Bảo vệ an tồn thơng tin liệu chủ đề rộng, có liên quan đến nhiều lĩnh vực thực tế có nhiều phương pháp thực để bảo vệ an tồn thơng tin liệu Các phương pháp bảo vệ an tồn thơng tin liệu quy tụ vào ba nhóm sau: - Bảo vệ an tồn thơng tin biện pháp hành - Bảo vệ an tồn thơng tin biện pháp kỹ thuật (phần cứng) - Bảo vệ an tồn thơng tin biện pháp thuật tốn (phần mềm) Ba nhóm ứng dụng riêng rẽ phối kết hợp Mơi trường khó bảo vệ an tồn thơng tin môi trường đối phương dễ xân nhập mơi trường mạng truyền tin Biện pháp hiệu kinh tế mạng truyền tin mạng máy tính biện pháp thuật tốn An tồn thơng tin bao gồm nội dung sau: - Tính bí mật: tính kín đáo riêng tư thơng tin - Tính xác thực thông tin, bao gồm xác thực đối tác( tốn nhận danh), xác thực thơng tin trao đổi - Tính trách nhiệm: đảm bảo người gửi thơng tin khơng thể thối thác trách nhiệm thơng tin mà gửi Để đảm bảo an tồn thơng tin liệu đường truyền tin mạng máy tính có hiệu điều trước tiên phải lường trước dự đốn trước khả khơng an toàn, khả xâm phạm, cố rủi ro xảy thơng tin liệu lưu trữ trao đổi đường truyền tin mạng Xác định xác nguy nói định tốt giải pháp để giảm thiểu thiệt hại Có hai loại hành vi xâm phạm thơng tin liệu là: vi phạm chủ động vi phạm thụ động Vi phạm thụ động nhằm mục đích cuối nắm bắt thông tin (đánh cắp thơng tin) Việc làm có khơng biết nội dung cụ thể dị người gửi, người nhận nhờ thông tin điều khiển giao thức chứa phần đầu gói tin Kẻ xâm nhập kiểm tra số lượng, độ dài tần số trao đổi Vì vi pham thụ động không làm sai lệch hủy hoại nội dung thông tin liệu trao đổi Vi phạm thụ động thường khó phát có biện pháp ngăn chặn hiệu Vi phạm chủ động dạng vi phạm làm thay đổi nội dung, xóa bỏ, làm trễ, xắp xếp lại thứ tự làm lặp lại gói tin thời điểm sau thời gian Vi phạm chủ động thêm vào số thơng tin ngoại lai để làm sai lệch nội dung thông tin trao đổi Vi phạm chủ động dễ phát để ngăn chặn hiệu khó khăn nhiều Một thực tế khơng có biện pháp bảo vệ an tồn thơng tin liệu an tồn tuyệt đối Một hệ thống dù bảo vệ chắn đếnđâu khơng thể đảm bảo an tồn tuyệt đối Các chiến lượt an toàn hệ thống Mục tiêu: Trình bày chiến lược bảo vệ an toàn cho mạng 2.1 Giới hạn quyền hạn tối thiểu (Last Privilege) Đây chiến lược theo nguyên tắc đối tượng có quyền hạn định tài nguyên mạng, thâm nhập vào mạng đối tượng sử dụng số tài nguyên định 2.2 Bảo vệ theo chiều sâu (Defence In Depth) Nguyên tắc nhắc nhở : Không nên dựa vào chế độ an toàn chúng mạnh, mà nên tạo nhiều chế an toàn để tương hỗ lẫn 2.3 Nút thắt (Choke Point) Tạo “cửa khẩu” hẹp, cho phép thơng tin vào hệ thống đường “cửa khẩu” => phải tổ chức cấu kiểm soát điều khiển thông tin qua cửa 2.4 Điểm nối yếu (Weakest Link) Chiến lược dựa nguyên tắc: “ Một dây xích mắt nhất, tường cứng điểm yếu nhất” Kẻ phá hoại thường tìm chỗ yếu hệ thống để cơng, ta cần phải gia cố yếu điểm hệ thống Thông thường quan tâm đến kẻ công mạng kẻ tiếp cận hệ thống, an toàn vật lý coi yếu điểm hệ thống 2.5 Tính tồn cục Các hệ thống an tồn địi hỏi phải có tính tồn cục hệ thống cục Nếu có kẻ bẻ gãy chế an tồn chúng thành cơng cách cơng hệ thống tự sau cơng hệ thống từ nội bên 2.6 Tính đa dạng bảo vệ Cần phải sử dụng nhiều biện pháp bảo vệ khác cho hệ thống khác nhau, khơng có kẻ cơng vào hệ thống chúng dễ dàng công vào hệ thống khác Các mức bảo vệ mạng Mục tiêu: Hiểu rõ xác định mức bảo vệ hệ thống mạng Vì khơng thể có giải pháp an tồn tuyệt đối nên người ta thường phải sử dụng đồng thời nhiều mức bảo vệ khác tạo thành nhiều hàng rào chắn hoạt động xâm phạm Việc bảo vệ thông tin mạng chủ yếu bảo vệ thơng tin cất giữ máy tính, đặc biệt server mạng Bởi số biện pháp nhằm chống thất thơng tin đường truyền cố gắng tập trung vào việc xây dựng mức rào chắn từ vào cho hệ thống kết nối vào mạng Thông thường bao gồm mức bảo vệ sau: 3.1 Quyền truy nhập Lớp bảo vệ quyền truy nhập nhằm kiểm soát tài nguyên mạng quyền hạn tài ngun Dĩ nhiên kiểm sốt cấu trúc liệu chi tiết tốt Hiện việc kiểm soát thường mức tệp 3.2 Đăng ký tên mật Thực kiểm sốt quyền truy nhập, khơng phải truy nhập mức thông tin mà mức hệ thống Đây phương pháp bảo vệ phổ biến đơn giản phí tổn hiệu Mỗi người sử dụng muốn tham gia vào mạng để sử dụng tài nguyên phải có đăng ký tên mật trước Người quản trị mạng có trách nhiệm quản lý, kiểm soát hoạt động mạng xác định quyền truy nhập người sử dụng khác theo thời gian không gian (nghĩa người sử dụng truy nhập khoảng thời gian vị trí định đó) Về lý thuyết người giữ kín mật tên đăng ký khơng xảy truy nhập trái phép Song điều khó đảm bảo thực tế nhiều nguyên nhân đời thường làm giảm hiệu lớp bảo vệ Có thể khắc phục cách người quản mạng chịu trách nhiệm đặt mật thay đổi mật theo thời gian 3.3 Mã hố liệu Để bảo mật thơng tin đường truyền người ta sử dụng phương pháp mã hoá Dữ liệu bị biến đổi từ dạng nhận thức sang dạng khơng nhận thức theo thuật tốn biến đổi ngược lại trạm nhận (giải mã) Đây lớp bảo vệ thông tin quan trọng 3.4 Bảo vệ vật lý Ngăn cản truy nhập vật lý vào hệ thống Thường dùng biện pháp truyền thống ngăn cấm tuyệt đối người khơng phận vào phịng đặt máy mạng, dùng ổ khố máy tính máy trạm khơng có ổ mềm 3.5 Tường lửa Ngăn chặn thâm nhập trái phép lọc bỏ gói tin khơng muốn gửi nhận lý để bảo vệ máy tính mạng nội (intranet) 3.6 Quản trị mạng Trong thời đại phát triển cơng nghệ thơng tin, mạng máy tính định toàn hoạt động quan, hay cơng ty xí nghiệp Vì việc bảo đảm cho hệ thống mạng máy tính hoạt động cách an tồn, khơng xảy cố Xét chương trình C Ở có ba biến, thơng thường lưu vùng nhớ liền kề Gọi chương trình copy vào str1 liệu Start Sau đọc đầu vào sử dụng hàm gets lưu vào str2 Sau so sánh đầu vào với xâu Start Nếu thành công valid = true Vấn đề hàm thư viện gets C không kiểm tra độ lớn liệu đọc vào Nếu nhiều ký tự địi hỏi nhớ nhiều Khi liệu thừa viết đè liệu biến kề, trường hợp str1 Giả sử xâu đầu vào “EVILINPUTVALUE”, kết xâu Str1 bị viết đè với ký tự “TVALUE” Xâu str2 không sử dụng ký tự mà cịn thêm ký tự từ str1 Biết cấu trúc trên, kẻ cơng thu xếp cho giá trị xâu Str1 Str2 Chẳng hạn nhập xâu đầu vào “BADINPUTBADINPUT” phép so sánh kết lần chạy thứ ba ví dụ 3.9 Tấn công tràn nhớ Để làm tràn đệm, kẻ công cần phải phát lỗ hổng tràn đệm chương trình Theo dõi, lần theo vết thực hiện, sử dụng công cụ ẩn Hiểu đệm lưu nhớ xác định khả phá hỏng Một chút lịch sử ngơn ngữ lập trình Ở mức ngơn ngữ máy liệu mảng bytes, thông dịch phụ thuộc vào lệnh dùng Ngôn ngữ bậc cao đại có định nghĩa chặt kiểu phép tốn Khơng có lỗ hổng tràn đệm, lường trước, giới hạn dùng C ngơn ngữ liên quan có cấu trúc điều khiển bậc cao, cho phép truy cập trực tiếp đến nhớ Vì có lỗ hổng tràn đệm Có kế thừa lớn code khơng an tồn, sử dụng rộng rãi, nên có lỗ hổng Để hiểu tạo lại tràn nhớ, mà không khắc phục được, ta xem xét chế mà lời gọi hàm quản lý trạng thái cục cho lời gọi Khi hàm gọi hàm khác, cần phải lưu địa trả để hàm gọi kết thúc trả điều khiển cho hàm gọi Bên cạnh cần có chỗ để cất số tham số mà cần truyền cho hàm gọi cần lưu giá trị ghi hàm gọi mà cần sử dụng hàm gọi kết thúc Thông thường liệu cất khung ngăn xếp (stack frame) Mỗi lần gọi hàm lại sinh khung ngăn xếp liên kết Tràn đệm ngăn xếp xảy đệm đặt ngăn xếp Nó khai thác sâu Morris Bài báo “Smashing the Stack” tuyên truyền Có biến cục phía trỏ khung lưu trữ địa trả lại Vì tràn đệm cục có nhiều khả viết đè mục điều khiển Kẻ cơng viết đè địa trả với địa đọan code cài vào Đó địa chương trình, thư viện hệ thống tải vào đệm Chúng ta xem cấu tạo vùng nhớ, nơi cất chương trình chạy, liệu tổng thể, đống ngăn xếp Khi chương trình chạy, hệ điều hành tạo tiến trình cho Tiến trình cho khơng gian ảo riêng với cấu trúc hình vẽ sau Nó bao gồm nội dung chương trình chạy, có liệu tổng thể, bảng cấp nhớ, code chương trình gần đáy khơng gian nhớ Trên khơng gian cho đống tăng dần lên không gian cho ngăn xếp giảm dần xuống Để mô tả tràn đệm ngăn xếp ta xét chương trình C sau Nó chứa biến cục nhất, đệm inp Hàm Hello nhắc nhập tên mà đọc vào đệm nhờ hàm thư viện khơng an tồn gets() Sau kết đọc nhờ hàm thư viện printf () Nếu giá trị nhỏ đọc khơng có vấn đề Chương trình gọi hàm chạy thành công lần chạy thứ hình sau Nếu liệu lớn lần chạy thứ hai, liệu vượt qua cuối đệm ghi đè lên trỏ khung lưu trữ trả địa sai tương ứng với biểu diễn nhị phân ký tự Và hàm trả điều khiển cho địa trả về, nhảy đến vị trí nhớ khơng hợp lệ, báo lỗi “Segmentation Fault” dừng chương trình khơng bình thường thơng báo hình sau Kẻ cơng tận dụng hội để truyền điều khiển chương trình định trước 3.10 Code che đậy (Shellcode) Đây code chương trình chuẩn bị kẻ cơng Nó lưu nhớ bị tràn kẻ cơng tìm cách chuyển điều khiển sang cho shell Phát triển code che đậy Trong ví dụ mô tả với Intel Linux shellcode để chạy dịch Bourne shell Shellcode cần phải phù hợp với đối số cho execve() Nó bao gồm code để gọi hàm hệ thống, phải độc lập với vị trí khơng chứa NULLs – xâu kết thúc C Thơng thường chương trình che đậy vỏ bọc tiện ích hệ thống đáng tin cậy, dịch vụ mạng đặc biệt, code thư viện sử dụng chung, hình ảnh Các hàm shellcode: giao diện tự sinh, tạo đối tượng nghe để khởi tạo giao diện kết nối, tạo kết nối ngược lại tới kẻ cơng, vượt qua qui tắc tường lửa, khỏi môi trường thực thi hạn chế 3.11 Bảo vệ tràn nhớ Tràn đệm khai thác rộng rãi, có nhiều code có lỗ hổng dùng Mặc dù nguyên nhân biện pháp chống biết Có hai cách chống rộng rãi: chương trình gia cố thời gian dịch kiểm soát cơng chương trình có thời gian chạy Nếu sử dụng ngôn ngữ bậc cao với kiểu mạnh , khơng có lỗ hổng tràn đệm Chương trình dịch buộc kiểm tra cỡ thao tác cho phép biến Khi phải trả giá sử dụng nguồn hạn chế truy cập đến phần cứng Tuy nhiên cần số code ngôn ngữ giống C Bảo vệ thời gian dịch Thiết lập kỹ thuật lập trình an tồn Nếu sử dụng ngơn ngữ tiềm ẩn khơng an tồn C, lập trình viên cần viết code an tồn cách tường minh Bằng thiết kế với code mới, sau xem xét code cũ Xem an toàn tràn đệm tập kỹ thuật lập trình an tồn nói chung Chú ý đến lỗi nhỏ, kiểm tra đủ không gian đệm Có đề nghị mở rộng an tồn cho C tạo điểm phạt thực thi, cần dịch chương trình với chương trình dịch đặc biệt Có số phương án thư viện chuẩn an toàn, hàm mới, strlcpy() Cài đặt lại an toàn số hàm chuẩn thư viện động, chẳng hạn Libsafe Bổ sung code chức nhập thoát để kiểm tra ngăn xếp ghi nhận việc ghi đè, sử dụng yếu tố ngẫu nhiên bảo vệ ngăn xếp, kiểm tra viết đè biến cục trỏ khung lưu trữ địa trả Chương trình dừng phát thay đổi Phát hành: dịch lại, hỗ trợ phát lỗi copy an toàn lưu trữ/kiểm tra địa trả Bảo vệ thời gian chạy Sử dụng hỗ trợ nhớ ảo để tạo số vùng nhớ không thực thi stack, heap, global data Cần hỗ trợ từ phần cứng nhớ SPARC / Solaris systems, x86 Linux/Unix/Windows systems Phát hành hỗ trợ cho code ngăn xếp thực thi, cần số dự phòng đặc biệt Thao tác vị trí cấu trúc liệu chính, sử dụng tịnh tiến ngẫu nhiên cho tiến trình, có vùng địa lớn phương tiện hệ thống đại chống va chạm đốn địa đệm đích khơng thể Vị trí ngẫu nhiên cho đệm heap vị trí hàm thư viện chuẩn Đặt trang bảo vệ vùng quan trọng nhớ, đặt cờ nhớ địa không hợp lệ Có thể đặt khung ngăn xếp đệm heap thời gian thực thi phải trả giá khơng gian Có nhiều phương án công khác: phương án tràn ngăn xếp, tràn heap, tràn liệu tổng thể, tràn xâu định dạng, tràn số nguyên Có thể có nhiều phát tương lai Một số ngăn chặn trừ code an toàn lúc ban đầu Phương án tràn ngăn xếp viết đè đệm trỏ khung lưu trữ trả xảy đến khung giả trả lời gọi hàm điều khiển kẻ cơng dùng có tràn đệm giới hạn Ví dụ tách khung Tuy có hạn chế: cần biết địa xác đệm, hàm gọi thực với khung giả, phương án tràn ngăn xếp thay địa trả hàm thư viện chuẩn để đáp lại bảo vệ ngăn xếp không thực thi Kẻ công xây dựng tham số phù hợp ngăn xếp phía địa chi trả Kẻ cơng cần địa xác đệm, kết nối hai lời gọi thư viện Cũng có cơng đệm đặt heap Thơng thường đặt code chương trình, nhớ yêu cầu chương trình để sử dụng cho cấu trúc liệu động, ví dụ danh sách móc nối Khơng có địa trả về, nên khơng có chuyển giao quyền điều khiển dễ dàng Có thể có trỏ hàm để khai thác thao tác cấu trúc liệu quản trị Cách bảo vệ dùng heap ngẫu nhiên khơng thực thi Có thể công đệm đặt liệu tổng thể Có thể đặt phía code chương trình Nếu có trỏ hàm đệm có lỗ hổng bảng quản trị trình liền kề Nhắm tới viết đè trỏ hàm gọi sau Cách bảo vệ dùng vùng liệu tổng thể ngẫu nhiên không thực thi, dịch chuyển trỏ hàm, trang bảo vệ Bức tường lửa Mục tiêu: Trình bày kiến thức liên quan đến tường lửa nhận định vai trò tường lửa việc bảo mật hệ thống 4.1 Mở đầu Bức tường lửa phát triển mạnh mẽ, ứng dụng các hệ thống thông tin Bây người muốn lên Internet mạng liên kết với Vì cần quan tâm thường xuyên an tồn Khơng dễ dàng bảo vệ hệ thống tổ chức Thông thường sử dụng tường lửa, cung cấp vòng bảo vệ phần chiến lược an tồn tồn diện Bức tường lửa Là điểm cổ chai để kiểm soát theo dõi Các mạng liên kết với độ tin cậy khác nhau, buộc có hạn chế dịch vụ mạng Chẳng hạn, vận chuyển phải có giấy phép Kiểm tra kiểm sốt truy cập, cài đặt cảnh báo hành vi bất thường Cung cấp bảng NAT sử dụng theo dõi giám sát Cài đặt mạng riêng ảo (VPN) sử dụng chế an toàn IPSec Có thể miễn dịch trước Hạn chế tường lửa Khơng bảo vệ cơng vịng qua nó, chẳng hạn mạng lút, thiết bị modems Nó ngăn cản tổ chức tin cậy dịch vụ tin cậy (SSL/SSH) Không bảo vệ chống mối đe dọa từ bên trong, chẳng hạn nhân viên bực tức thông đồng với kẻ xấu Khơng thể bảo vệ chống việc truyền chương trình file nhiễm virus, có phạm vi rộng dạng file hệ điều hành 4.2 Bức tường lửa – lọc gói Là thành phần tường lửa nhanh đơn giản nhất, sở hệ thống tường lửa Nó kiểm tra gói IP (khơng có ngữ cảnh) cho phép hay từ chối tuỳ theo qui tắc xác định Suy có hạn chế truy cập đến dịch vụ cổng Các đường lối mặc định - Rằng không cho phép tức cấm Rằng không cấm tức cho phép Tấn công lọc gói Địa IP lừa đảo: giả địa nguồn làm cho tin tưởng, bổ sung lọc lên mạch chuyển để ngăn chặn Tấn công mạch truyền gốc: kẻ công đặt truyền khác với mặc định, ngăn chặn gói truyền gốc Tấn cơng đoạn tin (fragment) nhỏ Chia thông tin phần đầu thành số đoạn nhỏ Hoặc bỏ qua xếp lại trước kiểm tra Bức tường lửa – lọc gói trạng thái Lọc gói truyền thống khơng kiểm tra ngữ cảnh tầng cao hơn, tức sánh gói với dịng chảy Lọc gói trạng thái hướng đến yêu cầu Chúng kiểm tra gói IP ngữ cảnh: giữ vết theo dõi với kỳ client-server, kiểm tra gói thuộc vào phiên Suy có khả tốt phát gói giả tách khỏi ngữ cảnh 4.3 Bức tường lửa – cổng giao tiếp tầng ứng dụng (hoặc proxy) Có cổng giao tiếp chuyên dùng cho ứng dụng – proxy (người uỷ quyền) Có truy cập đầy đủ đến giao thức - Người sử dụng yêu cầu dịch vụ từ proxy - Proxy kiểm tra yêu cầu có hợp lệ khơng - Sau xử lý u cầu trả lời cho người sử dụng - Có thể vào/theo dõi vận chuyển tầng ứng dụng Cần proxies khác cho dịch vụ - Một số dịch vụ hỗ trợ cách tự nhiên proxy - Những loại khác cần giải số vấn đề 4.4 Bức tường lửa - cổng giao tiếp mức mạch vịng Chuyển tiếp kết nối TCP Có an toàn cách hạn chế mà kết nối cho phép Mỗi lần tạo chuyển tiếp thông thường không kiểm tra nội dung Thông thường sử dụng tin cậy người sử dụng bên cách cho phép kết nối ngồi nói chung Gói SOCKS sử dụng rộng rãi cho mục đích 4.5 Máy chủ Bastion Hệ thống máy chủ an toàn cao Chạy cổng giao tiếp mức ứng dụng mạch vòng Hoặc cung cấp dịch vụ truy cập bên ngồi Có tiềm thể yếu tố máy chủ Vì an tồn bền vững, nên hệ điều hành nặng nề hơn, dịch vụ chính, bổ sung xác thực, proxies nhỏ, an toàn, độc lập, khơng đặc quyền Có thể hỗ trợ hay nhiều kết nối mạng tin cậy để ép buộc sách tách bạch tin cậy kết nối mạng 4.6 Kiểm soát truy cập Hệ thống xác định định danh người sử dụng, xác định nguồn gốc truy cập Mơ hình tổng qt ma trận truy cập với - Chủ thể - thực thể chủ động (người sử dụng, trình) - Đối tượng - thực thể bị động (file nguồn) - Quyền truy cập – cách mà đối tượng truy cập Có thể phân tách - Các cột danh sách kiểm soát truy cập - Các hàng thẻ khả 4.7 Các hệ thống máy tính tin cậy An tồn thơng tin ngày quan trọng Có mức độ khác nhạy cảm thông tin - Phân loại thông tin quân sự: bảo mật, bí mật Chủ thể (người chương trình) có nhiều quyền khác truy cập đến đối tượng thơng tin Được biết an tồn nhiều tầng - Chủ thể có mức độ an tồn tối đa - Đối tượng có phân loại mức độ tin cậy cố định Muốn xem xét cách tăng độ tin tưởng hệ thống để củng cố quyền 4.8 Mơ hình Bell LaPadula Một mơ hình an tồn tiếng Được cài đặt sách bắt buộc hệ thống Có hai sách - Khơng đọc lên (tính chất an tồn đơn giản) Chủ thể đọc/viết đối tượng mức độ an toàn chủ thể trội (>=) phân loại đối tượng - Khơng viết xuống (tính chất *) Chủ thể bổ sung/viết lên đối tượng mức độ an toàn chủ thể trội (