Task 9: Capability Leaking

Một phần của tài liệu THỰC tập cơ sở CHUYÊN NGHÀNH AN TOÀN PHẦN mềm NGHIÊN cứu ENVIROMENT VARIABLE AND SET UID (ENVIROMENT VARIABLE AND SET UID LAB) (Trang 42 - 46)

Để tuân theo the Principle of Least Privilege, các chương trình Set-UID thường từ bỏ vĩnh viễn các đặc quyền root của chúng nếu các đặc quyền đóó́ không còn cần thiết nữa. Hơn nữa, đôi khi, chương trình cần giao quyền kiểm soát của nóó́ cho người dùng; trong trường hợp này, các đặc quyền root phải được thu hồi. Lệnh gọi hệ thống setuid () cóó́ thể được sử dụng để thu hồi các đặc quyền. Theo hướng dẫn, “setuid () đặt effective

Trước tiên, ta tiến hành biên dịch và thực thi chương trình task9.c dưới đây, gắn quyền root cho chương trình và chuyển nóó́ thành chương trình Set-UID.

Và đây, ta đã tạo một file trống zzz trong thư mục /etc. Khi task9 chạy và file zzz sẽ được kiểm tra, lúc này chúng ta sẽ nhìn thấy dữ liệu trong đóó́. Tệp được sửa đổi bằng cách thêm nội dung của tiến trình con vào tệp.

Tiếp theo, ta chạy chương trình và một lần nữa xem nội dung của tệp zzz, và lúc này ta thấy rằng nội dung tệp đã được sửa đổi. Điều này xảy ra bởi vì mặc dù trong chương trình, ta đã bỏ các đặc quyền, ta đã không đóó́ng tệp vào đúng thời điểm và do đóó́ tệp vẫn đang chạy với các quyền đặc quyền cho phép dữ liệu trong tệp được sửa đổi, ngay cả khi không cóó́ quyền phù hợp. Ở đây, sau khi gọi fork, quyền kiểm soát được chuyển cho tiến trình con và do đóó́ người dùng độc hại thành công trong việc sửa đổi nội dung của tệp đặc quyền. Điều này cho thấy rằng điều quan trọng là phải đóó́ng trình mô tả tệp sau khi loại bỏ các đặc quyền, để nóó́ cóó́ các quyền thích hợp.

CHƯƠNG III: KẾT LUẬN

Mục tiêu chính của bài lab này là giúp sinh viên hiểu cách các biến môi trường ảnh hưởng đến chương trình và hành vi của hệ thống. Mặc dù các biến môi trường ảnh hưởng đến các hành vi của chương trình, nhưng cách chúng hoạt động thì không được nhiều lập trình viên hiểu rõ. Kết quả là, nếu một chương trình sử dụng các biến môi trường, các chương trình cóó́ thể cóó́ lỗ hổng. Qua bài lab này, sẽ hiểu rõ cách vận hành của các biến môi trường, cách chúng được đề xuất từ quy trình mẹ sang quy trình con, và cách chúng ảnh hưởng đến các chương trình/ hệ thống. Đặc biệt quan tâm đến cách các biến môi trường ảnh hưởng đến hoạt động của các chương trình Set-UID, thường là các chương trình đặc quyền.

TÀI LIỆU THAM KHẢO

[1] firmianay, "environment-variable-and-set-uid-lab.md," [Online]. Available:

https://github.com/firmianay/Life-long-Learner/blob/master/SEED-labs/environment- variable-and-set-uid-lab.md.

[2] W. Du, "Environment Variable and Set-UID Lab," [Online]. Available:

https://seedsecuritylabs.org/Labs_16.04/Software/Environment_Variable_and_SetUI D/.

[3] li-xin-yi, "Environment-Variable-and-Set-UID-Program-Lab," [Online]. Available: https://github.com/li-xin-yi/seedlab/tree/master/Environment-Variable-and-Set-UID- Program-Lab.

Một phần của tài liệu THỰC tập cơ sở CHUYÊN NGHÀNH AN TOÀN PHẦN mềm NGHIÊN cứu ENVIROMENT VARIABLE AND SET UID (ENVIROMENT VARIABLE AND SET UID LAB) (Trang 42 - 46)

Tải bản đầy đủ (DOCX)

(46 trang)
w