3.3.1.3. Đặc điểm của hệ điều hành bảo mật
Các hệ điều hành bảo mật (secure Operation Systems) được sử dụng rộng rãi để giới hạn sự nguy hiểm gây ra bởi các truy cập trái phép đến các máy chủ Internet. Một số công ty phát triển các hệ điều hành này như dự án của NSA về SELinux, hay HP đã phát triển nền tảng bảo mật VirtualVault dựa trên Trusted HP- UX…
Đối tượng nghiên cứu chính ở đây là hệ điều hành bảo mật sử dụng SELinux. SELinux được thực thi trên 3 mô hình bảo mật TE, RBAC, MLS. Ở đây ta cũng chỉ tập trung vào TE vì TE đóng vai trò chủ yếu trong việc kiểm soát truy cập.
Một hệ điều hành bảo mật sử dụng cơ chế MAC để đảm bảo bảo mật và toàn vẹn dữ liệu. Thêm vào đó, các hệ điều hành này tập trung vào nguyên tắc đặc quyền tối thiểu bằng cách chỉ cho phép một tiến trình vừa đủ quyền để thực hiện nhiệm vụ. Vì vậy, ngay cả khi máy chủ bị tấn công bởi kẻ xấu, họ cũng chỉ có thể thực hiện các hoạt động được ủy quyền cho các tiến trình.
Thực tế là các máy chủ sẽ không thể bị tấn công từ xa nếu kẻ tấn công chưa kết nối được đến máy chủ. Do đó, nếu chúng ta sử dụng hệ điều hành bảo mật để bảo vệ chống lại một cuộc tấn công từ xa, thì chỉ cần thực hiện điều khiển truy cập sau khi máy chủ chấp nhận yêu cầu kết nối.
3.3.1.3. Vấn đề viết chính sách
Một hệ điều hành bảo mật thực sự bảo vệ hệ thống và dữ liệu hiệu quả. Tuy nhiên, rất khó để có thể ứng dụng và duy trì một hệ điều hành bảo mật vì vấn đề cấu hình chính sách bảo mật quá phức tạp. Trong một hệ điều hành bảo mật, tất cả các subjects và các objects đều được gán nhãn và chính sách bảo mật trong hệ thống sẽ đưa ra các quyết định đối với các nhãn này. Để gán nhãn subjects và objects, người quản trị phải có hiểu biết chi tiết về tài nguyên mà mỗi tiến trình cần để sử dụng. Sau đó, người quản trị sẽ phải viết một chính sách để cấp quyền truy cập đến các tiến trình dựa vào nguyên tắc đặc quyền tối thiểu. Nguyên tắc này sẽ cấp quyền truy cập tối thiểu cho tiến trình đang chạy trên máy chủ Internet để hạn chế thiệt hại khi máy chủ bị tấn công bởi những kẻ tấn công từ xa. Để thực hiện được điều này, yêu cầu người quản trị lại cần phải có kiến thức sâu về các hành vi, cách đáp ứng, xử lý, phản hồi của máy chủ trước một tiến trình.
Việc cấu hình chính sách cho quá trình khởi động của hệ thống là vô cùng phức tạp bởi rất nhiều các giao dịch khác nhau như boot, mount tập tin hệ thống, đọc các tập tin cấu hình, cấu hình mạng, liên kết thư viện… Ngay cả nếu chúng ta tập trung vào việc bảo vệ chống lại các cuộc tấn công từ xa như bộ chính sách targeted có sẵn trong SELinux thì việc cấu hình chính sách vẫn còn gặp nhiều khó khăn. Hơn nữa, quá trình khởi động của máy chủ có xu hướng phụ thuộc vào môi trường thực thi của hệ thống như hệ điều hành hay phiên bản của máy chủ. Khi các loại tài nguyên mà máy chủ sử dụng bị thay đổi, ví dụ một phiên bản nâng cấp, thì cần thiết phải cấu hình lại chính sách bảo mật.
SELinux hoạt động dựa vào chính sách được tạo ra bởi người quản trị. Khi đó, sẽ là thách thức rất lớn đối với người quản trị khi phải tạo ra hàng ngàn các quy tắc. Hơn nữa, đối với người quản trị, không đơn giản chỉ là lấy một tập quy tắc và sử dụng. Họ phải đọc và hiểu được từng quy tắc có ý nghĩa chặn hay cho phép subjects nào được truy cập vào objects. Đọc và hiểu hàng ngàn quy tắc thôi chưa đủ, người quản trị còn phải tùy biến các quy tắc đó sao cho phù hợp nhất với hệ điều hành bảo mật mà họ quản trị. Do đó, đòi hỏi người quản trị phải có kiến thức sâu về tất cả các daemons và các ứng dụng chạy trên hệ điều hành bảo mật.
Một vấn đề nữa là cơ sở dữ liệu chính sách vô cùng lớn, việc tạo hay chỉnh sửa rất khó mà không để lại lỗi. Vấn đề tìm lỗi cũng gây khó khăn không nhỏ cho người quản trị.