Bài giảng Bảo mật Cơ sở dữ liệu - Chap 2: Access Control - Discretionary Access Control

1. Định nghĩa Điều khiển truy cập - Access control 2. Các bước điều khiển truy cập 3. Các vai trò trong điều khiển truy cập 4. Quá trình điều khiển truy cập 5. Các mô hình điều khiển truy cập 6. Thực thi điều khiển truy cập Điều khiển truy cập (Access control): đảm bảo rằng tất cả các truy cập trực tiếp đến đối tượng được ủy quyền. Access control gồm: – Bảo vệ các đối tượng (Protect objects): bảo vệ các tài nguyên hệ thống • ví dụ, tài nguyên bộ nhớ, tập tin, thư mục, tài nguyên phần cứng, phần mềm, bảng, các bộ, ... – Chủ thể (subjects): các đơn vị hoạt động yêu cầu truy cập đến tài nguyên, • ví dụ, người sử dụng, chủ sở hữu, chương trình, vv – Chế độ truy cập (access mode): các kiểu truy cập • ví dụ, đọc / select, viết / cập nhật, thực thi.

pdf177 trang | Chia sẻ: candy98 | Lượt xem: 1178 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Bài giảng Bảo mật Cơ sở dữ liệu - Chap 2: Access Control - Discretionary Access Control, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Access Control Discretionary Access Control Chapter 3 Mục tiêu: Hiểu và mô tả được Access Control Giải thích được cơ chế bảo mật DAC Vận dụng được DAC vào trong các hệ quản trị CSDL Chương 2: Access Control Bảo mật theo cơ chế Discretionary Access Control DAC Nội dùng 1. Access Control 2. Discretionary Access Control 3. Vận dụng được DAC vào trong các hệ quản trị CSDL Access Control 1. Định nghĩa Điều khiển truy cập - Access control 2. Các bước điều khiển truy cập 3. Các vai trò trong điều khiển truy cập 4. Quá trình điều khiển truy cập 5. Các mô hình điều khiển truy cập 6. Thực thi điều khiển truy cập Định nghĩa điều khiển truy cập Access Control Điều khiển truy cập (Access control): đảm bảo rằng tất cả các truy cập trực tiếp đến đối tượng được ủy quyền. Access control gồm: – Bảo vệ các đối tượng (Protect objects): bảo vệ các tài nguyên hệ thống • ví dụ, tài nguyên bộ nhớ, tập tin, thư mục, tài nguyên phần cứng, phần mềm, bảng, các bộ, ... – Chủ thể (subjects): các đơn vị hoạt động yêu cầu truy cập đến tài nguyên, • ví dụ, người sử dụng, chủ sở hữu, chương trình, vv – Chế độ truy cập (access mode): các kiểu truy cập • ví dụ, đọc / select, viết / cập nhật, thực thi. subject Access request Reference monitor object Định nghĩa điều khiển truy cập Access Control Chức năng của access control Cấp phép hoặc từ chối phê duyệt sử dụng các tài nguyên xác định cho các chủ thể Kiểm soát được các đối tượng đang hoạt động hay các đối tượng có thể bị truy cập bởi các hoạt động khác. reference monitor object source (e.g. users, processes) Request operation guard resource (e.g. files, printers) access request subject Authorized request Định nghĩa điều khiển truy cập Access Control Kiểm soát truy cập yêu cầu: Bắt buộc phải thực hiện, không được bỏ qua Thực thi đặc quyền và cần phải biết hạn chế Thi hành chính sách tổ chức Các thành phần kiểm soát truy cập: Chính sách kiểm soát truy cập: quy định cụ thể thẩm quyền truy cập của một hệ thống Cơ chế điều khiển truy cập: thực hiện và thực thi chính sách Tách các thành phần cho phép: Xác định các yêu cầu truy cập độc lập So sánh với các chính sách khác Thực hiện cơ chế có thể thực thi một loạt các chính sách Định nghĩa điều khiển truy cập Access Control Ai có thể cấp quyền và thu hồi quyền truy cập: Centralized administration (người quản trị trung tâm): nhân viên an ninh Decentralized administration (người quản trị phân cấp): hệ thống phân cấp theo quản lý Hierarchical decentralization (phân cấp theo thứ bậc): nhân viên an ninh>quản trị hệ thống phòng ban> người quản trị Windows Ownership based (quyền sở hữu): có thể cấp quyền truy cập cho những người khác truy xuất dữ liệu của mình Cooperative authorization (Ủy quyền): ủy quyền cho các chủ thể khác Example: Access Control Prof Alice manages access to course objects ‣ Assign access to individual (principal: Bob) ‣ Assign access to aggregate (course-students) ‣ Associate access to relation (students(course)) ‣ Assign students to project groups (student(course, project, group)) Prof Alice wants certain guarantees ‣ Students cannot modify objects written by Prof Alice ‣ Students cannot read/modify objects of other groups Prof Alice must be able to maintain access policy ‣ Ensure that individual rights do not violate guarantees ‣ However, exceptions are possible – students may distribute their results from previous assignments for an exam Tại sao phải điều khiển truy cập Kiểm soát truy cập là một kỹ thuật cho phép người dùng hệ thống truy cập một chức năng nào đó của hệ thốngcó thể làm thay đổi dữ liệu của hệ thốngNếu không kiểm soát hệ thống sẽ không còn an toàn và không còn bảo mật Điều khiển truy cập nhằm mục đích để đạt được: – Cho phép chức năng dự phòng có thể truy cập – Đảm bảo tài sản đáp ứng tính toàn vẹn, bảo mật, ngăn chặn rò rỉ trái phép, – Cho phép nhà quản trị chính của hệ thống thay đổi việc truy cập Tại sao điều khiển truy cập khó Yêu cầu truy cập hệ thống xảy ra thường xuyên Yêu cầu kiểm soát truy cập có thể thay đổi Bất cứ ai cũng có thể là một quản trị viên Vấn đề an toàn Truy cập có thể không an toàn nhưng phải tuân theo các ràng buộc của hệ thống Các thuật ngữ về điều khiển truy cập Trình diện – Xuất trình các ủy quyền – Ví dụ: người vận chuyển hàng xuất trình thẻ nhân viên Xác thực – Kiểm tra, xác minh các ủy quyền – Ví dụ: kiểm tra thẻ của người vận chuyển hàng Ủy quyền – Cấp thẻ để thực hiện hành động – Ví dụ: cho phép người vận chuyển hàng được chất kiện hàng lên xe Đối tượng – Tài nguyên cụ thể – Ví dụ: file hoặc thiết bị phần cứng Chủ thể – Người dùng hay quá trình đại diện cho một người dùng – Ví dụ: người dùng máy tính Thao tác – Hành động do chủ thể gây ra đối với một đối tượng – Ví dụ: xóa một file Các thuật ngữ về điều khiển truy cập Các bước điều khiển truy cập cơ bản Các vai trò trong điều khiển truy cập Quá trình điều khiển truy cập Access Control Conditions Kiểm soát phụ thuộc tên (Name) Kiểm soát dựa vào nội dùng dữ liệu (Data) Kiểm soát dựa vào thời gian (Time) Kiểm soát dựa vào ngữ cảnh (Context) Kiểm soát dựa vào lịch sử (History) Access Control Conditions Trong hệ CSDL, A[s,o]còn chứa các điều kiện cần thỏa để chủ thể s có thể truy cập đối tượng o Phụ thuộc tên (name-dependent): hạn chế truy cập dựa theo tên truy cập Phụ thuộc dữ liệu (data-dependent): hạn chế truy cập dựa trên giá trị của dữ liệu truy cập Phụ thuộc thời gian (time-dependent): hạn chế truy cập dựa trên thời gian truy cập dữ liệu Phụ thuộc ngữ cảnh: hạn chế truy cập dựa trên thu thập thông tin (chứ không phải là độ nhạy của dữ liệu) mà có thể được truy cập Phụ thuộc lịch sử: hạn chế truy cập dựa trên dữ liệu truy cập trước Access Controlled by Name Access Controlled by Data Phụ thuộc dữ liệu (data-dependent): hạn chế truy cập dựa trên giá trị của dữ liệu truy cập Access control matrix shows allowed access to database fields – Subjects have attributes – Verbs dene type of access – Rules associated with objects, verb pair Subject attempts to access object – Rule for object, verb evaluated – Result controls granting, denying access Ví dụ 1: chỉ xem được thông tin của các nhân viên có salary < 1000 trong bảng Employee Access Controlled by Time Phụ thuộc thời gian (time-dependent): hạn chế truy cập dựa trên giá trị của dữ liệu truy cập Ví dụ 1: chỉ được truy cập bảng Employee từ 8:00 sáng đến 5:00 chiều Ví dụ 2: Subject Annie – Attributes role (artist), groups (creative) Verb paint – Default 0 (deny unless explicitly granted) Object picture – Rule: Annie paint picture if: ‘artist’ in subject.role and ‘creative’ in subject.groups and time.hour ≥ 0 and time.hour < 5 Access Controlled by Time Phụ thuộc thời gian (time-dependent): Ví dụ 2: picture a n n ie paint At 3AM, time condition met; ACM is: picture a n n ie At 10AM, time condition not met; ACM is: Access Controlled by Context Phụ thuộc ngữ cảnh: hạn chế truy cập dựa trên thu thập thông tin Ví dụ: có thể truy cập riêng từng thuộc tính name và salary trong bảng Employee, nhưng không thể truy cập cả 2 thuộc tính này cùng lúc. Access Controlled by History Phụ thuộc lịch sử: hạn chế truy cập dựa trên dữ liệu truy cập trước Ví dụ: chỉ xem được thuộc tính salary của các nhân viên nếu như trước đó chưa xem thuộc tính name của nhân viên. Access Controlled by History Statistical databases need to – answer queries on groups – prevent revelation of individual records Query-set-overlap control – Prevent an attacker to obtain individual piece of information using a set of queries C – A parameter r (=2) is used to determine if a query should be answered Name Position Age Salary Alice Teacher 45 40K Bob Aide 20 20K Cathy Principal 37 60K Dilbert Teacher 50 50K Eve Teacher 33 50K Access Controlled by History Query 1: – sum_salary(position = teacher) – Answer: 140K Query 2: – sum_salary(age > 40 & position = teacher) – Should not be answered as Matt’s salary can be deduced Name Position Age Salary Celia Teacher 45 40K Leonard Teacher 50 50K Matt Teacher 33 50K Name Position Age Salary Celia Teacher 45 40K Leonard Teacher 50 50K Thực thi điều khiển truy cập • Danh sách điều khiển truy cập (Access Control List-ACL) • Chính sách nhóm (Group Policy) • Giới hạn tài khoản Danh sách điều khiển truy cập • Tập các quyền gắn với một đối tượng • Xác định chủ thể nào có thể truy cập tới đối tượng và các thao tác nào mà chủ thể thực hiện • Khi chủ thể yêu cầu thực hiện một thao tác: • Hệ thống kiểm tra danh sách điều khiển truy cập đối với mục đã được duyệt • Danh sách điều khiển truy cập thường được xem xét trong mối liên hệ với các file của hệ điều hành File chứa các quyền truy cập trong UNIX Danh sách điều khiển truy cập Mỗi một mục trong bảng danh sách điều khiển truy cập được gọi là một mục điều khiển (Access Control Element ACE) Cấu trúc ACE (trong windows) – Nhận dạng bảo mật (Access identifier) cho tài khoản người dùng hay tài khoản nhóm hoặc phiên đăng nhập – Mặt nạ truy cập (access mask) xác định quyền truy cập do ACE điều khiển – Cờ (Flag) cho biết kiểu của ACE – Tập các cờ (Set of flags) xác định đối tượng có thể kế thừa các quyền hay không Chính sách nhóm Tính năng của Microsoft Windows – Cho phép sử dụng Active Directory (AD) để quản lý và cấu hình tập trung cho các máy và người dùng từ xa. – Thường được sử dụng trong các môi trường doanh nghiệp – Các thiết lập được lưu trữ trong các GPO (Group Policy Object – chính sách cho nhóm đối tượng) Local Group Policy – Có ít tùy chọn hơn so với Group Policy – Được sử dụng để cấu hình các thiết lập cho các hệ thống không phải là một phần của AD Giới hạn tài khoản Giới hạn thời gian trong ngày (time of day restriction) – Giới hạn số lần người dùng đăng nhập vào hệ thống trong một ngày – Cho phép chọn khối thời gian chặn đối với các truy cập được cho phép – Có thể được thiết lập trên từng hệ thống riêng lẻ Hạn sử dụng tài khoản (account expiration) – Các tài khoản mồ côi (orphaned account): tài khoản vẫn còn hoạt động sau khi một nhân viên rời khỏi tổ chức – Tài khoản không hoạt động (domant account): không truy cập trong một khoảng thời gian dài – Cả hai kiểu tài khoản trên là những nguy cơ đối với bảo mật. Giới hạn thời gian trong ngày của hệ điều hành Giới hạn đối với điểm truy cập không dây Giới hạn tài khoản Các khuyến cáo xử lý đối với tài khoản “mồ côi” và tài khoản “ngủ đông” – Thiết lập một qui trình chính thức – Chấm dứt truy cập ngay lập tức – Quản lý nhật ký (file log) Các tài khoản “mồ côi” vẫn là một vấn đề nan giải đối với các tổ chức hiện nay Account expiration (thời gian hiệu lực của tài khoản) – Thiết lập hết hạn cho một tài khoản người dùng (hết hiệu lực) Giới hạn tài khoản Password expiration (thời gian hiệu lực của mật khẩu) thiết lập khoảng thời gian mà người dùng phải thay đổi mật khẩu mới – Khác với account expiration (thời gian hiệu lực của tài khoản) Account expiration (thời gian hiệu lực của tài khoản) có thể được thiết lập bằng số ngày mà người dùng không có bất cứ hành động truy cập nào Các dịch vụ xác thực Xác thực (Authentication) – Quá trình xác minh thông tin Các dịch vụ xác thực được cung cấp trên một mạng – Máy chủ xác thực chuyên dụng • Còn gọi là máy chủ AAA nếu nó thực hiện đồng thời cả nhiệm vụ ủy quyền (authorization) và kiểm toán (accounting) Các kiểu xác thực và máy chủ AAA thông dụng – RADIUS – Kerberos – TACACS – LDAP RADIUS RADIUS (remote Authentication Dial In User Service- Bộ quay số xác thực từ xa trong dịch vụ người dùng) – Được giới thiệu vào năm 1992 – Trở thành một tiêu chuẩn công nghiệp – Phù hợp cho các ứng dụng kiểm soát dịch vụ cỡ lớn • Ví dụ như truy cập quay số tới mạng doanh nghiệp – Hiện nay vẫn đang được sử dụng RADIUS client – Thường là một thiết bị như điểm truy cập không dây (AP) • Có nhiệm vụ gửi các thông tin về người dùng cùng với các tham số kết nối tới máy chủ RADIUS Xác thực RADIUS RADIUS Hồ sơ người dùng RADIUS được lưu trữ trong cơ sở dữ liệu trung tâm – Tất cả các máy chủ từ xa đều có thể chia sẻ thông tin Ưu điểm của dịch vụ trung tâm – Tăng cường bảo mật do chỉ có duy nhất một điểm quản lý trên mạng – Dễ dàng theo dõi và truy vết việc sử dụng để thanh toán và lưu giữ các số liệu thống kê mạng KERBEROS Hệ thống xác thực được phát triển tại MIT – Sử dụng mã hóa và xác thực để đảm bảo tính bảo mật Thường được sử dụng cài đặt trong các thiết lập giáo dục và chính phủ Hoạt động giống như việc sử dụng giấy phép lái xe để thanh toán SEC Vé Kerberos – Chứa các thông tin liên quan tới người dùng – Người dùng trình diện vé vào mạng cho một dịch vụ – Rất khó để sao chép – Hết hiệu lực sau một vài giờ hoặc sau một ngày TACACS TACACS (Terminal Access Control Access Control System – Hệ thống điều khiển truy cập điều khiển truy cập thiết bị đầu cuối) Dịch vụ xác thực tương tự như RADIUS Do Cisco System phát triển Thường được sử dụng trên các thiết bị UNIX Giao tiếp bằng cách chuyển tiếp thông tin xác thực người dùng tới một máy chủ trung tâm Phiên bản hiện tại là TACACS+ So sánh giữa RADIUS và TACACS LDAP LDAP (Lighweight Directory Access Control System – Giao thức truy cập thư mục hạng nhẹ) Dịch vụ thư mục – CSDL được lưu trên mạng – Chứa các thông tin về người dùng và các thiết bị mạng – Lưu vết theo dõi các tài nguyên mạng và đặc quyền của người dùng đối với những tài nguyên đó – Cho phép hay từ chối truy cập dựa trên thông tin lưu trữ Tiêu chuẩn cho các dịch vụ thư mục – X.500 DAP (Directory Access Protocol – Giao thức truy cập thư mục) LDAP LDAP Là một tập con đơn giản hơn của DAP Được thiết kế để hoạt động trên bộ giao thức TCP/IP Có các chức năng đơn giản hơn Mã hóa các thành phần giao thức theo cách đơn giản hơn so với X.500 Là một giao thức mở Nhược điểm của LDAP Có thể là mục tiêu của tấn công lan truyền LDAP – Tương tự như tấn cônglan truyền SQL – Xảy ra khi dữ liệu do người dùng cung cấp không được lọc đúng cách Các mô hình điều khiển truy cập Access Control Models Bốn mô hình điều khiển truy cập chính Điều khiển truy cập tùy ý Discretionary Access Control (DAC) Điều khiển truy cập bắt buộc Mandatory Access Control (MAC) Điều khiển truy cập dựa trên vai trò Role Based Access Control (RBAC) Điều khiển truy cập dựa trên qui tắc Rule Based Access Control - RBAC Các mô hình điều khiển truy cập Access Control Models Điều khiển truy cập tùy ý (Discretionary Access Control) – Cho biết chủ thể nào có thể truy cập kiểu gì đến các đối tượng trong CSDL – Có những nguyên tắc một chủ thể có thể tùy ý cấp quyền hay lấy lại quyền truy cập hoặc gián tiếp đến lớp dữ liệu Điều khiển truy cập bắt buộc (Mandatory Access Control) – Định trước các nguyên tắc để chủ thể (thuộc 1 lớp) truy cập trực tiếp hoặc gián tiếp đến các lớp dữ liệu Các mô hình điều khiển truy cập Access Control Models Điều khiển truy cập dựa trên vai trò (Role Based Access Control ) – Vai trò là 1 tập các quyền. Không thực hiện cấp quyền cho từng chủ thể mà gán cho chủ thể 1 vai trò, khi đó chủ thể sẽ có tất cả các quyền thuộc về vai trò đó Các mô hình điều khiển truy cập Access Control Models Điều khiển truy cập dựa trên qui tắc (Rule Based Access Control ) – Tự động gán vai trò cho các chủ thể dựa trên một tập quy tắc do người giám sát xác định – Mỗi đối tượng tài nguyên chứa các thuộc tính truy cập dựa trên quy tắc – Khi người dùng truy cập tới tài nguyên, hệ thống sẽ kiểm tra các qui tắc của đối tượng để xác định quyền truy cập – Thường được sử dụng để quản lý truy cập người dùng tới một hoặc nhiều hệ thống • Những thay đổi trong doanh nghiệp có thể làm cho việc áp dụng các qui tắc thay đổi Các mô hình điều khiển truy cập Access Control Models Các bài tập thực hành đối với điều khiển truy cập Thiết lập các thủ tục tối ưu để hạn chế truy cập – Có thể giúp đảm bảo an toàn cho hệ thống và dữ liệu Các ví dụ về phương pháp tối ưu – Tách nhiệm vụ (separation of duties) – Luân chuyển công việc (job rotation) – Đặc quyền tối thiểu (least privilege) – Từ chối ngầm định (implicit deny) – Các ngày nghỉ lễ bắt buộc (mandatory vacation) Tách nhiệm vụ Hành vi gian lận có thể bắt nguồn từ việc tin cậy vào một cá nhân và cho phép họ toàn quyền điều khiển một quá trình Yêu cầu phải có ít nhất hai người chịu trách nghiệm cho các hoạt động liên quan tới quản lý tiền Giúp hệ thống không bị xâm hại do hành vi cua một cá nhân đơn lẻ Luân chuyển công việc Luân chuyển công việc – Luân chuyển trách nghiệm công việc của các cá nhân theo định kỳ – Các nhân viên có thể được thuyên chuyển công việc ngay trong phòng ban của họ hoặc giữa các phòng ban với nhau Ưu điểm của việc luân chuyển công việc – Hạn chế thời gian tại vị của các cá nhân để họ không thể thao túng các cấu hình bảo mật – Giúp vạch trần các con đường tiềm ẩn dẫn đến gian lận • Mỗi cá nhân có một quan điểm khác nhau và điều đó có thể giúp phát hiện ra các lỗ hổng – Giảm bớt căng thẳng mệt mỏi cho nhân viên Ưu tiên nhất • Giới hạn truy cập tới thông tin dựa trên nguyên tắc chỉ được biết những gì phục vụ cho công việc • Giúp giảm thiểu bề mặt tấn công thông qua việc loại bỏ các đặc quyền không cần thiết • Nên áp dụng cho người dùng và tiến trình trên hệ thống • Các tiến trình nên hoạt động ở cấp độ bảo mật tối thiểu cần thiết để hoạt động chính xác • Khả năng gán các mức ưu tiên cao hơn cũng rất lớn Những thách thức của phương pháp Ưu tiên nhất Từ chối ngầm • Nếu một điều kiện không đáp ứng rõ ràng, yêu cầu truy cập sẽ bị từ chối • Ví dụ : bộ định tuyến mạnh từ chối các truy cập ngoại trừ khi điều kiện phù hợp với các quy tắc giới hạn Các kỳ nghỉ bắt buộc • Hạn chế gian lận vì thủ phạm phải có mặt hàng ngày để che dấu hành vi gian lận của mình • Lên kế hoạch kiểm tra hành vi của nhân viên giữ chức vụ nhạy cảm trong suốt thời gian nghỉ Nội dùng 1. Access Control 2. Discretionary Access Control 3. Vận dụng được DAC vào trong các hệ quản trị CSDL Discretionary Access Control 1. Giới thiệu Discretionary Access Control 2. Các loại quyền trong DAC 3. Ưu và nhược điểm của DAC 4. Các mô hình của DAC Discretionary Access Control Điều khiển truy cập tùy ý - Discretionary Access Control (DAC) chỉ rõ những đặc quyền mà mỗi chủ thể có thể có được trên các đối tượng và trên hệ thống (object prilvilege, system privilege) Các yêu cầu truy nhập được kiểm tra, thông qua một cơ chế kiểm soát tùy ý, truy nhập được trao cho các chủ thể thỏa mãn các quy tắc cấp quyền của hệ thống. DAC được triển khai rộng rãi trong hầu hết các hệ điều hành, Sức mạnh của DAC: Tính linh hoạt: là một lý do chính tại sao nó được biết đến rộng rãi và được thực hiện trong các hệ thống điều hành chủ đạo. Discretionary Access Control Người dùng có thể bảo vệ những gì thuộc về mình Chủ của dữ liệu có toàn quyền trên dữ liệu đó Chủ của dữ liệu có quyền định nghĩa các loại truy cập đọc/ghi/thực thi và gán những quyền đó cho những người khác Discretionary Access Control Discretionary Access Control  DAC dựa vào định danh của người dùng có yêu cầu truy nhập vào các đối tượng dữ liệu (file, thư mục,)  Cơ chế này được gọi là tùy ý có nghĩa là:  Cho phép chủ thể có thể cấp quyền cho chủ thể khác truy cập các đối tượng của nó  Người sử dụng có khả năng cấp phát hoặc thu hồi quyền truy nhập trên một số đối tượng.  Việc phân quyền kiểm soát dựa vào quyền sở hữu (kiểu chính sách cấp quyền dựa vào quyền sở hữu) Discretionary Access Control DAC cho phép đọc thông tin từ một đối tượng và chuyển đến một đối tượng khác (đối tượng này có thể được ghi bởi 1 chủ thể) Tạo ra sơ hở để cho tấn công Trojan sao chép thông tin từ 1 đối tượng đến 1 đối tượng khác Ví dụ: UserA là chủ sở hữu tableA, anh ta tạo ra khung nhìn V