[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