Проблемы с метками времени PCAP: когда проверять, нормализовать или перезаписывать время захвата
Как рассуждать о плохих временных метках PCAP, дрейфе часов, порядке захвата и контролируемой перезаписи временных меток без потери доказательств.
Временные метки являются частью доказательств при перехвате пакетов. Они объясняют порядок, задержку, время повторной передачи, разрывы между запросами и ответами, а также соответствие проблемы журналу приложения. Если временные метки неверны, все расследование может пойти наперекосяк.
Но восстановление временных меток чувствительно. Изменение времени захвата может облегчить анализ, а также сделать файл менее точным в соответствии с исходным событием.
Распространенные проблемы с временными метками
Проблемы с временной меткой PCAP включают в себя:
- пакеты появляются не по порядку
- временные метки перескакивают назад
- все временные метки равны нулю
- разрешение ниже ожидаемого
- захват охватывает невозможный временной диапазон
- Часы виртуальной машины или хоста меняются во время захвата
- объединенные захваты используют разные часы
- предположения о часовом поясе путают человеческие отчеты
Некоторые из них — проблемы с отображением. Некоторые из них связаны с проблемами захвата. Некоторые из них связаны с проблемами слияния. Стратегия ремонта зависит от того, какая именно.
Значение отдельного заказа от настенных часов
Порядок пакетов и время на настенных часах связаны, но не идентичны. Захват может сохранить порядок пакетов, сохраняя при этом бесполезные значения настенных часов. Другой захват может иметь правдоподобные значения настенных часов, но включать объединенные потоки из разных точек захвата, что делает сравнение времени небезопасным.
Прежде чем переписывать временные метки, спросите:
- заслуживает ли порядок пакетов доверия?
- можно ли доверять относительному времени?
- нужно ли абсолютное время на настенных часах?
- объединен ли захват из нескольких источников?
- предоставляют ли журналы приложений внешнюю привязку?
- будут ли последующие инструменты неправильно интерпретировать текущие временные метки?
Эти вопросы определяют, подходят ли проверка, аннотации, нормализация или перезапись.
Когда нормализация помогает
Нормализация временных меток может быть полезна, когда исходное абсолютное время не важно, а важен относительный порядок и интервал. Например, лабораторный снимок с неправильными системными часами может по-прежнему показывать допустимое время запроса-ответа. Нормализация времени начала может облегчить чтение отчетов без изменения относительного поведения.
В выводе должно быть записано:
- исходная первая временная метка
- нормализованная первая временная метка
- сохранились ли дельты
- затронутые пакеты
- причина нормализации
Без этой записи будущий инженер не сможет определить, является ли свидетельство времени оригинальным или отредактированным.
Когда переписывание рискованно
Перезаписывать временные метки рискованно, если захват должен быть связан с:
- журналы сервера
- журналы камеры
- USB или последовательные следы
- сроки инцидента
- юридические доказательства или доказательства соответствия
- многоточечный сетевой захват
В таких случаях изменение временных меток может облегчить проверку файла, но усложнить доверие. Лучшим первым шагом может быть аннотация: задокументируйте проблему с часами и оставьте необработанный снимок нетронутым.
Где подходит операция PCAP
PCAP Surgery построен на контролируемых изменениях, а не на случайных мутациях. Работа с временными метками должна следовать тому же правилу, что и контрольная сумма или обрезка пакетов: сначала проверить, потом принять решение, переписывать только тогда, когда это подтверждают доказательства.
Хороший рабочий процесс PCAP-хирургии должен помочь ответить на следующие вопросы:
- какая аномалия временных меток существует?
- сколько пакетов затронуто?
- заказ все еще заслуживает доверия?
- относительное время все еще полезно?
- какая перезапись или нормализация была применена?
- можно ли воспроизвести изменение?
Для разработчиков протоколов ценностью является не просто изменение файла. Ценность заключается в получении информации и обосновании, которые может проверить другой инженер.