В руководстве "Practical Code Auditing" приводятся методы поиска участков кода, которые могут привести к проблемам с безопасностью программы. Рассматриваемые аспекты: переполнение буфера (например, buf[sizeof(buf)] = '\0' вместо buf[sizeof(buf)-1] = '\0'), проблемы с распределеныем памяти, "Format String Vulnerabilities" - когда в функциях подобных printf и syslog забывают явно указать формат аргумента (делают printf (buf) вместо printf("%s", buf)), проблемы вида "Race Conditions", аудит бинарных файлов, жесткое тестирование. Документ опубликован в PDF формате.
|