Một số nền tảng:
Bit setuid: Bit
setuid trên tệp thực thi làm cho nó có thể thực thi được chạy bởi bất kỳ người dùng nào, được chạy như thể chúng đang được chạy bởi chủ sở hữu của tệp thực thi. Vì vậy, nếu setuid được đặt trên một chương trình thuộc sở hữu của root, bất kể ai chạy nó, nó sẽ được chạy với quyền root. Tất nhiên là không đơn giản, xem bài viết trên wikipedia này hoặc lấy một bản sao Lập trình của Steven trong Môi trường Unix.
Kết xuất lõi:
Kết xuất lõi là kết xuất bộ nhớ làm việc của chương trình vào một tệp. Xem bài viết trên wikipedia này .
suid_dumpable :
Điều này kiểm soát nếu lõi có thể được kết xuất từ chương trình setuid như mô tả ở trên. Xem bên dưới. Đây là một kernel có thể điều chỉnh, bạn có thể thay đổi nó bằng:
sudo sysctl -w kernel.suid_dumpable=2
Bạn sẽ tìm hiểu về điều chỉnh này trong tài liệu cho mã nguồn của mình, nếu được cài đặt, bạn có thể tìm thấy trong một thư mục như: /usr/src/linux-source-2.6.27/Documentation/sysctl/. Trong trường hợp này, tham chiếu bên dưới nằm trong fs.txt trong thư mục đó. Sử dụng uname -a
lệnh để tìm ra phiên bản kernel của bạn.
Tại sao nó quan trọng:
Nó có thể là một rủi ro bảo mật:
Vì vậy, ý tưởng là, nếu có các bãi rác cốt lõi và một người dùng thông thường có thể đọc chúng, họ có thể tìm ra thông tin đặc quyền. Nếu chương trình được kết xuất tốt, nó có thông tin đặc quyền trong bộ nhớ và người dùng có thể đọc kết xuất, họ có thể tìm ra thông tin đặc quyền đó.
Tài liệu tham khảo:
This value can be used to query and set the core dump mode for setuid
or otherwise protected/tainted binaries. The modes are
0 - (default) - traditional behaviour. Any process which has changed
privilege levels or is execute only will not be dumped
1 - (debug) - all processes dump core when possible. The core dump is
owned by the current user and no security is applied. This is
intended for system debugging situations only.
2 - (suidsafe) - any binary which normally not be dumped is dumped
readable by root only. This allows the end user to remove
such a dump but not access it directly. For security reasons
core dumps in this mode will not overwrite one another or
other files. This mode is appropriate when adminstrators are
attempting to debug problems in a normal environment.