
CVE-2026-20127에 대한 방어적 분석 및 탐지 지침을 제공하는 오프라인 브라우저 확장으로, Cisco SD-WAN에 대한 패킷 시각화, IOC 추출 및 완화 전략을 포함합니다.
CVE-2026-20127 방어적 컴패니언은 사전 예방적 위협 인텔리전스 및 방어 분석을 위해 설계된 프리미어급 엔터프라이즈 브라우저 확장 프로그램입니다. 이 도구는 Cisco Catalyst SD-WAN Controller(vSmart)의 인증 우회 취약점에 대한 권위 있는 기술 연구를 포함합니다. 오프라인, 완전히 지역화된 인텔리전스 레이어를 제공함으로써 보안 운영 센터(SOC) 및 방어 연구원이 활성 조사 데이터를 외부 네트워크에 노출하지 않고 패킷 구조를 신속하게 분석하고 인증 흐름을 추적하며 침해 지표(IOC)를 즉시 추출할 수 있도록 지원합니다.
Cisco Catalyst SD-WAN 아키텍처는 vdaemon 서비스를 사용하여 에지 디바이스와 컨트롤러 간의 제어 플레인 DTLS 연결을 설정하고 유지합니다. 기저 취약점(CVE-2026-20127)은 DTLS 핸드셰이크 시퀀스 중 상태 머신 검증 실패를 악용하며, 특히 vSmart 제어 트래픽과 관련된 포트(예: 12346, 52521)에 영향을 미칩니다. 이 취약점은 인증되지 않은 행위자가 X.509 인증서 검증을 우회하고 내부 컨트롤러 레지스트리 내에서 인증된 상태를 위조할 수 있도록 허용합니다.
이 프로젝트의 주요 목표는 원본 익스플로잇 리포지토리를 구조화된 교육 및 방어 자산으로 종합하는 것입니다. 연구는 vbond_proc_challenge_ack_ack() 인증 우회를 분석하고 일련의 대화형 시각화를 통해 제시하는 것을 목표로 합니다. 이를 통해 사이버 보안 전문가는 취약점의 정확한 메커니즘을 이해하고 강력한 탐지 로직을 구현하며 엔터프라이즈 SD-WAN 배포 전반에 걸쳐 포괄적인 완화 전략을 적용할 수 있습니다.
리포지토리는 인텔리전스 데이터, 핵심 UI 시각화 및 지능형 검색 로직을 분리하여 Chrome Manifest V3 아키텍처 제약 조건을 준수하도록 구성되어 있습니다.
src/knowledge): 원본 익스플로잇 연구에서 분석된 인텔리전스를 나타내는 정확히 17개의 분할 JSON 도메인을 포함합니다.src/services): 의도 탐지 및 의미론적 검색을 담당하는 오프라인 NLP KnowledgeEngine을 포함합니다.src/components, src/sidepanel): 동적 패킷 시각화 및 분석가 대시보드를 렌더링하는 React 기반 UI입니다.심층 분석 결과 취약점은 vdaemon(버전 20.12.5)의 주소 0x38AB7에 위치한 vbond_proc_challenge_ack_ack() 함수 내에 존재합니다. 핵심 결함은 메시지 본문에 제공된 verify_status 바이트에 대한 서버측 검증이 완전히 부재한다는 점입니다. 인증되지 않은 피어가 0이 아닌 verify_status를 가진 CHALLENGE_ACK_ACK 패킷을 보낼 때, vdaemon은 이 주장을 암묵적으로 신뢰하고 피어의 인증 상태 메모리에 1을 기록합니다(*(BYTE*)(a2+70) = 1).
제어 플레인에 대한 합법적인 DTLS 핸드셰이크는 다음과 같이 작동합니다:
msg_type=8(CHALLENGE)로 클라이언트에 도전(challenge)을 보냅니다.msg_type=9(CHALLENGE_ACK)로 응답합니다.msg_type=10(CHALLENGE_ACK_ACK)으로 종료합니다.악용된 프로토콜 흐름은 의도적으로 3단계를 건너뜁니다. 공격자는 CHALLENGE를 가로채고 즉시 위조된 CHALLENGE_ACK_ACK(msg_type=10)으로 응답합니다. vbond_proc_msg() 내의 인증 게이트가 msg_type=10을 사전 인증 필터링에서 제외하기 때문에 패킷이 취약한 핸들러에 도달하여 상태 머신을 손상시킵니다.
보안 팀은 활성 악용 시도를 탐지하기 위해 다음 이상 징후를 적극적으로 추적해야 합니다:
peer-vmanage-system-ip가 0.0.0.0인 control-connection-state-change 이벤트가 발생한 후 몇 초 이내에 상태가 down으로 전환되는 경우 경고합니다.vmanage-admin 사용자에 대해 TCP 포트 830(NETCONF)을 통해 예상치 못한 SSH 공개 키 수락이 발생하는 경우.vdaemon_peer_ssl_snapshot_info의 불일치로, 로컬 및 피어 인증서가 표준 프로비저닝과 일치하지 않는 방식으로 크게 다른 경우.방어자는 다음 수정 전략을 구현해야 합니다:
vbond_proc_challenge_ack_ack()에서 엄격한 상태 머신 검증을 시행하는 Cisco Catalyst SD-WAN Controller를 버전 20.12.6.1 이상으로 즉시 업그레이드합니다.vmanage-admin 계정의 authorized_keys 파일에 대한 모든 수정 사항에 대해 엄격한 경고를 구현합니다.확장 프로그램은 리포지토리에서 추출된 17개의 특정 도메인을 인덱싱하는 맞춤형 오프라인 지식 엔진을 구현합니다. 엔진은 브라우저 내에서 완전히 로컬로 작동하며 다단계 자연어 처리(NLP) 파이프라인을 사용합니다:
Detection 도메인에 매핑).이 솔루션은 Manifest V3를 통한 분산 비동기 아키텍처에 크게 의존합니다:
chrome.storage.local을 사용하여 확장 프로그램 상태와 설정을 유지합니다.@vitejs/plugin-react)확장 프로그램은 신속한 배포와 원활한 분석가 워크플로우를 위해 고도로 최적화되었습니다:
Set<string>)을 구축하여 런타임 검색 대기 시간을 서브 밀리초 범위로 줄입니다.background.js 서비스 워커를 무거운 sidepanel.js UI 번들에서 분리하여 메모리 사용량을 절약합니다.보안과 데이터 프라이버시는 이 도구의 기초입니다:
manifest.json은 엄격히 필요한 권한만 요청합니다(activeTab, sidePanel, storage).unsafe-eval 및 원격 스크립트 실행을 완전히 금지하는 엄격한 CSP를 적용합니다.npm install
npm run build
npm run dev
dist/ 디렉토리를 생성합니다.chrome://extensions/로 이동합니다.dist/ 디렉토리를 지정합니다.ext/
├── public/ # 정적 자산 및 manifest.json
├── src/
│ ├── background/ # 서비스 워커 스크립트
│ ├── components/ # React 컴포넌트 (ProtocolViewer, PacketExplorer, Chat)
│ ├── content/ # DOM 스캐닝 및 활성 위협 강조 스크립트
│ ├── knowledge/ # 추출된 CVE 데이터를 포함하는 17개의 분할 JSON 도메인
│ ├── options/ # 확장 프로그램 설정 및 보고서 생성기 로직
│ ├── services/ # 오프라인 KnowledgeEngine NLP 구현
│ └── sidepanel/ # 분석가를 위한 기본 지속적 작업 공간
├── package.json # Node.js 종속성 및 스크립트 정의
├── tsconfig.json # 엄격한 타입 지정을 위한 TypeScript 구성
└── vite.config.ts # Vite 빌드 구성