[devel] FYI: "secure" file(1) и doas(1) в OpenBSD
Ivan Zakharyaschev
imz на altlinux.org
Пн Фев 15 18:30:22 MSK 2016
https://lvee.org/ru/abstracts/175 , Vadim Zhukov, Moscow, russia :
file(1) и связанная с ней libmagic используются довольно часто. При этом в
описании форматов, равно как и в самом коде file(1), нередко находят
ошибки, уже не раз приводившие к опасным уязвимостям. При этом самой
утилите, несмотря на сложную внутренню логику, практически не требуется
какой-либо доступ к окружающей системе, а фактически используемый набор
функций и запрашиваемых сведений о файлах весьма мал… В итоге file(1) была
переписана Nicholas Marriott (к слову, автором tmux) с использованием
техники разделения привилегий: фактический разбор входного потока
происходит в предельно ограниченном процессе, который от получает от
мастер-процесса файловые дескрипторы для анализа.
doas(1) — по сути, сильно упрощённая альтернатива sudo(8) с чуть более
удобным синтаксисом. Общий код умещается в 822 строчки, включая
комментарии и заголовочный файл. Для сравнения, в sudo 1.8.15 содержится
83596 строк. Из заметных “потерь” – sudoedit и явный проброс переменных
окружения в командной строке.
--
Best regards,
Ivan
Подробная информация о списке рассылки Devel