Longobard
написал 26 января 2004 года в 16:34 (995 просмотров)
Ведет себя
как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.
Я пишу программу на котрой к сожалению должен стоять suid-бит (необходим доступ к /dev). В связи с этим остро встает проблема безопасности. Какие доки или книги (только электронные!) посоветуете почитать на тему написания безопасного кода на С/С++ при написании программ для Linux? Можно английские. Заранее спасибо. чем подробенее — тем лучше. Размер не имеет значения. Заранее спасибо!
ЗЫ: На ЛОР никто ниче толкового не сказал. Гугл ничего путного не выдал, все какие-то наброски на пару страниц. Нужна концептуальная дока, а не «записки на полях страны»
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Art of programming UNIX utils www.ibm.com/open
И посмотри на манифесты Debian-stable-devel ALT-devel
PS
Если на крайняк есть в GNOME-SDK либы gsu, дает временный suid на elf-x86 и снимает его после работы Крит. участка кода….попробуй пользовать симафоры(типа счетчик) для постановки флага +s на бинарник…
Хм. А это идея. Только вроде для того чтобы помтавть себе суид-бит процесс должен быть рутовый.
По поводу ссылки что ты дал: там какой-то IBM и ни слова про доки. Можешь дать полную ссылку плиз?
сделай 2бинарника, первый в комплекте с suid(не делающий ничего криминалоного с точки зрения защиты) и второй без suid. Первый по необходимости+симафор вешает +s и запускает его.
http://www.google.com.ru/search?q=Art%2Bof%2Bprogramming%2BUNIX&ie=UTF-8&oe=UTF-8&hl=ru&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=
http://www-106.ibm.com/developerworks/linux/library/l-util.html
Твой вариант с дерганьем дополнительного бинарника не катит. Ведь можно написать сплоит который бы дергал семафор и таким образом вешал бы suid бит на прогу в нужный момент.
При этом сам сплойт должет быть запущен от root(дабы симафорить когда надо на порожденный РУТОМ симафор)? Тогда теряется смысл написания самого сплойта! Если и так можно запускать от рута…
Точно, не догадался как-то :) Спасибо за доки и за идею :)