Điều khiển truy cập thường được sử dụng như lớp phòng vệ thứ nhất,nhằm ngăn chặn các các phần mềm độc hại và các hành động tấn công, đột nhập vào các hệ thống máy tính và mạng hoặc truy
Trang 1BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KĨ THUẬT MẬT MÃ
BÁO CÁO BÀI TẬP LỚN
NHÓM 5
ĐỀ TÀI Nghiên cứu mô hình điều khiển truy cập
bắt buộc
Giảng viên hướng dẫn : Vũ Thị Vân
Sinh viên thực hiện : Dương Tất Đạt
Nguyễn Thiện Đô Nguyễn Tuấn Giang
Hà Nội, tháng 9 năm 2021
Trang 3MỤC LỤC
Contents
LỜI MỞ ĐẦU 5Chương 1: Điều khiển truy cập _6
1 Tổng quan _61.1 Khái niệm 61.2 Các yếu tố cơ cản của điều khiển truy cập _71.3 Nguyên tắc thiết lập điều khiển truy cập _71.4 Quá trình truy cập tài nguyên _7
2 Ma trận điều khiển truy cập ACM _82.1 Khái niệm 82.2 Cấu trúc mô hình ACM 82.3 Quy tắc hoạt động ACM _9
3 Danh sách quyền truy cập ACL 103.1 Khái niệm chung 103.2 Nguyên tắc hoạt động của danh sách truy cập 103.3 Tổng quan về các lệnh trong ACL _13
4 Danh sách năng lực (Capability List) _14
5 Các mô hình điều khiển truy cập _145.1 Mandatory Access Control (MAC) 145.2 Discretionary Access Control (DAC) 145.3 Role-Base Access Control _15Chương 2: Điều khiển truy cập bắt buộc _15
1 Giới thiệu _15
2 Các tính chất 17
3 Ưu và nhược điểm 19
4 Mô hình thực thi theo xu hướng MAC 194.1 Mô hình Bell-LaPadula _19
Trang 44.2 Mô hình Biba _21Chương 3: Thực nghiệm trên Oracle 22
1 Chính sách điều khiển truy cập bắt buộc _22
2 An toàn dựa vào nhãn trên Oracle 23
3 Thực nghiệm trên Oracle _243.1 Mô tả bài toán 243.2 Thực nghiệm trên Oracle 24KẾT LUẬN _32Tài liệu tham khảo 33
Trang 5LỜI MỞ ĐẦU
Với sự phát triển mạnh mẽ của Internet và mạng web toàn cầu, các ứng dụng
và dịch vụ trên nền mạng Internet ngày càng phong phú Đi kèm với các ứng dụng
và dịch vụ hữu ích cho người dùng là các phần mềm độc hại và các hành động tấn công, đột nhập vào các hệ thống máy tính và mạng nhằm chiếm quyền kiểm soát các hệ thống này hoặc đánh cắp các dữ liệu có giá trị Vì thế, vấn đề đảm bảo an ninh, an toàn cho các hệ thống máy tính và mạng, an toàn dữ liệu trở nên rất cấp thiết Nhiều giải pháp đảm bảo an ninh, an toàn đã được nghiên cứu, triển khai nhưcác biện pháp điều khiển truy cập, rà quét phát hiện phần mềm độc hại, phát hiện tấn công, đột nhập và mã hóa dữ liệu Các giải pháp đảm bảo an ninh, an toàn thường được sử dụng kết hợp với nhau tạo thành một hệ thống an ninh có nhiều lớp có khả năng giảm thiểu các nguy cơ mất an toàn cho hệ thống
Điều khiển truy cập (Access Control) là kỹ thuật cho phép kiểm soát việc truy nhập đến một tài nguyên tính toán cho một người dùng hoặc một nhóm người dùng nào đó Điều khiển truy cập thường được sử dụng như lớp phòng vệ thứ nhất,nhằm ngăn chặn các các phần mềm độc hại và các hành động tấn công, đột nhập vào các hệ thống máy tính và mạng hoặc truy cập trái phép vào dữ liệu và các tài nguyên tính toán Lớp phòng vệ dựa trên điều khiển truy cập rất quan trọng và nó
có thể giúp ngăn chặn đa số các tấn công, đột nhập thông thường
Trong điều kiện hạ tầng mạng cũng như nhân lực quản trị hệ thống của các
cơ quan, tổ chức ở Việt Nam hiện nay còn hạn chế, việc nghiên cứu sâu về điều khiển truy cập để tìm giải pháp ứng dụng phù hợp là thực sự cần thiết Đề tài
"Nghiên cứu mô hình kiểm soát truy cập bắt buộc" được đưa ra với mục đích
nghiên cứu về các biện pháp điều khiển truy cập và ứng dụng phân tích hệ thống điều khiển truy cập của các hệ điều hành phổ biến Hơn nữa, đề tài cũng đề xuất một số biện pháp đảm bảo an ninh, an toàn dựa trên điều khiển truy cập cho hệ điều hành và các ứng dụng
Trang 6Chương 1: Điều khiển truy cập
1 Tổng quan
1.1 Khái niệm
Điều khiển truy cập (Access control) là tập hợp các cơ chế cho phép người quản trị hệ thống tác động lên hành vi, công dụng và nội dung của hệ thống đó.Điều khiển truy cập cho phép xác định người dùng được làm những gì, đượctruy cập những tài nguyên nào và được thực thi những tác vụ nào trong hệ thống
Có ba khái niệm cơ bản trong mọi ngữ cảnh điều khiển truy cập, bao gồm:
• Chính sách (policy): Là các luật do bộ phận quản trị tài nguyên đề ra.
• Chủ thể (subject): Có thể là người sử dụng, mạng, các tiến trình hay
các ứng dụng yêu cầu được truy cập vào tài nguyên
• Đối tượng (object): Là các tài nguyên mà chủ thể được phép truy
cập
1.2 Các yếu tố cơ cản của điều khiển truy cập
- Subjects: Toàn bộ đối tượng có thể gán quyền truy cập Có thể coi đây là
User/Group trong hệ thống
- Objects: Tài nguyên được sử dụng.
- Access Permissions: được sử dụng để gán quyền truy cập các Objects
cho Subjects (Ví dụ một User là một Subject, một foder là một Object, Permission là quyền gán cho User truy cập vào Folder) Bảng Access Permissions cho một đối tượng gọi là Access Control List (ACLs), ACL của toàn bộ hệ thống được thống kê trong bảng Access Control Entries (ACEs)
1.3 Nguyên tắc thiết lập điều khiển truy cập
- Nguyên tắc đặc quyền ít nhất: Người dùng (Subjects) được gán quyền
nhỏ nhất (minimum permissions) với các tài nguyên (Object) và vẫn đảmbảo được công việc
- Nguyên tắc phân tách nhiệm vụ và trách nhiệm: Các hệ thống quan
trọng cần phải phân chia thành các thành phần khác nhau để dễ dàng phân quyền điều khiên hợp lý
- Nguyên tắc cần biết: Người dùng chỉ truy cập vào những vùng tài
nguyên mà họ cần và có hiểu biết về tài nguyên đó để đảm bảo cho công việc của họ
Trang 71.4 Quá trình truy cập tài nguyên
- Nhận dạng: Quá trình nhận dạng người dùng, người dùng cung cấp các
thông tin cho hệ thống nhận dạng
- Xác thực: Bước xác thực người dùng, người dùng cung cấp các thông tin
xác nhận dạng, hệ thống tiến hành xác thực bằng nhiều phương thức khácnhau
- Ủy quyền:Thẩm quyền truy cập tài nguyên được hệ thống cấp cho người
dùng sau khi xác thực
- Thống kê: Hệ thống giám sát và thống kê quá trình truy cập của người
dùng vào các vùng tài nguyên
2 Ma trận điều khiển truy cập ACM
2.1 Khái niệm
Access Control Matrix (ACM) là một công cụ cơ bản để thể hiện trạng thái
bảo vệ hệ thống một cách chi tiết và chính xác
ACM là mô hình bảo mật được dùng cho cả cấp hệ điều hành và cấp cơ sở
dữ liệu
2.2 Cấu trúc mô hình ACM
- Trạng thái định quyền (Authorization state)
Q = (S, O, A)
S (Subjects): là tập các chủ thể - các thực thể chủ động (active entity) sử
dụng các nguồn tài nguyên của hệ thống
Ví dụ: người dùng, nhóm các người dùng (group), quá trình (process),
chương trình (programs)
(Objects): là tập các đối tượng - các thực thể cần được bảo vệ, bao gồm các thực thể bị động (passive object) như tài nguyên hệ thống và các chủ thể
Ví dụ: ở cấp hệ điều hành: file, bộ nhớ, segments, quá trình ở cấp CSDL:
CSDL, quan hệ, thuộc tính, hàng, trường dữ liệu của hàng
A (Access matrix): là ma trận truy cập
Trang 82.3 Quy tắc hoạt động ACM
Ví dụ: Hệ thống có hai người dùng Bob và Alice xử lý ba file, lần lượt là
Bill.doc, Edit.exe và Fun.com
Các quyền truy xuất trên các file này có thể được mô tả như sau:
- Bob có quyền đọc hoặc ghi file Bill.doc trong khi Alice không có quyền
truy xuất
- Bob và Alice chỉ có quyền thực thi file Edit.exe
- Bob và Alice có quyền thực thi và quyền đọc file Fun.com nhưng chỉ có
Bob có quyền ghi lên file này.
S O Bill.doc Edit.exe Fun.com
Write
Trang 93 Danh sách quyền truy cập ACL
3.1 Khái niệm chung
Danh sách truy cập là những phát biểu dùng để đặc tả những điều kiện mà một nhà quản trị muốn thiết đặt, nhờ đó router sẽ xử lý các cuộc truyền tải đã được mô tả trong danh sách truy cập theo một cách thức không bình thường Danh sách truy cập đưa vào những điều khiển cho việc xử lý các gói tin đặc biệttheo một cách thức duy nhất Có hai loại danh sách truy cập chính là:
Danh sách truy cập chuẩn (standard access list): danh sách này sử dụng cho việc kiểm tra địa chỉ gởi của các gói tin được chọn đường Kết quả cho phép hay từ chối gởi đi cho một bộ giao thức dựa trên địa chỉ mạng/mạng con hayđịa chỉ máy
Danh sách truy cập mở rộng (Extended access list): danh sách truy cập mở rộng kiểm tra cho cả địa chỉ gởi và nhận của gói tin Nó cũng kiểm tra cho các giao thức cụ thể, số hiệu cổng và các tham số khác Điều này cho phép các nhà quản trị mạng mềm dẻo hơn trong việc mô tả những gì muốn danh sách truy cập kiểm tra Các gói tin được phép hoặc từ chối gởi đi tùy thuộc vào gói tin đó được xuất phát từ đâu và đi đến đâu
3.2 Nguyên tắc hoạt động của danh sách truy cập
Danh sách truy cập diễn tả một tập hợp các qui luật cho phép đưa vào các điều khiển các gói tin đi vào một giao diện của router, các gói tin lưu lại tạm thời ở router và các gói tin gởi ra một giao diện của router Danh sách truy cập không có tác dụng trên các gói tin xuất phát từ router đang xét
Trang 10Nguyên tắc hoạt động của danh sách truy cập
Khởi đầu của tiến trình thì giống nhau không phân biệt có sử dụng danh sáchtruy cập hay không: Khi một gói tin đi vào một giao diện, router kiểm tra để xác định xem có thể chuyển gói tin này đi hay không Nếu không được, gói tin sẽ bị xóa đi Một mục từ trong bảng chọn đường thể hiện cho một đích đến trên mạng cùng với chiều dài đường đi đến đích và giao diện của router hướng về đích đến này
Kế tiếp router sẽ kiểm tra để xác định xem giao diện hướng đến đích đến có trong một danh sách truy cập không Nếu không, gói tin sẽ được gởi ra vùng đệm cho ngỏ ra tương ứng, mà không bị một danh sách truy cập nào chi phối
Giả sử giao diện nhận đã được đặt trong một danh sách truy cập mở rộng Nhà quản trị mạng đã sử dụng các biểu thức luận lý, chính xác để thiết lập danh sách truy cập này Trước khi một gói tin có thể được đưa đến giao diện ra, nó phải được kiểm tra bởi một tập các quy tắc được định nghĩa trong danh sách truy cập được gán cho giao diện
Dựa vào những kiểm tra trên danh sách truy cập mở rộng, một gói tin có thể được phép đối với các danh sách vào (inbound list), có nghĩa là tiếp tục xử lý gói tin sau khi nhận trên một giao diện hay đối với danh sách ra (outbound list), điều này có nghĩa là gởi gói tin đến vùng đệm tương ứng của giao diện ra Ngược lại, các kết quả kiểm tra có thể từ chối việc cấp phép nghĩa là gói tin sẽ bị hủy đi Khi
Trang 11hủy gói tin, một vài giao thức trả lại gói tin cho người đã gởi Điều này báo hiệu cho người gởi biết rằng không thể đi đến đích được.
Nguyên tắc lọc dựa trên danh sách truy cập
Các lệnh trong danh sách truy cập hoạt động một cách tuần tự Chúng đánh giá các gói tin từ trên xuống Nếu tiêu đề của một gói tin và một lệnh trong danh sách truy cập khớp với nhau, gói tin sẽ bỏ qua các lệnh còn lại Nếu một điều kiện được thỏa mãn, gói tin sẽ được cấp phép hay bị từ chối Chỉ cho phép một danh sách trên một giao thức trên một giao diện
Trong ví dụ trên, giả sư có sự trùng hợp với bước kiểm tra đầu tiên và gói tin
bị từ chối truy cập giao diện hướng đến đích đến Gói tin sẽ bị bỏ đi và đưa vào một thùng rác Gói tin không còn đi qua bất kỳ bước kiểm tra nào khác
Chỉ các gói tin không trùng với bất kỳ điều kiện nào của bước kiểm tra đầu tiên mới được chuyển vào bước kiểm tra thứ hai Giả sử rằng một tham số khác của góitin trùng khớp với bước kiểm tra thứ hai, đây là một lệnh cho phép, gói tin được phép chuyển ra giao diện hướng về đích
Một gói tin khác không trùng với bất cứ điều kiện nào của bước kiểm tra thứnhất và kiểm tra bước thứ hai, nhưng lại trùng với điều kiện kiểm tra thứ ba với kếtquả là được phép
Trang 12Chú ý rằng: Để hoàn chỉnh về mặt luận lý, một danh sách truy cập phải có các điều kiện mà nó tạo ra kết quả đúng cho tất cả các gói tin Một lệnh cài đặt cuối cùng thì bao trùm cho tất cả các gói tin mà các bước kiểm tra trước đó đều không
có kết quả đúng Đây là bước kiểm tra cuối cùng mà nó khớp với tất cả các gói tin
Nó là kết quả từ chối Điều này sẽ làm cho tất cả các gói tin sẽ bị bỏ đi
3.3 Tổng quan về các lệnh trong ACL
Loại 1: Bao gồm các lệnh cơ bản để xử lý các vấn đề tổng quát, cú pháp
được mô tả như sau:
access-list access-list- number {permit|deny} {test conditions}
Với:
access-list: là từ khóa bắt buộc
access-list-number: Lệnh tổng thể này dùng để nhận dạng danh sách truy
cập, thông thường là một con số Con số này biểu thị cho loại của danh sách truy cập
Thuật ngữ cho phép (permit) hay từ chối (deny) trong các lệnh của danh sách truy cập tổng quát biểu thị cách thức mà các gói tin khớp với điều kiện kiểm tra được
xử lý bởi hệ điều hành của router Cho phép thông thường có nghĩa là gói tin sẽ được phép sử dụng một hay nhiều giao diện mà bạn sẽ mô tả sau
test conditions: Thuật ngữ cuối cùng này mô tả các điều kiện kiểm tra được
dùng bởi các lệnh của danh sách truy cập Một bước kiểm tra có thể đơn giản như
là việc kiểm tra một địa chỉ nguồn Tuy nhiên thông thường các điều kiện kiểm tra được mở rộng để chứa đựng một vài điều kiện kiểm tra khác Sử dụng các lệnh trong danh sách truy cập tổng quát với cùng một số nhận dạng để chồng nhiều điềukiện kiểm tra vào trong một chuỗi luận lý hoặc một danh sách kiểm tra
Loại 2: Xử lý của danh sách truy cập sử dụng một lệnh giao diện Cú pháp
Trang 13điều kiện kiểm tra trong danh sách truy cập có thể được gán phép sử dụng bất kỳ một giao diện trong nhóm giao diện được phép.
4 Danh sách năng lực (Capability List)
Tiếp cận hướng chủ thể: mỗi chủ thể có danh sách các tài nguyên và quyền truycập trên tài nguyên đó
Danh sách năng lực thường triển khai dưới dạng thẻ truy cập:
Có thể truyền từ chủ thể này tới chủ thể khác
Không cần xác thực chủ thể
Ví dụ: Sau đây là hai danh sách truy nhập ứng với hai chủ thể Fred và Jane trong một hệ điều hành kiểu Unix:
Fred=>/dev/console(RW)=>fred/prog.c(RW)=>fred/letter(RW)=>/usr/ucb/vi(X) Jane=>/dev/console(RW)=>fred/prog.c(R)=>fred/letter()=>usr/ucb/vi(X)
5 Các mô hình điều khiển truy cập
5.1 Mandatory Access Control (MAC)
Là phương thức điều khiển dựa vào Rule-Base để gán quyền truy cập cho các đối tượng
Việc gán quyền cho các đối tượng dựa vào việc phân chia tài nguyên ra các loại khác nhau (classification resources)
Phương thức điều khiển truy cập này thường áp dụng cho: tổ chức chính phủ, công ty
Ví dụ: một công ty sản xuất bia các vùng tài nguyên được chia: Public
(website), Private (dữ liệu kế toán), Confidential (công thức nấu bia) Mỗi vùng tài nguyên đó sẽ có những đối tượng được truy cập riêng, và việc điều khiển truy cập này chính là Mandatory Access Control
5.2 Discretionary Access Control (DAC)
Người dùng (Subjects) được điều khiển truy cập qua ACLs
Các mức độ truy cập vào dữ liệu có thể được phân làm các mức khác nhau (ví dụ: NTFS Permission, việc gán quyền cho User/Group theo các mức độ như Full control, Modify, Read)
Trang 14Access Control List có thể được sử dụng khi gán Permission truy cập tài nguyên, hoặc trên router, firewall Khi sử dụng ACLs đó là phương thức điều khiển truy cập Discretionary Access Control.
5.3 Role-Base Access Control
Người quản trị sẽ dựa vào vai trò của người dùng để gán quyền cho người dùng Những quyền của người dùng có thể là những tác vụ người dùng có thể thực thi với hệ thống
Ví dụ người quản trị có thể gán các quyền cho User: Shutdown, change network setings, remote desktop, backup và một số quyền khác dựa vào vai trò (role) của người dùng
Trong hệ thống Windows của Microsoft phương thức điều khiển truy cập này có thể hiểu là gán User Rights
Chương 2: Điều khiển truy cập bắt buộc
1 Giới thiệu
Kiểm soát truy cập bắt buộc (MAC) là một mô hình kiểm soát truy cập trong
đó hệ điều hành cung cấp cho người dùng quyền truy cập dựa trên mức độ bảo mật của dữ liệu và người dùng Người dùng phải chứng minh nhu cầu thông tin trước khi đạt được quyền truy cập
MAC được coi là an toàn nhất trong tất cả các mô hình kiểm soát truy
cập Các quy tắc truy cập được xác định theo cách thủ công bởi quản trị viên hệ thống và được thực thi nghiêm ngặt bởi hệ điều hành hoặc nhân bảo mật Ngườidùng thông thường không thể thay đổi các thuộc tính bảo mật ngay cả đối với
dữ liệu họ đã tạo
Trang 15Quá trình giành quyền truy cập:
Người quản trị cấu hình các chính sách truy cập và xác định các thuộc tính bảo mật: mức độ bảo mật, khoảng cách để truy cập dự án, và các loạitài nguyên khác nhau
Người quản trị chỉ định cho mỗi chủ thể (người dùng hoặc tài nguyên truy cập) và đối tượng(tệp, cơ sở dữ liệu, cổng , …) một tập hợp các thuộc tính
Khi một chủ thể cố gắng truy cập một đối tượng, hệ điều hành sẽ kiểm tracác thuộc tính bảo mật của đối tượng và quyết định xem có thể cấp quyềntruy cập hay không
Ví dụ: Xem xét dữ liệu có cấp độ bảo mật "tối mật" và nhãn bảo mật
"dự án kỹ thuật" Nó có sẵn cho một nhóm người dùng có quyền truy cập vào tài liệu kỹ thuật "tối mật" Những người dùng như vậy cũng có thể truy cập thông tin yêu cầu mức độ bảo mật thấp hơn Nhưng những nhân viên ở mức độ bảo mật thấp hơn sẽ không có quyền truy cập thông tin yêu cầu ở mức độ bảo mật cao hơn
Trường hợp sử dụng MAC:
MAC được chính phủ Hoa Kỳ sử dụng để bảo mật thông tin đã phân loại và hỗ trợ các ứng dụng và chính sách bảo mật đa cấp Mô hình kiểm soát truy cập này hầu hết được sử dụng bởi các tổ chức chính phủ, quân đội và các cơ quan thực thi pháp luật Sẽ là hợp lý khi sử dụng MAC trong các tổ chức coi trọng bảo mật dữ liệu hơn tính linh hoạt trong hoạt
Trang 16động và chi phí Việc triển khai MAC trong một tổ chức tư nhân là rất hiếm
vì sự phức tạp và không linh hoạt của một hệ thống như vậy
Mô hình MAC thuần túy cung cấp mức độ bảo mật cao và chi tiết Mặt khác, rất khó để thiết lập và duy trì Đó là lý do tại sao người ta thường kết hợp MAC với các mô hình kiểm soát truy cập khác
Ví dụ: kết hợp nó với mô hình dựa trên vai trò sẽ tăng tốc cấu hình hồ
sơ người dùng Thay vì xác định quyền truy cập cho từng người dùng, quản trị viên có thể tạo vai trò người dùng Mỗi tổ chức có những người dùng có vai trò và quyền truy cập tương tự: nhân viên có cùng vị trí công việc, nhà cung cấp bên thứ ba,… Quản trị viên có thể định cấu hình vai trò cho các nhóm này thay vì định cấu hình hồ sơ người dùng riêng lẻ từ đầu
File B
*
TH