Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
csumguard — CVE-2026-99999에 대한 제한된 eBPF TC 인그레스 가드, CO-RE 탐지기, 검증된 로더, C11 VMM 실행 감독기 | Kitploit
도구/GitHubGitHub/mchorfa/csumguard
Defensive ToolsPacket Sniffing & AnalysisContainer SecurityVulnerability AnalysisConfiguration AuditingSecurity VirtualizationNetwork SecuritySupply Chain SecurityIntrusion DetectionIncident Response
31219일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
mchorfa/csumguard

csumguard

CVE-2026-99999에 대한 제한된 eBPF TC 인그레스 가드, CO-RE 탐지기, 검증된 로더, C11 VMM 실행 감독기

저장소 보기

csumguard

CI Status Language Sanitizers License

CVE-2026-99999에 대한 임시 패킷 허용 가드 및 감독형 런처입니다.

호스트 커널이 skb_checksum_help에 도달하기 전에 VM의 TAP 인터페이스에서 위험한 게스트 트래픽을 차단합니다. 해석형 스크립트 없이 순수 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"]

Supervisor 수명 주기 및 격리

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.cTC 인그레스에서의 헤더 전용 분류기. 표준 TCP, UDP, ARP를 허용한다. 프래그먼트, 옵션, GSO, VLAN은 드롭한다. 26개의 per-CPU 카운터가 사유를 추적한다.
체크섬 탐지기detect_policy.h, csumguard_detect.bpf.c커널 내 CHECKSUM_PARTIAL 패킷을 추적하는 선택적 fentry 프로브. 의심스러운 오프셋에서 카운터를 증가시킨다. 절대 차단하지 않는다.
로더loader.c심볼릭 링크 공격을 방지하기 위해 /부터의 파일 경로를 검증한다. SHA-256 다이제스트를 확인하고, 인터페이스가 DOWN 상태인지 보장하며, clsact를 연결한다.
VMM 런처launch.c, launch_policy.h운영자 증거를 검증하고, 비루트 UID/GID로 권한을 낮추고, VMM을 시작하며, 연결을 모니터링한다. 필터가 드롭하면 VM을 일시 중지하고 종료한다.
영수증 원장launch.cFIPS 180-4 SHA-256 해시 체인 JSONL 레코드를 작성하는 비동기 스레드. 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을 작성하고 csumguard_launch 아래에서 VMM을 시작합니다:

/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는 첨부된 암호화 증거 참조자(SLSA v1.0 출처 증명, CycloneDX v1.6 SBOM, 검증 매트릭스)와 함께 OCI v1.1 아티팩트(application/vnd.csumguard.ebpf.v1)로 패키징되어 배포됩니다:

# 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

# Run AddressSanitizer and UndefinedBehaviorSanitizer
clang -std=c11 -O1 -g -fsanitize=address,undefined -DEGRESS_MTU=1500 -I. tests/test_policy.c -o /tmp/p_asan && /tmp/p_asan
clang -std=c11 -O1 -g -fsanitize=address,undefined -I. tests/test_launch.c -lpthread -o /tmp/l_asan && /tmp/l_asan
clang -std=c11 -O1 -g -fsanitize=address,undefined tests/send_frame.c -o /tmp/f_asan && /tmp/f_asan --self-test

저장소 구조

policy.h                  Packet admission parser and reason codes
detect_policy.h           Checksum partial predicate
launch_policy.h           Admission validator, 6D vector state, and SHA-256
csumguard_tc.bpf.c        TC ingress eBPF program
csumguard_detect.bpf.c    fentry/skb_checksum_help probe
loader.c                  libbpf loader and status reporter
launch.c                  VMM supervisor, quarantine engine, and receipt writer
tests/                    Offline C11 test suites and frame generator
testbed.sh                Lab veth test harness
docs/                     Runbook, admission spec, and CVE references
evidence/                 Verification logs and test records
promotion-gates.yaml      Gate statuses and target requirements

중요한 경계

도구 다운로드