Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
394,65 KB
Nội dung
Giáo trình An tồn & Bảo mật Thơng tin 2013 CHƯƠNG Diêu khiên truy nhâp Chương trình bày cách hệ thống khái niệm vấn đề liên quan đến chủ đề điều khiển truy nhập (access control) Về bản, cáchtrình bày chúng tơi có phần khung dựa vào chương 2và chương 14 (Access Control Matrix Access Control Mechanism) [Bishop] Các phần nội dung trình bày xoay quanh mơ hình điều khiển truy nhập bản, ngồi chúng tơi cung cấp ví dụ thực tế (case study) điều khiển truy nhập hệ điều hành Unix Nội dung trình bày cụ thể chương Các khái niệm Mơ hình Ma trận truy nhập Điều khiển truy nhập tùy nghi (Discretionary Access Control – DAC) Điều khiển truy nhập cưỡng chế (Mandatory AC – MAC ) Điều khiển truy nhập hướng vai trò (Role-based AC – RBAC) Điều khiển truy nhập hệ điều hành Unix Khái niệm Nếu Xác thực (authentication) pha đảm bảo an toàn mà hệ thống cần kiểm soát người sử dụng đăng nhập, nhằm đảm danh, điểu khiển truy nhập(AC: access control) pha thứ hai định xem người dùng làm ngơi nhà hệ thống Trong giáo trình “Security Engineering”, tác giả Ross Anderson có viết “Its function is to control which principals (persons, processes, machines, …) have access to which resources in the system which files they can read, which programs they can execute, and how they share data with other principals, and so on” Có thể hình dung hệ thống có kho tập hợp tài nguyên (files, tiến trình, cổng thiết bị …) mà NSD (thơng qua tiến trình thực hiện) cho phép truy nhập đến mức độ (từ khơng phép đến tồn quyền), chia sẻ quyền truy nhập mà có với NSD khác Một chế điều khiển truy nhập cụ thể (AC mechanism) định toàn câu chuyện cho phép chia sẻ quyền sử dụng tài nguyên Ý nghĩa mang tính móng AC cho thấy tầm quan trọng phổ biến rộng rãi Dễ nhìn thấy AC có mặt hầu khắp ứng dụng liên quan đến doanh nghiệp, hệ sở liệu, đương nhiên hệ điều hành trình điểu khiển thiết bị phần cứng Đương nhiên khái niệm AC đời từ sớm mà cỗ máy tính tốn khơng phải chế tạo cho NSD mà tập hợp người, chia sẻ sử dụng, với nhiệm vụ (và kéo theo TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An tồn & Bảo mật Thơng tin 2013 pham vi sử dụng tài nguyên) khác mà phong phú Vậy mơ hình AC hình thành từ bao giờ? Mơ hình biết đến AC mơ hình bản, mơ hình ma trận điều khiển truy nhập (access control matrix), đưa để nghiên cứu chế bảo vệ hệ thống (Protection), tức thuộc nghiên cứu lĩnh vực anh tồn thơng tin Mơ hình bảo vệ đưa Lampson (1971), sau làm mịn Graham Denning (1972) nâng cao thành mơ hình khái quát bảo vệ hệ điều hành (“Protection in Operating Systems”, 1976) Ở tác giả khái quát khái niệm hệ thống máy trạng thái, tình trạng an tồn (được bảo vệ hệ thống) gọi trạng thái bảo vệ (protection state) Trạng thái bảo vệ mơ tả thuộc tính chế độ cài đặt hệ thống có liên quan đến bảo vệ Sự hoạt động không ngừng hệ thống gây nên chuyển dịch trạng thái bảo vệ Chẳng hạn thay đổi quyền tương tác NSD với hệ thống, dù thêm vào hay bớt khả sử dụng tệp liệu Ma trận điều khiển truy nhập (AC matrix: ACM) ACM cơng cụ hình thức để thể trạng thái bảo vệ hệ thống cách chi tiết xác Nó cung cấp thơng tin chi tiết xác rằng, thời điểm xét, tài nguyên truy nhập NSD với quyền cho phép cụ thể xác định Cụ thể là, mơ hình đặc trưng ba (S,O,R) đó: S={s1,s2, …, sn}: tập hợp chủ thể (subjects) yêu cầu truy nhập đến tài nguyên, ví dụ NSD (users) hay tiến trình kích hoạt NSD O={o1,o2, …, om}: tập hợp đối tượng truy nhập (objects) tức tài nguyên, phổ biến tệp liệu lưu trữ R={r1,r2, …, rk}: tập quyền cụ thể xác định sẵn mà phần tử S có phần tử O Như MCM, chủ thể ứng với dòng, đối tượng ứng với cột ma trận liệt kê quyền (nằm R) mà chủ thể dòng tương ứng sử dụng đối tượng cột tương ứng, A[si, oj] = { rx, …, ry } Nói cách nơm na, giống “quyển sổ kê khai tài sản” lớn cho biết tình trạng bảo vệ chi tiết cụ thể tài sản, tức thơng tin đối tượng sử dụng tài sản với thông tin quyền sử dụng cụ thể đối tượng Mỗi ACM ảnh chụp trạng thái bảo vệ thời điểm Khi có chuyển dịch trang thái (state transition), ma trận với phần tử ô liệu bị thay đổi Ví dụ 7.1 Hãy xem xét thiết bị tính tốn đơn giản có tiểu hệ điều hành, có chủ thể tiến trình p q tệp liệu f g Các quyền đọc (Read), viết sửa TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An tồn & Bảo mật Thông tin 2013 (Write), gọi thực (eXecute), ghi thêm (Append) làm chủ (Own) Một ma trận cụ thể ví dụ giống sau: F g p q p rwo r rwxo w q a ro r rwxo Tại A[p,f]= “rwo”, cho thấy tiến trình p chủ sở hữu liệu f đồng thời có đủ quyền đọc viết với f A[p,q]=”w” cho thấy tiến trình p gửi tin (viết) cho tiến trình q, q có quyền nhận tin (đọc) từ p A[q,p] = “r” Mỗi tiến trình có đầy đủ quyền (“rwxo”) Trên lý thuyết, thiết lập ma trận truy nhập (ACM) hữu lý Tuy nhiên cài đặt trực tiếp ma trận lại vừa q lớn, vừa q lãng phí Trong thực tế, ma trận cho hệ điều hành kiểu Unix lớn tưởng tượng được: cần nhớ tệp liệu chiếm cột bảng Lãng phí lớn đa phần ô bảng rỗng hầu hết tài nguyên dạng dành cho NSD nhóm nhỏ NSD, tức số dòng bảng Đó chưa kể với kích thước lớn, khả lưu trữ toàn ma trận nhớ thấp, thao tác truy cập, tìm kiếm lâu, đến mức chấp nhận thực tế ứng dụng hệ điều hành.Vì vậy, người ta cần nghiên cứu cách đặt gián tiếp ACM để mang lại tính khả thi cao Các giải pháp để cài đặt ACM cách khả thi dựa nguyên tắc chung phân rã ma trận để tiện lưu trữ truy xuất đồng thời biểu diễn thành phần khái niệm biểu (đối tượng quản lý hệ điều hành) thích ứng với phạm vi Cụ thể có giải pháp phổ biến sau: Phân rã theo cột: tạo nên đối tượng quản lý danh sách điều khiển truy nhập (access control list: ACL) Các ACL gắn vào đối tượng tài nguyên (object), cung cấp danh sách NSD quyền truy nhập đến đối tượng Phân rã theo dòng: tạo nên danh sách khả (capability list), gắn với chủ thể (NSD), cung cấp danh sách tài nguyên mà chủ thể sử dụng với quyền truy nhập cụ thể tươn ứng Thông qua biểu diễn gián tiếp khác, ví dụ khóa, nhóm, vai trò, … Tất giải pháp cố gắng tạo mơi trường hoạt động có ngữ nghĩa sử dụng thuận tiện Danh sách quyền truy nhập (Access Control List: ACL) Danh sách quyền truy nhập (ACL) gắn vào liệu điều khiển tài nguyền (v/d tệp liệu) Chẳng hạn, liệu điều khiển file F gắn danh sách truy nhập (U:r,w,o; V:w; S:r); qua đó, hệ thống cho phép chủ thể U có quyền làm chủ, đọc sửa lên F, chủ thể V sửa, chủ thể S đọc tệp F TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An tồn & Bảo mật Thơng tin 2013 Nguyên tắc chung giải pháp ACL đơn giản, rõ ràng, việc cài đặt cụ thể khác hệ thống khác Một giải pháp sử dụng ACL cụ thể phải đưa câu trả lời biện pháp cài đặt chi tiết cho vấn đề sau: Ai phép cập nhật lên ACL đối tượng tài nguyên? Những loại sửa đổi cập nhật phép? Nếu có đặc quyền truy nhập (permission) có mâu thuẫn với giải nào? Giải cho thủ tục rút phép (revocation)? Để đảm bảo đáp ứng cho vấn đề cách hiệu quả, hệ điều hành thường sử dụng thêm khái niệm chủ nhân (owner) nhóm (group) Mỗi đối tượng có một nhóm chủ nhân, tức chủ thể phép sửa đổi cập nhật lên ACL Điều cho phép giảm tập trung việc quản lý cấp phép sử dụng vào người quản trị trưởng (superuser/admin) Thông thường NSD tạo tài nguyên chủ nhân đối tượng này, cấp phép sử dụng cho NSD khác với quyền cho phép cụ thể khác (permission), chí cho phép quyền làm chủ (đồng chủ nhân) Rõ ràng cách tiếp cận cho phép mềm dẻo, tính phân tán cao cơng tác quản trị Tuy nhiên, có nhược điểm rõ ràng mặt an tồn Điểm yếu điển hình xảy đối tượng có nhiều chủ nhân chủ nhân có mong muốn cách quản trị trái ngược dẫn đến mâu thuẫn việc ban phát quyền Nhưng qui định bảo mật bị vi phạm việc chuyển giao quyền chủ nhân bị lợi dụng, khai thác mức Bên cạnh khái niệm chủ nhân, giới thiệu khái niêm nhóm giúp cho tác vụ quản trị cấp phép phát quyền đơn giản hóa Nhóm tập NSD xác định thơng qua tên nhóm chủ nhân cấp phép cho nhóm tất NSD nhóm hưởng quyền khai thác tài nguyên Nhờ có khái niệm nhóm việc quản trị cấp phép/rút phép thực nhanh hơn, mang tính hàng loạt Danh sách lực (capabilility list) Đây cách tiếp cận việc phân hoạch ma trận theo dòng, theo chủ thể (subject) Tài khoản chủ thể chứa cấu trúc liệu để lưu tất quyền truy nhập tài nguyên mà chủ thể có, tức danh sách lực truy nhập (capability list) Danh sách truy nhập cần phải tạo nhỏ có thể, vừa đủ làm việc theo chức chủ thể nguyên lý phổ biến CNTT, với tên gọi nguyên lý tối thiểu đặc quyền (principle of least priviledge) Một ví dụ cho tiếp cận sử dụng danh sách truy nhập hệ điều hành EROS (http://www.eros-os.org/eros.html) TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An tồn & Bảo mật Thơng tin 2013 Ví dụ 7.2 Sau hai danh sách truy nhập ứng với hai chủ thể Fred Jane 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) Bên cạnh hai tiếp cận phổ biến nói trên, người ta đề xuất phương án khác Chẳng hạn ACT (Access Control Triples), tức danh sách ba (chủ thể, đối tượng, quyền truy nhập) lưu cấu trúc bảng; biểu diễn rút gọn ma trận toàn thể cách triệt tiêu tồn liệu trống Cách tiếp cận khác sử dụng khái niệm riêng Lock key: tài nguyên có cấu trúc điều khiển gọi lock mà chủ thể muốn sử dụng phải có key tương ứng (cũng thơng tin điều khiển) Cách tiếp cận phối hợp hai kiểu sử dụng ACL (danh sách truy nhập) CL (danh sách lực) Ví dụ 7.3 Một ma trận nhỏ biểu diễn theo cách - dùng ACL, CL ACT Sử dụng ACL File File Joe: Read Joe: Read Joe: Write Sam: Read Joe: Own Sam: Write Sam: Own Sử dụng CL Joe: File 1/Read, File 1/Write, File 1/Own, File 2/Read Sam: File 2/Read, File 2/Write, File 2/Own Sử dụng ACT Subject Access Object Joe Read File Joe Write File Joe Own File Joe Read File Sam Read File Sam Write File Sam Own File Ba cách làm biểu diễn chung trạng thái hệ thống truy nhập với hai chủ thể Sam Joe hai đối tượng tài nguyên File File TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An tồn & Bảo mật Thơng tin 2013 Mơ hình Harrison-Ruzzo-Ullman Điều khiển Truy nhập Tùy nghi (Discretionary Access Control – DAC) Điều khiển truy nhập tùy nghi (Discretionary Acess Control - DAC) thể nguyên lý: quyền truy nhập (right) cho cặp (chủ thể, đối tượng) xác định riêng rẽ định chủ thể chủ nhân đối tượng (owner) Nguyên lý đối lập với nguyên lý điều khiển dựa sách chung hệ thống mà ta nói tới bàn mơ hình điều khiển cưỡng chế (Mandatory Access Control – MAC) mục Trước hết ta làm qn với mơ hình mang tính hình thức cao mang tên tác giả đề xuất nó, tức mơ hình Harrison-Ruzzo-Ullman (viết tắt HRU) Mơ hình coi phiên mang tính hình thức (formal model) DAC Mơ hình Harrison-Ruzzo-Ullman (HRU) Về mặt lý thuyết, mơ hình HRU cố gắng khái qt hóa (hình thức hóa) khái niệm trạng thái bảo vệ ma trận truy nhập, hướng tới mô tả hoạt động hệ điều hành tính an tồn Nhờ có mơ hình này, tiếp cận cụ thể điều khiển truy nhập đặc tả dễ dàng hơn, sách thuộc tính ATBM đặc tả xác Đặc biệt tốn An tồn (Safety problem) hình thành sở mơ hình việc đánh giá hệ thống có trạng thái an tồn hay khơng biết (quyết định) Như nói ACM xác định trạng thái bảo vệ thời hệ thống (protection state) Một hệ thống quan niệm an toàn trạng thái thời nằm khu vực an tồn, xác đinhbởi tập trạng thái an toàn Q mà người thiết kế sách mong muốn Nếu ta gọi P tập tất trạng thái mà hệ thống đạt đến P\Q tập trạng thái khơng an tồn Tuy nhiên rõ ràng người ta liệt kê hết trạng thải Q (vì q lớn) nên mơ tả đặc tính cần thiết Mỗi hành động hệ điều hành (do vận động hệ thống) thực lệnh tạo nên chuỗi chuyển dịch trạng thái Bài toán Safety problem đặt vấn đề để đánh giá chuỗi dịch chuyển trạng thái có an tồn hay khơng, tức có đưa trạng thái hệ thống thay đổi Q hay chạy P\Q Hiện người ta chưa giải triệt để tốn nói mà có kết cục bộ, đánh giá tính an tồn số điều kiện Tức toán thuộc loại định (an tồn hay khơng) giải đưa trường hợp đặc biệt với số điều kiện đủ tốt Cách tiếp cận qui biến đổi trạng thái dạng chuẩn đó, tiện lợi để đánh giá chúng Người ta chứng minh chuyển dịch (phát sinh từ lệnh hệ điều hành) chuyển chuỗi gồm thao tác TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An tồn & Bảo mật Thơng tin 2013 ngun tố bản, tác động lên ACM Nhờ việc đặc tả chuỗi chuyển dịch đánh giá tính an tồn chúng thực Các thao tác sau: Tạo mới: create subjects; create object o Việc tạo chủ thể hay đối tượng tương ứng tạo dòng hay cột ACM Xóa bỏ:destroy subjects; destroy object o Sẽ xóa bỏ dòng/cột tương ứng ACM Cấp quyền:enterrintoA[s, o] Thêm vào quyền r cho chủ thể s đối tượng o Thu quyền:deleterfromA[s, o] Thu hồi quyền rkhỏi chủ thểsđối với đối tượngo Như tiến trình p khởi tạo tệp liệu f với quyền read, write cho nó, viết dạng lệnh gồm chuỗi thao tác nguyên tố sau: command create•file(p, f) create object f; enter own into A[p, f]; enter r into A[p, f]; enter w into A[p, f]; end Một ví dụ khác, việc cấp phát quyền làm chủ cho tiến trình p tệp g biểu command make•owner(p, g) enter own into A[p, g]; end 7.3.2 Điu khin truy nhp tùy nghi (Discretionary Access Control – DAC) Điều khiển truy nhập DAC thể loại điều khiển truy nhập sử dụng sớm phổ biến hệ điều hành từ thời buổi sơ khai Nó khơng có định nghĩa chặt chẽ, xác khơng phải tác giả đưa mà hình thành cách tự nhiên thực tế Cho đến DAC mô hình ưa dùng phổ biến hệ điều hành đại Đặc trưng gắn liền với sử dụng khái niệm chủ nhân đối tượng, tức chủ thể có quyền cấp kiểm soát khả truy nhập chủ thể khác đối tượng Có thể thấy, mơ hình gắn bó với tiếp cận cài đặt ACL ACM (sử dụng danh sách quyền truy nhập ACL) Bản thân quyền làm chủ thứ quyền cấp phát Do quyền truy nhập lan truyền chủ thể TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An tồn & Bảo mật Thơng tin 2013 Ví dụ 7.3 Về định nghĩa DAC, nguồn Wikipedia nói sau: In computer security, discretionary access control (DAC) is a type of access control defined by the Trusted Computer System Evaluation Criteria" as a means of restricting access to objects based on the identity of subjects and/or groups to which they belong The controls are discretionary in the sense that a subject with a certain access permission is capable of passing that permission (perhaps indirectly) on to any other subject (unless restrained by mandatory access control)" Điều khiển truy nhập tùy nghi tạo nên linh hoạt mềm dẻo tối đa cho việc quản lý quyền truy nhập Tuy nhiên phân tán cao độ việc quản lý, cho phép dễ dãi việc cấp phát quyền, tạo lan truyền quyền cách không mong muốn, tức tạo vấn đề an toàn bảo mật Sự mềm dẻo dễ dãi dễ bị khai thác, hệ thống dễ bị tổn thương chống lại nguồn hình thức cơng như: Trojan horse (con ngựa thành Troy), mã độc, lỗi phần mềm, NSD nội có ý đồ xấu Nguyên nhân chủ yếu nói, hệ thống khơng thể kiểm sốt luồng thông tin (information flow) điểu khiển truy nhập, kẻ khách vãng lai vai trò thứ yếu hệ thống thu hoạch quyền truy nhập đối tượng quan trọng hệ thống 7.4 Điều khiển truy nhập cưỡng chế (Mandatory Access Control – MAC) Ngược với DAC, Điều khiển Truy nhập Cưỡng chế (Mandatory Access Control – MAC), không cho phép cá nhân chủ thể toàn quyền định truy cập cho đối tượng mà cưỡng chế truy nhập tất đối tượng theo sách chung, qui định chế phân loại cấp bậc Theo phân loại chủ thể phân loại gán nhãn cấp bậc, thể tầm quan trọng (đặc quyền) cao hay thấp hệ thống (xét phương diện an toàn bảo mật), đối tượng phân loại gán nhãn thể tính mật, tức cần bảo vệ, cao hay thấp Cấp bậc chủ thể (security class) phải đủ cao truy nhập vào đối tượng có nhãn bảo mật mức (security clearance) Thông thường, Cấp chủ thể cần phải khơng thấp Mức bảo mật đối tượng Tóm lại, luật truy nhập chung áp dụng để định cho tất yêu cầu truy nhập thay quản lý phân tán chủ nhân đối tượng mơ hình MAC Ví dụ 7.4 Về định nghĩa MAC, nguồn Wikipedia nói sau: In computer security, mandatory access control (MAC) refers to a type of access control by which the operating systemconstrains the ability of a subject or initiator to access or generally perform some sort of operation on an object or target In practice, a subject is usually a process or thread; objects are constructs such as files, directories, TCP/UDP ports, shared memory segments, IO devices etc Subjects and objects each have a set of security attributes Whenever a subject attempts to access an object, an authorization rule enforced by the operating system kernel examines these security attributes and decides whether the access can take place Any operation by any subject on any object will be tested against the set of authorization rules (aka policy) to determine if the operation is allowed A database management system, in its access control mechanism, can also apply mandatory access control; in this case, the objects are tables, views, procedures, etc TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An tồn & Bảo mật Thơng tin 2013 Bên cạnh việc khống chế truy nhập thông qua cấp bậc chủ thể mức an toàn đối tượng, khái niệm thường sử dụng phân nhóm theo thể loại thông tin Thông tin hệ thống phân loại theo nhóm thể loại (cathegories), mà áp dụng cho chủ thể đối tượng Mỗi nhãn chủ thể hay đối tượng có hai thành phần (cấp/mức, nhóm thể loại) nhóm thể loại hiểu tập tập vũ trụ tất dạng thông tin có Một cách khái quát, nhãn phần tử khơng gian tích đề-các (A,C) khơng gian cấp/mức A có quan hệ thứ tự đầy đủ khơng gian thể loại C khơng gian tập có dạng quan hệ thứ tự bán phần (tức quan hệ tập con) Có thể thấy luật truy nhập xây dựng quan hệ so sánh nhãn, mà hay gọi dominate tức “chiếm ưu hơn” hay “cao hơn” Một nhãn (A,C) ưu (dominate) nhãn (A’,C’) A≥A’ CC’ (Lưu ý dấu xảy chỗ chấp nhận.) Chú ý rằng, có khái quát gộp chung lại khái niệm cấp bậc chủ thể mức bảo mật đối tượng thơng tin Chính nhãn chủ thể nhãn đối tượng thơng tin đưa vào khơng gian chung để so sánh tạo nên tính đơn giản qui luật truy nhập Ví dụ 7.5 Trong hệ thống quản lý thông tin điểm số khoa đại học, có cấp/mức bảo mật confidential (mật) public (cơng khai), đồng thời loại thông tin studentinfo (thông tin sinh viên) dept-info (thơng tin khoa/viện) Như có nhãn như: label(Joe)=(confidential,{student-info}) label(grades)=(confidential,{student-info}) Dễ thấy luật truy nhập cho phép Joeđược đọc liệu grades nhãn Joe khơng thua nhãn grades Để biểu diễn quan hệ “ưu hơn” hệ thống thực tế, người ta vẽ đồ thị có hướng nhãn (như nút đồ thị) mà cạnh chúngthể quan hệ “ưu hơn” có Tuy nhiên để tránh phức tạp người ta dấu khơng vẽ cạnh thể tính bắc cầu hiển nhiên quan hệ “ưu hơn” quan hệ bắc cầu Biểu diễn dạng đồ thị gọi lưới Mơ hình thực tế BLT mà ta trình bày sau dựa sở lưới 7.4.1 Mơ hình Bell- LaPadula (BLP) Đây mơ hình phổ biến lĩnh vực liên quan đến an ninh quốc phòng, theo tiếp cận chung MAC Mơ hình BLP trọng vào bảo vệ tính mật cao độ, truy nhiên hỗ trợ khả phi tập trung hóa, tức khơng dồn tồn kiểm sốt quản trị truy nhập nơi Một mặt, để đảm bảo tính cưỡng chế cao, tồn yêu cầu truy nhập phải qua TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page Giáo trình An tồn & Bảo mật Thơng tin 2013 phận kiểm soát gọi BLP reference monitor Bộ phận monitor kiểm tra xem yêu cầu truy nhập có thỏa mãn luật bảo mật chung, đáp ứng thơng qua Tuy nhiên có chủ thể đặc biệt coi đáng tin cậy, thông qua Các cấp bậc/thang mức sử dụng tối mật (Top Secret – TS), mật (Secret – S), nội (Confidential – C) Còn lại (Unclassified – UC) BLP cho phép phối hợp hai dạng chế cưỡng chế tùy nghi, chế sử dụng kiểm sốt (BLP monitor) đảm bảo cưỡng chế áp dụng luật chung, chế tùy nghi thêm vào sau yêu cầu truy nhập đáp ứng luật Ví dụ 7.6 Chúng ta xây dựng đồ thị từ nhãn có hệ thống đề xuất ví dụ 7.5 (confidential,{student-info,dept-info}) (confidential,{student-info}) (confidential,{ }) (confidential,{dept-info}) (public,{student-info,dept-info}) (public,{dept-info}) (public,{student-info}) (public,{}) Hình 7.1 Như nói, ta khơng vẽ cạnh mà suy qua bắc cầu Ví dụ như, hiển nhiên (confidential,{student-info,dept-info}) ưu (public, {}) không thiết vẽ vào Bộ luật BLP có luật bản, phát biểu đơn giản Luật thứ gọi Bảo mật đơn giản (Simple Security Property – SSP), chủ thể s phép thực thao tác đọc (read) đối tượng o nhãn s ưu nhãn o Luật áp dụng cho tất chủ thể (kể đáng tin cậy, trusted subjects) Luật đơn giản không cho phép chủ thể cấp đọc biết thông tin cấp cao hơn, tóm TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 10 Giáo trình An tồn & Bảo mật Thông tin 2013 tắt từ đơn giản tiếng Anh: No Read Up Khi phối hợp với chế tùy nghi, phát biểu sau: chủ thể s đọc đối tượng o chi nhãn s ưu nhãn o đồng thời s có cấp phép đọc o Luật thứ hai có tên đơn giản nữa, *-luật (*-property), phát biểu dường ngược đời: chủ thể s thực thao tác viết (write) lên đối tượng o nhãn o ưu nhãn s Tượng tự với luật SSP, *-luật có cách nói đơn giản: No Write Down Tại vậy? Có thể hiểu luật đưa để nhằm tránh việc chủ thể cấp cao tình cờ tiết lộ thông tin cấp xuống chủ thể cấp Tuy nhiên luật áp dụng với chủ thể không coi tin cậy (untrusted subjects) Tương tự với SSP, luật mở rộng để phối hợp với chế tùy nghi So sánh với mơ hình DAC, MAC rõ ràng đảm bảo an toàn nhiều với chế điều khiển tập trung, tất truy nhập phải qua phận xét duyệt (monitor) mà làm việc dựa luật bản, không theo ý muốn cá nhân Tuy nhiên chế chặt chẽ, nên lựa chọn môi trường áp dụng, tức áp dụng mềm dẻo vào tập ứng dụng phong phú đời sống Ví dụ 7.7 Các thông tin bảng minh họa hệ thống cụ thể mà BLP áp dụng Security level Subject Object Top Secret Tamara Personnel Files Secret Samuel E-Mail Files Confidential Claire Activity Logs Unclassified Ulaley Telephone Lists Theo bảng này, dễ nhận thấy chủ thể Tamara đọc tất liệu, Claire đọc Personnel Files hay Email files Ulaley đọc Telephone Lists Ngồi Tamara Samuel khơng phép viết lên Activity Logs 7.5 Điều khiển truy nhập dựa vai trò (Role-Based Access Control – RBAC) Thực tế ứng dụng điều khiển truy nhập làm nảy sinh tiếp cận thiết kế điều khiển truy nhập kiểu mới, có khả bám sát phản ánh tốt đặc trưng khái quát hệ thống thông tin doanh nghiệp, đặc biệt hệ thống có nghiệp vụ riêng (ví dụ doanh nghiệp ngân hàng tài chính) Theo tiếp cận này, việc cấp quyền truy nhập, khai thác tài nguyên (permission) không trực tiếp hướng tới người sử dụng cuối mà hướng tới, lớp hay cụm người sử dụng giống phương diện nhiệm vụ, vai trò xử lý thơng tin Khái niệm TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 11 Giáo trình An tồn & Bảo mật Thơng tin 2013 vai trò (role) đưa để khái quát tượng trưng cho dạng, lớp nhiệm vụ xử lý tin Dễ thấy hệ thống doanh nghiệp đặc thù, người ta đưa định nghĩa tập vai trò bản, bao phủ hết dạng nghiệp vụ đặc thù mà người sử dụng phải thực Tập vài trò thường có kích thước nhỏ tập người dùng cuối nhiều thường vai trò có nhóm người dùng cuối gán thuộc cho Như ý tưởng tiếp cận định nghĩa tập hợp vai trò cơng việc (thường mang nặng tính nghiệp vụ), tương ứng với vai trò dạng nhiệm vụ xử lý thông tin bản, việc ban phát quyền sử dụng, truy nhập tài nguyên đến vai trò Một người dùng cuối không ban phát quyền truy nhập cách trực tiếp, hưởng quyền thích hợp “ăn theo” vai trò mà người dùng gán cho Chú ý người dùng có nhiều vai trò khác Mơ hình goi mơ hình điều khiển truy nhập hướng vai trò (Role-Based Access Control – RBAC) Cách tiếp cận phù hợp với mơ hình doanh nghiệp có nghiệp vụ đặc trưng, khái niệm gần với trực giác, bám sát yêu cầu quản lý sử dụng tài nguyên phản ánh trách nhiệm, quyền hạn lực dạng vị trí (vai trò) cơng việc doanh nghiệp Chú ý RBAC, gắn quyền vào vai trò (role-permission assignment) thường lâu dài, DAC gắn quyền trực tiếp đến người dùng cuối (user-permission assignment) mang tính ngắn hạn thay đổi thường xun (khơng bám sát đặc thù công việc, mà bám vào nhu cầu cụ thể thay đổi hàng ngày) Vì RBAC thể hàng loạt ưu điểm phù hợp với quản lý hệ thống thông tin doanh nghiệp Hiển nhiên, có khả diễn tả cao sách tổ chức doanh nghiệp: phân cơng theo vai trò sở cho sự tách biệt nhiệm vụ tạo chế đại diện ủy nhiệm RBAC hỗ trợ khả đảm bảo đặc quyền tối thiểu hợp lý (Least previledge) khai q hóa thơng tin liệu (data abstraction) Đồng thời RBAC mềm dẻo tiện lợi kinh tế cho việc đáp ứng nhanh thay đổi sách bảo mật Một yêu cầu bảo mật dẫn đến thay đổi cách thức gán quyền truy nhập vào vai trò, khơng dẫn đến thay đổi cụ thể trực tiếp vào liệu điều khiển người sử dụng Mơ hình RBAC độc lập với mơ hình DAC MAC Mơ hình trung tính với sách (policy neutral): cách cấu hình vai trò hệ thống xác định, thể sách muốn áp đặt vào hệ thống Khơng nên hiểu khái niệm vai trò (RBAC) tương tự với nhóm người dùng (user group, RBAC) Nhóm người dùng đơn giản tập thể người dùng (cùng làm việc, hay chia sẻ điều đó) người dùng có quyền khai thác khác Vai trò coi khái niệm trung gian tập người dùng tập quyền khai thác TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 12 Giáo trình An tồn & Bảo Bảo mật Thơng tin 2013 RBAC khơng phải ột mơ hhình đơn mà ợc thực tập hợp mơ hình h phát triển mức độ khác vàà có tính th thừa kế Đơn giản mơ hình ản RBAC0 (base model) mà mơ hình khác thừa ừa kế tính chất Mơ hình h RBAC1, mơ hình có ssự phân cấp vai trò ò (role hierarchy), mơ hình RBAC2, mơ hình có ràng buộc ộc (constrainsts) thừa kế trực tiếp sở RBAC0 Ngồi mơ hình RBAC3 (consolidated model) mơ hình cao cấp cả, thừa kế RBAC1 RBAC2 7.5.1 Mơ hình c s RBAC0 Mơ hình thể tương ương tác vận v động tập U người dùng (users), tập ập P quyền truy nhập khai thác (permissions) vàà tập t R vai trò hay vịị trí cơng việc Tập S phi phiên làm việc (sessions) thểể nhiều khả đăng nhập khác xảy ng người dùng mà có nhiều vai trò khác Các ánh xạ x (assignments) thể tương ương tác quan hhệ tập này, qua nói lên ên chức ch điều khiển truy nhập Ánh xạ UA U x R (User Assignment) thể th gắn người dùng ùng vào vai trò M Một vai trò gắn cho nhiều ngư ười dùng người dùng ũng có nhiều vai tr trò (loại mũi tên hình vẽẽ thể mối nhiều - nhiều này) Tích Đề-các U x R thểể tập tất cặp phép gắn NSD vàà vai trò có; vậy, quan hệ UA ột tập hợp tập tích Đề-các Khái niệm ệm người ng dùng có nhiều vai trò phù hợp ợp với thực tế có nhiều người có khả làm àm việc vi kiêm nhiệm, đặc biệt trường ờng hợp quản lý kiêm ki nhiệm quản lý làm thay vai trò nhân viên (khi thi thiếu người) TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 13 Giáo trình An tồn & Bảo mật Thơng tin 2013 Ánh xạ PA P x R (Permission Assignment) thể gắn quyền truy nhập cho vai trò Đây quan hệ nhiều-nhiều: vai trò có nhiều quyền truy nhập (nhiều tài ngun khác nhau, tài nguyên với nhiều loại quyền khác nhau) đương nhiên, quyền truy nhập cấp cho nhiều vai trò khác Tập S phiên (sessions) thể quan hệ một-nhiều NSD (users) với vai trò (roles) Tại phiên làm việc, người sử dụng lựa chọn nhiều vai trò, số vai trò mà NSD gán qua UA Khi phiên tạo với nhiều vai trò (của người sử dụng), tập quyền truy nhập khai thác phiên hợp quyền truy nhập phép vai trò Chú ý NSD đồng thời mở nhiều phiên làm việc khác (có thể nhiều máy) Trong mơ hình hình thức, hàm Users: SU mơ tả hàm tập phiên, cho đầu NSD chủ phiên cho trước Còn hàm Roles: S 2R mơ tả hàm tập phiên mà cho đầu tập vai trò gắn vào phiên (thơng qua NSD chủ phiên) Thông qua ánh xạ hàm định nghĩa hình thức trên, người ta xác định tập quyền truy nhập ứng với phiên làm việc đó.Phiên nằm điều khiển NSD mở với tập vai trò tập tập vai trò gán cho NSD, NSD thay đổi vai trò q trình sử dụng phiên Chú ý quyền khai thác (permissions) áp dụng cho đối tượng liệu tài ngun khơng áp dụng cho đối tượng liệu điều khiển truy nhập (theo mơ hình RBAC) Chỉ có đặc quyền người quan trị thực sửa đổi cho tập liệu điều khiển U,R,S P 7.5.1 Mơ hình c s RBAC1 Mơ hình quan tâm đến tổ chức cấu trúc vai trò khơng xem xét RBAC0: mơ hình coi vai trò tập độc lập, thực tế cho thấy điều ngược lại, đặc biệt doanh nghiệp có hệ thống nghiệp vụ chuyên môn Để phản ánh thực tế tốt hơn, mơ hình RBAC1 đưa khái niệm tổ chức phân cấp vai trò vai trò TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 14 Giáo trình An tồn & Bảo mật Thơng tin 2013 cấp cao thừa kế sử dụng quyền truy nhập vai trò cấp Sự phân cấp cao thấp đưa dựa vào quan hệ bán thứ tự định nghĩa cách Quan hệ bán thứ tự quan hệ thỏa mãn tính chất: phản xạ, truyền ứng bắc cầu Sơ đồ mơ hình có khác biệt so với sơ đồ RBAC0 chỗ đưa vào dấu hiệu phân cấp vai trò, chất quan hệ nhiều - nhiều tập R Quan hệ phân cấp có hình thức ký hiệu sau: RH R x R, sử dụng ký hiệu ≥ cho quan hệ bán thứ tự nói Ví dụ 7.8 Các vai trò liên quan đến sở y tế tổ chức thành cấu trúc phân cấp với thừa kế sau: Nhân viên y tế bác sĩ/y sĩ bác sĩ đa khoa bác sĩ chuyên khoa Bác sĩ đa khoa bác sĩ chuyên cao bậc cao có thừa kế từ bậc bác/y sĩ (có trình độ đại học), bậc lại thừa kế từ cấp sở nhân viên y tế 7.6 Case Study: Điều khiển truy nhập hệ điều hành Unix Trong hệ điều hành Unix hệ điều hành phát triển thừa kế (như Linux), điều khiển truy nhập có thiết kế đặc thù, nói tương thích với mơ hình DAC cài đặt ma trân truy nhập theo ACL (danh sách quyền truy nhập) Các khái niệm đối tượng quản lý điều khiển truy nhập Unix NSD (users), nhóm (user groups), tiến trình (processes) tệp (files) Mỗi đối tượng chủ thể có định danh (identity – ID) nhất, tương ứng UID, GID, PID (cho NSD, nhóm tiến trình) Các đối tượng tài nguyên mà truy nhập điều khiển files thư mục 7.6.1 T chc ca file d liu d liu điu khin Các file tổ chức theo cấu trúc phân cấp thư mục Bản thân thư mục xem file đặc biệt Mặc dù thư mục tổ chức phân cấp (dạng cây), quyền truy nhập thư mục khơng có tính thừa kế Chỉ có quyền để truy nhập liệu file đọc (Read), viết/sửa (Write) thực hiên, chạy chương trình (Execute) Cũng loại quyền truy nhập áp dụng với thư mục (file đặc biệt) mang ý nghĩa thích hợp với thư mục: Đọc (Read): Xem danh sách file thư mục Thực (Execution): cho phép duyệt thư mục; chẳng hạn lệnh chuyển thư mục (chdir) yêu cầu quyền thực Kết hợp Viết Thực cho phép tạo xóa file thư mục cho Khi truy nhập file theo đường dẫn đầy đủ: cần có quyền thực tất chuỗi thư mục theo đường dẫn Như nói, cài đặt liệu điều khiển truy nhập (ma trận truy nhập) theo mơ hình danh sách truy nhập ACL Các quyền truy nhập đối tượng tài nguyên (file) cất vào cấu trúc liệu kèm với file, gọi i-node (information node); cấu trúc TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 15 Giáo trình An tồn & Bảo mật Thơng tin 2013 lưu thơng tin thuộc tính khác file Tuy nhiên cấu trúc đơn giản khái quát nhiều so với dự liệu cột ma trận truy nhập Nó khơng cho phép cấp phát quyền truy nhập đến NSD mà theo lớp bản: người chủ (NSD có quyền làm chủ - owner), nhóm chủ tất NSD khác Các quyền truy nhập file (Đọc/Viết/Thực hiện) lưu trữ bit (permission bits), hệ điều hành cấp phát quyền truy nhập theo phạm vi khác nói trên; i-node file chứa bit cho thông tin quyền truy nhập Cùng với bit lưu trữ xác định file file thường hay thư mục, chúng làm nên nhóm 10 bit thuộc tính file thơng báo theo dòng thông tin file gọi lệnh xem thư mục hệ điều hành Cụ thể là, thị, danh sách thuộc tính có dạng “drwxr-xr-x”, đó: Vị trí thị “d”, đối tượng thư mục, ngược lại ký hiệu Ba vị trí tiếp (nhóm bit đầu tiên) thể quyền mà người chủ thực với đối tượng; ba vị trí thể quyền nhóm chủ; ba vị trí cuối thể quyền tất NSD lại (public) Trong chuỗi vị trí, vị trí đầu cho biết quyền đọc (r), quyền viết (w) hay quyền thực (x); vị trí đó, khơng có quyền hiển thị ký hiệu - 7.6.2 Ch th, s đi din đc quyn Khái niệm quyền truy nhập (permission bits) cho ta biết khả truy nhập vào file NSD, nhiên thực tế chủ thể hành động truy nhập lại tiến trình (chứ khơng phải NSD) Vì có chế ngầm tiến trình kiểm tra để biết NSD mà đại diện lấy quyền truy nhập từ Tuy vậy, có vấn đề khó khăn đặc thù là: giải chương trình thực (tiến trình) xây dựng để thực cơng việc mà đòi hỏi quyền truy nhập cao quyền thực có chủ thể thực hiên nó? Một ví dụ điển hình chương trình passwd, xây dựng để giúp người sử dụng thay đổi mật mình, cần thực cập nhật lên file lưu trữ mật Đây làdạng liệu hệ thống, loại mà cho phép can thiệp NSD thông thường, mà truy nhập chủ thể có đặc quyền quản trị hệ thống (root).Nhớ dù passwd tạo người dùng thường sử dụng Vì Unix phải xây dựng thêm chế đặc biệt, nhằm giải riêng khía cạnh đặc thù tốn điều khiển truy nhập Cơ chế cho phép tiến trình gắn với định danh NSD (User ID) thay Đó là: UID chủ (real UID, người chủ thực tiến trình), UID (effective UID) UID lưu cất trạng thái trước (saved UID) Các định điều khiển truy nhập thông qua UID hiệu lực mà giá trị thơng thường đặt UID chủ, nhiên thay đổi trường hợp ngoại lệ, ví dụ trường hợp sử dụng passwd nói tới trên.Khi có thay đổi vây, UID lưu cất sử dụng để lưu trữ UID cũ quay lại sử dụng TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 16 Giáo trình An tồn & Bảo mật Thông tin 2013 (giống chế ngăn xếp) Tương tự, tiến trình gán với định danh nhóm tương ứng (GID chủ, hiệu lực lưu cất) Để giải ngoại lệ nêu trên, Unix đưa cờ (flag) gọi setuid thuộc tính tệp Khi cờ đặt, tiến trình thực sử dụng đặc quyền cao hơn, gọi sử dụng NSD mức thường Cụ thể đặt, UID hiệu lực tiến trình bị gọi chuyển UID người chủ tệp (tạo chương trình) khơng phải người gọi thực Cụ thể trình tiến trình sử dụng UID sau Khi tiến trình tạo thơng qua lệnh folk (tạo tiến trình tiến trình mẹ), tiến trình thừa kế UID từ tiến trình mẹ Khi tiến trình gọi tạo1 tiến trình lệnh gọi thực file (exec), file khơng đặt cờ setuid tiến trình tạo thừa kế UID, khơng (cờ setuid đặt) UID hiệu lực tiến trình đặt UID chủ file UID lưu cất giữ giá trị UID chủ (là UID hiệu lực trước đó) Trường hợp passwd (và tương tự) giải cụ thể sau Tệp passwd sở hữu người quản trị hệ thống (đặc quyền cao root) đặt cờ setuid (bit 1) Như tiến trình gọi thực passwd, UID hiệu lực đặt root (chủ passwd) thời gian tiến trình passwd hoạt động, quay UID trước passwd kết thúc Nhờ NDS thường đặt mật dù thao tác liên quan đến việc cập nhật file hệ thống lưu trữ mật Tuy nhiên chế điểm yếu an toàn cho hệ điều hành Unix chế tạm mượn đặc quyền bị lợi dụng Câu hỏi 7.1 Hãy đưa mơ tả thích hợp dẫn xuất từ ma trân (hệ thống gì? Hoạt động tiến trình nào?) inc_ctr dec_ctr manager counter + - inc_ctr dec_ctr manager call Call call Câu hỏi 7.2 Security level is (clearance, category set) ( Top Secret, { NUC, EUR, ASI } ) ( Confidential, { EUR, ASI } ) ( Secret, { NUC, ASI } ) (A, C) dom (A, C) iff A ≤ A and CC Nhớ việc NSD gọi thực chương trình chất thơng qua tiến trình chạy (ví dụ: shell) TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 17 Giáo trình An tồn & Bảo mật Thông tin 2013 (Top Secret, {NUC, ASI}) dom (Secret, {NUC}) (Secret, {NUC, EUR}) dom (Confidential,{NUC, EUR}) (Top Secret, {NUC}) dom (Confidential, {EUR}) Câu hỏi 7.3 Phân tích làm sáng tỏ hai mệnh đề hình thức sau mơ hình RBAC0: roles(si) {r | (user(si),r) UA} si has permissions rroles(si) {p | (p,r) PA} Câu hỏi 7.4 Phân tích làm sáng tỏ hai mệnh đề hình thức sau mơ hình RBAC1: roles(si) {r | (r’ r) [(user(si),r’) UA]} si has permissions rroles(si) {p | (r” r) [(p,r”) PA]} TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 18 ... Page Giáo trình An tồn & Bảo mật Thông tin 2013 Bên cạnh việc khống chế truy nhập thông qua cấp bậc chủ thể mức an toàn đối tượng, khái niệm thường sử dụng phân nhóm theo thể loại thông tin Thông. .. A ≤ A and CC Nhớ việc NSD gọi thực chương trình chất thơng qua tiến trình chạy (ví dụ: shell) TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 17 Giáo trình An tồn & Bảo mật Thông tin 2013 ... quay lại sử dụng TS Nguyễn Khanh Văn Viện CNTT-TT, ĐHBKHN Page 16 Giáo trình An tồn & Bảo mật Thông tin 2013 (giống chế ngăn xếp) Tương tự, tiến trình gán với định danh nhóm tương ứng (GID chủ,