Что каждый программист должен знать о безопасности
В безопасности должны разбираться не только специалисты в сфере ИБ, но и разработчики, чтобы сделать своё приложение надёжным. Разбираем по пунктам, какие именно знания необходимы.
13К открытий13К показов
Многие начинающие программисты задаются вопросом: «каким минимумом знаний по безопасности должен обладать каждый разработчик или студент IT-шник?». Попробуем ответить на этот вопрос.
Вещи, которые всегда нужно держать в уме, если вы хотите создать безопасное приложение:
- Не доверяйте входным данным! Проверяйте входные данные из ненадёжных источников — используйте белые списки, а не чёрные.
- Планируйте безопасность с самого начала — это не то, чем можно заняться напоследок.
- Делайте своё приложение простым — сложность увеличивает вероятность дыр в безопасности.
- Сведите вашу поверхность атаки к минимуму.
- Убедитесь, что ошибка во время работы приложения не поставит под угрозу его безопасность.
- Обеспечивайте безопасность приложения на каждом этапе разработки.
- Придерживайтесь принципа наименьших привилегий.
- Используйте моделирование угроз.
- Разделяйте привилегии, чтобы было проще отследить источник проблемы.
- Хранить секретные данные сложно, а все секретные данные, спрятанные в коде, быстро перестанут быть секретными.
- Не создавайте свои механизмы шифрования.
- Использование одного лишь шифрования не делает ваше приложение абсолютно безопасным — злоумышленники найдут другое слабое место, ведь безопасность любой системы всегда равна безопасности самого слабого звена.
- Знайте и помните о переполнении буфера и о том, как от него защититься.
Существует несколько замечательных книг и статей на тему того, как сделать приложение безопасным:
- Writing Secure Code 2nd Edition.
- Building Secure Software: How to Avoid Security Problems the Right Way.
- Secure Programming Cookbook.
- Exploiting Software.
- Security Engineering.
- Secure Programming for Linux and Unix HOWTO.
Обучите ваших разработчиков лучшим практикам безопасности:
- Codebashing (платно)
- Security Innovation (платно)
- Security Compass (платно)
- OWASP WebGoat (бесплатно)
Хотите узнать о том, как защитить своё веб-приложение в более развёрнутой форме? Тогда загляните в нашу статью, там всё подробно расписано.
13К открытий13К показов