Bài giảng Bảo mật cơ sở dữ liệu - Chương 1: Tổng quan về Bảo Mật CSDL
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Bảo mật cơ sở dữ liệu - Chương 1: Tổng quan về Bảo Mật CSDL", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_bao_mat_co_so_du_lieu_chuong_1_tong_quan_ve_bao_ma.pdf
Nội dung text: Bài giảng Bảo mật cơ sở dữ liệu - Chương 1: Tổng quan về Bảo Mật CSDL
- Giảng Viên: Trần Thị Kim Chi 1
- Chương 1: Tổng quan về Bảo Mật CSDL Mục tiêu: Giúp sinh viên ôn lại các khái niệm cơ bản về cơ sở dữ liệu và bảo mật thông tin. Hiểu rõ các hiểm họa tiềm ẩn có thể xảy ra với CSDL Hiểu được thế nào là bảo mật CSDL và tầm quan trọng của bảo mật CSDL Hiểu và nhận biết các yêu cầu về bảo mật CSDL Biết các nguyên tắc bảo mật hệ điều hành 2 2
- Chương 1: Tổng quan về Bảo Mật CSDL Nội dùng 1. Tổng quan về CSDL 1. Hệ thống thông tin 2. Cơ sở dữ liệu 3. Hệ thống quản lý CSDL (DBMS) 2. Tổng quan về bảo mật 1. Định nghĩa hệ thống an toàn và bảo mật thông tin 2. Kiến trúc và các phương thức bảo mật thông tin 3. Các mối đe dọa đối với một hệ thống và các biện pháp ngăn chặn 4. Các giải pháp bảo mật hệ thống 1. Chính sách và ý thức 2. Phân quyền truy cập và nhận dạng người dùng 3. Mã hóa thông tin và nén dữ liệu 3 3
- Chương 1: Tổng quan về Bảo Mật CSDL Nội dùng 3. Giới thiệu về bảo mật CSDL 1. Bài toán về bảo mật CSDL 2. Khái niệm bảo mật CSDL 3. Các vấn đề về an toàn trong CSDL 1. Các hiểm họa đối với an toàn trong CSDL 2. Các yêu cầu bảo mật CSDL 1. Bảo vệ toàn vẹn CSDL - Integrity of the Database 2. Bảo vệ chống truy cập trái phép 3. Bảo vệ chống suy diễn 4. Toàn vẹn dữ liệu thao tác 5. Toàn vẹn ngữ nghĩa của dữ liệu 6. Khả năng lưu vết và kiểm tra 7. Xác thực người dùng 8. Bảo vệ dữ liệu nhạy cảm 9. Bảo vệ nhiều mức 4. Các mức bảo mật CSDL 5. Các phương thức bảo mật CSDL 4 4
- Chương 1: Tổng quan về Bảo Mật CSDL Nội dùng 4. Các nguyên tắc bảo mật trong hệ điều hành 1. Tổng quan hệ điều hành 2. Các dịch vụ - Services 3. Files, Files transfer, Sharing Files 4. Memory 5. Authentication methods 6. Authorization 7. Password policies 8. Vulnerabilities of Operating Systems 9. E-mail security 10. Covert channels 11. Captchar 5 5
- Tổng quan về CSDL 1. Hệ thống thông tin 2. Cơ sở dữ liệu 3. Hệ thống Quản lý CSDL 6
- Các khái niệm cơ bản về CSDL Data (dữ liệu) và information (thông tin) • Data: sự biểu diễn của các đối tượng và sự kiện (văn bản, hình ảnh, âm thanh, ) được ghi nhận, có ý nghĩa không rõ ràng và được lưu trữ trên các phương tiện của máy tính. Dữ liệu có cấu trúc: số, ngày, chuỗi ký tự, Dữ liệu không có cấu trúc: hình ảnh, âm thanh, đoạn phim, • Information: dữ liệu đã được xử lý để làm tăng sự hiểu biết của người sử dụng. Phân biệt giữa data và information?? Database System 7
- Hệ thống thông tin - Information Systems • Khái niệm hệ thống: • Hệ thống là một tập hợp các máy tính bao gồm các thành phần, phần cứng, phần mềm và dữ̃ liệu làm việc được tích luỹ qua thời gian. • Tài sản của hệ thống bao gồm: Phần cứng Phần mềm Dữ liệu Các truyền thông giữa các máy tính của hệ thống Môi trường làm việc Con người 8
- Hệ thống thông tin - Information Systems Hệ thống thông tin (Information system) • Là một tập hợp của các phần cứng, phần mềm và các hệ mạng truyền thông được xây dựng và sử dụng để thu thập, tạo, tái tạo, phân phối và chia sẻ các dữ liệu, thông tin và tri thức nhằm phục vụ các mục tiêu của tổ chức. • Ví dụ: Cửa hàng bán sỉ và lẻ các loại nước ngọt, nước suối, rượu, bia • Đối tượng mà cửa hàng giao tiếp là khách hàng mua các loại nước giải khát, nhà cung cấp (các công ty sản xuất nước giải khát)cung cấp các loại nước giải khát cho cửa hàng và ngân hàng giao tiếp với cửa hàng thông qua việc gửi, rút và thanh toán tiền mặt cho nhà cung cấp. 9
- PHÂN LOẠI HỆ THỐNG THÔNG TIN INFORMATION SYSTEM • Hệ thống xử lý giao dịch (Transaction processing system – TPS): • là một HTTT có chức năng thu thập và xử lý dữ liệu về các giao dịch nghiệp vụ. • Hệ thống thông tin quản lý (Management information system - MIS) • là HTTT cung cấp thông tin cho việc báo cáo hướng quản lý dựa trên việc xử lý giao dịch và các hoạt động của tổ chức. • Hệ thống hỗ trợ quyết định (Decision support system – DSS) • là HTTT vừa có thể trợ giúp xác định các thời cơ ra quyết định, vừa có thể cung cấp thông tin để trợ giúp việc ra quyết định. 10
- PHÂN LOẠI HỆ THỐNG THÔNG TIN INFORMATION SYSTEM • Hệ thống thông tin điều hành (Excutive information system – EIS) • là HTTT hỗ trợ nhu cầu lập kế hoạch và đánh giá của các nhà quản lý điều hành. • Hệ thống chuyên gia (Expert System) • là HTTT thu thập tri thức chuyên môn của các chuyên gia rồi mô phỏng tri thức đó nhằm đem lại lợi ích cho người sử dụng bình thường. • Hệ thống truyền thông và cộng tác (Communication and collaboration system) • là HTTT làm tăng hiệu quả giao tiếp giữa các nhân viên, đối tác, khách hàng và nhà cung cấp để củng cố khả năng cộng tác giữa họ. • Hệ thống tự động văn phòng (Office automation system) • là HTTT hỗ trợ các hoạt động nghiệp vụ văn phòng nhằm cải thiện luồng công việc giữa các nhân viên. 11
- CÁC ĐẶC ĐIỂM CỦA HỆ THỐNG Các thành phần cấu thành hệ thống thông tin • Thành phần (component) • Liên hệ giữa các thành phần • Ranh giới (boundary) • Mục đích (purpose) • Môi trường (environment) • Giao diện (interface) • Đầu vào (input) • Đầu ra (output) • Ràng buộc (constraints) 12
- CÁC ĐẶC ĐIỂM CỦA HỆ THỐNG • Các chuyên ngành trong hệ thống thông tin • Phân tích viên hệ thống (systems analyst) • Tích hợp hệ thống (system integrator) • Quản trị cơ sở dữ liệu • Phân tích hệ thống thông tin. • Quản trị hệ thống thông tin trong tổ chức. • Lập trình quản lý cơ sở dữ liệu. • Quản lý cơ sở dữ liệu, hỗ trợ ra quyết định cho lãnh đạo, quản lý. 13
- Cơ sở dữ liệu là gì? Cơ sở dữ liệu là một tập hợp dữ liệu có liên quan luận lý với nhau chứa thông tin về một tổ chức nào đó, được lưu trữ trên máy tính theo một hệ thống và được dùng chung đáp ứng nhu cầu khai thác thông tin của người dùng. Chương trình ứng dụng 1 Cơ sở dữ liệu Chương trình ứng dụng 2 Các hệ thống chương trình Người sử dụng khai thác14 ứng dụng khai thác
- Ví dụ về một CSDL LOP SINHVIEN MALOP TENLOP KHOA TCTHA TCTH32A CNTT MASV TEN MALOP TCTHB TCTH32B CNTT TCTH01 Sơn TCTHA TCTHC TCTH32C CNTT TCTH02 Bảo TCTHB KETQUA TCTH03 Trang TCTHA MASV MAMH DIEM MONHOC TCTH01 THVP 8 MAMH TENMH TINCHI TCTH01 CSDL 6 THVP Nhập môn TH 4 TCTH01 CTDL 7 CSDL Cấu trúc dữ liệu 4 TCTH02 THVP 9 CTDL Toán rời rạc 3 TCTH02 CSDL 8 TCTH03 THVP 10 15
- Lược đồ (Schema) cơ sở dữ liệu • Lược đồ cơ sở dữ liệu (Database Schema): là biểu diễn của cơ sở dữ liệu, bao gồm cấu trúc cơ sở dữ liệu và những ràng buộc trên dữ liệu. • Sơ đồ của lược đồ cơ sở dữ liệu (Schema Diagram): Là lược đồ cơ sở dữ liệu được biểu diễn thông qua sơ đồ. 16
- Thể hiện (Instance) cơ sở dữ liệu • Thể hiện cơ sở dữ liệu (Database Instance): Là dữ liệu thực sự được lưu trữ trong cơ sở dữ liệu ở thời điểm hiện tại. • Database Instance cũng được gọi là trạng thái của cơ sở dữ liệu (database state) 17
- Đặc điểm của Cơ Sở Dữ Liệu • Persistent – Thường trú: • Dữ liệu được lưu trữ trong bộ nhớ ổn định như đĩa cứng, server. Khi dữ liệu không cần dùng nữa thì có thể xoá hay sao lưu lại. • Interrelated – Tương tác: • Dữ liệu được lưu trữ như những đơn vị riêng biệt và được kết nối với nhau để tạo 1 tổng thể chung • Database vừa chứa thực thể và cả mối quan hệ giữa các thực thể • Shared – Chia sẻ: • Database có thể có nhiều người dùng và nhiều người dùng có thể sử dụng cùng 1 database tại cùng 1 thời điểm. • Bài toán đồng thời (concurrency problem) 18
- Ưu điểm của Cơ sở Dữ liệu • Giảm sự trùng lặp thông tin xuống mức thấp nhất do đó bảo đảm được tính nhất quán và toàn vẹn dữ liệu. • Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau. • Khả năng chia sẻ thông tin cho nhiều người sử dụng và nhiều ứng dụng khác nhau. 19
- Database Management • Essential to success of information system • DBMS functionalities: – Organize data – Store and retrieve data efficiently – Manipulate data (update and delete) – Enforce referential integrity and consistency – Enforce and implement data security policies and procedures – Back up, recover, and restore data 20
- Database Management • DBMS components include: – Data – Hardware – Software – Networks – Procedures – Database servers 21
- Kiến trúc DBMS Database Management System 22
- Database Management Three Level Architecture 23
- Tổng quan về bảo mật thông tin 1. Các khái niệm về bảo mật 1. Định nghĩa hệ thống an toàn và bảo mật thông tin 2. Kiến trúc và các phương thức bảo mật thông tin 3. Các mối đe dọa đối với một hệ thống và các biện pháp ngăn chặn 4. Các giải pháp bảo mật hệ thống 1. Chính sách và ý thức 2. Phân quyền truy cập và nhận dạng người dùng 3. Mã hóa thông tin và nén dữ liệu 24
- Định nghĩa hệ thống an toàn và bảo mật • Một hệ thống sẽ là an toàn (safe) khi các khiếm khuyết không thể làm cho hoạt động chính của nó ngừng hẳn và các sự cố đều xảy ra sẽ được khắc phục kịp thời mà không gây thiệt hại đến mức độ nguy hiểm cho chủ sở hữu. • Hệ thống được coi là bảo mật (confident) nếu tính riêng tư của nội dùng thông tin được đảm bảo theo đúng các tiêu chí trong một thời gian xác định. • Hai yếu tố an toàn và bảo mật đều rất quan trọng và gắn bó với nhau: hệ thống mất an toàn thì không bảo mật được và ngược lại hệ thống không bảo mật được thì mất an toàn. 25
- Kiến trúc và các phương thức bảo mật thông tin Security mechanisms26
- Kiến trúc bảo mật thông tin Information Security Architecture 27
- Kiến trúc bảo mật thông tin Information Security Architecture • Components include: – Policies and procedures – Security personnel and administrators – Detection equipments – Security programs – Monitoring equipment – Monitoring applications – Auditing procedures and tools 28
- Các mối đe doạ đối với một hệ thống và các biện pháp ngăn chặn • Có 3 hình thức chủ yếu đe dọa đối với hệ thống: Phá hoại: kẻ thù phá hỏng thiết bị phần cứng hoặc phần mềm hoạt động trên hệ thống. Sửa đổi: Tài sản của hệ thống bị sửa đổi trái phép. Điều này thường làm cho hệ thống không làm đúng chức năng của nó. Chẳng hạn như thay đổi mật khẩu, quyền người dùng trong hệ thống làm họ không thể truy cập vào hệ thống để làm việc. Can thiệp: Tài sản bị truy cập bởi những người không có thẩm quyền. Các truyền thông thực hiện trên hệ thống bị ngăn chặn, sửa đổi. 29
- Các mối đe doạ đối với một hệ thống và các biện pháp ngăn chặn • Các đe dọa đối với một hệ thống thông tin có thể đến từ ba loại đối tượng như sau: Các đối tượng từ ngay bên trong hệ thống (insider), đây là những người có quyền truy cập hợp pháp đối với hệ thống. Những đối tượng bên ngoài hệ thống (hacker, cracker), thường các đối tượng này tấn công qua những đường kết nối với hệ thống như Internet chẳng hạn. Các phần mềm (chẳng hạn như spyware, adware ) chạy trên hệ thống. 30
- Các mối đe doạ đối với một hệ thống và các biện pháp ngăn chặn Nguy cơ Kiểm soát truy Lớp ứng dụng nhập Phá hủy Lớp ứng dụng Chứng thực Lớp dịch vụ Sửa đổi Chống chối bỏ Bảo mật số liệu Cắt bỏ Lớp hạ tầng An toàn luồng tin Bóc, tiết lộ Mức người sử Nguyên vẹn số dụng liệu Gián đoạn Mức kiểm soát Khả dụng Tấn công Mức quản lý 31 Riêng tư
- Các mối đe doạ đối với một hệ thống và các biện pháp ngăn chặn • Các biện pháp ngăn chặn: Điều khiển thông qua phần mềm: dựa vào các cơ chế an toàn bảo mật của hệ thống nền (hệ điều hành), các thuật toán mật mã học Điều khiển thông qua phần cứng: các cơ chế bảo mật, các thuật toán mật mã học được sử dụng Điều khiển thông qua các chính sách của tổ chức: ban hành các qui định của tổ chức nhằm đảm bảo tính an toàn bảo mật của hệ thống. 32
- Mục tiêu chung của an toàn bảo mật thông tin Ba mục tiêu chính của an toàn bảo mật thông tin: Bảo mật thông tin Tính sẵn sàng 33
- Mục tiêu chung của an toàn bảo mật thông tin • Tính bí mật (Confidentiality): - Đảm bảo rằng thông tin không bị truy cập bất hợp pháp • Thuật ngữ privacy thường được sử dụng khi dữ liệu được bảo vệ có liên quan tới các thông tin mang tính cá nhân. • Tính toàn vẹn (Integrity): - Đảm bảo rằng thông tin không bị sửa đổi bất hợp pháp. • Tính sẵn dùng (availability): - Tài sản luôn sẵn sàng được sử dụng bởi nhưng ngƣời có thẩm quyền. 34
- Mục tiêu chung của an toàn bảo mật thông tin Thêm vào đó sự chính xác của thông tin còn được đánh giá bởi: • Tính xác thực (Authentication): - Đảm bảo rằng dữ liệu nhận được chắc chắn là dữ liệu gốc ban đầu • Tính không thể chối bỏ (Non-repudation): - Đảm bảo rằng người gửi hay người nhận dữ liệu không thể chối bỏ trách nhiệm sau khi đã gửi và nhận thông tin. 35
- Các chiến lược an toàn hệ thống • Giới hạn quyền hạn tối thiểu (Last Privilege):theo nguyên tắc này bất kỳ một đối tượng nào cùng chỉ có những quyền hạn nhất định đối với tài nguyên mạng. • Bảo vệ theo chiều sâu (Defence In Depth):Không nên dựa vào một chế độ an toàn nào dù cho chúng rất mạnh, mà nên tạo nhiều cơ chế an toàn để tương hỗ lẫn nhau. • Nút thắt (Choke Point): Tạo ra một “cửa khẩu” hẹp, và chỉ cho phép thông tin đi vào hệ thống của mình bằng con đường duy nhất chính là “cửa khẩu” này. 36
- Các chiến lược an toàn hệ thống • Điểm nối yếu nhất (Weakest Link):Chiến lược này dựa trên nguyên tắc: “ Một dây xích chỉ chắc tại mắt duy nhất, một bức tường chỉ cứng tại điểm yếu nhất”. • Tính toàn cục: Các hệ thống an toàn đòi hỏi phải có tính toàn cục của các hệ thống cục bộ. • 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 nhau cho hệ thống khác nhau, nếu không có kẻ tấn công vào được một hệ thống thì chúng cũng dễ dàng tấn công vào các hệ thống khác. 37
- Bảo mật hệ thống Nhiệm vụ bảo mật: - Ngăn chặn các truy nhập không được phép; - Hạn chế tối đa các sai sót của người dùng; - Đảm bảo thông tin không bị mất hoặc thay đổi ngoài ý muốn; - Không tiết lộ nội dùng dữ liệu và chương trình 38
- Bảo mật hệ thống Các giải pháp bảo mật hệ thống: - Chính sách và ý thức; - Phân quyền truy cập và nhận dạng người dùng; - Mã hóa thông tin và nén dữ liệu; - Lưu biên bản. 39
- Chính sách và ý thức Hiệu quả của việc bảo mật thông tin phụ thuộc vào những điểm nào? • Sự quan tâm của chính phủ trong việc ban hành các chủ trương, chính sách, điều luật quy định của nhà nước. • Người phân tích, thiết kế và người quản trị CSDL phải có những giải pháp tốt nhất về phần cứng và phần mềm thích hợp. • Người dùng phải có ý thức bảo vệ thông tin. 40
- Chính sách và ý thức Chính sách nhà quản trị: • Trình bày đường lối chỉ đạo và những quy tắc, quy trình cho việc nâng cấp, theo dõi, sao lưu, và kiếm chứng (Audit) . Nhu cầu thiết kế • Khả năng cần phải có của hệ thống để đối phó với các rủi ro về an toàn. Những nhu cầu này là rất căn bản trong phần thiết kế ban đầu và nó có ảnh hưởng rất lớn đến các giải pháp được sử dụng • Những chính sách này mô tả thật rõ ràng về các nhu cầu bảo mật 41
- Chính sách và ý thức Chính sách thông tin • Truy suất, phân loại, đánh dấu và lưu trữ, chuyển giao hay tiêu huỷ những thông tin nhạy cảm. • Sự phát triển của chính sách thông tin là sự đánh giá chất lượng an toàn thông tin. 42
- Chính sách và ý thức Chính sách bảo mật • Cấu hình hệ thống và mạng tối ưu : cài đặt phần mềm, phần cứng và các kết nối mạng. • Xác định và ủy quyền. Định rõ việc điều khiển truy cập, kiểm chứng, và kết nối mạng. • Các phần mền mã hóa và chống virus đuợc sử dụng để thực thi những chính sách này. • Thiết lập các chức năng hay các phương thức dùng để lựa chọn mật mã, sự hết hạn của mật mã, truy cập bất hợp pháp và những lĩnh vực liên quan. 43
- Chính sách và ý thức Chính sách về sử dụng • Thông tin về nguồn tài nguyên được sử dụng như thế nào với mục đích gì? • Những quy định về cách sử dụng máy tính: đăng nhập, mật khẩu, an toàn vật lý nơi làm việc • Những quy định về sự riêng tư, quyền sở hữu và những hậu quả khi có những hành động không hợp pháp. • Cách sử dụng Internet và Email. 44
- Chính sách và ý thức Quản lý người dùng • Các hoạt động của nhân viên. • Cách ứng xử với các nhân viên mới được kết nạp thêm vào hệ thống. • Hướng dẫn và định hướng cho nhân viên, điều này cũng quan trọng tương tự như khi ta cài đặt và cấu hình một thiết bị mới. 45
- Phân quyền truy cập và nhận dạng người dùng • Ví dụ: Một số hệ quản lí học tập và giảng dạy của nhà trường cho phép mọi phụ huynh HS truy cập để biết kết quả học tập của con em mình. Mỗi phụ huynh chỉ có quyền xem điểm của con em mình hoặc của khối con em mình học. Đây là quyền truy cập hạn chế nhất (mức thấp nhất). các thầy cô giáo trong trường có quyền truy cập cao hơn: Xem kết quả và mọi thông tin khác của bất kì HS nào trong trường. Người quản lí học tập có quyền nhập điểm, cập nhật các thông tin khác trong CSDL. Câu hỏi • Bảng phân quyền truy cập là gì? • Theo em điều gì sẽ xảy ra khi không có Bảng phân quyền truy cập • Bạn hãy lập bảng phân quyền truy cập cho hệ thống trên 46
- Phân quyền truy cập và nhận dạng người dùng Bảng phân quyền truy cập • Là sự phân quyền truy cập dữ liệu của CSDL. • Được tổ chức và xây dựng như những dữ liệu khác. • Được quản lí chặt chẽ, không công khai. • Người quản trị hệ thống có quyền truy cập, bổ sung, sửa đổi • Mỗi bản ghi của bảng phân quyền xác định các quyền nào cho người sử dụng từng loại dữ liệu của CSDL? - Đọc (Đ) ; - Sửa (S); - Bổ sung (B); - Xóa (X); - Không được truy cập (K). 47
- Phân quyền truy cập và nhận dạng người dùng Bảng phân quyền truy cập Mã học sinh Các điểm số Các thông tin khác Phụ huynh học Đọc Đọc Không sinh khối 10 Phụ huynh học Đọc Đọc Không sinh khối 11 Phụ huynh học Đọc Đọc Không sinh khối 12 Giáo viên Đọc Đọc Đọc Người quản trị Đọc, sửa, bổ sung, xóa 48
- Phân quyền truy cập và nhận dạng người dùng Câu hỏi Điều gì sẽ xảy ra khi không có bảng phân quyền Khi không có bảng phân quyền, khi các em vào xem điểm đồng thời cũng có thể sửa điểm của mình. 49
- Phân quyền truy cập và nhận dạng người dùng Câu hỏi Khi phân quyền, hệ quản trị CSDL phải có những chức năng nào để bảo mật thông tin? • Nhận dạng được người dùng. • Xác minh được người truy cập hệ thống có thực sự đúng là người đã được phân quyền. 50
- Phân quyền truy cập và nhận dạng người dùng Câu hỏi Những giải pháp nào để nhận dạng được người truy cập hệ thống? • Sử dụng mật khẩu. • Chữ kí điện tử • Nhận dạng dấu vân tay, giọng nói, hoặc nhận dạng con ngươi 51
- Phân quyền truy cập và nhận dạng người dùng Câu hỏi Để hệ quản trị CSDL có những chức năng bảo mật thông tin, người quản trị CSDL cần cung cấp những gì? • Bảng phân quyền truy cập cho hệ cơ sở dữ liệu. • Phương tiện cho người dùng hệ quản trị CSDL nhận biết đúng được họ. 52
- Phân quyền truy cập và nhận dạng người dùng Câu hỏi Khi muốn truy cập vào hệ thống, người dùng cần phải khai báo như thế nào? • Tên người dùng (user name). • Mật khẩu (password) • Chú ý: Hệ quản trị CSDL cung cấp cho người dùng cách thay đổi mật khẩu tăng cường khả năng bảo vệ mật khẩu 53
- Phân quyền truy cập và nhận dạng ngườidùng Bài tập áp dụng • Trong CSDL Quản lý thư viện trong trường học. Em hãy phân quyền truy cập cho những người dùng gồm có: học sinh, giáo viên, người thủ thư. • Em hãy lập bảng phân quyền 54
- Phân quyền truy cập và nhận dạng người dùng Bài tập áp dụng • Trong CSDL Quản lý thư viện trong trường học. Em hãy phân quyền truy cập cho những người dùng gồm có: học sinh, giáo viên, người thủ thư. Với bảng phân quyền sau: Thông tin Nội quy thư Phân quyền sách viện truy cập Học sinh Đ Đ K Giáo Viên Đ Đ K Người thủ thư ĐBSX ĐBSX ĐBSX 55
- Mã hóa thông tin và nén dữ liệu Câu hỏi Ngoài việc bảo mật bằng phân quyền cũng như việc người truy cập chấp hành đúng chủ trương chính sách thì còn một giải pháp nữa để bảo mật thông tin không? Mã hóa thông tin Mã hóa thông tin là gì? 56
- Mã hóa thông tin và nén dữ liệu Mã hóa thông tin • Mã hóa là phương pháp để biến thông tin (phim ảnh, văn bản, hình ảnh ) từ định dạng bình thường sang dạng thông tin không thể hiểu được nếu không có phương tiện giải mã. 57
- Mã hóa thông tin và nén dữ liệu Câu hỏi Em hãy kể một vài phương pháp mã hóa mà em biết? Phương pháp mã hóa thông tin theo nguyên tắc vòng tròn, mã hóa độ dài hàng loạt, mã hóa bằng các thuật toán MD5, RSA, DES, 58
- Mã hóa thông tin và nén dữ liệu Câu hỏi Em hiểu thế nào về mã hoá dữ liệu theo nguyên tắc vòng tròn? • Mã hoá theo nguyên tắc vòng tròn: Thay thế 1 kí tự bằng 1 kí tự khác, cách kí tự đó 1 số vị trí xác định trong bảng mã. 59
- Mã hóa thông tin và nén dữ liệu • Mã hoá theo nguyên tắc vòng tròn: Thay thế 1 kí tự bằng 1 kí tự khác, cách kí tự đó 1 số vị trí xác định trong bảng mã. Mã hoá theo nguyên tắc vòng tròn: VÝ dô : B¶ng m· ho¸ Ch÷ gèc a b c y z Chữ được mã học c d e a b “bac” “dce” 60
- Mã hóa thông tin và nén dữ liệu Em hãy mô tả phương pháp mã hoá độ dài hàng loạt. * Mã hóa độ dài hàng loạt: Thay thế mỗi dãy kí tự trùng lặp bằng 1 kí tự với số lần lặp lại của nó. Nén dữ liệu nhằm mục đích giảm dùng lượng đồng thời mang tính bảo mật dữ liệu. 8 11 6 D÷ liÖu gèc: BBBBBBBBAAAAAAAAAAACCCCCC 8B11A6C 61
- Mã hóa thông tin và nén dữ liệu • Mã hóa độ dài là một cách nén dữ liệu khi trong file dữ liệu có các kí tự được lặp lại liên tiếp. Ví dụ: BBBBBBBBAAAAAAAAAAACCCCCC 8B 11A 6C 8B11A6C • Chú ý: Các bản sao dữ liệu thường được mã hóa và nén bằng các chương trình riêng. 62
- Mã hóa thông tin và nén dữ liệu Câu hỏi Ngoài các giải pháp nêu trên, người ta còn tổ chức lưu biên bản hệ thống. Biên bản hệ thống là gì? • Trợ giúp việc khôi phục dữ liệu khi có sự cố kĩ thuật trong hoạt động của hệ CSDL. • Đánh giá mức độ quan tâm của người dùng đối với các dạng dữ liệu, dạng truy vấn. 63
- Mã hóa thông tin và nén dữ liệu Câu hỏi Người quản trị nhờ biên bản hệ thống để biết được điều gì? • Số lần truy cập vào hệ thống, vào từng dữ liệu, các yêu cầu. • Thông tin về một số lần cập nhật cuối cùng: nội dùng cập nhật, người thực hiện, thời điểm cập nhật, Dựa vào biên bản này, người quản trị có thể phát hiện những truy cập không bình thường, từ đó có những biện pháp phòng ngừa thích hợp 64
- Mã hóa thông tin và nén dữ liệu Câu hỏi Tại sao phải thường xuyên thay đổi tham số bảo vệ? Nếu ta không thay đổi tham số bảo vệ như mật khẩu truy cập, khoá mã hoá thông tin, thì sớm hay muộn các thông tin đó không còn bí mật nữa và không còn có tác dụng bảo vệ . 65
- Các mức bảo vệ trên mạng • Quyền truy nhập: Là lớp bảo vệ trong cùng nhằm kiểm soát các tài nguyên của mạng và quyền hạn trên tài nguyên đó. • Đăng ký tên /mật khẩu: Thực ra đây cũng là kiểm soát quyền truy nhập, nhưng không phải truy nhập ở mức thông tin mà ở mức hệ thống. • Mã hoá dữ liệu: Dữ liệu bị biến đổi từ dạng nhận thức được sang dạng không nhận thức được theo một thuật toán nào đó và sẽ được biến đổi ngược lại ở trạm nhận (giải mã). • Bảo vệ vật lý: Ngăn cản các truy nhập vật lý vào hệ thống. 66
- Các mức bảo vệ trên mạng • Tường lửa: Ngăn chặn thâm nhập trái phép và lọc bỏ các gói tin không muốn gửi hoặc nhận vì các lý do nào đó để bảo vệ một máy tính hoặc cả mạng nội bộ (intranet). 67
- Các mức bảo vệ trên mạng • Quản trị mạng: Công tác quản trị mạng máy tính phải được thực hiện một cách khoa học đảm bảo các yêu cầu sau : Toàn bộ hệ thống hoạt động bình thường trong giờ làm việc. Có hệ thống dự phòng khi có sự cố về phần cứng hoặc phần mềm xảy ra. Backup dữ liệu quan trọng theo định kỳ. Bảo dưỡng mạng theo định kỳ. Bảo mật dữ liệu, phân quyền truy cập, tổ chức nhóm làm việc trên mạng. 68
- Các phương pháp bảo mật Các phương pháp quan trọng • Viết mật mã: đảm bảo tính bí mật của thông tin truyền thông • Xác thực quyền: được sử dụng để xác minh, nhận dạng quyền hạn của các thành viên tham gia. 69
- An toàn thông tin bằng mật mã Mật mã là một ngành khoa học chuyên nghiên cứu các phương pháp truyền tin bí mật. Mật mã bao gồm : Lập mã và phá mã. • Lập mã bao gồm hai quá trình: mã hóa và giải mã. Các sản phẩm của lĩnh vực này là các hệ mã mật, các hàm băm, các hệ chữ ký điện tử, các cơ chế phân phối, quản lý khóa và các giao thức mật mã. • Phá mã: Nghiên cứu các phương pháp phá mã hoặc tạo mã giả. Sản phẩm của lĩnh vực này là các phương pháp phá mã, các phương pháp giả mạo chữ ký, các phương pháp tấn công các hàm băm và các giao thức mật mã 70
- An toàn thông tin bằng mật mã Cách hiểu truyền thống: giữ bí mật nội dùng trao đổi GỬI và NHẬN trao đổi với nhau trong khi TRUNG GIAN tìm cách “nghe lén” GỬI NHẬN TRUNG GIAN 71
- An toàn thông tin bằng mật mã • Một trong những nghệ thuật để bảo vệ thông tin là biến đổi nó thành một định dạng mới khó đọc. • Viết mật mã có liên quan đến việc mã hoá các thông báo trước khi gửi chúng đi và tiến hành giải mã chúng lúc nhận được 72
- An toàn thông tin bằng mật mã Có 2 phương thức mã hoá cơ bản: thay thế và hoán vị: Phương thức mã hoá thay thế: là phương thức mã hoá mà từng ký tự gốc hay một nhóm ký tự gốc của bản rõ được thay thế bởi các từ, các ký hiệu khác hay kết hợp với nhau cho phù hợp với một phương thức nhất định và khoá. Phương thức mã hoá hoán vị: là phương thức mã hoá mà các từ mã của bản rõ được sắp xếp lại theo một phương thức nhất định. 73
- Giới thiệu về bảo mật CSDL Database Security 1. Bài toán về bảo mật CSDL 2. Khái niệm bảo mật CSDL 3. Các mức bảo mật CSDL 4. Các phương thức bảo mật CSDL 74
- Bài toán về bảo mật Cơ sở dữ liệu Database Security • Theo thống kê, khoảng 90% dữ liệu trong máy tính được lưu trữ dưới dạng CSDL. – 76% truy cập CSDL không có điều khiển phân quyền người sử dụng – 43% truy cập cơ sở dữ liệu trực tiếp vào dữ liệu 6 – Các vi phạm an ninh cơ sở dữ liệu hoặc "SQL injection" • Một đặc điểm cơ bản của DBMS là khả năng quản lý đồng thời nhiều giao diện ứng dụng. Mỗi ứng dụng có một cái nhìn thuần nhất về CSDL, có nghĩa là có cảm giác chỉ mình nó đang khai thác CSDL. • Việc sử dụng rộng rãi các CSDL phân tán và tập trung đã đặt ra nhiều yêu cầu nhằm đảm bảo các chức năng thương mại và an toàn dữ liệu 75
- Bài toán về bảo mật Cơ sở dữ liệu Database Security Độ phức tạp trong thiết kế và thực thi của hệ thống an toàn dựa vào nhiều yếu tố như: • Tính không đồng nhất của người sử dụng • Phạm vi sử dụng: sự phân nhỏ hoặc mở rộng khu vực của các hệ thống thông tin (cả ở cấp quốc gia và cấp quốc tế) • Các hậu quả khó lường do mất mát thông tin • Những khó khăn trong việc xây dựng mô hình, đánh giá và kiểm tra độ an toàn của dữ liệu. 76
- Bài toán về bảo mật Cơ sở dữ liệu Database Security • Các doanh nghiệp hiện nay dường như quá chú trọng vào từng thành phần bảo mật mà quên đi bức tranh toàn cảnh: “Nếu như không có một hệ thống tổ chức bảo mật cơ sở, bất kỳ chính sách bảo mật nào cũng đều thất bại”. • Người quản trị hệ thống thường hay quản lý bảo mật theo ý muốn riêng của mình, không có hoặc chỉ một ít giám sát từ người quản lý cao hơn. 77
- Bài toán về bảo mật Cơ sở dữ liệu Database Security Điều này làm gia tăng các câu hỏi: • Ai đảm bảo rằng người quản trị hệ thống theo đúng các hướng dẫn bảo mật? • Một tổ chức đảm bảo tất cả quản trị viên hệ thống cập nhật bản vá lỗi mới nhất như thế nào? • Một tổ chức lấy gì để đảm bảo bản vá lỗi mới nhất đã được kiểm tra để chắc chắn chúng không trở thành nguyên nhân gây ra hỏng hóc cho hệ thống? • Ai là người kiểm chứng bảo mật cho toàn bộ tập đoàn hay tổng công ty? Để trả lới các câu hỏi trên ta cần đảm bảo an toàn thông tin và bảo mật CSDL 78
- An toàn thông tin Cơ sở dữ liệu Database Security An toàn thông tin trong CSDL: • Thông tin là một trong những tài sản có giá trị nhất đối với một tổ chức • An toàn thông tin gồm các thủ tục và phạm vi để bảo vệ các thành phần của hệ thống thông tin • Tam giác C.I.A: tính bảo mật, tính toàn vẹn, tính sẵn sàng(Confidentiality, Integrity, Availiability) • Chính sách an toàn phải cân đối dựa theo tam giác C.I.A 79
- An toàn thông tin trong Cơ sở dữ liệu Database Security 80
- An toàn thông tin trong Cơ sở dữ liệu Database Security Lỗ hổng cơ sở dữ liệu: • Bảo mật cơ sở dữ liệu về cơ bản có thể bị tấn công theo các lĩnh vực sau: – Các dịch vụ bảo mật (Server Security) – Các kết nối cơ sở dữ liệu (Database Connection) – Điều khiển truy cập bảng (Table Access Control) – Giới hạn truy cập cơ sở dữ liệu (Restricting Database Access) 81
- Khái niệm Bảo mật cơ sở dữ liệu Database Security • Thực thi bảo mật ở tất cả các cấp cơ sở dữ liệu • Tính bảo mật hướng tới 2 khía cạnh của an toàn: – Ngăn chặn sự truy cập bất hợp pháp – Thông tin được tiết lộ dựa trên sự phân loại • Phân loại thông tin thành các mức: – Mỗi mức có một phạm vi bảo mật của chính nó – Thường dựa trên mức độ bảo mật cần thiết để phân loại truy cập 82
- Khái niệm Bảo mật cơ sở dữ liệu Database Security 83
- Khái niệm Bảo mật cơ sở dữ liệu Database Security Thực thi bảo mật CSDL 84
- Các vấn đề về an toàn trong cơ sở dữ liệu • Các hiểm họa đối với an toàn trong CSDL • Các yêu cầu bảo mật CSDL 85
- Các hiểm họa đối với an toàn cơ sở dữ liệu 86
- Các hiểm họa đối với an toàn cơ sở dữ liệu • Các hiểm họa xảy ra khi một số người dùng hoặc nhóm người dùng sử dụng các kỹ thuật đặc biệt để tiếp cận nhằm khám phá, sửa đổi trái phép thông tin quan trọng trong hệ thống • Các xâm phạm tính an toàn CSDL bao gồm: đọc, sửa, xóa dữ liệu trái phép. Có 3 loại xâm phạm: • Khai thác dữ liệu trái phép thông qua suy diễn thông tin được phép • Sửa đổi dữ liệu trái phép • Từ chối dịch vụ hợp pháp 87
- Các hiểm họa đối với an toàn cơ sở dữ liệu Hiểm họa cố ý: liên quan đến hai lớp người dùng • Người dùng hợp pháp: là người có thể lạm dụng quyền, sử dụng vượt quá quyền hạn được phép của họ • Người dùng truy nhập thông tin trái phép: có thể là những người nằm ngoài tổ chức hay bên trong trong tổ chức. Họ tiến hành các hành vi phá hoại phần mềm CSDL hay phần cứng của hệ thống, hoặc đọc, ghi dữ liệu trái phép 88
- Các hiểm họa đối với an toàn cơ sở dữ liệu Các hiểm họa an toàn: có chủ ý và ngẫu nhiên • Các hiểm họa ngẫu nhiên: • Các thảm họa trong thiên nhiên như động đất, hỏa hoạn, lụt lội, • Các lỗi phần cứng hay phần mềm có thể dẫn đến việc áp dụng các chính sách an toàn không đúng • Các sai phạm vô ý do con người gây ra chẳng hạn như nhập dữ liệu đầu vào không chính xác, sửa sai dữ liệu, NhËn xÐt: Tõ những x©m ph¹m an toµn vµ c¸c hiÓm häa cè ý vµ v« ý cã thÓ x¶y ra, dÉn ®Õn yªu cÇu ph¶i b¶o vÖ CSDL chèng l¹i những x©m ph¹m ®ã. 89
- Các yêu cầu về bảo mật Database Security Requirements • Bảo vệ toàn vẹn CSDL - Integrity of the Database • Bảo vệ chống truy cập trái phép • Bảo vệ chống suy diễn • Toàn vẹn dữ liệu thao tác • Toàn vẹn ngữ nghĩa của dữ liệu • Khả năng lưu vết và kiểm tra • Xác thực người dùng • Bảo vệ dữ liệu nhạy cảm • Bảo vệ nhiều mức 90
- Các yêu cầu về bảo mật Database Security Requirements Bảo vệ chống truy cập trái phép • Chỉ trao quyền cho những người dùng hợp pháp • Việc kiểm soát truy nhập cần tiến hành trên các đối tượng dữ liệu mức thấp hơn file: bản ghi, thuộc tính • Kiểm soát truy nhập CSDL phức tạp hơn kiểm soát file 91
- Các yêu cầu về bảo mật Database Security Requirements Bảo vệ chống suy diễn: • Suy diễn là khả năng có được các thông tin bí mật từ những thông tin không bí mật • Suy diễn trong CSDL bình thường • Suy diễn trong các CSDL thống kê (quan trọng) 92
- Các yêu cầu về bảo mật Database Security Requirements Bảo vệ toàn vẹn CSDL: • Bảo vệ CSDL khỏi những người dùng không hợp pháp, tránh sửa đổi nội dùng dữ liệu trái phép • DBMS đưa ra các kiểm soát bằng các ràng buộc dữ liệu, thủ tục sao lưu, phục hồi và các thủ tục toàn đặc biệt. • Hệ thống phục hồi của DBMS sử dụng các file nhật ký: ghi lại tất cả các phép toán được thực hiện trên dữ liệu: đọc, ghi, xóa, chèn. 93
- Các yêu cầu về bảo mật Database Security Requirements 94
- Các yêu cầu về bảo mật Database Security Requirements 95
- Các yêu cầu về bảo mật Database Security Requirements 96
- Các yêu cầu về bảo mật Database Security Requirements Một số phương pháp đảm bảo toàn vẹn dữ liệu: • Kiểu dữ liệu (data type) • Không có định nghĩa Null (Not null definitions) • Định nghĩa mặc định (Default defifitions) • Các thuộc tính định danh (Identity Properties) • Các ràng buộc (Constraints) • Các quy tắc (Rules) 97
- Các yêu cầu về bảo mật Database Security Requirements Toàn vẹn dữ liệu thao tác: • Yêu cầu này đảm bảo tính tương thích logic của dữ liệu khi có nhiều giao tác thực hiện đồng thời • Một giao tác là một loạt các hoạt động xảy ra được xem như một đơn vị công việc nghĩa là hoặc thành công toàn bộ hoặc không làm gì cả. • Sử dụng kỹ thuật kháo để đảm bảo truy nhập đồng thời vào cùng một thực thể dữ liệu Ví dụ: Chuyển $1000 từ account1 sang account2 cần làm các bước sau: 1. Trừ $1000 từ account1 2. Cộng $1000 vào account2 Giao dịch chỉ hoàn tất khi nào? Nếu thực hiện bước 1 xong thì máy bị lỗi thì chuyện gì xảy ra? 98
- Các yêu cầu về bảo mật Database Security Requirements Toàn vẹn ngữ nghĩa của dữ liệu: • Yêu cầu này đảm bảo thính tương thích logic của dữ liệu khi bị thay đổi, bằng cách kiểm tra các giá trị dữ liệu có nằm trong khoảng cho phép hay không (đó là ràng buộc toàn vẹn) • Ràng buộc (Constraints) là những thuộc tính mà ta áp đặt lên một bảng hay một cột để tránh việc lưu dữ liệu không chính xác vào CSDL. • Ví dụ: Kể các loại ràng buộc mà bạn biết 99
- Các yêu cầu về bảo mật Database Security Requirements Khả năng lưu vết và kiểm tra: • Là khả năng ghi lại mọi truy cập tới dữ liệu (với các phép toán read và write). • Khả năng kiểm tra và lưu vết đảm bảo tính toàn vẹn dữ liệu vật lý và trợ giúp cho việc phân tích dãy truy cập vào CSDL 100
- Các yêu cầu về bảo mật Database Security Requirements Xác thực người dùng: • Yêu cầu này thực sự cần thiết để xác định tính duy nhất của người dùng. • Định danh người dùng làm cơ sở cho việc trao quyền. • Người dùng được phép truy nhập dữ liệu khi hệ thống xác định người dùng này là hợp pháp 101
- Các yêu cầu về bảo mật Database Security Requirements Quản lý và bảo vệ dữ liệu nhạy cảm: • Dữ liệu nhạy cảm là dữ liệu không được để công khai • Dữ liệu nhạy cảm chỉ được cấp phép cho người dùng hợp pháp 102
- Các yêu cầu về bảo mật Database Security Requirements Bảo vệ nhiều mức: • Bao gồm một tập các yêu cầu bảo vệ: dữ liệu được phân loại thành nhiều mức nhạy cảm • Mục đích bảo vệ nhiều mức là phân loại các mục thông tin khác nhau, đồng thời phân quyền cho các mức truy nhập khác nhau vào các mục riêng biệt • Một yêu cầu nữa đối với bảo vệ nhiều mức là khả năng gán mức cho các thông tin. 103
- Các mức bảo mật CSDL Database Security Levels 104
- Các phương pháp bảo mật CSDL Database Security Methodology 105
- Các phương pháp bảo mật CSDL Database Security Methodology • Có 2 phương pháp mã hóa dữ liệu và mã hóa ứng dụng. • Mã hóa dữ liệu ở mức độ này không cung cấp mức độ bảo mật truy cập đến CSDL ở mức độ bảng (table), cột (column) và dòng (row), bất cứ ai với quyền truy xuất CSDL đều có thể truy cập vào tất cả dữ liệu trong CSDL. • Điều này phát sinh một nguy cơ nghiêm trọng, cho phép các đối tượng với quyền quản trị (admin) truy cập tất cả các dữ liệu nhạy cảm. Thêm vào đó, giải pháp này bị hạn chế vì không cho phép phân quyền khác nhau cho người sử dụng CSDL. 106
- Các phương pháp bảo mật CSDL Database Security Methodology • Mã hóa ứng dụng xử lý mã hóa dữ liệu trước khi truyền dữ liệu vào CSDL. Những vấn đề về quản lý khóa và quyền truy cập được hỗ trợ bởi ứng dụng. Truy vấn dữ liệu đến CSDL sẽ trả kết quả dữ liệu ở dạng mã hóa và dữ liệu này sẽ được giải mã bởi ứng dụng. • Giải pháp này giải quyết được vấn đề phân tách quyền an ninh và hỗ trợ các chính sách an ninh dựa trên vai trò (Role Based Access Control – RBAC). • Tuy nhiên, xử lý mã hóa trên tầng ứng dụng đòi hỏi sự thay đổi toàn diện kiến trúc của ứng dụng, thậm chí đòi hỏi ứng dụng phải được viết lại. Đây là một vấn đề đáng kể cho các công ty có nhiều ứng dụng chạy trên nhiều nền CSDL khác nhau. 107
- Một số mô hình bảo mật CSDL Database Security Models 108
- Một số mô hình bảo mật CSDL Database Security Models 109
- Một số mô hình bảo mật CSDL Database Security Models 110
- Một số mô hình bảo mật CSDL Database Security Models 111
- Một số mô hình bảo mật CSDL Database Security Models 112
- Một số mô hình bảo mật CSDL Database Security Models 113
- Các nguyên tắc bảo mật hệ điều hành 1. Tổng quan hệ điều hành 2. Môi trường bảo mật hệ điều hành 3. Các dịch vụ - Services 4. Files 5. Files transfer 6. Sharing Files 7. Memory 8. Authentication methods 9. Authorization 10.Password policies 11.Vulnerabilities of Operating Systems 12.E-mail security 114
- Tổng quan hệ điều hành Operating System Overview • Operating system: tập hợp các chương trình cho phép người sử dụng vận hành phần cứng máy tính • Three layers: • Inner layer • Middle layer • Outer layer 115
- Tổng quan hệ điều hành Operating System Overview Các chức năng chính của hệ điều hành : • Multitasking, multisharing • Quản lý tài nguyên máy tính -Computer resource management • Điều khiển dòng chảy của các hoạt động- Controls the flow of activities • Cung cấp một giao diện người dùng - Provides a user interface • Quản lý hoạt động người dùng và tài khoản- Administers user actions and accounts • Thực hiện các tiện ích và các chương trình phần mềm - Runs software utilities and programs • Thực thi các biện pháp bảo mật - Enforce security measures • Tạo Lịch công việc - Schedules jobs 116
- Các dịch vụ - Services • Main component of operating system security environment • Operating system core utilities • Used to gain access to the OS and its features • Include • User authentication • Remote access • Administration tasks • Password policies 117
- Files Các mối đe dọa chung: • Cho phép truy cập tập tin • Chia sẻ file • Tập tin phải được bảo vệ trong việc ghi, đọc, xóa và sửa chữa • Dữ liệu nằm trong các tập tin; bảo vệ các tập tin, bảo vệ dữ liệu 118
- File Permissions • Đọc, viết, và thực hiện quyền ưu tiên • Trong Windows 2000: • Thay đổi cho phép trên các tab Security trên hộp thoại Properties của tập tin • Cho phép cấp quyền • Từ chối, thu hồi quyền 119
- File Permissions (continued) Trong UNIX • Ba cài đặt cho phép: chủ sở hữu; nhóm mà chủ sở hữu thuộc về; tất cả các người dùng khác • Mỗi thiết lập bao gồm rwx • r cho việc đọc, w để viết, và x để thực hiện • Lệnh CHMOD được sử dụng để thay đổi quyền truy cập tập tin 120
- File Transfer • FTP (File Transfer Protocol): • Dịch vụ Internet để chuyển các tập tin từ một máy tính khác • Truyền tên người dùng và mật khẩu • Tài khoản gốc không thể được sử dụng với FTP • Anonymous FTP: khả năng đăng nhập vào máy chủ FTP mà không được xác thực 121
- File Transfer (continued) Thực hành: • Sử dụng tiện ích an toàn FTP nếu có thể • Làm cho hai thư mục FTP: • Một upload với quyền chỉ ghi • Một cho tải với quyền chỉ đọc • Sử dụng tài khoản cụ thể có quyền giới hạn • Đăng nhập và quét hoạt động FTP • Cho phép các nhà khai thác chỉ được uỷ quyền 122
- Sharing Files • Có thể dẫn đến rủi ro an ninh và các mối đe dọa • Peer-to-peer chương trình: cho phép người dùng chia sẻ file qua mạng Internet • Lý do để chặn việc chia sẻ file: • Mã độc hại • Phần mềm quảng cáo và phần mềm gián điệp • Tính riêng tư và bảo mật • Nội dùng khiêu dâm • Vấn đề bản quyền 123
- Memory • Bộ nhớ phần cứng có sẵn trên hệ thống • Có thể bị hỏng do các phần mềm nặng • Hai lựa chọn: • Ngừng sử dụng các chương trình • Áp dụng một bản vá (service pack) để sửa chữa nó • Có thể gây tổn hại cho tính toàn vẹn dữ liệu 124
- Authentication Methods • Authentication- Xác thực: • Xác minh danh tính người dùng • Cho phép truy cập vào hệ điều hành • Physical authentication: Xác thực vật lý • Cho phép tuyển sinh vật lý tài sản công ty • Thẻ từ và các biện pháp sinh trắchọc • Digital authentication: Xác thưc điện tử • Xác minh danh tính người dùng bằng các kỹ thuật số 125
- Authentication Methods (continued) • Digital certificates -Giấy chứng nhận kỹ thuật số: • Hộ chiếu kỹ thuật số nhận dạng và xác minh chủ sở hữu giấy chứng nhận • Digital token (security token)-Thẻ kỹ thuật số: • Thiết bị điện tử nhỏ • Hiển thị một số duy nhất cho chủ thẻ; sử dụng với số PIN của chủ sở hữu như một mật khẩu • Mỗi lần Sử dụng một mật khẩu khác nhau 126
- Authentication Methods (continued) Digital card -Thẻ kỹ thuật số: • Cũng được biết đến như là một thẻ an ninh hoặc thẻ thông minh • Tương tự như một thẻ tín dụng; sử dụng một mạch điện tử thay vì một dải từ • Lưu trữ thông tin nhận dạng người dùng Kerberos: • Phát triển bởi MIT • Sử dụng vé cho các mục đích xác thực 127
- Authentication Methods (continued) • Lightweight Directory Access Protocol (LDAP): • Phát triển bởi trường Đại học Michigan • Một cơ sở dữ liệu tập trung các thư mục: • Người dùng (user name và user ID) • mật khẩu • Danh bạ nội bộ • khóa bảo mật • Hiệu quả để đọc nhưng không phù hợp với thay đổi thường xuyên thông tin 128
- Authentication Methods (continued) • NTLM: • Phát triển và sử dụng bởi Microsoft • Sử dụng giao thức xác thực Protocol • Public Key Infrastructure (PKI): • Người sử dụng giữ một khóa riêng • Công ty thẩm định nắm giữ một khóa công khai • Mã hóa và giải mã dữ liệu bằng cách sử dụng cả hai phím 129
- Authentication Methods (continued) • RADIUS: được sử dụng bởi các thiết bị mạng để cung cấp một cơ chế chứng thực tập trung • Secure Socket Layer (SSL): thông tin xác thực được truyền qua mạng đã được mật mã • Secure Remote Password (SRP): • Mật khẩu không được lưu trữ tại máy cục bộ • Bất khả xâm phạm hoặc tấn công từ điển 130
- Authorization • Quá trình quyết định liệu người dùng được phép thực hiện các chức năng mà họ yêu cầu • Uỷ quyền không được thực hiện cho đến khi người dùng được xác thực • Ưu đãi với các đặc quyền và quyền 131
- User Administration • Tạo tài khoản người dùng • Thiết lập chính sách mật khẩu • Những đặc quyền cho người sử dụng 132
- User Administration (continued) Thực hành: • Sử dụng một quy ước đặt tên nhất quán • Luôn luôn cung cấp một mật khẩu cho một tài khoản và buộc người dùng phải thay đổi nó ở lần đăng nhập đầu tiên • bảo vệ mật khẩu • Không sử dụng mật khẩu mặc định • Tạo một hệ thống tập tin cụ thể cho người sử dụng • Hướng dẫn người dùng về cách chọn một mật khẩu • Khóa tài khoản không sử dụng • Đặc quyền Grant trên mỗi máy chủ cơ sở • Không trao quyền cho tất cả các máy • Sử dụng ssh, scp, và Secure FTP • Cô lập hệ thống sau khi một thỏa hiệp • Thực hiện các thủ tục kiểm chứng ngẫu nhiên 133
- Bảo mật trong SQL Server Bảo mật của SQL Server gồm 3 lớp : – Login security : kiểm soát ai có thể log vào SQL Server. – Database access security : kiểm soát ai có thể truy cập vào một DB cụ thể trên server. – Permission security : kiểm soát một user có thể thực hiện thao tác gì trên DB.
- Bảo mật người dùng trong SQL Server Login • Cung cấp 2 mode • Windows Authentication Mode (Windows Authentication) • Tích hợp với login security của windows. • Việc uỷ nhiệm Network security được thiết lập khi user login vào network • Thông qua Windows để xác định account và password login. • Mixed mode(Windows Authentication and SQL Server Authentication) • Là sự kết hợp của Windows Authentication và SQL Server Authentication, ở chế độ này cả user của Windows và SQL Server để có thể thiết lập để truy nhập SQL Server. • SQL server tự xác nhận login account và password khi user connect.
- Bảo mật người dùng trong SQL Server Login • Window mode: • Không phải nhớ nhiều username, password • Policies của window: thời gian hết hạn, chiều dài tối đa, lưu giữ history. • Nhược điểm: chỉ user window mới có thể kết nối đến sqlserver • Mixed mode: • Không phân biệt net library • Hack vào network không có nghĩa là cũng hack vào sql server
- Bảo mật người dùng trong SQL Server Login • Thiết lập chế độ bảo mật • Nhấn phải chuột chọn tên Server (Instance). • Chọn Properties. • Chọn Tab Security. • Chọn chế độ bảo mật -> Ok
- Bảo mật người dùng trong SQL Server Login • Người dùng trong SQL Server được chia thành 2 mức: • Người truy nhập vào SQL Server gọi là Login, • Người khai thác CSDL gọi là User.Tạo User Account • Cách tạo dùng T_SQL: sp_addlogin sp_addlogin [@loginame =] 'login' [,[@passwd =] 'password'] [,[@defdb =] 'database'] [,[@deflanguage =] 'language'] [,[@sid =] 'sid'] [,[@encryptopt =] 'encryption_option'] Ví dụ: Tạo login có tên ‘Albert’, mật khẩu ‘corporate’ EXEC sp_addlogin 'Albert', 'corporate'
- Bảo mật người dùng trong SQL Server SERVER ROLE, DATABASE ROLE • Role là đối tượng xác định nhóm thuộc tính để gán quyền cho các user tham gia khai thác SQL Server. • Nhóm các quyền thực hiện quản trị hệ thống, gồm các nhóm sau: Bulk Insert Administrators: Được phép thực hiện Bulk Insert. Database Creators: Được phép tạo và sửa đổi cấu trúc CSDL. Disk Administrators: Có thể quản trị các file trên đĩa. Proccess Administrator: Quản trị các dịch vụ đang chạy của SQL Server. Security Administrators: Quản trị hệ thống bảo mật. Setup Administrators: Quản trị các thủ tục mở rộng (xp_).128 System Administrators: Quản trị hệ thống SQL Server.
- Bảo mật người dùng trong SQL Server SERVER ROLE, DATABASE ROLE • Xem Server Role: • Nhấn dấu ‘+’ phần tên Server • Click Security. • Chọn Server Roles:
- Bảo mật người dùng trong SQL Server SERVER ROLE, DATABASE ROLE • Database Role. • Role là đối tượng mà thông qua nó người quản trị có thể gán quyền khai thác cho người sử dụng. Role do CSDL quản lý, khi tạo CSDL hệ thống tự đặt một số Role ngầm định.
- Bảo mật người dùng trong SQL Server SERVER ROLE, DATABASE ROLE • Cú pháp tạo Role sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ] • Ví dụ: Thêm Role có tên Managers: EXEC sp_addrole 'Managers'
- Bảo mật người dùng trong SQL Server User Roles • Fixed Server Role Fixed Server Role Mô tả dbcreator Tạo và thay đổi database diskadmin Quản lý disk file processadmin Quản lý các tiến trình trên SQL ser ver securityadmin Quản lý login server serveradmin Thiết lập cấu hình server setupadmin Cài đặt bản sao và xử lý extended procedures. sysadmin Có thể thực thi mọi hoạt động trong việc install sql Thêm fixed server role cho 1 account – SQL Server Enterprise Manager – T_SQL sp_addsrvrolemember [@loginame =] 'login', [@rolename =] 'role'
- Bảo mật người dùng trong SQL Server User Roles Fixed Database Role Mô tả db_owner Thực thi mọi hoạt động trên database db_accessadmin Thêm xoá user trên database db_datareader Xem tất cả dữ liệu trên database. db_datawriter Thêm, sửa, xóa dữ liệu trên database. db_ddladmin Thêm, sửa, xóa object database. db_securityadmin Quản lý role, object permission trên database. db_backupoperator Tạo backup database db_denydatareader Cập nhật schema, không cho phép xem dữ liệu db_denydatawriter Không cho phép cập nhật dữ liệu trêndatabase. Thêm fixed databsase role cho 1 user – SQL Server Enterprise Manager – T_SQL: sp_addrolemember [@rolename =] 'role', [@membername =] 'security_account'
- Bảo mật người dùng trong SQL Server Permission • Object Permissions: • Cho phép xử lý các lệnh SELECT, INSERT, UPDATE và DELETE trên table, view, stored procedure. • Statement Permissions: • Áp dụng trường hợp user tạo object. • Các statement permissions: CREATE TABLE, CREATE DATABASE, CREATE PROCEDURE, and CREATE RULE. • Implied Permissions: thừa kế từ các quyền khác
- Bảo mật người dùng trong SQL Server Permission
- Bảo mật người dùng trong SQL Server Permission Cấp phát quyền GRANT {ALL [PRIVILEGES] | permission[, n]} { [(column[, n])] ON {table | view} | ON {table | view}[(column[, n])] | ON {stored_procedure | extended_procedure} } TO security_account[, n] [WITH GRANT OPTION] [AS {group | role}]
- Bảo mật người dùng trong SQL Server Permission Cấp phát quyền Ví dụ: Cấp phát cho người dùng có tên thuchanh quyền thực thi các câu lệnh SELECT, INSERT và UPDATE trên bảng Products GRANT SELECT,INSERT,UPDATE ON Products TO thuchanh
- Bảo mật người dùng trong SQL Server Permission Cấp phát quyền Ví dụ: Cho phép người dùng thuchanh quyền xem Productname, unitInstock của bảng Products GRANT SELECT (Productname, unitInstock) ON Products TO thuchanh hoặc: GRANT SELECT ON Products (Productname, unitInstock) TO thuchanh
- Bảo mật người dùng trong SQL Server Permission Cấp phát quyền Ví dụ: • Với quyền được cấp phát như trên, người dùng thuchanh có thể thực hiện câu lệnh sau trên bảng Products SELECT ProductName, UnitInstock from Products • Câu lệnh dưới đây lại không thể thực hiện được SELECT * FROM Products • Cấp phát cho người dùng thuchanh các quyền SELECT, INSERT, UPDATE, DELETE VÀ REFERENCES trên bảng [Order details] GRANT ALL ON [order details] TO thuchanh
- Bảo mật người dùng trong SQL Server Permission Cấp phát quyền Chú ý: • Người dùng không có quyền cấp phát những quyền mà mình được phép cho những người sử dụng khác. • Trong một số trường hợp, khi ta cấp phát quyền cho một người dùng nào đó, ta có thể cho phép người đó chuyển tiếp quyền cho người dùng khác bằng cách chỉ định tuỳ chọn WITH GRANT OPTION trong câu lệnh GRANT.
- Bảo mật người dùng trong SQL Server Permission Cấp phát quyền Ví dụ: Cho phép người dùng thuchanh quyền xem dữ liệu trên bảng Products đồng thời có thể chuyển tiếp quyền này cho người dùng khác GRANT SELECT ON Products TO thuchanh WITH GRANT OPTION
- Bảo mật người dùng trong SQL Server Permission Cấp phát quyền thực thi các câu lệnh • Những quyền có thể cấp phát trong trường hợp này bao gồm: • Tạo cơ sở dữ liệu: CREATE DATABASE. • Tạo bảng: CREATE TABLE • Tạo khung nhìn: CREATE VIEW • Tạo thủ tục lưu trữ: CREATE PROCEDURE • Tạo hàm: CREATE FUNCTION • Sao lưu cơ sở dữ liệu: BACKUP DATABASE
- Bảo mật người dùng trong SQL Server Permission Cấp phát quyền thực thi các câu lệnh Cú pháp: GRANT ALL | danh_sách_câu_lênh TO danh_sách_người_dùng Ví dụ: Để cấp phát quyền tạo bảng và khung nhìn cho người dùng có tên là thuchanh, ta sử dụng câu lệnh như sau: GRANT CREATE TABLE,CREATE VIEW TO thuchanh
- Bảo mật người dùng trong SQL Server Permission Ví dụ: • GRANT INSERT, SELECT ON Sailors TO Horatio • Horatio có thể truy vấn hoặc thêm dòng mới vào table Sailors • GRANT DELETE ON Sailors TO Yuppy WITH GRANT OPTION • Yuppy có thể xóa dữ liệu của table Sailors và có thể uỷ quyền cho người khác • GRANT UPDATE (rating) ON Sailors TO Dustin • Dustin có thể cập nhật cột rating trên các dòng của table Sailor • GRANT SELECT ON ActiveSailors TO Guppy, Yuppy • Guppy, Yuppy không truy cập trực tiếp table Sailors mà thông qua view ActiveSailors
- Bảo mật người dùng trong SQL Server Permission Thu hồi quyền • Cú pháp REVOKE [GRANT OPTION FOR] {ALL [PRIVILEGES] | permission[, n]} { [(column[, n])] ON {table | view} | ON {table | view}[(column[, n])] | {stored_procedure | extended_procedure} } {TO | FROM} security_account[, n] [CASCADE] [AS {group | role}]
- Bảo mật người dùng trong SQL Server Permission Thu hồi quyền Ví dụ: • Thu hồi quyền thực thi lệnh INSERT trên bảng Products đối với người dùng thuchanh. REVOKE INSERT ON Products FROM thuchanh • Thu hồi quyền đã cấp phát trên cột UnitInstock (chỉ cho phép xem dữ liệu trên cột ProductName) REVOKE SELECT ON Products(UnitInstock) Chú ý: chỉ những quyền mà ta đã cấp phát trước đó mới được thu hồi, những quyền mà người dùng này được cho phép bởi những người dùng khác vẫn còn có hiệu lực.
- Bảo mật người dùng trong SQL Server Permission Thu hồi quyền • Ví dụ: Giả sử trong cơ sở dữ liệu ta có 3 người dùng là A, B và C. A và B đều có quyền sử dụng và cấp phát quyền trên bảng R. A thực hiện lệnh sau để cấp phát quyền xem dữ liệu trên bảng R cho C: GRANT SELECT ON R TO C • và B cấp phát quyền xem và bổ sung dữ liệu trên bảng R cho C bằng câu lệnh: GRANT SELECT, INSERT ON R TO C
- Bảo mật người dùng trong SQL Server Permission Thu hồi quyền • Như vậy, C có quyền xem và bổ sung dữ liệu trên bảng R. Bây giờ, nếu B thực hiện lệnh: REVOKE SELECT, INSERT ON R FROM C • Vậy C còn quyền gì trên R??????? • Người dùng C sẽ không còn quyền bổ sung dữ liệu trên bảng R nhưng vẫn có thể xem được dữ liệu của bảng này (quyền này do A cấp cho C và vẫn còn hiệu lực).
- Bảo mật người dùng trong SQL Server Permission Thu hồi quyền • Nếu ta đã cấp phát quyền cho người dùng nào đó bằng câu lệnh GRANT với tuỳ chọn WITH GRANT OPTION thì khi thu hồi quyền bằng câu lệnh REVOKE phải chỉ định tuỳ chọn CASCADE. • Trong trường hợp này, các quyền được chuyển tiếp cho những người dùng khác cũng đồng thời được thu hồi.
- Bảo mật người dùng trong SQL Server Permission Thu hồi quyền • Ví dụ: Ta cấp phát cho người dùng A trên bảng R với câu lệnh GRANT như sau: GRANT SELECT ON R TO A WITH GRANT OPTION • Sau đó người dùng A lại cấp phát cho người dùng B quyền xem dữ liệu trên R với câu lệnh: GRANT SELECT ON R TO B
- Bảo mật người dùng trong SQL Server Permission Thu hồi quyền • Nếu muốn thu hồi quyền đã cấp phát cho người dùng A, ta sử dụng câu lệnh REVOKE như sau: REVOKE SELECT ON R FROM A CASCADE • A và B có quyền gì? • Câu lệnh trên sẽ đồng thời thu hồi quyền mà A đã cấp cho B và như vậy cả A và B đều không thể xem được dữ liệu trên bảng R.
- Bảo mật người dùng trong SQL Server Permission Thu hồi quyền • Trong trường hợp cần thu hồi các quyền đã được chuyển tiếp và khả năng chuyển tiếp các quyền đối với những người đã được cấp phát quyền với tuỳ chọn WITH GRANT OPTION, trong câu lệnh REVOKE ta chỉ định mệnh đề GRANT OPTION FOR. • Ví dụ: Trong ví dụ trên, nếu ta thay câu lệnh: REVOKE SELECT ON Employees Chuyện gì FROM A CASCADE xảy ra? • bởi câu lệnh: REVOKE GRANT OPTION FOR SELECT ON Employees FROM A CASCADE • Thì B sẽ không còn quyền xem dữ liệu trên bảng R đồng thời A không thể chuyển tiếp quyền mà ta đã cấp phát cho những người dùng khác (tuy nhiên A vẫn còn quyền xem dữ liệu trên bảng R).
- Bảo mật người dùng trong SQL Server Permission Thu hồi quyền Thu hồi quyền thực thi các câu lênh: • Việc thu hồi quyền thực thi các câu lệnh trên cơ sở dữ liệu (CREATE DATABASE, CREATE TABLE, CREATE VIEW, ) được thực hiện đơn giản với câu lệnh REVOKE có cú pháp: REVOKE ALL | các_câu_lệnh_cần_thu_hồi FROM danh_sách_người_dùng • Ví dụ: Để không cho phép người dùng thuchanh thực hiện lệnh CREATE TABLE trên cơ sở dữ liệu, ta sử dụng câu lệnh: REVOKE CREATE TABLE FROM thuchanh
- Bảo mật người dùng trong SQL Server Permission Từ chối quyền DENY: từ chối 1 permission và ngăn chặn 1 user, group, role thừa kế permission thông qua mối quan hệ thành viên trong group và role. • Statement permissions: DENY{ALL | statement[, n]} TO security_account[, n] • Object permissions: DENY {ALL [PRIVILEGES] | permission[, n]} { [(column[, n])] ON {table | view} | ON {table | view}[(column[, n])] | ON {stored_procedure | extended_procedure} } TO security_account[, n][CASCADE]
- Bảo mật người dùng trong SQL Server Best Practices • Develop a secure environment: – Never store passwords for an application in plaintext – Change passwords frequently – Use passwords at least eight characters long – Pick a password that you can remember – Use roles to control and administer privileges – Report compromise or loss of a password – Report any violation of company guidelines
- Bảo mật người dùng trong SQL Server Best Practices • Develop a secure environment (continued): – Never give your password to anyone – Never share your password with anyone – Never give your password over the phone. – Never type your password in an e-mail – Make sure your password is complex enough – Use Windows integrated security mode – In Windows 2000/3 domain use domain users and take advantage of Kerberos
- Bảo mật người dùng trong SQL Server Best Practices • When configuring policies: – Require complex passwords with special characters in the first seven bytes – Require a password length of at least eight – Set an account lockout threshold – Do not allow passwords to automatically reset – Expire end-user passwords – Do not expire application-user passwords – Enforce a password history
- Bảo mật người dùng trong SQL Server Best Practices • Profiles define database users behavior • In Oracle: – DBA_PROFILE view – ALTER USER • SQL Server does not support profiles • Password policy: – Enhances password robustness – Reduces likelihood of password breaking
- Bảo mật người dùng trong SQL Server Best Practices • In SQL Server: – NTLM – Kerberos • In Oracle: – System privileges – Object privileges • In SQL Server: – System or server, database, table and column privileges
- Bảo mật người dùng trong SQL Server Best Practices • GRANT and REVOKE • Role is used to: – Organize and administer privileges in an easy manner – Role is like a user but cannot own objects – Role can be assigned privileges – GRANT and REVOKE • Best practices for developing a secure environment
- Password Policies Chính sách của quốc phòng • Tấn công: Ngăn chặn các tấn công từ bên ngoài • Tập trung kiểm soát các hệ thống Chính sách mật khẩu tốt nhất: • Phù hợp với nhiệm vụ công ty của bạn • Thực thi ở tất cả các cấp của tổ chức • Mật khẩu phải mạnh • Xác thực người dùng phụ thuộc vào mật khẩu • Hacker biết và phá vỡ mật khẩu 172
- Password Policies • Microsoft SQL Server: – Tích hợp hệ thống máy chủ -Integrated server system – Chế độ xác thực của Windows- Windows authentication mode • NTLM: – Challenge/response methodology – Challenge is eight bytes of random data – Response is a 24-byte DES-encrypted hash 173
- Password Policies • Kerberos: – A key known by client and server encrypts handshake data – Requires a Key Distribution Center (KDC) – Tickets – Time must be synchronized networkwide 174
- Password Policies 175
- Password Policies (continued) • Best practices: • Password aging –Mật khẩu lão hóa • Password reuse • Password history • Password encryption • Password storage and protection • Password complexity • Logon retries • Single sign-on 176
- Vulnerabilities of Operating Systems • Top vulnerabilities (Lỗ hồng) to Windows systems: • Internet Information Services (IIS) • Microsoft SQL Server (MSSQL) • Windows Authentication • Internet Explorer (IE) • Windows Remote Access Services 177
- Vulnerabilities of Operating Systems (continued) • Top vulnerabilities to Windows (continued): • Microsoft Data Access Components (MDAC) • Windows Scripting Host (WSH) • Microsoft Outlook and Outlook Express • Windows Peer-to-Peer File Sharing (P2P) • Simple Network Management Protocol (SNMP) 178
- Vulnerabilities of Operating Systems (continued) • Top vulnerabilities to UNIX systems: • BIND Domain Name System • Remote Procedure Calls (RPC) • Apache Web Server • General UNIX authentication accounts with no passwords or weak passwords • Clear text services 179
- Vulnerabilities of Operating Systems (continued) • Top vulnerabilities to UNIX systems (continued): • Sendmail • Simple Network Management Protocol (SNMP) • Secure Shell (SSH) • Misconfiguration of Enterprise Services NIS/NFS • Open Secure Sockets Layer (SSL) 180
- E-mail Security • Công cụ cần phải được sử dụng rộng rãi • Có thể là công cụ thường xuyên phải sử dụng bởi tin tặc: • virus • giun • RAC • khác • Được sử dụng để gửi dữ liệu riêng tư và bảo mật 181
- E-mail Security (continued) • Được sử dụng bởi các nhân viên để liên lạc với: • Khách hàng • Đồng nghiệp • bạn bè • Khuyến nghị: • Không cấu hình máy chủ e-mail trên cùng một máy đã được cư trú dữ liệu nhạy cảm • Không tiết lộ chi tiết kỹ thuật về máy chủ e-mail? 182
- Covert channels • MLS được thiết kế để hạn chế các kênh giao tiếp – For example, resources shared at different levels may signal information • Covert channel: “communication path not intended as such by system’s designers”
- Covert Channel Example • Alice has TOP SECRET clearance, Bob has CONFIDENTIAL clearance • Suppose the file space shared by all users • Alice creates file FileXYzW to signal “1” to Bob, and removes file to signal “0” • Once each minute Bob lists the files – If file FileXYzW does not exist, Alice sent 0 – If file FileXYzW exists, Alice sent 1 • Alice can leak TOP SECRET info to Bob!
- Covert Channel Example Alice: Create file Delete file Create file Delete file Bob: Check file Check file Check file Check file Check file Data: 1 0 1 1 0 Time:
- Covert Channel Example • Other examples of covert channels – Print queue – ACK messages – Network traffic, etc., etc., etc. • When does a covert channel exist? 1. Sender and receiver have a shared resource 2. Sender able to vary property of resource that receiver can observe 3. Communication between sender and receiver can be synchronized
- Covert Channel Example • Covert channels exist almost everywhere • Easy to eliminate covert channels – Provided you eliminate all shared resources and all communication • Virtually impossible to eliminate all covert channels in any useful system – DoD guidelines: goal is to reduce covert channel capacity to no more than 1 bit/second – Implication is that DoD has given up trying to eliminate covert channels!
- Covert Channel Example • Consider 100MB TOP SECRET file – Plaintext version stored in TOP SECRET place – Encrypted with AES using 256-bit key, ciphertext stored in UNCLASSIFIED location • Suppose we reduce covert channel capacity to 1 bit per second • It would take more than 25 years to leak entire document thru a covert channel • But it would take less than 5 minutes to leak 256- bit AES key thru covert channel!
- Captchar • CAPTCHA Completely Automated Public Turing test to tell Computers and Humans Apart • Automated test is generated and scored by a computer program • Public program and data are public • Turing test to tell humans can pass the test, but machines cannot pass the test • Like an inverse Turing test (sort of )
- CAPTCHA Paradox • “ CAPTCHA is a program that can generate and grade tests that it itself cannot pass ” • “ much like some professors ” • Paradox computer creates and scores test that it cannot pass! • CAPTCHA used to restrict access to resources to humans (no computers) • CAPTCHA useful for access control
- CAPTCHA: Rules of the Game • Must be easy for most humans to pass • Must be difficult or impossible for machines to pass – Even with access to CAPTCHA software • The only unknown is some random number • Desirable to have different CAPTCHAs in case some person cannot pass one type – Blind person could not pass visual test, etc.
- Do CAPTCHAs Exist? • Test: Find 2 words in the following Easy for most humans Difficult for computers (OCR problem)
- CAPTCHAs • Current types of CAPTCHAs – Visual • Like previous example • Many others – Audio • Distorted words or music • No text-based CAPTCHAs – Maybe this is not possible
- CAPTCHA’s and AI • Computer recognition of distorted text is a challenging AI problem – But humans can solve this problem • Same is true of distorted sound – Humans also good at solving this • Hackers who break such a CAPTCHA have solved a hard AI problem • Putting hacker’s effort to good use! • May be other ways to defeat CAPTCHAs