Bài giảng Bảo mật cơ sở dữ liệu - Chương 2: Access Control cung cấp các kiến thức giúp người học có thể hiểu và 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. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1Access Control Discretionary Access Control
Chapter 3
Trang 2Mụ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
Trang 3Nộ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
Trang 4Access 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
Trang 5Đị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.
• 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 requestAccess Referencemonitor object
Trang 6Đị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ênxác định cho các chủ thể
Kiểm soát được các đối tượng đang hoạt động hay các đốitượng có thể bị truy cập bởi các hoạt động khác
guard resource (e.g files,
printers)
access request subject
Authorized request
Trang 7Đị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
Trang 8Đị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
Trang 9Example: 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
Trang 10Tạ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ốngcó thể làm thay đổi dữ liệu của hệ thốngNế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
Trang 11Tạ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
Trang 12Cá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
Trang 14Các bước điều khiển truy cập cơ bản
Trang 16Quá trình điều khiển truy cập
Trang 17Access 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)
Trang 18Access 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
Trang 19Access Controlled by Name
Trang 20Access 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
Trang 21Access 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
Annie paint picture if:
‘artist’ in subject.role and
‘creative’ in subject.groups and time.hour ≥ 0 and time.hour < 5
Trang 22Access Controlled by Time
Phụ thuộc thời gian (time-dependent):
At 3AM, time condition
met; ACM is:
Trang 23Access 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.
Trang 24Access 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.
Trang 25Access 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
Trang 26Access Controlled by History
– 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
Trang 27Thự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
Trang 28Danh 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ácthao 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éttrong mối liên hệ với các file của hệ điều hành
Trang 29File chứa các quyền truy cập trong UNIX
Trang 30Danh 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
Trang 31Chí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
Trang 32Giớ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
Trang 33Giới hạn thời gian trong ngày của hệ điều hành
Trang 34Giới hạn đối với điểm truy cập không dây
Trang 35Giớ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)
Trang 36Giớ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 đổimậ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
Trang 37Cá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
Trang 38RADIUS (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
Trang 39Xác thực RADIUS
Trang 40Hồ 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
Trang 41Hệ 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
Trang 42TACACS (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+
Trang 43So sánh giữa RADIUS và TACACS
Trang 44LDAP (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)
Trang 45LDAP
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
Trang 46Cá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
Trang 47Cá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
Trang 48Cá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
Trang 49Cá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
• 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
Trang 50Các mô hình điều khiển truy cập Access Control Models
Trang 51Cá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)
Trang 52Tá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 chocá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ẻ
Trang 53Luâ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
Trang 54• 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
Trang 55Những thách thức của
phương pháp Ưu tiên nhất
Trang 58Nộ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
Trang 59Discretionary 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
Trang 60Discretionary 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.