Каждый день я вижу потенциально уязвимый код. Иногда код настолько уязвим, что любой школьник может поломать его. Я также много общался с программистами, которым стоило бы больше знать об уязвимостях. Это очень, как бы это сказать, удручающе. Это грустно, что средний девелопер знает так мало об обычных практиках безопасности. Так что я собрал здесь маленький манифест.
Я пишу защищенный код, если соблюдаю все эти пункты:
- Я не буду хранить чувствительные данные в plain text, я буду защищать их как следует.
- Я всегда буду защищать пользовательские данные, как защищал бы свои.
- Я всегда буду использовать проверенные и известные алгоритмы, не буду изобретать колесо.
- Я буду использовать существующие библиотеки, пока возможно, и буду писать свои только когда нет подходящих альтернатив.
- Я всегда буду использовать параметризованные запросы (читай бинды) SQL, я не буду доверять экранированию.
- Я буду воспринимать уязвимости серьезно, не буду игнорировать их.
- Я должен понимать OWASP топ 10 уязвимостей, и всегда буду защищать свои приложения от них.
- Я не буду всегда предполагать, что знаю лучше, но буду постоянно развиваться.
- Я не буду доверять безопасность системам, которые самостоятельно не исследовал.
- Я всегда буду стараться обучать других.