1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu CƠ CHẾ AN TOÀN TRÊN WINDOWS NT - PHẦN I doc

12 459 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cơ chế an toàn trên Windows NT
Định dạng
Số trang 12
Dung lượng 286,88 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tiêu chuẩn này đòi hỏi mỗi hệ điều hành phải có những đặc tính bảo mật tiên tiến, bao gồm khả năng định danh, kiểm tra và tách rời hạt nhân, người dùng được cấp tên và mật khẩu để kiểm s

Trang 1

CƠ CHẾ AN TOÀN TRÊN WINDOWS NT - PHẦN I

Trang 2

GIỚI THIỆU ĐÔI NÉT VỀ HỆ ĐIỀU HÀNH MẠNG VÀ WINDOWS NT Trong những ngày đầu của lịch sử máy tính, mỗi hệ thống máy tính hoạt động độc lập với nhau và thực hiện những công việc xác định Khi đó, việc chia xẻ những tài nguyên hệ thống cũng như các thông tin khác diễn ra rất khó khăn Những tổ chức ở xa nhau rất khó trao đổi thông tin trực tiếp với nhau, đặc biệt là ở những lĩnh vực đòi hỏi nhịp độ hoạt động luôn ở mức độ cao như: thương mại, chính trị quốc phòng… Càng về sau, khi xã hội có những sự phát triển rất lớn ở nhiều lĩnh vực thì nhu cầu liên lạc và chia xẻ thông tin đã trở nên cực kì cấp thiết Tại thời điểm đó, thuật ngữ mạng máy tính (Network Computer) và hệ điều hành mạng (Network Operating

System) ra đời đã đánh dấu một bước tiến lớn của con người trong lĩnh vực khoa học máy tính và viễn thông Mạng máy tính bao gồm những tài nguyên mạng (như các trạm, máy in mạng…) và các thiết bị viễn thông dùng để liên kết các tài nguyên đó (như là cầu nối, router, cổng gateway, dây dẫn…) Tất

cả những tài nguyên trên được quản lý bởi một hệ điều hành mạng Như vậy, công việc của hệ điều hành mạng bao gồm cả việc quản lý tài nguyên nội bộ như một hệ điều hành bình thường (như quản lý hệ thống file nội bộ, bộ nhớ trên máy tính, thực thi các trình ứng dụng, quản lý các thiết bị nhập xuất và điều phối bộ xử lý cho các trình ứng dụng…) và quản lý các tài nguyên mạng (như hệ thống file của các máy trạm, bộ nhớ chia xẻ, thực thi các trình ứng dụng chia xẻ trên mạng, các thiết bị nhập xuất trên mạng…) Tuy nhiên việc chia xẻ thông tin và các tài nguyên chung cho cùng lúc nhiều trạm, nhiều người dùng đã nảy sinh va chạm, các yêu cầu về an toàn và bảo mật bị

vi phạm Từ những yêu cầu đó, những tiêu chuẩn về tính an toàn, độ tin cậy của hệ thống đã được đề xuất và được xem như là những yêu cầu cơ bản cần

có của một hệ điều hành mạng Có một tiêu chuẩn được đánh giá rất cao và rất khắt khe được đưa ra bởi Trung tâm an toàn điện toán quốc gia và Bộ

Trang 3

quốc phòng Mỹ là tiêu chuẩn C2 Tiêu chuẩn này đòi hỏi mỗi hệ điều hành phải có những đặc tính bảo mật tiên tiến, bao gồm khả năng định danh, kiểm tra và tách rời hạt nhân, người dùng được cấp tên và mật khẩu để kiểm soát việc truy cập vào các tài nguyên hệ thống… Và Windows NT là một trong

số ít các hệ điều hành mạng thỏa mãn được những yêu cầu nêu trên

Windows NT là hệ điều hành mạng đa nhiệm 32 bit có nhiều tính năng ưu việt so với nhiều hệ điều hành khác Kiến trúc Windows NT phân thành những đơn thể mang những nhiệm vụ xác định, tạo nên tính uyển chuyển và khả năng tương thích với nhiều hệ điều hành khác nhau Bên cạnh đó,

Windows NT còn bao gồm nhiều tính năng về an toàn và những dịch vụ mạng đối đẳng (peer - to - peer, còn gọi là mạng ngang hàng), được xem như những thành phần cơ sở của hệ điều hành Một số mục tiêu trong việc thiết

kế hệ điều hành mạng Windows NT đã đáp ứng được những yêu cầu của một hệ điều hành hiện đại, bao gồm: 1 Khả năng tương thích

(Compatibility): Windows NT có khả năng tạo ra các môi trường cho các trình ứng dụng được viết cho các hệ điều hành khác (như MS-DOS, OS/2, Windows 3.x, POSIX), hỗ trợ một số hệ thống file thông dụng (như FAT, NTFS, HPFS) và khả năng nối kết với các môi trường mạng khác hiện có 2 Tính thuận tiện (Portability): Windows NT có thể chạy được với các bộ vi

xử lý hỗ trợ CISC (Complex Instruction Set Computer) như : Intel®

80386-80486, và RISC (Reduced Instruction Set Computer) như : MIPS® R4000, DEC Alpha 3 Tính đa xử lý (Scalability): Windows NT có thể chạy trên máy tính có từ 1 đến 16 bộ vi xử lý, mở rộng lên những hệ máy lớn đáp ứng được những yêu cầu rất cao của môi trường kinh doanh 4 Tính an toàn (Security): Windows NT cung cấp những tính năng an toàn rất đáng tin cậy bao gồm việc kiểm soát việc truy cập đến tài nguyên, bảo vệ bộ nhớ, kiểm soát toàn bộ quá trình thâm nhập của người dùng, tính an toàn và khả năng

Trang 4

khắc phục sau sự cố… 5 Khả năng xử lý chia sẻ và phân phối (Distributed Processing): Windows NT có khả năng nối kết với nhiều môi trường mạng khác mà có hỗ trợ nhiều loại giao thức truyền thông khác nhau, hỗ trợ những tính năng Client/Server cao cấp như NamePipe (Liên lạc giữa các máy

Client thông qua Server bằng việc thiết lập luồng thông tin theo kiểu đường ống) và RPCs (Remote Procedure Call: hỗ trợ việc tạo nên những ứng dụng chia xẻ trên mạng, có khả năng truy cập đến các tài nguyên chung…) 6 Độ tin cậy (Reliability & Robustness): Windows NT cung cấp cơ chế đảm bảo các ứng dụng thi hành một cách an toàn, không vi phạm đến hệ thống và các ứng dụng khác Windows NT còn cung cấp một hệ thống file có thể khôi phục (Recoverable) HTFS tiên tiến, những tính năng an toàn được cài đặt sẵn và kĩ thuật quản lý bộ nhớ cao cấp 7 Tính đại chúng

(Internationalization): Windows NT đề ra mục tiêu thiết kế để có thể ứng dụng ở nhiều quốc gia, nhiều ngôn ngữ 8 Dễ nâng cấp, mở rộng

(Extensibility): Kiến trúc Windows NT tiếp cận theo lối phân chia thành các đơn thể có nhiệm vụ xác định, cung cấp khả năng nâng cấp, mở rộng trong tương lai Phần sau chúng ta sẽ đề cập đến một trong những tính năng rất ưu việt của hệ điều hành mạng Windows NT, đó là tính an toàn bao gồm an toàn của người dùng đối với hệ thống, an toàn trên file và thư mục 2 CƠ CHẾ AN TOÀN TRÊN WINDOWS NT Như đã đề cập ở trên, kiến trúc hệ điều hành Windows NT được phân thành những đơn thể (còn gọi là thành phần), các đơn thể này được phân thành hai nhóm hoạt động ở hai chế độ: User mode và Kernel mode Ở chế độ Kernel mode, các đơn thể có toàn quyền truy cập đến phần cứng ở dưới bao gồm khả năng sử dụng không hạn chế các chỉ thị CPU và các tài nguyên hệ thống…; các đơn thể của Windows

NT thi hành ở chế độ này bao gồm Executive Services, Kernel, Hardware Abstraction Layer (HAL) Những hệ thống con (Subsystem) chịu trách

Trang 5

nhiệm làm các môi trường ảo hỗ trợ cho các ứng dụng DOS/Win16, OS/2, POSIX… hoạt động ở chế độ User mode, ở chế độ này các chương trình không trực tiếp truy cập đến phần cứng mà phải thông qua các đơn thể ở Kernel mode Việc đặt các hệ thống con ở chế độ User mode giúp cho các nhà thiết kế dễ dàng hơn trong việc thay đổi, bổ sung các thành phần mà không làm ảnh hưởng đến thành phần khác ở Kernel mode Trong môi

trường Windows NT, các ứng dụng chia sẻ với nhau các tài nguyên hệ thống bao gồm bộ nhớ, những thiết bị nhập xuất, file, bộ xử lí… dưới sự giám sát chặt chẽ của hệ điều hành thông qua một cơ chế an toàn rất đáng tin cậy, đảm bảo các ứng dụng không thể truy cập đến những tài nguyên không được phép Về mặt nội bộ, Windows NT xem tất cả các tài nguyên hệ thống, bao gồm cả tập tin (file) là những đối tượng Việc tạo, đặt tên và hủy đối tượng thông qua một thành phần thực thi thuộc Kernel mode gọi là Object

Manager - trình quản lý đối tượng Ngoài ra Object Manager còn có nhiệm

vụ bảo vệ đối tượng khỏi xự xâm phạm của các đối tượng khác, giám sát ai đang sử dụng đối tượng đó và đối tượng đó đang dùng những tài nguyên gì Như vậy, khi một đối tượng được tạo ra nó được gán tên và kèm theo là những thông tin về an toàn áp đặt trên đối tượng đó, các thông tin này được lưu trữ trong những cấu trúc xác định và được gắn kèm với đối tượng đó Một cách tổng quát, tất cả các đối tượng được bảo vệ (các tài nguyên hệ thống, người dùng ) trên Windows NT dùng chung những phương thức thiết lập và xác nhận việc truy cập Điều đó đảm bảo rằng khi có một người

cố truy cập đến một file trên đĩa hay đến một tiến trình trong bộ nhớ thì một

bộ phận của hệ thống sẽ thực hiện việc kiểm tra tính hợp lệ và phân định kiểu đối tượng sẽ được truy cập đến, việc kiểm tra này dựa trên những thông tin về an toàn của đối tượng đó và của bản thân người truy cập Một đặc điểm nổi bật của Windows NT mà không thể không nhắc đến trong cơ chế

Trang 6

an toàn đó là hệ thống file NTFS NTFS (New Technology File System) là một hệ thống file tiên tiến, mang nhiều đặc tính nổi bật so với nhiều hệ thống file khác như: tốc độ các thao tác trên file nhanh, độ tin cậy và an toàn cao Ngoài ra NTFS còn cung cấp cơ chế điều khiển việc truy cập dữ liệu, phân định quyền truy cập… đặc biệt là khả năng Recoverable tức là khả năng khôi phục dữ liệu nếu có sự cố bất ngờ xảy ra Những đặc điểm này giúp tăng độ tin cậy của hệ thống, rất thích hợp với những môi trường cộng tác nhiều người dùng Sơ đồ mô tả một cách tổng quát cơ chế an toàn trên Windows NT có thể biểu diễn trên sơ đồ Windows NT Security

Components Dựa trên sơ đồ này ta nhận thấy cơ chế an toàn Windows NT bao gồm một số thành phần chính sau: 1 Tiến trình đăng nhập (Logon

Proccess): hoạt động ở chế độ User mode, chịu trách nhiệm nhận yêu cầu đăng nhập từ người dùng, bao gồm việc thể hiện hộp thoại thông báo đăng nhập có tên người dùng và mật khẩu của người đó 1 Local Security

Authority (LSA): đảm bảo người dùng có quyền đăng nhập vào hệ thống hay không LSA là thành phần trung tâm của Hệ thống an toàn con của Windows NT (Security Subsystem), nó tạo nên Thẻ truy xuất bảo mật

(Security Access Token) (giống như một giấy chứng nhận xuất nhập cảnh -

sẽ được trình bày ở phần sau), điều khiển những hành vi an toàn cục bộ, cung cấp những dịch vụ xác nhận tính hợp lệ của người dùng tương tác LSA còn xác nhận những thông báo kiểm tra do Bộ phận giám sát an toàn (Security Reference Monitor) tạo ra 2 Bộ phận giám sát an toàn (The

Security Reference Monitor - SRM) là bộ phận chịu trách nhiệm giám sát các hành vi truy cập thông qua cơ chế an toàn nội bộ Nói một cách khác, mọi yêu cầu tạo mới hay truy cập đến một đối tượng đều phải thông qua SRM Nó cung cấp những dịch vụ phục vụ cho việc thiết lập truy cập đến các đối tượng, phân quyền và phát sinh những thông báo cần thiết 3 Bộ

Trang 7

phận quản lý tài khoản người dùng (Security Account Manager - SAM): lưu trữ cơ sở dữ liệu chứa các thông tin về tài khoản của tất cả người dùng và nhóm người dùng SAM còn cung cấp những dịch vụ cho LSA sử dụng trong việc xác lập tính hợp lệ của người dùng Tất cả những thành phần này hoạt động phối hợp với nhau, hình thành Hệ thống an toàn con (Security Subsystem) Hệ thống an toàn con này có trách nhiệm thực hiện các thao tác

an toàn trên toàn bộ hệ điều hành Windows NT Windows NT Security Components Như vậy, cơ chế an toàn trên một hệ thống Windows NT áp dụng chủ yếu trong việc quản lý người dùng và quản lý đối tượng (các đối tượng ở đây có thể được xem như các tài nguyên hệ thống) Cụ thể gồm 2 phần chính: Kiểm soát đối tượng truy cập và Kiểm soát việc truy cập dữ liệu Kiểm soát đối tượng truy cập là quản lý người dùng truy cập vào hệ thống thông qua cơ chế kiểm soát quá trình đăng nhập như: kiểm tra mật khẩu, định danh người dùng, cơ chế xác lập mật khẩu, thời gian tồn tại của mật khẩu, cơ chế phát hiện số lần nhập mật khẩu sai (Audit), các hạn chế về thời gian truy cập vào hệ thống… Sau khi người dùng đã vào hệ thống một cách hợp lệ, phần còn lại của cơ chế an toàn là Kiểm soát việc truy cập dữ liệu, tài nguyên của người đó bằng cách dùng các cơ chế quyền áp dụng trên các đối tượng được truy cập, phân loại tài nguyên truy cập, giám sát truy cập… 1 NHỮNG THÔNG TIN VỀ AN TOÀN 1 Một số cấu trúc chung : Trên Windows NT, tất cả các đối tượng có tên đều chịu sự giám sát của hệ thống thông qua cơ chế an toàn, kể cả một số đối tượng không có tên Nói một cách khác, mọi đối tượng trên Windows NT đều được bảo vệ Những thông tin (còn gọi là thuộc tính) về an toàn của các đối tượng này được lưu trữ trong một cấu trúc mô tả bảo mật (Security Descriptor) kèm theo đối tượng, cấu trúc này bao gồm 4 thuộc tính chuẩn được áp dụng cho hầu hết các đối tượng trên Windows NT (bao gồm các đối tượng có tên, những tiến

Trang 8

trình có tên và không có tên, tiểu trình, đối tượng thẻ bài, đối tượng

semaphore, đối tượng event…), 4 thuộc tính này có thể mô tả như sau: 1 Owner security ID: là số bảo mật của người dùng hay nhóm sở hữu đối tượng đó Người chủ sở hữu đối tượng có thể thay đổi những quyền được gán trên đối tượng này 2 Group security ID: số bảo mật của nhóm, số này chỉ áp dụng đối với hệ thống con POSIX 3 Discretionary ACL (Access Control List - ACL): gọi là Danh sách điều khiển truy cập của chủ sở hữu Người chủ sở hữu đối tượng có quyền thay đổi nội dung của danh sách này, phân định ai có hay không có quyền truy cập đến đối tượng 4 System ACL:

là ACL dùng để điều khiển việc phát sinh những thông báo xác nhận của hệ thống Người quản trị mạng có thể sửa đổi danh sách này Ví dụ: Security Descriptor và ACL đối với một file xác định: Security Descriptor cho một đối tượng Windows NT có thể biểu diễn bằng 2 phương pháp: phương pháp tuyệt đối (Absolute) và phương pháp tương đối (Self-Relative) 1 Phương pháp tuyệt đối : Các thành phần của Security Descriptor là những con trỏ chỉ đến các thành phần thực sự chứa thông tin Phương pháp này giúp cho mỗi thành phần được định vị riêng biệt, thích hợp khi có vài phần đã có sẵn 1 Phương pháp tương đối : Các thành phần của Security Descriptor nằm trong một cấu trúc dữ liệu được sắp xếp theo một khối liên tục, các thành phần trong khối sẽ được truy xuất dựa trên độ lệch (offset) so với phần đầu khối Phương pháp này thích hợp để lưu trữ Security Descriptor trên các thiết bị nhớ thứ cấp như băng từ…hoặc truyền Security Descriptor đến những vùng

mà không dùng được kiểu lưu trữ con trỏ như phương pháp tuyệt đối

Security Descriptor biểu diễn bằng 2 phương pháp: Số bảo mật (SID) là một

số duy nhất được phát sinh bằng kĩ thuật băm (hash) dùng để phân biệt một người dùng (hoặc nhóm người dùng) với một người dùng khác đồng thời dùng để định danh người đó với hệ thống Nội dung của SID được phát sinh

Trang 9

dựa trên những thông tin như: tên máy tính, thông tin về người dùng, thông tin về vùng (domain), ngày, giờ hệ thống… Cấu trúc của SID có thể nhìn thấy dưới dạng sau: S - R - X - Y1 - – Yn Trong đó: S là kí hiệu (Series of digits) phân định SID; R chỉ cấp độ tham khảo đến (Revision level); X chỉ giá trị Identifier Authority, Y1 Yn là các giá trị SubAuthority Giá trị

Identifier Authority là thông tin quan trọng nhất trong SID, thường là định danh của tổ chức phát hành SID Ví dụ: SID có dạng S-1-4138-86 chỉ mức

độ tham khảo lần 1, giá trị Identifier Authority là 4138, một SubAuthority là

86 Access Control List là một danh sách liên kết mà mỗi phần tử của danh sách này là một Access Control Entry (ACE), mỗi ACE có chứa một Số bảo mật (SID) duy nhất phân biệt một người dùng hay nhóm người dùng và một danh sách quy định người dùng được hay không được phép truy cập đến đối tượng (còn gọi là mặt nạ truy cập – Access Mask) ACE có thể có 3 loại, hai loại dành cho Discretionary access control (điều khiển truy cập tùy nghi) và một dành cho System security Discretionary ACE gồm AccessAllowed and AccessDenied, ám chỉ việc cho phép hay không truy cập của người dùng hay nhóm người dùng đến đối tượng System ACE (SystemAudit) được dùng để

mô tả các sự kiện về an toàn (chẳng hạn như ai truy cập vào đối tượng gì) và

để phát sinh những thông báo xác nhận an toàn Cấu trúc dữ liệu của ACE: Mặt nạ truy cập (Access Mask) trong ACE là một tập hợp các quyền mà người dùng được phép hay không được phép áp dụng trên một đối tượng Access Mask chứa 3 loại thông tin truy cập: kiểu truy cập xác định

(Specific), kiểu truy cập chuẩn (Standard – kiểu này áp dụng cho mọi đối tượng) và kiểu chung (Generic – được ánh xạ đến 2 kiểu trên) Mỗi đối

tượng có thể có đến 16 kiểu truy cập xác định, có được khi một định nghĩa kiểu của đối tượng Ví dụ: Một đối tượng file có thể có các kiểu truy cập sau: 1 ReadData – Đọc dữ liệu 1 WriteData – Viết 1 AppendData – Bổ

Trang 10

sung 1 ReadEA (Extended Attribute) – Đọc với các thuộc tính mở rộng 1 WriteEA (Extended Attribute) – Viết với các thuộc tính mở rộng 1 Execute – Thi hành 1 ReadAttributes – Đọc các thuộc tính 1 WriteAttributes – Gán các thuộc tính Ngoài những kiểu truy cập trên, mỗi đối tượng còn có các kiểu truy cập chuẩn (standard types) bao gồm: 1 SYNCHRONIZE: dùng để đồng bộ việc truy cập và cho phép một tiến trình chờ một đối tượng để được đưa vào trạng thái báo hiệu đánh thức (Signal) Kiểu này được áp dụng khi

có nhiều tiến trình người dùng cùng truy cập đến một đối tượng mà trong một thời điểm chỉ cho phép một tiến trình sử dụng 2 WRITE_OWNER: dùng để gán cho người viết dữ liệu 3 WRITE_DACL: dùng để phân phối hoặc ngăn cấm quyền Viết lên Danh sách điều khiển truy cập ACL 4

READ_CONTROL: dùng để phân phối hoặc ngăn cấm quyền Đọc lên bảng

mô tả an toàn (security descriptor) hay chủ sở hữu 5 DELETE: dùng để phân phối hoặc ngăn cấm việc xóa một đối tượng 2 Quản lý tài khoản

người dùng: Tài khoản là nơi chứa những thông tin nhằm giúp xác nhận người dùng vào hệ thống và quản lý việc truy cập của người dùng đó đến các đối tượng trong hệ thống Tài khoản người dùng thường được lưu trong cơ

sở dữ liệu Security Account Manager (SAM) Trong Windows NT, tài

khoản có thể chia làm 2 loại: cục bộ (local account) và toàn cục

(global/domain account) mà sự khác nhau giữa 2 loại này là ở khả năng và quyền hạn đối với các đối tượng, tài nguyên Đối với local account, phạm vi hoạt động là nội bộ trong một trạm Windows NT do đó nó thích hợp khi cần những truy cập đến tài nguyên trong nội bộ một trạm (trên Windows NT Server, nếu kiểu tài khoản là local account, người dùng không thể đăng nhập một cách cục bộ mà phải đăng nhập từ mạng), còn đối với domain account khả năng có thể mở rộng ra một phạm vi nhất định (vùng- domain) và có thể ảnh hưởng đến nhiều trạm trong phạm vi đó Domain account lại có thể nhìn

Ngày đăng: 14/12/2013, 10:15

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w