72
производят приоритезацию найденных дефектов. Наиболее высокий приоритет
назначается ошибкам, которые могут вызвать уязвимости. Исправление таких
дефектов позволит специалистам ОАО Аурат повысить безопасность
исполняемого кода.
Для реализации методов фаззинга рекомендуем использовать эксплойты,
работа которых предусматривает реализацию метода динамического
символьного выполнения. Программой выявляются не эксплуатируемые
ошибки (деление на 0, разыменование нулевого указателя). Как известно, во
время анализа аварийных завершений производится оценка состояния
регистров, стеков вызовов, памяти в момент срабатывания. В отношении этого
состояния применяются правила, позволяющие описать класс аварийного
завершения.
Анализ аварийных завершений создаст возможность специалистам ОАО
Аурат исключить вырабатываемую процессором инструкцию по доступу,
адресу, срабатыванию защиты. При этом каждый класс будет иметь ранг не
ниже чем вероятность, вызвавшую уязвимость или ошибку в программном
коде.
Рекомендуем каждый класс включить в одну из групп: эксплуатируемая,
возможно эксплуатируемая, не эксплуатируемая и недостаточно изученная. В
последний класс попадут аварийные завершения, анализ которых не позволяет
получить достаточную информацию. Одному аварийному завершению может
соответствовать только несколько классов.
Предложенный инструмент можно реализовать для программного
обеспечения, работающего под управлением операционных систем Windows,
Linux. Высокая скорость будет достигаться за счёт проведения анализа кода в
момент аварийного завершения программы.
Улучшить реализацию методов фаззинга позволит автоматическая
генерация эксплойтов. В результате этого специалисты компании ОАО Аурат
смогут получить входные данные, активизирующие существующие уязвимости