Специалисты ИБ уделяют много внимания безопасности готовых инфраструктур, но от многих проблем можно избавиться на этапе проектирования. Поговорим о принципах безопасного проектирования приложений и инфраструктур вместе с независимым экспертом по ИБ Константином Швецовым.
Константин утверждает, что основными аспектами практической безопасности являются:
- Безопасная архитектура приложения;
- Безопасная архитектура инфраструктуры;
- Безопасное развертывание приложений;
- Безопасное развертывание инфраструктуры;
- Безопасная эксплуатация системы.
Если Вы хотите получить безопасное приложение на выходе, то Вам стоит руководствоваться следующими принципами на этапе проектирования:
- Разделение обязанностей (минус - дополнительные затраты на разработку и тестирование, сложность эксплуатации и устранения недостатков);
- Минимальные привилегии (минус – понижение удобства и эффективности приложения);
- Разработка простого и очевидного функционала (избегание ненужных и неявных функций). Минусы – требуется больше усилий на этапе проектирования, сложное принятие решений относительно функций и их сложности;
- Осторожное доверие (неизвестные объекты не являются доверенными и имеют четкий процесс установления доверия). Минусы - сложности восстановления после сбоев (заново надо выстраивать доверенные объекты), дополнительные расходы;
- Аудит чувствительных событий (записываются все события, связанные с безопасностью). Этот принцип может сказаться на стоимости разработки и производительности приложения;
- Поиск самого слабого звена и его укрепление. Повторять данные действия необходимо несколько раз;
- Безопасные сбои и безопасность по умолчанию. Предварительно необходимо изменить чувствительные к безопасности параметры и заранее продумать сценарии сбоев, они должны быть безопасными, но восстанавливаемыми;
- Внедрение безопасности в глубину (защита каждого уровня, использование различных механизмов, остановка распространения сбоев на одном уровне). Минус - сложность восстановление после сбоев.