Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-31431-detection-defense — CVE-2026-31431에 대한 연구 및 탐지 지침으로, syscall 모니터링을 우회하는 io_uring 기반 기법입니다. Tetragon, Falco, Wazuh용 탐지 규칙과 강화 전략을 제공합니다. | Kitploit
도구/GitHubGitHub/detect-defenselab/cve-2026-31431-detection-defense
Defensive ToolsContainer SecurityVulnerability AnalysisExploitationIntrusion Detection
GitHubdetect-defenselab/cve-2026-31431-detection-defense

CVE-2026-31431-detection-defense

CVE-2026-31431에 대한 연구 및 탐지 지침으로, syscall 모니터링을 우회하는 io_uring 기반 기법입니다. Tetragon, Falco, Wazuh용 탐지 규칙과 강화 전략을 제공합니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
84개월 전아직 검토되지 않음

CVE-2026-31431: 기존 탐지를 우회하는 io_uring에 대한 탐지 및 방어

저자: fz0x00, qiwuSEC

연구

CVE-2026-31431("Copy Fail")에 대해, 우리는 세 가지 우회 전략을 결합하여 주류 보안 제품의 체계적인 취약점을 입증했습니다: io_uring 비동기 I/O 경로, 프로세스 분할(fork + SCM_RIGHTS), 그리고 소켓 재사용. 실증 테스트를 통해 이러한 기법이 사실상 모든 syscall 기반 탐지 도구를 회피할 수 있음을 증명했습니다.

주요 발견 사항

1. io_uring은 사실상 모든 Syscall 기반 탐지를 우회함

io_uring은 공유 메모리 링 버퍼를 통해 요청을 제출하여 기존 syscall 진입점을 우회합니다. 이는 다음을 의미합니다:

  • auditd / Wazuh / Elastic Security Agent 및 기타 syscall 감사에 의존하는 제품은 공격자가 io_uring 경로를 사용할 때 완전히 눈이 멀게 됩니다 — 이벤트 0건, 알림 0건
  • io_uring 워커 스레드(iou-wrk-XXXXX)는 audit_syscall_entry()를 트리거하지 않고 커널 내부에서 작업을 실행합니다
  • socket(AF_ALG)만 차단하는 Seccomp 정책은 IORING_OP_SOCKET을 통해 우회될 수 있습니다 — seccomp는 syscall 진입 시에만 확인하며, io_uring 작업은 해당 진입점을 거치지 않습니다

2. 프로세스 분할은 PID 수준 상관관계를 깨뜨림

fork + SCM_RIGHTS(Unix 도메인 소켓 fd 전달)를 사용하면 소켓 생성과 splice 작업을 서로 다른 프로세스에 배치할 수 있습니다:

  • Wazuh의 same_field(audit.pid) 상관관계가 깨집니다 — 소켓 PID ≠ splice PID, CRITICAL 규칙이 발동하지 않음
  • Falco libsinsp의 프로세스 수준 fd 추적은 SCM_RIGHTS 시나리오에서 완전히 깨집니다

3. 소켓 재사용은 카운트 임계값 규칙을 우회함

원래 PoC는 반복마다 새 소켓을 생성합니다(40개 이상의 socket(AF_ALG) 호출 생성). 소켓 재사용은 수신 소켓 하나만 생성하며, 루프는 accept()를 호출하므로 새 소켓 이벤트가 생성되지 않습니다. count >= N 기반 규칙은 완전히 무력화됩니다.

4. 탐지하기 가장 어려운 변형 조합

root@kitploit:~
io_uring 경로 + splice + /etc/passwd + authenc 알고리즘 + SCM_RIGHTS 분할 + 소켓 재사용

이 조합에서는: syscall 기반 도구는 완전히 눈이 멀고, 프로세스 수준 상관관계는 깨지며, 카운트 임계값은 실패합니다. kprobe 수렴점 탐지만이 이 조합을 잡아낼 수 있습니다.

5. LSM 수준 모니터링은 악용을 완벽하게 탐지할 수 있음

__sock_create(family=38)은 모든 경로(syscall 및 io_uring)에 대한 우회 불가능한 수렴점입니다 — AF_ALG는 Linux 커널에서 유일한 사용자 공간 암호화 API입니다. 공격자가 접근 방식을 어떻게 바꾸든 AF_ALG 소켓을 생성해야 합니다. LSM 수준에서 이 함수를 모니터링하면 100% 재현율을 제공하며 어떤 변형에도 영향을 받지 않습니다.

제품별 테스트 결과

Falco에는 krsi 플러그인이 필요함

Falco의 기본 modern_ebpf 드라이버는 syscall 경로만 캡처합니다. krsi 플러그인이 필요합니다 — 이 플러그인은 io_socket() 및 __sys_socket() 커널 함수 종료에 대한 fexit 추적을 사용하여 AF_ALG 소켓 생성의 io_uring 경로를 커버합니다. 권장 폴백 규칙:

root@kitploit:~
- rule: AF_ALG Socket Created
  condition: >
    (evt.type = socket and evt.args contains AF_ALG) or
    (evt.type = krsi_socket and krsi.domain = 38)
  output: >
    AF_ALG socket created (source=%evt.type domain=%evt.arg.domain
    krsi_domain=%krsi.domain proc=%proc.name pid=%proc.pid)
  priority: WARNING
  tags: [cve-2026-31431, crypto, container_escape]

권장 규칙의 탐지 접근 방식: socket 이벤트(syscall 경로, evt.args contains AF_ALG 문자열 매칭을 사용하여 ENUMFLAGS32 유형 제한 우회)와 krsi_socket 이벤트(io_uring 경로, krsi.domain = 38 정수 비교 사용)를 동시에 커버합니다. 카운트 임계값 없음(소켓 재사용으로 무력화됨), PID 상관관계 의존성 없음(다중 프로세스 분할로 무력화됨).

참고: 커뮤니티 ThreatBear 규칙의 세 가지 방어 계층은 모두 우회 가능합니다 — ENUMFLAGS32 유형 불일치(evt.arg[0]=38 항상 false), 소켓 재사용이 카운트 임계값 무력화(count=1 < 40), 다중 프로세스 분할이 PID 상관관계 손상. 규칙 우회 분석 참조.

Wazuh / Elastic Security Agent는 io_uring 악용을 탐지할 수 없음

Wazuh는 전적으로 auditd의 syscall 감사 이벤트에 의존합니다. io_uring 작업은 syscall 진입점을 거치지 않으므로 auditd는 이벤트를 생성하지 않으며 모든 7개 Wazuh 규칙이 실패합니다. Elastic Security Agent에도 동일하게 적용됩니다 — syscall 진입점 의존 제품은 구조적으로 io_uring 경로에 대해 블라인드입니다. Wazuh 한계 분석 참조.

우회 데모

bypass_demo/ 디렉토리에는 탐지 우회 접근 방식에 대한 개념적 설명이 포함되어 있습니다. 실제 PoC 코드는 내부 전용이며 공개적으로 배포되지 않습니다.

문서 색인

이론

문서내용
VULNERABILITY.md근본 원인 — 세 가지 커널 변경 사항의 중첩, 9단계 공격 체인, 페이지 캐시 쓰기 특성

탐지 솔루션

강화

문서내용
defense/HARDENING.md3계층 방어 모델: 커널 구성 → seccomp → 사용자 네임스페이스; Docker 29.4.2 보안 분석
도구 다운로드
제품탐지 계층기존 Syscallio_uring 경로다중 프로세스 분할소켓 재사용평가
Tetragon (kprobe)커널 함수✅✅✅✅유일한 전체 체인 커버리지
Falco + krsi 플러그인fexit/fentry✅✅✅✅io_uring에 krsi 필요; 진입 전용
Falco (modern_ebpf)syscall tracepoint✅❌✅✅io_uring 완전히 보이지 않음
auditd / Wazuhsyscall 감사✅❌❌ PID 손상⚠️io_uring 블라인드 + PID 상관관계 손상
Elastic Security Agentsyscall✅❌⚠️⚠️Wazuh와 동일; syscall 의존 = 블라인드
EXPLOIT_VARIANTS.md
6가지 악용 변형 차원 — I/O 경로 × 데이터 제출 × 대상 파일 × AEAD 알고리즘 × 프로세스 분할 × 소켓 재사용
DETECTION_THEORY.md탐지 이론 — 수렴점 vs. 발산점, 4계층 탐지 아키텍처, 다중 신호 시간 상관관계
문서내용
detection/tetragon.md권장 — Tetragon kprobe, 기존 + io_uring을 커버하는 5개 프로브, 유일한 전체 체인 탐지
detection/falco.mdFalco 0.40.0 + krsi 0.1.0 구성 가이드, krsi 내부 구조, 문제 해결
detection/wazuh.mdWazuh + auditd의 세 가지 주요 한계: io_uring 블라인드, PID 상관관계 붕괴, 페이지 캐시 비가시성
detection/rule_bypass.mdThreatBear 규칙 우회 원리, 권장 규칙의 안티 우회 실증 검증