얼마 전 고객사 보안 점검을 하다 꽤 난감한 상황을 목격했습니다. 방화벽 로그는 깨끗했고, IDS 경보도 하나 없었는데 알고 보니 몇 달째 내부 서버에서 외부 C2 서버로 데이터가 조금씩 빠져나가고 있었습니다. 담당 엔지니어가 억울하다는 표정으로 한마디 했습니다. "TLS 트래픽인데 어떻게 알 수 있냐"고요. 틀린 말은 아닙니다. 그런데 그게 답이 될 수는 없죠.
지금 인터넷 트래픽의 95% 이상은 TLS 1.3, QUIC, HTTPS로 암호화돼 있습니다. 사용자 입장에선 좋은 일입니다. 그런데 방어자 입장에서 이건 양날의 검입니다. 공격자들도 똑같이 암호화 채널을 은신처로 씁니다. 현대 사이버 공격의 85% 이상이 탐지를 피하려고 암호화 트래픽을 적극 활용한다는 분석도 있을 정도입니다.
오늘은 이 '가시성 공백' 문제를 복호화 없이 어떻게 풀 수 있는지, 현장에서 실제로 통하는 접근법이 뭔지 이야기해 보겠습니다.
🔍 DPI는 왜 눈을 감았나
10여 년 전만 해도 심층 패킷 검사(DPI)가 보안의 핵심이었습니다. 패킷 내용물을 직접 열어보고 악성 시그니처를 찾는 방식이었는데, 솔직히 당시엔 꽤 잘 작동했습니다.
그런데 TLS 1.3이 나오면서 상황이 바뀌었습니다. 핸드셰이크 단계부터 상당 부분이 암호화되고, QUIC 프로토콜은 전송 계층 필드까지 봉인해 버렸습니다. DPI가 볼 수 있는 영역이 급격히 줄어들었죠.
자연스럽게 'SSL Inspection'이 대안으로 떠올랐습니다. 트래픽을 잠깐 풀었다가 다시 암호화하는 방식인데, 실제 현업에서 도입하려다 보면 벽이 세 개 있습니다.
성능 문제가 첫 번째입니다. 복호화-재암호화는 CPU를 꽤 잡아먹습니다. 대규모 트랜잭션 환경이나 클라우드 네이티브 서비스에서는 네트워크 지연으로 직결됩니다. 실제로 금융사 프로젝트에서 SSL Inspection 장비 올리고 나서 레이턴시가 튀는 걸 직접 본 적 있습니다.
컴플라이언스도 걸립니다. GDPR이나 개인정보보호법 관점에서 임직원의 웹 서핑이나 금융 거래 정보가 중간에 평문으로 노출되는 건 법적 리스크가 상당합니다. 사내망이라도 예외가 없습니다.
마지막이 **인증서 고정(Certificate Pinning)**입니다. WhatsApp 같은 보안 강화 앱들은 중간자 복호화 시도를 감지하면 연결을 그냥 끊어버립니다. 이걸 해결하려다 업무용 앱이 줄줄이 먹통이 되는 경험, 한 번씩은 다들 있을 겁니다.
결국 복호화에 기대는 전략은 점점 좁아지는 골목입니다.
🔎 봉투를 뜯지 않고도 스팸을 구분하는 법
그럼 복호화 없이 어떻게 위협을 잡느냐. 이게 암호화 트래픽 분석(ETA)의 핵심 질문입니다.
ETA는 패킷 내용물 대신, 트래픽이 남기는 통계적 '흔적'을 분석합니다. 비유하자면 이렇습니다. 우편물 봉투를 뜯지 않아도, 우체국 소인 간격과 봉투 무게만으로 그게 스팸인지 직접 쓴 편지인지 유추하는 것과 같은 원리입니다.
가장 중요한 지표가 패킷 크기와 도착 간격(SPLT, IDT)입니다. 사람이 웹 브라우징할 때는 클릭에 따라 패킷 간격이 불규칙합니다. 반면 내부망에 심어진 악성코드가 C2 서버와 통신할 때는 '비컨(Beaconing)'이라는 규칙적인 신호를 보냅니다. "30초마다 정확히 50바이트"처럼 기계적 패턴이 나옵니다. 이건 암호화 여부와 상관없이 드러납니다.
바이트 엔트로피도 활용합니다. 평범한 텍스트 전송과 압축된 악성 실행 파일(.exe)은 데이터 밀도에서 차이가 납니다. 암호화된 겉면 데이터의 무작위성을 분석하면 세션이 뭘 담고 있는지 꽤 높은 확률로 추론이 됩니다.
TLS 핸드셰이크 자체에서도 정보가 나옵니다. 갓 등록된 의심 도메인으로의 접속, 셀프 서명 인증서 사용, DNS over HTTPS를 악용한 DNS 터널링 시도 같은 것들이 여기서 잡힙니다.
🧬 JA3는 죽었다, JA4+의 시대
TLS 지문 이야기를 빠뜨릴 수 없습니다.
Chrome이든 Cobalt Strike든 TLS 핸드셰이크 과정에서 고유한 '지문'을 남깁니다. 어떤 암호화 제품군(Cipher Suites)을 어떤 순서로 제시하는지가 애플리케이션마다 다릅니다. 이걸 MD5 해시로 만들어 식별하는 게 JA3였고, 오래도록 업계 표준이었습니다.
그런데 공격자들이 허점을 발견했습니다. 암호화 제품군 순서만 조금 바꿔도 해시값이 완전히 달라지는 겁니다. 공격 툴들이 기본 기능으로 순서를 매번 무작위로 섞기 시작하면서 JA3 탐지가 흔들렸습니다.
이 문제를 해결하려고 FoxIO가 만든 게 **JA4+**입니다. 핵심 아이디어는 단순합니다. 암호화 제품군과 확장 속성을 알파벳순으로 먼저 정렬한 뒤 해시를 생성하는 겁니다. 공격자가 아무리 순서를 섞어도, 정렬 후 해시는 동일하게 나옵니다. 회피 기법을 원천 무력화하는 거죠.
위협 인텔리전스 플랫폼 GreyNoise가 JA4를 적용했을 때 극적인 결과가 나왔습니다. JA3 환경에서는 서로 무관해 보이던 수천 건의 스캐닝 공격이, JA4 분석에서 동일 해커 조직의 단일 캠페인이라는 게 드러난 겁니다. JA4+는 이제 클라이언트 지문(JA4)에서 서버 응답(JA4S), HTTP 헤더(JA4H), SSH 트래픽(JA4SSH)까지 포괄하는 생태계로 진화하고 있습니다.
🤖 AI 탐지율 99%는 실험실 이야기입니다
NDR 벤더들이 "99% 탐지율"을 내세울 때, 약간 냉정하게 볼 필요가 있습니다.
학술 연구용 데이터셋(CICIDS 2018 같은 깔끔하게 정제된 것)에서 99% 이상 나오던 모델이, 실제 기업 네트워크 환경(CTU-13 등)에 올리면 55% 수준으로 떨어지는 경우가 흔합니다. 이걸 도메인 일반화(Domain Generalization) 문제라고 부릅니다. 연구실 환경과 실무 환경의 괴리가 그만큼 크다는 뜻입니다.
솔직히 말하면, AI 솔루션 도입 자체보다 더 중요한 게 있습니다. 바로 우리 네트워크 고유의 정상 기준선(Baseline)을 지속적으로 재학습시키는 파이프라인입니다. 알고리즘이 얼마나 훌륭한지보다, 우리 환경의 노이즈에 맞게 꾸준히 튜닝하는 과정이 실제 탐지율을 결정합니다.
솔루션 설치하고 기본 설정으로 켜두면 끝이라는 생각은 버려야 합니다.
📉 경보가 너무 많으면 진짜 위협을 놓칩니다
사회공학적 침해 사고의 13%가, 보안 시스템이 이미 경보를 발생시켰음에도 분석가가 피로에 지쳐 무시했기 때문에 발생했다. — Palo Alto Unit 42, 2025 글로벌 사고 대응 보고서
이 수치가 충격적인 이유는 시스템의 실패가 아니라 사람의 번아웃이 원인이기 때문입니다. SOC에서 하루에 수만 건 경보가 쏟아지면 감각이 무뎌집니다. 공격자들은 이걸 역이용합니다. 더미 트래픽을 잔뜩 뿌려서 분석가를 지치게 만든 뒤 진짜 공격을 숨기는 전술이 실제로 있습니다.
해법은 두 가지입니다. SOAR로 반복 작업을 자동화해서 인간 분석가가 고위험 사안에만 집중하게 하고, XDR로 여러 솔루션의 중복 경보를 하나로 묶어서 소음을 줄이는 겁니다. 아무리 좋은 탐지 엔진도 운영 체계가 받쳐주지 않으면 사실상 무용지물입니다.
⚡ eBPF: 커널에서 읽는 가장 가벼운 감시망
방화벽 남-북(North-South) 트래픽은 어느 정도 볼 수 있습니다. 문제는 공격자가 내부망 단말 하나를 점령하고 다른 서버로 이동하는 횡적 이동(East-West) 입니다. 이건 경계 방어에서 보이지 않습니다.
여기서 요즘 많이 주목받는 기술이 **eBPF(Extended Berkeley Packet Filter)**입니다. 리눅스 커널 샌드박스 안에서 직접 동작하는 가벼운 프로그램인데, 에이전트 설치도 코드 수정도 없이 커널에 동적으로 삽입됩니다. CPU 오버헤드가 1~2% 수준이라 성능에 민감한 서버에 올려도 부담이 없습니다.
TCP 핸드셰이크 레이턴시, 비정상적인 포트 스캐닝, C2 서버와의 은밀한 연결 시도를 커널 레벨에서 실시간으로 잡아냅니다. 특히 에이전트 설치 자체가 불가능한 IoT·OT 환경에서는 eBPF 기반 트래픽 분석이 거의 유일한 가시성 확보 수단이기도 합니다. CCTV 같은 임베디드 기기나 스마트 팩토리 장비를 생각해보면 이해가 될 겁니다.
🚨 2026년 9월까지 준비해야 하는 것
마지막으로 규제 이야기를 빠뜨릴 수 없습니다. 미국 행정명령(EO 14028)이 연방기관과 공급망 전체에 제로 트러스트 아키텍처를 강제하는 건 이미 알고 계실 겁니다. 제로 트러스트는 "보이지 않는 트래픽을 가시화하는 기술" 없이는 성립 자체가 안 됩니다.
그보다 더 급한 게 있습니다. **EU 사이버 복원력 법안(CRA)**이 2024년 12월 발효됐고, 2026년 9월 11일부터 핵심 의무 사항이 본격 적용됩니다. 디지털 요소가 포함된 제품에서 취약점이 적극적으로 악용되거나 보안 인시던트가 발생하면, 24시간 이내에 ENISA에 보고해야 합니다. 72시간 내에는 상세 내용까지 제출해야 하고요.
24시간 룰을 지키려면 네트워크 내부에서 무슨 일이 일어나는지 실시간으로 파악하는 자동화 파이프라인이 그 전에 이미 갖춰져 있어야 합니다. IoT·OT 환경은 에이전트를 설치할 수 없으니, 결국 트래픽 기반 NDR이 규제 준수의 현실적인 답입니다. 준비 시간이 많지 않습니다.
마치며
암호화는 좋은 기술입니다. 다만 그게 공격자의 은신처가 되는 현실도 함께 받아들여야 합니다.
무거운 복호화 대신, ETA로 트래픽의 통계적 흔적을 읽고, JA4+로 공격 도구의 지문을 추적하고, eBPF로 커널 깊숙이 들여다보고, ML 엔진을 우리 환경에 맞게 지속 학습시키는 조합이 현실적인 방향입니다. 어느 하나만으로는 부족하고, 이것들을 어떻게 엮느냐가 실제 방어력을 결정합니다.
"우리 망은 암호화돼 있어서 안전하다"는 말이 가장 위험한 착각 중 하나입니다. 이미 안에 들어온 공격자도 똑같이 암호화 채널을 씁니다.
지금 여러분 조직의 SOC는 암호화된 트래픽 속 위협을 얼마나 선명하게 보고 있나요?
'BLOGGER' 구독하기
사이트를 구독하면 새 포스트 등 최신 업데이트를 알림과 메일로 가장 먼저 받아보실 수 있습니다.
Slashpage에 가입하고 'BLOGGER'을 구독하세요!