시스템 보안 · 취약점 › E. 중요 정보 접근 로그 분석 · 14/50편 (전체 214/450)
학습 단계: 중요 파일 접근 이상
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
현대 애플리케이션은 외부 서비스 연동을 위해 API 키·토큰·시크릿을 사용합니다. 이들이 탈취되면 외부 서비스(클라우드·결제·메일) 접근 권한, 세션 위조, 데이터 복호화에 악용됩니다.
애플리케이션 비밀 유형과 위험
API 키(AWS·GCP·결제) → 클라우드 자원·과금·데이터 접근
OAuth 토큰·세션 시크릿 → 세션 위조·계정 탈취
암호화 키(app secret) → 저장 데이터 복호화
webhook 시크릿 → 위조 요청
저장 위치: 설정 파일, 코드, 환경변수(E15), 시크릿 매니저
시크릿은 앱이 읽는 것이 정상입니다. 쉘 명령·grep 패턴 검색을 통한 수집은 탈취 시도입니다.
| 시크릿 유형 | 악용 | 위험 |
|---|---|---|
| 클라우드 API 키 | 자원·데이터 장악 | 매우 높음 |
| OAuth/세션 토큰 | 세션 위조 | 높음 |
| app secret(암호화) | 데이터 복호화 | 높음 |
| webhook 시크릿 | 요청 위조 | 중간 |
| grep 패턴 검색 | 시크릿 수집 | 높음 |
# 애플리케이션 비밀 접근 탐지 (분석 방법)
# 시크릿 패턴 광범위 검색(수집 행위)
sudo ausearch -k cred_access -i --start recent 2>/dev/null | grep -E 'comm="(grep|rg|ag|find)"' | tail
# 시크릿 파일 직접 접근
sudo ausearch -k cred_access -i --start recent 2>/dev/null | grep -E 'secret|api[_-]?key|token|credentials' | grep -vE 'comm="(node|python|ruby|java|php-fpm)"'
$ (시크릿 접근) (없음 또는 앱 프로세스 로드만)
시크릿 접근이 앱 프로세스의 정상 로드에 그치고, grep 패턴 검색·쉘 읽기가 없는 상태가 정상입니다.
$ (시크릿 접근)
04:00 comm="grep" auid=www-data proctitle="grep -rn api_key /var/www"
04:01 comm="cat" auid=www-data /var/www/app/config/secrets.yml
grep -rn api_key로 웹루트 전체 시크릿 검색 → 광범위 수집애플리케이션 비밀 탈취 흐름입니다(가상의 예시 로그).
type=SYSCALL comm="grep" auid=www-data key="cred_access"
type=PROCTITLE proctitle=grep -rn "api_key\|secret\|token" /var/www
→ 웹루트 전체 시크릿 패턴 광범위 검색(수집)
[이후] 발견한 AWS 키로 클라우드 접근(별도 탐지)
| 관찰 | 해석 |
|---|---|
| grep -rn api_key | 시크릿 광범위 검색 |
| /var/www 전체 | 수집 범위 |
| cat secrets.yml | 직접 탈취 |
| 이후 클라우드 | 외부 장악 |
시크릿 패턴 검색(수집) → 외부 서비스 접근으로 이어지므로 아웃바운드와 연계합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_e,sensitive_access,">
<rule id="104130" level="11">
<if_sid>104000</if_sid>
<field name="audit.proctitle" type="pcre2">(grep|rg|ag|find).*(api[_-]?key|secret|token|password|aws_|credential)</field>
<description>시크릿 패턴 광범위 검색(애플리케이션 비밀 수집)</description>
<mitre><id>T1552.001</id></mitre>
</rule>
</group>
정상 앱 프로세스는 제외합니다. 시크릿 수집 후 외부 접근(클라우드 API)을 네트워크 로그와 상관합니다.
| 시크릿 유형 | 악용 |
|---|---|
| 클라우드 API 키 | 자원·데이터 장악 |
| OAuth/세션 토큰 | 세션 위조 |
| app secret | 데이터 복호화 |
| grep 패턴 검색 | 광범위 수집 |
| 면접 포인트 | "시크릿 탈취는 외부 서비스 장악 — grep 패턴 검색(수집)도 핵심 탐지 대상" |
다음 편 215. 중요 정보 접근 — 환경변수·.env 파일 접근 탐지 에서는 환경변수·.env 파일 접근을 다루는 환경변수·.env 파일 접근 탐지를 다룹니다.
이전 편: 213. 중요 정보 접근 — DB 설정·자격증명 파일 접근 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점