Tiến trình chỉ có thể thực hiện thao tác M trên đối tƣợng Oj trong miền bảo vệ
Di, nếu trong C_List của Di có chứa tiềm năng tƣơng ứng của Oj.
Danh sách tiềm năng đƣợc gán tƣơng ứng với từng miền bảo vệ, thực chất nó cũng là một đối tƣợng đƣợc bảo vệ bởi hệ thống và tiến trình của ngƣời sử dụng chỉ có thể truy xuất đến nó một cách gián tiếp để tránh làm sai lạc C_List.
Hệ điều hành cung cấp các thủ tục cho phép tạo lập, hủy bỏ và sửa đổi các tiềm năng của một đối tƣợng và chỉ các tiến trình đóng vai trò Server (thƣờng là tiến trình hệ điều hành) mới có thể sửa đổi nội dung C_List.
1.6.5.4. Cơ chế khóa và chìa
Đây là cách tiếp cận kết hợp giữa danh sách quyền truy xuất và danh sách khả năng. Mỗi đối tƣợng sở hữu một danh sách các mã nhị phân, đƣợc gọi là « khoá »
(lock). Cũng nhƣ thế, mỗi miền bảo vệ sẽ sở hữu một danh sách mã nhị phân gọi là « chìa » (key). Một tiến trình hoạt động trong một miền bảo vệ chỉ có thể truy xuất đến một đối tƣợng nếu miền bảo vệ sở hữu một chìa tƣơng ứng với một khóa trong danh sách của đối tƣợng.
Cũng nhƣ C_List, danh sách « khóa » và « chìa » đƣợc hệ điều hành quản lý, ngƣời sử dụng không thể truy xuất trực tiếp đến chúng để thay đổi nội dung.
1.6.5.5.Thu hồi quyền truy xuất
Trong một hệ thống bảo vệ động, đôi khi hệ điều hành cần thu hồi một số quyền truy xuất trên các đối tƣợng đƣợc chia sẻ giữa nhiều ngƣời sử dụng. Khi đó đặt ra một số vấn đề nhƣ sau:
Thu hồi tức khắc hay trì hoãn, trì hoãn đến khi nào ?
Nếu loại bỏ một quyền truy xuất trên một đối tƣợng, thu hồi quyền này trên tất cả hay chỉ một số ngƣời sử dụng ?
Thu hồi một số quyền hay toàn bộ quyền trên một đối tƣợng ? Thu hồi tạm thời hay vĩnh viễn một quyền truy xuất ?
Đối với các hệ thống sử dụng danh sách quyền truy xuất, việc thu hồi có thể thực hiện dễ dàng: tìm và hủy trên ACL quyền truy xuất cần thu hồi, nhƣ vậy việc thu hồi đƣợc thực hiện tức thời, có thể áp dụng cho tất cả hay một nhóm ngƣời dùng, thu hồi toàn bộ hay một phần và thu hồi vĩnh viễn hay tạm thời đều đƣợc.
Tuy nhiên trong các hệ sử dụng C_List, vấn đề thu hồi gặp khó khăn vì các tiềm năng đƣợc phân tán trên khắp các miền bảo vệ trong hệ thống, do vậy cần tìm ra chúng trƣớc khi loại bỏ. Có thể giải quyết vấn đề này theo nhiều phƣơng pháp:
Tái yêu cầu (Reacquisiton): Loại bỏ các tiềm năng ra khỏi mỗi miền bảo vệ sau từng chu kỳ, nếu miền bảo vệ vẫn còn cần tiềm năng nào, nó sẽ tái yêu cầu tiềm năng đó lại.
Sử dụng các con trỏ đến tiềm năng (Back-pointers): Với mỗi đối tƣợng, lƣu trữ các con trỏ đến những tiềm năng tƣơng ứng trên đối tƣợng này. Khi cần thu hồi quyền truy xuất nào trên đối tƣợng, lần theo các con trỏ để cập nhật tiềm năng tƣơng ứng.
Sử dụng con trỏ gián tiếp (Indirection): Các tiềm năng không trực tiếp trỏ đến các đối tƣợng, mà trỏ đến một bảng toàn cục do hệ điều hành quản lý. Khi cần thu hồi quyền, sẽ xoá phần tử tƣơng ứng trong bảng này.
Khóa (Key): Nếu sử dụng cơ chế khóa và chìa, khi cần thu hồi quyền, chỉ cần thay đổi khóa và bắt buộc tiến trình hay ngƣời dùng yêu cầu chìa mới.
1.7. Kết luận chƣơng 1
Một hệ thống máy tính gồm có phần cứng, hệ điều hành và các ứng dụng. Hệ điều hành giúp cho việc sử dụng máy tính hiệu quả và đơn giản hơn. Hệ điều hành có nhiều loại nhƣng thông dụng là loại hệ điều hành đa nhiệm, phân tán. Hệ điều hành cần thiết kế sao cho dễ sửa lỗi, dễ cài đặt, dễ bảo trì, không có lỗi, dễ sử dụng, dễ học, độ tin cậy cao, thực hiện nhanh. Hệ điều hành phải phát triển với ý tƣởng an toàn thƣơng mại điện tử vấn đề mà ngày nay các cá nhân, tổ chức quan tâm hàng đầu.
CHƢƠNG 2: TÌM HIỂU MỘT VÀI HỆ ĐIỀU HÀNH THÔNG DỤNG NHẤT HIỆN NAY VÀ CƠ CHẾ AN NINH, AN TOÀN CỦA CHÚNG
Chƣơng này, em tìm hiểu một vài hệ điều hành thông dụng đó là: Micrisoft Windows, UNIX, Sun Solaris.
Với Microsoft Windows: Giới thiệu, cung cấp tổng quan hệ thống bảo mật qua các phiên bản.
Với UNIX: Giới thiệu, mô tả cấu trúc từ đó phân tích cơ chế mật khẩu. Với Sun Solaris: Giới thiệu và đánh giá khả năng an toàn của của Solaris
2.1. Hệ điều hành Microsoft Windows
Microsoft Windows là tên của các dòng phần mềm hệ điều hành độc quyền của hãng Microsoft. Lần đầu tiên Microsoft giới thiệu một môi trƣờng điều hành mang tên Windows (Cửa sổ) là vào tháng 11 năm 1985 với những tính năng thêm vào hệ điều hành đĩa từ Microsoft giao diện dùng họ đồ hoạ (Graphical User Interfaces, gọi tắt là GUI) - đang đƣợc sự quan tâm cao vào thời điểm này đồng thời để cạnh tranh với hãng Apple Computers.
Windows khởi đầu đƣợc phát triển cho những máy tính tƣơng thích với IBM (dựa vào kiến trúc x86 của Intel) và ngày nay hầu hết mọi phiên bản của Windows đều đƣợc tạo ra cho kiến trúc này (tuy nhiên Windows NT đã đƣợc viết nhƣ là một hệ thống xuyên cấu trúc cho bộ xử lý Intel và MIPS, và sau này đã xuất hiện trên các cấu trúc PowerPC và DEC Alpha. Sự phổ biến của Windows đã khiến bộ xử lý trung ƣơng của Intel trở nên phổ biến hơn và ngƣợc lại. Thật vậy, thuật ngữ Wintel đã đƣợc sử dụng để miêu tả những máy tính cá nhân đang chạy một phiên bản của Windows.
Từ đó đến nay Microsoft Windows dần dần chiếm ƣu thế trong thị trƣờng máy tính cá nhân trên toàn thế giới với số lƣợng đƣợc cài đặt khoảng 90% vào năm 2004. Windows là phần mềm nguồn đóng có bản quyền do công ty Microsoft giữ và kiểm soát việc phân phối. Vì lý do này, Microsoft đang có một vị trí độc quyền trong lĩnh vực máy tính cá nhân. Tất cả các phiên bản hệ điều hành gần đây của Windows đều dựa trên sự phát triển từ phiên bản đầu tiên.
2.1.1. Miêu tả về hệ điều hành Windows
Một hệ điều hành đa nhiệm (multi tasking) có thể xử lý nhiều chƣơng trình cùng một lúc. Gồm các biểu tƣợng (icon). Mỗi biểu tƣợng đại diện cho một đối tƣợng (object) nhƣ thƣ mục hồ sơ, thƣ mục nghe nhạc.v.v.
Một trình tổng hợp của những trình ứng dụng nhƣ trình thảo văn bản, trình đồ họa và các ứng dụng hữu ích nhƣ lịch, đồng hồ, máy tính, bản tính, phần mềm lƣớt mạng, soạn thảo văn bản, trò chơi.
Từ khi mới đƣợc tung ra thị trƣờng, Windows đã đƣợc nhiều ngƣời dùng đón nhận, tạo ra một sự thành công mang tầm khủng khiếp cho Microsoft. Lý do chính mà Windows đƣợc nhiều ngƣời lựa chọn là có giao diện dễ sử dụng, bắt mắt với độ đồ họa cao và vì đƣợc sử dụng bởi đông đảo ngƣời dùng nên các công ty phần cứng cũng nhƣ các công ty phần mềm đã tạo cho ra đời rất nhiều sản phẩm tƣơng thích với Windows nhƣ bàn phím, con chuột, USB, các chƣơng trình lập trình, ứng dụng nhƣ phần mềm tăng tốc tải Internet Download Manager, Nero.v.v. Chính điều này đã làm cho Windows càng trở nên phổ biến hơn. Mặc dù Windows đƣợc nhiều ngƣời dùng, nhƣng Windows không đƣợc các chuyên gia máy tính đánh giá cao bằng các hệ điều hành dựa trên môi trƣờng Unix nhƣ Ubuntu do tốc độ làm việc của Windows chậm hơn nhiều lần so với UNIX (một ví dụ điển hình là Google cỗ máy tìm kiếm khổng lồ cũng làm việc dựa trên UNIX thay vì Windows) và các ứng dụng của Windows cũng không đƣợc đánh giá cao bằng các ứng dụng trong các hệ điều hành dựa trên UNIX - ví dụ Latex luôn luôn có tốc độ làm việc cao hơn MS Word của Microsoft chạy trong Windows.
2.1.2. Chƣơng trình giả lập
Chƣơng trình giả lập cho phép ngƣời sử dụng chạy các chƣơng trình ứng dụng của Windows mà không cần có Windows.
Wine - phần mềm mã nguồn mở có chức năng tƣơng đƣơng của các hàm Windows API, cho phép vài chƣơng trình ứng dụng Windows chạy trên nền x86 UNIX, bao gồm cả Linux.
Cedega (trƣớc đây gọi là WineX) - là một nhánh của Wine thuộc sở hữu của
TransGaming Technologies, đƣợc thiết kế chuyên để chạy các trò chơi viết cho Microsoft Windows trên Linux.
Mono và CLI chung mã nguồn - hệ thống tƣơng đƣơng với cơ sở
Microsoft.NET.
ReactOS - hệ điều hành mã nguồn mở đƣợc phát triển với mục tiêu là tƣơng
thích với các chƣơng trình và trình điều khiển thiết bị của Windows NT.
Freedows và Alliance OS - một dự án có nhiều tham vọng, dự định là một bản sao của Windows và bổ sung thêm nhiều tính năng lợi ích nhƣng đã thất bại.
Project David - một dự án đầy tham vọng và đã gây nhiều tranh cãi với mục
đích là giả lập hoàn toàn để các các chƣơng trình Windows có thể chạy trên các hệ điều hành khác.
CrossOver Office của Codeweavers, cũng giả lập đƣợc hoàn toàn để các chƣơng trình Windows có thể chạy trên các hệ điều hành khác.
Captive NTFS - một phần mềm gói, dạng nguồn mở có tính tƣơng thích cao hơn cho hệ NTFS.
E/OS - với mục tiêu có thể chạy bất kì chƣơng trình thuộc hệ điều hành nào mà không cần phải cài đặt thêm hệ điều hành đó.
2.1.3. Quá trình phát triển của hệ điều hành Windows