Quản lý Tham chiếu trong Hệ Điều Hành An Toàn

MỤC LỤC

Quản lý tham chiếu (c)

Định nghĩa hệ điều hành an toàn (c)

Nếu tất cảcác thao tác này khôngđược dàn sếp thì một yêu cầu an toàn thao tác này khôngđược dàn sếp, thì một yêu cầu an toàn không thể được thực thi (như: bí mật có thểrò rỉhoặc những dữliệu tin cậy có thểbịthayđổi bởi một tiến trình không tin cậy). • Cũng nhưcácđối tượng thưmục,đường liên kết, fileđó không sẵn sàng trong giao diện lời gọi hệthống, vì vậy giao diệnđó sẽphải tính toán chúng, mà sẽcho kết quảtrong xửlý dựphòng (tức là khi hệ điều hành sẵn sàng ánh xạ các tên fileđến cácđối tượng). • Nhưng tồi tệnhất trong tất cả, việc ánh xạgiữa tên file qua vào một lời gọi hệthống mởvà cácđối tượng thưmục, đường liên kết và file có thểbịthayđổi giữa việc bắtđầu lời gọi hệthốngđó và thao tác mởthực sự(tức là: bởi một thao tácđổi tên vào một thờiđiểm thích hợp).

• Ví dụ: Framework các Module an toàn trong Linux (LSM), xácđịnh giao diện dàn sếp quản lý tham chiếu trong Linux không cho phép lời gọi hệthống mở, nhưng mỗi thưmục, đường liên kết và file riêngđó mởsau khi tham chiếuđối tượng hệthốngđó (tức làinode) lấyđược. ƒ Chống rò rỉ (Tamperproof): Việc xác thực rằng một quản lý tham chiếu là việc xác thực các yêu cầu chống rò rỉ rằng tất cả các thành phần quản lý tham chiếu đó, giao diện quản lý tham chiếu đó, Module xác thực, và lưu trữ chính sách, không thể bị thay đổi bởi các chính sách bên ngoài cơ sở tính toán tin đổi bởi các chính sách bên ngoài cơ sở tính toán tin cậy của hệ thống (TCB – trusted computing base).

Chống rò rỉ (Tamperproof): (c)

• Chủthểcó thểcó phân quyền khácđối với mỗiđối tượng này vìđôi khi các truy vấn xác thực khác sẽlà cần thiết này, vìđôi khi các truy vấn xác thực khác sẽlà cần thiết. • Kết quảlà các quản lý tham chiếu yêu cầu các giao diệnđó được nhúng trong chính hệ điều hànhđóđểthực thi việc được nhúng trong chính hệ điều hànhđóđểthực thi việc dàn sếp hoàn thiện một cách chính xác. • Đối với LSM (Linux Security Modules), các công cụ được xây dựngđểtìm những chỗsai sót trong việc dàn sếp hoàn thiệnđược yêu cầu của giao diệnđó, nhưng khóđểxác thựcđược rằng một giao diện quản lý tham chiếuđó là đúngđắn.

• Điều này cũng dẫnđến rằng chính TCB là tính toàn vẹn cao, vì vậy cuối cùng thì chúng ta phải xác thực rằng toàn bộTCB có thểbịthayđổi bởi các tiến trình bên ngoài TCB. • Vì vậy, chúng ta phải xácđịnh danh tính tất cảcác cách mà TCB có thểbịthayđổi, và xác thực rằng không có các quá trình không tin cậy (tức là: Các tiến trìnhđó bên ngoài TCB) có thểthực hiện những thayđổi.

Khả năng xác thực (Verifiable)

• Lời gọi hệthống mởbao gồm việc mởmột tập cácđối tượng thưmục, và có thểcác liên kết file, trước khiđến file đích. • Điều này gọi là tấn công thời gian kiểm trađến thời gian sử dụng TOCTTOU (time-of-check-to-time-of-use), và gắn liền với lời gọi hệthống.

Bảo vệ (Protection)

    ™Nguyên lý của nhữngđặc quyền bé nhất (Principle of least privilege) chỉ cho phép các chương trình, những người dùng và các hệ thống được cấp chỉ vừa đủ đặc quyền để thực hiện nhiệm vụ của chúng. ™Nếu Một chương trình cần cácđặc quyềnđặc biệt đểthực hiện một nhiệm vụ, tốt hơn hết là tạo cho nó một chương trình SGID (Sử dụng SGIDđểquản lý nhóm có quyền sở hữu các thư mục) với nhóm chủ sở hữu (ownership) của “network” hoặc. ™Không nên sử dụng tài khoản gốc cho những công việc thường ngày – Người quản trị hệ thống cũng nên có một tài khoản gốc và hạn chế sử dụng tài nên có một tài khoản gốc và hạn chế sử dụng tài khoản gốc cho nhưng nhiệm vụ này mà cần các đặc quyền gốc.

    ™Các trạng thái nguyên lý cần biết (need to know principle) mà một tiến trình chỉ được truy cập vào những đối tượng đó cầnđểhoàn thành nhiệm vụ của nó và hơn thế nữa chỉ những chế độ g ộcần truy y cập và chỉ trong thời gian cần thiếtđó. ƒVí dụ: Mỗi user được đưa vào một miền thì miền đó định nghĩa truy cập của user đó, và các miền thay đổi thì kèm theo đó là thay đổi user ID.

    UNIX

    ƒNếu Việc kết hợp là tĩnh, thì nguyên tắc need-to-know yêu cầu cách thay đổi nội dung của miền một cách linh hoạt. ƒ Nếu Việc kết hợp là động, thì cần một nguyên tắc chuyển miền “domain switching”. ™Các miền có thể được nhận dạng trong các biểu diễn khác nhau như các user, các tiến trình (processes) hoặc các thủ tục (procedures).

    MULTICS

      ƒ Ma trận truy cập bao gồm một tập các chủ thể s∈S, một tập các đối tượng o∈O, một tập các thao tác op∈OP, và một hàm ops(s,o)⊆OP, xácđịnh các thao tác mà chủ thể s có thể thực hiện trên đối tượng o. • Không gian địa chỉ của một chương trình có thể được chia thành nhiều đoạn khác nhau, ít nhất một đợn không bị tăng bởi chính chương trình đó, và sử dụng thông qua hệ điều hành để duy trì danh sách các quyền truy cập của tiến trình đó. ™Role – Based Access Control (RBAC), được gắn với các đặc quyền cho những user, những chương trình, hoặc những vai trò riêng, vớiđiều kiện cácđặc quyền tham chiếu tới quyền gọi là các lời gọi hệ thống thực sự, hoặc để sử dụng các tham số thực sự với những lời gọi này.

      ƒ Có chọn lọc chống lại tổng thể – Việc thu hồi một quyền truy cập đối với một đối tượng được áp dụng cho nhiều truy cập đối với một đối tượng được áp dụng cho nhiều user mà người này lại có quyền đó, hoặc chỉ ở một số user. Các quyền truy cập có thể bị thu hồi bằng cách thay đổi hoặc làm mất hiệu lực của đầu vào bảng, mà hiệu quả cho nhiều tiến trình, sau đó phải được kích hoạt lại các quyền truy cập đó để tiếp tục sử dụng.

      Khả năng – Các hệ thống cơ bản

      ƒ Tiểu số chống lại đa số – Có thể có một tập con các quyền của một đối tượng bị thu hồi, hoặc tất cả các quyền bị thu hồi trong 1 lần. ƒ Tạm thời chống lại vĩnh viễn – Nếu các quyền bị thu hồi, có một nguyên tắc cho các tiến trình để yêu cầu lại một hoặc tất cả các quyền đã bị thu hồi. ™Việc thu hồi một sơ đồ danh sách quyền quy cập là dễ dàng, ngay lập tức, và có thể là có chọn lọc, tổng thể, tiểu số,đa số, tạm thời hoặc vĩnh viễn như đã được mô tả ở trên.

      ƒ Các con quay lui – Một danh sách các con trỏ được dy trì từ mỗi đối tượng (object) dành cho mỗi khả năng được duy trì với mỗi đối tượng đó. ƒ Các khoá – Một mẫu bít duy nhất được kết hợp với mỗi khả năng được tạo ra, cũng có thể không kiểm tra kỹ hoặc không được sửa đổi bởi tiến trình đó.

      An toàn (Security)

        Một trong những giải phátđơn giản và nổi tiếng nhất là chèn vào mã trong các file chạy trong thưmục giản và nổi tiếng nhất là chèn vào mã trong các file chạy trong thưmục (/bin/sh).Đểthực hiệnđược yêu cầu này biên dịch một chương trình chứa mã lệnh này, và sauđó sửdụng trình hợp ngữhoặc công cụ kiểm tra lỗiđểtrích ra thông tin tối thiểu mà bao gồm những lệnh cần thiết. ƒ Năm 2004 một loại virus khai thác lỗi trong sản phẩm của Microsoft để lây nhiễm hàng trăm máy chủ Windows (bao gồm nhiều trang web đáng tin cậy) đang chạy Microsoft Internet Information Server, mà lần lượt bị nhiễm bất kỳ trình duyệt web Microsoft Internet Explorer truy cập bất kỳ của các trang web máy chủ bị nhiễm truy cập bất kỳ của các trang web máy chủ bị nhiễm bệnh. • Máy tính ngày nay thì ngày càng tính toán nhanh, an toàn của DES bịgiảm, dođóđểtăng tính bảo mật thì người ta nâng cấp thành mã DES 3 vòng Triple DES, dữliệuđược mã hóa 3 lần sửdụng 3 khóa khác nhau (thực ra là 2 lần mã hóa, 1 lần giải mã)độdài tối thiểu của khóa là 168 bits.

        • 8.Khi nhận được c, máy chủ khôi phục lại: (m,a) = D(k_cs_crypt)(c) và chấp nhận nếu V(k_sc_mac)(m,a) làđúng Giải pháp này cho phép cảhai máy chủvà máy trạmđểxác minh tính xác thực của tất cảcác tin nhắn gửiđến, vàđể đảm bảo rằng các thôngđiệp gửiđi chỉcó thể đọcđược thông qua việc tạo khóa trước đó. ƒ Trong lý thuyết mật khẩu riêng biệt có thể được thực hiện cho các hoạt động riêng biệt, chẳng hạn như đọc tập tin, viết tập tin, vv Trong thực tế hầu hết các hệ thống sử dụng một mật khẩu để xác nhận danh tính người dùng và sau đó việc xác thực được dựa trên nhận dạng người đó. ("Cảmơn bạnđể đăng ký cho XYZ tài khoản mới của bạn và thông tin mật khẩuđược hiển thịdướiđây") Bạn có thểdùng một mật khẩu khác đểcung cấp cho cácđối tượng này, thay vì sửdụng mật khẩu bảo mật cao nhưbạn sửdụng cho ngân hàng hoặc sửdụng bí mật khác 194.

        ƒ Một sốloại thông tin có thể được ghi lại bao gồm các xác thực thất bại và thành công,đăng nhập, chạy các chương trình SUID hoặc SGID, truy cập mạng, các lời gọi hệặ , y ập ạ g, gọ ệ thống, vv… Trong trường hợp cuối cùng gần nhưtất cả các phím tắt và chuyểnđộngđiện tửcó thể đăng nhậpđể phân tích trong tương lai.