Giải pháp đảm bảo an toàn cho nhân (Kernel)

Một phần của tài liệu Nghiên cứu xây dựng giải pháp phòng chống tấn công, đột nhập vào hệ thống để đảm bảo an toàn thông tin trên hệ điều hành mã nguồn mở (Trang 26)

Nhân là thành phần chủ yếu hay trái tim của hệ điều hành. Nó làm nhiệm vụ điều khiển giao dịch giữa chƣơng trình và ngƣời sử dụng với các thiết bị phần cứng, xếp lịch các tiến trình để có thể thực hiện đa nhiệm, và nhiều tác vụ khác của hệ thống, và một tập các trình đơn nằm trong bộ nhớ, mọi tiến trình đều gọi chúng. Nhân

hệ điều hành chịu trách nhiệm duy trì các đối tƣợng trừu tƣợng quan trọng của hệ điều hành, bao gồm bộ nhớ ảo và tiến trình. Các mô đun chƣơng trình trong nhân đƣợc đặc quyền trong hệ thống, bao gồm đặc quyền thƣờng trực ở bộ nhớ trong.

Nhân của hệ thống Linux, là một bộ các mô đun chƣơng tình có vai trò điều khiển các thành phần của máy tính, phân phối các tài nguyên cho ngƣời dùng. Nhân chính là cầu nối giữa chƣơng trình ứng dụng với phần cứng. Ngƣời dùng sử dụng bàn phím gõ nội dung yêu cầu của mình và yêu cầu đó đƣợc nhân gửi tới Shell, Shell phân tích lệnh và gọi các chƣơng trình tƣơng ứng với lệnh để thực hiện.

Một trong những chức năng quan trọng nhất của nhân là giải quyết bài toán lập lịch, tức là hệ thống cần phân chia CPU cho nhiều quá trình hiện thời cùng tồn tại. Đối với Linux, số lƣợng tiến trình có thể lên tới con số hàng nghìn. Với số lƣợng tiến trình đồng thời nhiều nhƣ vậy, các thuật toán lập lịch cần phải đủ hiệu quả: Linux thƣờng lập lịch theo chế độ Round Robin (RR) thực hiện việc luân chuyển CPU theo lƣợng tử thời gian.

Thành phần quan trọng thứ hai trong nhân là hệ thống các mô đun chƣơng trình (đƣợc gọi là lời gọi hệ thống) làm việc với hệ thống file. Linux có hai cách thức làm việc với các file: làm việc theo byte (ký tự) và làm việc theo khối. Một đặc điểm đáng chú ý là file trong Linux có thể đƣợc nhiều ngƣời cùng truy nhập tới nên các lời gọi hệ thống làm việc với file cần bảo đảm việc file đƣợc truy nhập theo quyền và đƣợc chia sẻ cho ngƣời dùng.

Qua đó chúng ta thấy đƣợc tầm quan trọng của nhân trong các hệ điều hành. Với hệ điều hành có bản quyền thì nhân của hệ điều hành đƣợc “đóng” kín và ngƣời dùng bình thƣờng không thể có cơ hội tiếp cận với mã nguồn của nhân. Tuy nhiên, với các hệ điều hành nguồn mở thì mã nguồn của nhân là hoàn toàn “mở” và mọi ngƣời có thể xem xét mọi ngóc ngách của nó. Nhân là trái tim của hệ điều hành vì thế nếu nhân đƣợc thiết kế tốt và luôn đƣợc tăng cƣờng thì nguy cơ bị tấn công sẽ giảm đi rất nhiều. Với các hệ điều hành nguồn mở, chúng ta đã không còn xa lạ với khái niệm biên dịch lại nhân (vá nhân). Vậy biên dịch lại nhân nhằm mục đích gì?

Mục đích đầu tiên và vô cùng quan trọng của việc tái biên dịch nhân đó là để chữa các lỗi của nhân. Nếu các lỗi này thuộc về lõi của nhân thì phải vá nguồn của nhân và biên dịch lại nó để sửa chữa các lỗi đƣợc công bố.

Ngoài ra, Biên dịch lại nhân còn để nâng cao hiệu năng của nhân, loại bỏ những “drivers” không đƣợc dùng và có thể gây “hiểu nhầm” cho nhân, tạo ra trƣờng hợp máy có những triệu chứng hoạt động thiếu ổn định và hay gây lỗi...

Với hệ thống Linux, chúng ta thấy rằng mặc dù với hơn 13 triệu dòng lệnh và đƣợc cộng đồng nguồn mở trên toàn thế giới chung tay phát triển, xong hệ thống nhân Linux cũng không thể tránh khỏi những lỗ hổng bảo mật nghiêm trọng. Nhiều lỗ hổng bảo mật nghiêm trọng đã đƣợc phát hiện và công bố. Tuy nhiên, ngay sau khi

các lỗ hổng bảo mật của nhân đƣợc phát hiện thì cộng đồng nguồn mở sẽ đƣa ra các bản vá lỗi để khắc phục các lỗ hổng này. Và do đó chúng ta cần phải biên dịch lại nhân tăng cƣờng tính an toàn của hệ thống. Tất nhiên, để biên dịch lại nhân ngƣời quản trị cũng cần phải có những kiến thức và kỹ năng nhất định.

Ngoài việc tăng cƣờng tính năng bảo mật, đảm bảo độ an toàn cho hệ thống bằng cách tái biên dịch lại nhân để vá các lỗ hổng, các nhà quản trị cần phải tìm hiểu kỹ các thành phần của nhân. Bản thân nhân cũng cung cấp nhiều chế độ bảo mật, nếu nắm đƣợc và sử dụng nó sẽ tăng cƣờng đáng kể an toàn cho hệ thống.

Một phần của tài liệu Nghiên cứu xây dựng giải pháp phòng chống tấn công, đột nhập vào hệ thống để đảm bảo an toàn thông tin trên hệ điều hành mã nguồn mở (Trang 26)