BLOG
Tracefield · 02
Tracefield · 01
블로그 · 14
Vibe Audit · 04
Vibe Audit · 03
Vibe Audit · 02
Vibe Audit · 01
출판편집자 · 01
StudyTree · 01
SecurityOps · 02
SecurityOps · 01
AI챗봇 · 04
AI챗봇 · 03
AI챗봇 · 02
AI챗봇 · 01
퍼플심 · 04
퍼플심 · 03
퍼플심 · 02
퍼플심 · 01
블로그 · 13
rootscan · 07
rootscan · 06
블로그 · 12
블로그 · 11
블로그 · 10
블로그 · 09
블로그 · 08
블로그 · 07
블로그 · 06
블로그 · 05
블로그 · 04
블로그 · 03
블로그 · 02
블로그 · 01
rootscan · 05
rootscan · 04
rootscan · 03
asmspeak · 03
asmspeak · 02
rootscan · 02
asmspeak · 01
rootscan · 01
웹보안도구 · 02
웹보안도구 · 01
루트캠프 · 02
루트캠프 · 01
All notes 167
Secret 탐지의 한계와 엔트로피(Entropy)
코드에 하드코딩된 API 키, 비밀번호, 인증서 같은 Secret은 공격자가 가장 먼저 노리는 대상이다. Secret Scanning 도구는 이런 값을 찾기 위해 돌아가지만, 현실에서는 여전히 오탐과 미탐 사이에서 균형을 잡아야 한다. 그 이유가 탐지 방식 자체에 있다.
1. 정규표현식(Regex) 기반 탐지
가장 전통적인 방식은 패턴 매칭이다. 형식이 뚜렷한 키는 이 방식으로 잘 잡힌다.
AKIA[0-9A-Z]{16}
AWS Access Key처럼 규칙이 분명한 문자열은 정규표현식으로 잘 잡힌다. 문제는 패스워드처럼 형식이 제각각인 값이다. password = "1234"와 password_label = "Password input"을 구분하기가 쉽지 않다.
2. 섀넌 엔트로피(Shannon Entropy)
형식이 없는 랜덤 문자열은 패턴만으로 찾기 어렵다. 그래서 엔트로피라는 개념을 같이 쓴다. 사람이 쓰는 일반 언어는 자주 나오는 문자 패턴이 있어서 엔트로피가 낮고, 키나 해시 같은 값은 훨씬 무작위에 가까워 엔트로피가 높다.
Hello World: 엔트로피 낮음z8/X9+kL2m: 엔트로피 높음
도구는 문자열의 엔트로피를 계산한 뒤, 임계값을 넘는 값을 Secret 후보로 분류한다.
3. 문맥(Context)의 중요성
엔트로피만으로는 부족하다. image_data = "xF2..." 같은 바이너리 조각이나 인코딩 문자열도 엔트로피가 높게 나올 수 있기 때문이다. 그래서 최신 탐지 엔진은 변수명 같은 문맥과 엔트로피를 함께 본다.
- 변수명이
api_key,secret,password같은 패턴을 포함하는가 - 값 자체의 엔트로피가 높은가
두 조건을 같이 만족할 때만 경고를 띄우면 정확도가 더 올라간다. 결국 Secret Scanning은 단순 검색이 아니라, 패턴 매칭에 확률적 판단을 덧붙인 탐지에 가깝다.

