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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
FRAGNESIA-Charan-cve-2026-46300 — 하드닝된 컨테이너 스테이징 프레임워크로, seccomp 시스템 콜 화이트리스트와 eBPF 텔레메트리를 통해 컨테이너 탈출 및 커널 ULP 손상 시도를 탐지하고 차단합니다. | Kitploit
도구/GitHubGitHub/azdevops143/fragnesia-charan-cve-2026-46300
Container SecurityVulnerability AnalysisExploitationCloud SecurityIntrusion DetectionLearning & Education
GitHubazdevops143/fragnesia-charan-cve-2026-46300

FRAGNESIA-Charan-cve-2026-46300

하드닝된 컨테이너 스테이징 프레임워크로, seccomp 시스템 콜 화이트리스트와 eBPF 텔레메트리를 통해 컨테이너 탈출 및 커널 ULP 손상 시도를 탐지하고 차단합니다.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

Charantej 아키텍처: 강화된 컨테이너 스테이징 및 시스템 콜 원격 측정 연구소

엔터프라이즈급, 심층 방어 컨테이너 격리 및 런타임 보안 원격 측정 프레임워크. Cisco 수석 사이버보안 아키텍트의 관점에서 설계된 Charantej 아키텍처는 스테이징 런타임을 격리하고, 시스템 콜 표면을 제한하며, 호스트 수준 감사를 사용하여 실시간 커널 원격 측정을 계측함으로써 현대 리눅스 컨테이너 배포를 보호합니다.


High-Level Design (HLD)

Charantej 아키텍처는 격리, 최소 권한 격리 및 대역 외 모니터링을 적용하여 보안 경계가 호스트 커널 손상 벡터에 대해 탄력적으로 유지되도록 보장합니다.

root@kitploit:~
flowchart TD
    subgraph HostOS ["호스트 OS (보안 리눅스 노드)"]
        subgraph Docker ["도커 컨테이너 런타임"]
            App["감사된 앱 네임스페이스"]
        end
        
        subgraph Auditor ["호스트 감사기 (Falco 엔진)"]
            eBPF["eBPF 프로브"]
        end
        
        Kernel["호스트 리눅스 커널"]
    end
    
    SIEM["SIEM / 로그 저장소"]

    App -->|시스템 콜| Kernel
    Kernel -->|추적 이벤트| eBPF
    eBPF --> Auditor
    Auditor -->|원격 측정 로그| SIEM
    
    style HostOS fill:#1e1e1e,stroke:#333,stroke-width:2px
    style Docker fill:#2a2a2a,stroke:#007bff,stroke-width:2px
    style Auditor fill:#2a2a2a,stroke:#dc3545,stroke-width:2px
    style Kernel fill:#333,stroke:#ffc107,stroke-width:2px
    style SIEM fill:#1e1e1e,stroke:#28a745,stroke-width:2px,stroke-dasharray: 5 5

신뢰 경계

  1. 컨테이너 런타임 샌드박스: 컨테이너 네임스페이스는 엄격하게 권한이 없는 사용자로 실행되며, 모든 기본 리눅스 기능(CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_NET_RAW 등)을 제거하여 원시 시스템 수준 네트워크 조작을 차단합니다.
  2. 시스템 콜 허용 목록: 사용자 정의 Secure Computing Mode (seccomp) 프로필이 컨테이너화된 프로세스와 호스트 커널 사이의 게이트키퍼 역할을 하여 위험한 소켓 또는 네임스페이스 변경 시스템 콜에 대한 액세스를 방지합니다.
  3. 대역 외 계측: 이벤트 감사는 eBPF 추적 프로브를 통해 호스트 수준에서 대역 외로 실행됩니다. 이는 컨테이너 런타임이 손상되더라도 원격 측정 로깅이 컨테이너 컨텍스트 내에서 변조되거나 비활성화될 수 없도록 보장합니다.

Low-Level Design (LLD)

저수준 설계는 운영상의 시스템 콜 검증 논리, 필터 경로 및 커널 경계 내의 모니터링 엔드포인트를 정의합니다.

root@kitploit:~
flowchart TD
    subgraph ContainerSpace ["컨테이너 네임스페이스 (사용자 공간)"]
        App["감사된 프로세스"]
    end

    subgraph SeccompBoundary ["Seccomp 시스템 콜 필터 경계"]
        Syscall["시스템 콜 호출"]
        Filter{"시스템 콜이 허용 목록에 있는가?"}
        Block["SCMP_ACT_ERRNO (차단 및 실패)"]
        Allow["허용 및 통과"]
    end

    subgraph KernelSpace ["리눅스 호스트 커널 공간"]
        Handler["시스템 콜 처리기"]
        Subsystem["대상 하위 시스템 (예: 네트워크/메모리)"]
    end

    subgraph TelemetryLayer ["호스트 감사 계층"]
        eBPF["eBPF 프로브 계측"]
        Falco{"이벤트가 규칙과 일치하는가?"}
        Alert["syslog 로그 / SIEM 알람"]
    end

    App -->|1. 시스템 콜 호출| Syscall
    Syscall --> Filter
    Filter -->|아니오: 예: setsockopt/socket| Block
    Filter -->|예: 예: read/write| Allow
    Allow --> Handler
    Handler --> Subsystem
    Handler -->|2. 실행 추적| eBPF
    eBPF --> Falco
    Falco -->|예| Alert

Charantej 아키텍처는 보안 경계를 적용하기 위해 서로 연결된 세 가지 구성 계층으로 구성됩니다.

1. 강화된 컨테이너 스테이징 (컨테이너 런타임)

오케스트레이션 구성은 런타임 플래그를 통해 다음과 같은 보안 제어를 직접 구현합니다:

  • --cap-drop=ALL: 모든 기본 리눅스 커널 기능을 제거하여 컨테이너가 낮은 수준의 관리 권한을 얻지 못하도록 방지합니다.
  • --security-opt no-new-privileges:true: setuid 또는 setgid 바이너리를 통해 자식 프로세스가 부모 프로세스보다 더 많은 권한을 얻지 못하도록 방지합니다.
  • --security-opt seccomp=seccomp-profile.json: 허용 목록 기반 시스템 콜 필터링을 구현합니다.

2. 시스템 콜 허용 목록 게이트키퍼 (seccomp-profile.json)

기본적으로 Docker의 seccomp 필터는 광범위한 시스템 콜 목록을 허용합니다. Charantej 아키텍처는 이를 기본 프로세스 실행에 필요한 절대 최소로 제한합니다:

  • 기본 동작 (SCMP_ACT_ERRNO): 프로필에 명시적으로 허용되지 않은 모든 시스템 콜을 차단합니다.
  • 허용된 시스템 콜: 기본 운영 프리미티브(예: read, write, exit, exit_group, futex, nanosleep, mmap, munmap, mprotect, close)만 허용합니다.
  • 차단된 벡터: socket 조작, setsockopt 네트워크 변경, 네임스페이스 참여(setns), 기능 집합(capset)을 명시적으로 차단하여 권한 없는 로컬 권한 상승(LPE) 시도를 무력화합니다.

3. eBPF 원격 측정 추적 (개념적)

호스트 수준 추적 규칙은 프로세스 및 시스템 콜 경계를 개념적으로 모니터링합니다:

  • Det_Anomalous_Networking: 소켓 옵션을 감사하고 컨테이너화된 프로세스가 상위 계층 프로토콜 또는 ULP 속성(TCP_ULP optname)을 수정하려고 시도하면 즉시 CRITICAL ALERT를 플래그합니다.
  • Container_Privilege_Escalation_Attempt: 네임스페이스 참여(setns) 또는 기능 집합(capset) 수정에 대한 권한 없는 시도를 경고합니다.

라이브 익스플로잇 데모 (CVE-2026-46300 "Fragnesia")

이 저장소에는 CVE-2026-46300에 대한 라이브 익스플로잇 시뮬레이션이 포함되어 있어 Charantej 아키텍처의 효과를 실제로 보여줍니다. 이 익스플로잇은 두 가지 벡터를 시도합니다:

  1. 네임스페이스 이스케이프: setns()를 사용하여 호스트 마운트 네임스페이스를 하이재킹하려고 시도합니다.
  2. 커널 ULP 손상: setsockopt(TCP_ULP)를 통해 권한 없는 ULP 메모리 조작을 시도합니다.

익스플로잇 테스트 실행

헬퍼 스크립트가 제공되어 자동으로 익스플로잇을 빌드하고, 완화되지 않은 컨테이너(취약한 시스템을 나타냄)와 Charantej로 보호된 컨테이너에 대해 실행합니다.

  1. Docker가 실행 중인지 확인합니다.
  2. 테스트 스크립트를 실행합니다:
    root@kitploit:~
    bash run_exploit.sh
    

예상 결과

1. 완화되지 않은 환경 (익스플로잇 단계)

익스플로잇이 setns()와 setsockopt()를 모두 성공적으로 실행하여 "VULNERABLE" 상태를 보고합니다.

root@kitploit:~
sequenceDiagram
    participant App as 권한 없는 앱 (Fragnesia 페이로드)
    participant Cap as 기능 확인 (커널)
    participant NS as /proc/self/ns/mnt (호스트 네임스페이스)
    participant Sys as 시스템 콜 인터페이스
    participant ULP as 커널 ULP 메모리

    Note over App,ULP: 1단계: 네임스페이스 하이재킹
    App->>Cap: 1. setns(FD, 0)
    Cap-->>App: 허용됨 (cap_drop 없음)
    App->>NS: 호스트 네임스페이스 하이재킹
    NS-->>App: 성공: 컨테이너 격리 우회

    Note over App,ULP: 2단계: ULP 메모리 손상 (CVE-2026-46300)
    App->>Sys: 2. socket(AF_INET, SOCK_STREAM, 0)
    Sys-->>App: FD 할당됨
    
    App->>ULP: 3. setsockopt(FD, IPPROTO_TCP, TCP_ULP, "tls")
    Note right of ULP: 권한 없는 메모리 수정 시도
    ULP-->>App: 성공: 악성 페이로드 주입됨
    Note over App,ULP: 영향: 호스트 커널 메모리 손상됨!

2. Charantej 보호 환경 (완화 단계)

익스플로잇이 차단됩니다. setns()는 기능 드롭(EPERM)에 의해 차단되고, socket() / setsockopt()는 Seccomp 시스템 콜 필터 경계(또는 실행 프로필에 따른 기능 드롭)에 의해 명시적으로 무력화되어 "BLOCKED" 상태를 보고합니다. 이는 Fragnesia 페이로드가 실행되더라도 Charantej 아키텍처가 호스트를 익스플로잇으로부터 안전하게 격리함을 확인합니다.

root@kitploit:~
sequenceDiagram
    participant App as 권한 없는 앱 (Fragnesia 페이로드)
    participant Cap as 기능 드롭 (ALL)
    participant NS as /proc/self/ns/mnt (호스트 네임스페이스)
    participant Sec as Seccomp 필터 경계
    participant ULP as 커널 ULP 메모리

    Note over App,ULP: 1단계: 네임스페이스 하이재킹 시도
    App->>Cap: 1. setns(FD, 0)
    Cap-->>App: 차단됨 (EPERM - 작업이 허용되지 않음)
    Note left of Cap: 방어 트리거됨: 네임스페이스 이스케이프 무력화됨
    
    Cap-xNS: 호스트 네임스페이스에 도달할 수 없음

    Note over App,ULP: 2단계: ULP 메모리 손상 시도
    App->>Sec: 2. socket() / setsockopt(TCP_ULP)
    Sec-->>App: 차단됨 (EPERM - 작업이 허용되지 않음)
    Note left of Sec: 방어 트리거됨: 소켓 작업 무력화됨
    
    Sec-xULP: 커널 ULP 컨텍스트에 도달할 수 없음
    
    Note over App,ULP: 영향: 익스플로잇이 완전히 격리됨. 호스트는 안전합니다!
도구 다운로드