Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
csumguard — Ограниченный eBPF TC ingress guard, CO-RE детектор, проверенный загрузчик и супервизор запуска C11 VMM для CVE-2026-99999 | Kitploit
Инструменты/GitHubGitHub/mchorfa/csumguard
Оборонительные ИнструментыСниффинг и анализ пакетовБезопасность контейнеровАнализ уязвимостейАудит конфигурацииВиртуализация для безопасностиСетевая безопасностьБезопасность Цепочки ПоставокОбнаружение ВторженийРеагирование на Инциденты
31419 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
GitHub
mchorfa/csumguard

csumguard

Ограниченный eBPF TC ingress guard, CO-RE детектор, проверенный загрузчик и супервизор запуска C11 VMM для CVE-2026-99999

Репозиторий
Поделиться

csumguard

CI Status Language Sanitizers License

Промежуточный механизм контроля допуска пакетов и супервизируемый загрузчик для CVE-2026-99999.

Он отбрасывает опасный гостевой трафик на TAP-интерфейсе виртуальной машины до того, как ядро хоста сможет достичь skb_checksum_help. Написан на чистом C11 и eBPF без единого интерпретируемого скрипта.

Статус безопасности: GAL 1 · локализация CVE не подтверждена · продвижение остановлено. Все офлайн-наборы тестов политики, детектора, загрузчика и санитайзеров проходят. Однако фильтры TC ingress проверяют байты полезной нагрузки пакета, а не метаданные контрольной суммы virtio (csum_start). Детектор fentry наблюдает подозрительные метаданные, но не может заблокировать выполнение.

Авторитетное исправление: установите пропатченное ядро хоста от производителя, содержащее вышестоящий коммит 6785011f8b16, и перезагрузитесь. csumguard обеспечивает усиление защиты гостевого трафика и супервизию во время выполнения, а не подтверждённую нейтрализацию CVE. См. VALIDATION.md.


Архитектура

flowchart LR
    subgraph Guest["Untrusted Guest VM"]
        VMM["VMM Process<br/>QEMU or Cloud-Hypervisor"]
    end

    subgraph Interface["Host TAP Device tap0"]
        TAP["tap0 clsact"]
        TC["csumguard_in<br/>eBPF TC Ingress"]
    end

    subgraph Host["Host Linux Kernel"]
        STACK["Host Network Stack"]
        SINK["skb_checksum_help<br/>Vulnerable Sink"]
    end

    subgraph Supervisor["csumguard_launch Supervisor"]
        MON["Identity Poller<br/>6D Vector State"]
        QUAR["Quarantine Engine<br/>SIGSTOP, DOWN, SIGKILL"]
        RING["Receipt Ledger<br/>64-slot Ring Buffer"]
    end

    VMM -->|TX Frames| TAP
    TAP --> TC
    TC -->|Admitted TCP, UDP, ARP| STACK
    TC -.->|Dropped: Frag, GSO, VLAN, Options| DROP["Dropped + Counter"]
    STACK -.-> SINK
    MON -->|Polls Status| TAP
    MON -->|Attachment Drift or Loss| QUAR
    QUAR -->|Pauses & Terminates| VMM
    QUAR -->|Flushes Receipts| RING

Процесс допуска пакетов

flowchart TD
    PKT["Ingress Frame"] --> ETH{"EtherType"}

    ETH -->|ARP 0x0806| ARP{"Request or Reply"}
    ARP -->|Valid 42B or 60B pad| PASS["PASS: Admitted"]
    ARP -->|Invalid| D_ARP["DROP: Malformed ARP"]

    ETH -->|IPv4 0x0800| IP{"IPv4 Header Checks"}
    ETH -->|Other or VLAN| D_ETH["DROP: Non-IPv4 or VLAN"]

    IP -->|Options, Frag, or GSO| D_IP["DROP: Frag, Option, GSO, or Csum"]
    IP -->|Valid IHL 5, MF 0, Offset 0| L4{"Transport Protocol"}

    L4 -->|TCP proto 6| TCP{"TCP Checks"}
    L4 -->|UDP proto 17| UDP{"UDP Checks"}
    L4 -->|Other| D_PROTO["DROP: Unsupported Protocol"]

    TCP -->|Valid ports and length| PASS
    TCP -->|Port 0 or invalid length| D_TCP["DROP: Bad TCP"]
    UDP -->|Valid dst port and length| PASS
    UDP -->|Port 0 or invalid length| D_UDP["DROP: Bad UDP"]

Жизненный цикл супервизора и карантин

flowchart TD
    S0["1. Preflight<br/>Validate admission.json"] --> S1["2. Attachment<br/>Verify Hash & Attach clsact"]
    S1 --> S2["3. Privilege Drop<br/>Non-root UID/GID & no_new_privs"]
    S2 --> S3["4. Running<br/>Poll 4-Tuple ID Every 200ms"]

    S3 -->|Poll Matches ID| S3
    S3 -->|Filter Loss or ID Mismatch| Q0["5. Quarantine: SIGSTOP<br/>Pause VMM Process Group"]

    Q0 --> Q1["6. Quarantine: LINK DOWN<br/>Set TAP Interface Down"]
    Q1 --> Q2["7. Quarantine: SIGKILL<br/>Terminate Process Group"]
    Q2 --> Q3["8. Exit<br/>Flush Hash-Chained Receipts"]
    S3 -->|Normal VM Exit| Q3

Компоненты

КомпонентФайлыРоль
Фильтр пакетовpolicy.h, csumguard_tc.bpf.cКлассификатор только из заголовков на TC ingress. Разрешает стандартные TCP, UDP и ARP. Отбрасывает фрагменты, опции, GSO и VLAN. 26 счётчиков на каждый CPU отслеживают причины.
Детектор контрольных суммdetect_policy.h, csumguard_detect.bpf.cОпциональный зонд fentry, отслеживающий пакеты CHECKSUM_PARTIAL в ядре. Увеличивает счётчики при подозрительных смещениях. Никогда не блокирует.
Загрузчикloader.cПроверяет пути к файлам от / для предотвращения атак через символические ссылки. Проверяет дайджесты SHA-256, гарантирует, что интерфейс находится в состоянии DOWN, и присоединяет clsact.
Средство запуска VMMlaunch.c, launch_policy.hПроверяет свидетельства оператора, сбрасывает привилегии до не-root UID/GID, запускает VMM и отслеживает присоединение. Приостанавливает и уничтожает ВМ, если фильтр отбрасывает пакеты.
Журнал квитанцийlaunch.cАсинхронный поток, записывающий JSONL-записи с хеш-цепочкой SHA-256 по FIPS 180-4. Кольцевой буфер на 64 слота предотвращает зависания из-за диска.

Быстрый старт

1. Сборка и офлайн-тестирование

make EGRESS_MTU=1500 all
make test

2. Присоедините фильтр

Разместите объект в каталоге, принадлежащем root (/opt/csumguard), убедитесь, что интерфейс TAP находится в состоянии DOWN, и присоедините:

/opt/csumguard/csumguard_loader attach tap0 /opt/csumguard/csumguard_tc.bpf.o <EXPECTED_SHA256>
/opt/csumguard/csumguard_loader status tap0 <IFINDEX> <NETNS_INODE> <PROG_ID>

3. Запуск под надзором

Заполните /etc/csumguard/admission.json и запустите VMM под управлением csumguard_launch:

/opt/csumguard/csumguard_launch \
  --interface tap0 \
  --loader /opt/csumguard/csumguard_loader \
  --object /opt/csumguard/csumguard_tc.bpf.o \
  --evidence /etc/csumguard/admission.json \
  --receipt /var/log/csumguard/tap0.jsonl \
  --uid 65534 \
  --gid 65534 \
  --interval 0.2 \
  -- /usr/bin/qemu-system-x86_64 -netdev tap,id=n0,ifname=tap0,script=no,downscript=no

Упаковка и распространение через OCI

csumguard упакован и распространяется как OCI v1.1 Artifact (application/vnd.csumguard.ebpf.v1) с прикреплёнными референтами криптографических доказательств (SLSA v1.0 provenance, CycloneDX v1.6 SBOM и матрица верификации):

# Package local OCI layout and attach all referrers
./oci/package.sh --layout-dir build/oci-layout --tag v0.2.0

# Discover attached referrers graph
oras discover --oci-layout build/oci-layout:v0.2.0

# Pull directly on hypervisor hosts without container daemon
oras pull ghcr.io/mchorfa/csumguard:v0.2.0

Полные сведения о медиатипах OCI, дескрипторах и рабочих процессах проверки Cosign см. в oci/README.md.


Проверка

# Verify all source and evidence hashes
shasum -a 256 -c SHA256SUMS

# Run offline test suite
make test
Скачать инструмент