Две ошибки на пятьсот обновлений. Программа AutoPiff научилась ловить «тихие» правки
NewsMakerНовый софт сокращает время анализа исправлений безопасности с 12 часов до нескольких минут.
Поставщики выпускают сотни обновлений драйверов в год, и среди них легко пропустить тихую правку безопасности без номера уязвимости. Разобрать каждую версию вручную почти нереально. Новый инструмент AutoPiff пытается решить проблему и автоматически находит в патчах изменения, которые могут закрывать дыры в безопасности.
AutoPiff расшифровывается как Automated Patch Intelligence and Finding Framework. Система анализирует различия между уязвимой и исправленной версиями драйвера для ядра Windows и ищет характерные признаки защитных правок. Движок опирается на набор строгих семантических правил в формате YAML и старается работать максимально точно, чтобы сократить число ложных срабатываний.
Инструмент обращает внимание на типовые сценарии эксплуатации. Среди них исправления use-after-free , когда после вызова ExFreePool указателю присваивают значение NULL, добавление проверок длины перед memcpy, усиление границы между пользовательским режимом и режимом ядра через ProbeForRead и ProbeForWrite, защита от переполнения целых чисел с помощью безопасных арифметических функций, а также доработки счётчиков ссылок через атомарные операции. AutoPiff также отслеживает проверку входных данных IOCTL, защиту от повреждения пула памяти и дополнительные проверки привилегий.
Разработчики описывают типичную картину: из 500 обновлений драйверов за год 490 связаны с новыми функциями или оптимизацией, восемь закрывают мелкие ошибки и только два содержат тихие исправления безопасности без присвоения CVE. Без автоматизации приходится просматривать все 500 версий, чтобы найти пару значимых изменений. AutoPiff сокращает круг до десятка наиболее подозрительных обновлений с высоким баллом риска.
Поставщики выпускают сотни обновлений драйверов в год, и среди них легко пропустить тихую правку безопасности без номера уязвимости. Разобрать каждую версию вручную почти нереально. Новый инструмент AutoPiff пытается решить проблему и автоматически находит в патчах изменения, которые могут закрывать дыры в безопасности.
AutoPiff расшифровывается как Automated Patch Intelligence and Finding Framework. Система анализирует различия между уязвимой и исправленной версиями драйвера для ядра Windows и ищет характерные признаки защитных правок. Движок опирается на набор строгих семантических правил в формате YAML и старается работать максимально точно, чтобы сократить число ложных срабатываний.
Инструмент обращает внимание на типовые сценарии эксплуатации. Среди них исправления use-after-free , когда после вызова ExFreePool указателю присваивают значение NULL, добавление проверок длины перед memcpy, усиление границы между пользовательским режимом и режимом ядра через ProbeForRead и ProbeForWrite, защита от переполнения целых чисел с помощью безопасных арифметических функций, а также доработки счётчиков ссылок через атомарные операции. AutoPiff также отслеживает проверку входных данных IOCTL, защиту от повреждения пула памяти и дополнительные проверки привилегий.
Разработчики описывают типичную картину: из 500 обновлений драйверов за год 490 связаны с новыми функциями или оптимизацией, восемь закрывают мелкие ошибки и только два содержат тихие исправления безопасности без присвоения CVE. Без автоматизации приходится просматривать все 500 версий, чтобы найти пару значимых изменений. AutoPiff сокращает круг до десятка наиболее подозрительных обновлений с высоким баллом риска.