Центр Microsoft Security Response Center (MSRC) выпустил VulnScan - инструмент, разработанный, чтобы помочь инженерам и разработчикам в области информационной безопасности определить тип уязвимости и причину багов, связанных с повреждением памяти. В основе этого инструмента лежат средство отладки для Windows (WinDbg) и средство отладки по времени (Time Travel Debugging, TTD).
Используя WinDbg и TTD, VulnScan может автоматически выявить основную причину наиболее распространенных типов проблем с повреждением памяти, за это отвечает специальный механизм – PageHeap. Проблемы с памятью, которые поддерживает VulnScan, приведены в списке ниже:
- Переполнение буфера, уязвимости чтения-записи за пределами поля (out-of-bounds read/write).
- Использование после освобождения (use after free).
- Ошибка несоответствия используемых типов данных (type confusion).
- Использование неинициализированной памяти (Uninitialized memory use).
MSRC использует VulnScan как часть автоматизированной структуры Sonar. Sonar обрабатывает доказательства концептов уязвимостей на всех поддерживаемых платформах и версиях программного обеспечения.
За 10-месячный период, в течение которого VulnScan использовался для сортировки всех проблем с повреждением памяти в Microsoft Edge, Microsoft Internet Explorer и продуктах Microsoft Office, степень его успешности составила 85%. Он сэкономил примерно 500 часов времени инженеров MSRC.