Task 5: Các biến môi trường và Set-UID program

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 25 - 29)

Đầu tiên, nhắc lại Set-UID là gì? Set-UID là một cơ chế bảo mật quan trọng trong hệ điều hành Unix. Khi chương trình Set-UID chạy, chương trình đóó́ sẽ thừa nhận các đặc quyền của chủ sở hữu. Ví dụ: nếu chủ sở hữu của chương trình là root, thì khi bất kỳ ai chạy chương trình này, chương trình sẽ nhận được các đặc quyền của root trong quá trình thực thi. Set-UID cho phép chúng tôi làm nhiều điều thú vị, nhưng nóó́ làm tăng đặc quyền của người dùng khi thực thi, khiến nóó́ trở nên khá rủi ro. Mặc dù các hành vi của các chương trình Set-UID được quyết định bởi logic chương trình của họ, không phải bởi người dùng, người dùng thực sự cóó́ thể ảnh hưởng đến các hành vi thông qua các biến môi trường. Để hiểu các chương trình Set-UID bị ảnh hưởng như thế nào, trước tiên chúng ta hãy tìm hiểu xem các biến môi trường cóó́ được quy trình của chương trình Set- UID kế thừa từ quy trình của người dùng hay không.

Sau khi đã biên dịch và chạy chương trình, ta tiếp tục thay đổi quyền sở hữu và của tệp bằng các câu lệnh sau:

sudo chown root filename //Đặt root làm chủ sở hữu của findingenvvarofcurrentprocess

sudo chmod 4755 filename //Câu lệnh đặt findingenvvarofcurrentprocess trở thành chương trình SET-UID bằng cách đặt bit set-uid.

Câu lệnh này làm cho chương trình này trở thành chương trình root Set-UID. Sau đóó́, tiếp tục thêm các enviroment variables vào Bash Shell bao gồm PATH, LD_LIBRARY_PATH và một biến môi trường bất kì , vì PATH và LD_LIBRARY_PATH đã cóó́ sẵn, ta khởi tạo một biến mới với tên hoangtran và giá trị /home/seed bằng cách sử dụng lệnh export và cho phép các giá trị môi trường khác giống nhau.

Khi chạy chương trình đã biên dịch ở trên và lưu trữ kết quả đầu ra trong một tệp cóó́ tên envvarofchild, cóó́ thể thấy rằng tiến trình con kế thừa biến môi trường PATH và hoangtran nhưng không cóó́ biến môi trường LD, như cóó́ thể thấy ở dưới (khi tìm kiếm LD trong tệp, nóó́ không trả về bất kỳ giá trị nào).

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 25 - 29)