Руслан Пермяков («Системы информационной безопасности») рассказывает о том, какие аспекты безопасности нужно иметь в виду при разработке программных систем.
Проблема ИБ. Что стоит знать об информационной безопасности при проектировании информационных систем Пермяков Руслан Анатольевич технический директор ООО «СИБ» [email protected]
Проблемы безопасности • Ошибки конфигурирования и инсталяции; • Ошибки пользователя; • Ошибки создания: • I тип - ошибки написания (переполнение буфера и т.п.) • II тип ошибок - алгоритмические ошибки (неуточненное поведение, слабые алгоритмы авторизации и т.п.)
ADS-И – Система авиакоммуникаций следующего покаления Идентификация: •Aircraft Address - глобальный уникальный идентификатор воздушного судна; •Parity Information - информация для контроля битной чтности (с) А. Костин. Спуфинг в воздухе. Хакер № 1 (168) 2013
Априорное доверие •Неявно выраженное убеждение, что устройства подключенные к системе авторизованным пользователем заслуживает доверие. •Так ли это? •USB накопители? •ЗУ? •Устройства подключенные к ODB-II?
Итоги • В современных условиях не существует «доверия по умолчанию»; • Обратите внимание на buffer и stack; • Пользователя надо контролировать на каждом этапе.
Принципы безопасной архитектуры • простота механизмов (economy of mechanism); • безопасность по умолчанию (fail-safe defaults); • полное проникновение защиты (complete mediation); • открытый дизайн (open design); • разделение полномочий (separation of privilege); • минимум привилегий (least privilege); • минимизация разделения ресурсов (least common mechanism); • психологическая приемлемость (psychological acceptability).
Испрользуйте шаблоны • Существуют design patterns для задач безопасности. • При этом они есть на всех уровнях: • архитектуры; • написания кода; • пользовательского интерфейса; • поведения программы.