Безопасные методы кодирования C
-
23-10-2019 - |
Вопрос
Я ищу полную запись о безопасных методах кодирования в C., поскольку я не нашел такой список, существующий здесь, мы уже с таким же успехом могли бы превратить это в общественное вики для дальнейшей ссылки. Я ищу решения для проблем безопасности, таких как переполнение буфера и недостатков на основе стека и кучей, переполнения целочисленного целого числа, атаки формата, атаки строк, нулевое указатель, атаки инспекции кучи/памяти и т. Д.
NB: Помимо практики кодирования, безопасные библиотеки, которые защищают от такого рода атак, стоит упомянуть.
LE: Как видно в этом вопросе Безопасная практика кодирования C ++ Но только для C.
Решение
Стандарт CERT C "DECATO" довольно известен и в некоторой степени решает эти проблемы:
Стандарт кодирования SEI CERT C
На рынке должно быть несколько статических анализаторов, которые поддерживают Cert C.
Другие советы
Тот же ответ Secure Programming Cookbook для C и C ++: Рецепты для криптографии, аутентификации, проверки ввода и многого другого
Из описания:
Читатели узнают:
Как избежать общих ошибок программирования, таких как переполнение буфера, условия гонки и форматирование строковых задач
Как правильно SSL-Enable Applications
Как создать безопасные каналы для общения с клиентом без SSL
Как интегрировать инфраструктуру открытого ключа (PKI) в приложения. Лучшие методы использования криптографии правильно методы и стратегии для правильной проверки вклада в программы
Как надежно запустить программы
Как правильно использовать механизмы доступа к файлам
- Методы защиты приложений от обратной инженерии