Расскажем вам о вещах, которые всегда нужно держать в уме, если вы хотите создать безопасное приложение:
- Не доверяйте входным данным! Проверяйте входные данные из ненадёжных источников — используйте белые списки, а не чёрные;
- Планируйте безопасность с самого начала — это не то, чем можно заняться напоследок;
- Делайте своё приложение простым — сложность увеличивает вероятность дыр в безопасности;
- Сведите вашу поверхность атаки к минимуму;
- Убедитесь, что ошибка во время работы приложения не поставит под угрозу его безопасность;
- Обеспечивайте безопасность приложения на каждом этапе разработки;
- Придерживайтесь принципа наименьших привилегий;
- Используйте моделирование угроз;
- Разделяйте привилегии, чтобы было проще отследить источник проблемы;
- Хранить секретные данные сложно, а все секретные данные, спрятанные в коде, быстро перестанут быть секретными;
- Не создавайте свои механизмы шифрования;
- Использование одного лишь шифрования не делает ваше приложение абсолютно безопасным — злоумышленники найдут другое слабое место, ведь безопасность любой системы всегда равна безопасности самого слабого звена;
- Знайте и помните о переполнении буфера и о том, как от него защититься.