Деякі відомості:
Біт setuid: біт
setuid у виконаному файлі робить його таким чином виконуваним файлом, яким керує будь-який користувач, запускається так, ніби ним керує власник виконуваного файлу. Отже, якщо setuid встановлений у програмі, яка належить root, незалежно від того, хто її виконує, він буде працювати з правами root. Звичайно, це не так просто, перегляньте цю статтю у Вікіпедії або отримайте копію Програмування Стівена в середовищі Unix.
Основний дамп:
Основний дамп - це дамп робочої пам'яті програми до файлу. Дивіться цю статтю у Вікіпедії .
suid_dumpable :
Це визначає, чи можна ядро скинути з встановленої програми, як описано вище. Дивись нижче. Це налаштування ядра, ви можете змінити його за допомогою:
sudo sysctl -w kernel.suid_dumpable=2
Ви дізнаєтесь про цю зміну в документації для свого код-коду, який, якщо він встановлений, ви можете знайти в каталозі на зразок: /usr/src/linux-source-2.6.27/Documentation/sysctl/. У цьому випадку посилання нижче знаходиться у fs.txt у цьому каталозі. Використовуйте uname -a
команду, щоб дізнатися вашу версію ядра.
Чому це важливо:
Це може бути ризиком для безпеки:
Отже, ідея полягає в тому, що якщо є основні дампи і звичайний користувач може їх прочитати, вони можуть дізнатися привілейовану інформацію. Якщо програма демпінгована добре, вона мала привілейовану інформацію в пам'яті, і користувач може прочитати дамп, вони можуть виявити цю привілейовану інформацію.
Довідка:
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.