Вывод машины состояний протокола на основе наблюдаемой информации является серьезной задачей в обратной инженерии протоколов (PRE), особенно когда пассивный сбор трафика приводит к неполному пространству состояний протокола из-за отсутствующих пакетов. В данной работе предложен новый метод активного вывода машины состояний протокола на основе рамочной модели Минимального Достаточного Учителя (MAT). Комбинируя дополнение сессий и техники детерминированной мутации, данный метод расширяет типы сообщений протокола, что позволяет строить более полное пространство входных данных машины состояний протокола на основе неполных полей сообщений. Кроме того, за счет оптимизации алгоритма , включая удаление дубликатов трафика, построение расширенного дерева префиксов (EPTA), оптимизацию запросов на основе ответов и генерацию случайных контрпримеров на основе переходов состояний, повысилась эффективность активного вывода. Эксперименты на нескольких версиях Live555 и Exim, а также на протоколах потоковой передачи в реальном времени (RTSP) и простом протоколе передачи почты (SMTP) показали, что данный метод способен выводить более полный протокольный автомат с более высокой эффективностью выполнения. По сравнению с алгоритмом , реализованным в AALpy, время выполнения Act_Infer в среднем сократилось примерно на 40,7%, количество соединений и взаимодействий уменьшилось примерно на 28,6% и 46,6% соответственно.
Keywords
Обратная инженерия протоколов (PRE); машина состояний протокола; активный вывод; неполные поля сообщений; пространство входных данных