Memory triage: первый час важнее красивой полной картины
Синтетический research-shot: схема проблемы, контроля, evidence и ретеста в фирменной лабораторной стилистике Virusologia.
Коротко: Полный forensic образ полезен не всегда первым. В первые минуты defensive-команда выигрывает от приоритизации: какие процессы, какие сессии, какие учётные данные, какие artefact classes надо проверить до массового containment.

Проблема

Команда легко тонет в желании собрать 'всё и сразу'. Но если не определить вопрос first-hour triage, память становится тяжёлым артефактом без приоритета: данных много, решения мало.

Часто главный вопрос не 'что это за семейство', а 'есть ли ещё интерактивный доступ', 'жив ли токен', 'какие пользователи уже затронуты' и 'что надо обнулить до того, как злоумышленник вернётся'.

Решение

В первые часы полезно строить memory triage вокруг риск-решений: active sessions, process tree anomalies, credential material exposure, suspicious network connections, injected or hollowed processes, persistence hints.

Технический разбор должен быстро превращаться в containment plan: revoke, rotate, isolate, preserve, monitor. Тогда память работает на защиту, а не только на красивый appendix.

Что проверить руками

  • Зафиксировать главный вопрос triage перед открытием образа.
  • Начать с active processes, sessions, sockets и suspicious parent-child chains.
  • Параллельно вести decision log: что уже стало основанием для containment.
  • Не публиковать лишние operational details, которые упрощают злоупотребление.

Типичные ошибки

  • Собирать и изучать всё одинаково глубоко без приоритета.
  • Не связывать найденные artefacts с business decision и containment step.
  • Слишком рано писать семейство/атрибуцию, когда вопрос ещё про активный риск.

Defensive checklist

  • Есть first-hour question.
  • Triage покрывает процессы, сессии, сокеты и credential surface.
  • Findings быстро переводятся в containment actions.
  • Retest проверяет, что after-action monitoring ловит повторение признаков.

Безопасный пример кода

Скелет приоритизации memory-triage artefacts. Пример рассчитан на owned/lab-среду и показывает инженерную логику проверки, а не эксплуатационную цепочку.

ARTEFACT_PRIORITY = {
    "interactive_session": 5,
    "credential_material": 5,
    "network_beacon": 4,
    "process_injection_hint": 4,
    "new_service_or_task": 3,
    "family_guess_only": 1,
}


def sort_artefacts(items: list[dict]) -> list[dict]:
    return sorted(items, key=lambda x: ARTEFACT_PRIORITY.get(x["kind"], 0), reverse=True)

Как это должно попасть в отчёт

  • First-hour decision log: active risk, impacted identities, immediate actions.
  • Evidence: process/session/network artefacts and why they mattered first.
  • Retest: monitoring and control changes catch the same class of activity later.
Этическая рамка: материал предназначен для defensive security, исследования собственных систем, controlled labs и подготовки remediation. Здесь нет вредоносных payload-цепочек, persistence-инструкций и шагов для несанкционированного доступа.