Loading the catalog…
Loading the catalog…
시스템 보안 · 취약점 › E. 중요 정보 접근 로그 분석 · 23/50편 (전체 223/450) 학습 단계: DB·대량 데이터 접근 이상 실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」 이며, IP·계정·호스트명은 가상의 값입니다. 선행 학습 222. 중요 정보 접근 — 민감 디렉터리 스캔성 접근 탐지 219. 데이터베이스 파일 직접 접근 탐지 1. 개념 DB 파일 직접 접근(E19)이 엔진 우회라면, 여기서는 DB 엔진을 통한 접근 을 쿼리·감사 로그로 분석합니다. 탈취한 자격증명으로 정상 쿼리처럼 접속해 대량 조회·민감 테이블 접근하는 패턴을 봅니다. DB 쿼리 로그 분석 포인트 general_log(MySQL)·pg audit: 모든 쿼리 기록 대량 SELECT: SELECT * FROM users (전체 조회) 민감 테이블: users, payments, cards (E24) 비정상 접속: 새 IP·계정·시간대 SELECT INTO OUTFILE: 쿼리로 파일 추출(E19 연계) OS 감사(E영역) + DB 로그 결합 → 완전한 접근 가시성 OS 레벨 접근 감사만으로는 DB 내부 쿼리를 못 봅니다. DB 쿼리 로그를 함께 수집해야 엔진 경유 접근이 보입니다. 2. 왜 중요한가 DB 엔진 경유 접근은 OS 파일 감사로는 안 보여, DB 쿼리 로그 수집이 필요합니다. 대량 SELECT·민감 테이블 조회는 정상 앱 쿼리와 패턴이 다릅니다. 탈취 자격증명 접속은 비정상 IP·계정·시간대로 식별합니다. 3. 핵심 명령어 / 설정 쿼리 로그 신호 의미 위험 대량 SELECT * 전체 조회 높음 민감 테이블 조회 개인정보·결제 높음 INTO OUTFILE 파일 추출 매우 높음 새 IP·계정 접속 탈취 자격증명 높음 앱 정상 쿼리 업무 정상 4. 실습 (실습 예시) # DB 쿼리 로그 분석 (분석 방법) # MySQL general/audit log에서 대량 SELECT·민감 테이블(분석용) sudo grep -iE 'SELECT .* FROM (users|payments|cards|accounts)' /var/log/mysql/*.log 2>/dev/null | tail # INTO OUTFILE(쿼리 파일 추출) sudo grep -i 'INTO OUTFILE\|INTO DUMPFILE' /var/log/mysql/*.log 2>/dev/null # 비정상 접속 IP(앱 서버 외) sudo grep -iE 'Connect.*@' /var/log/mysql/*.log 2>/dev/null | grep -vE '127.0.0.1|앱서버IP' | tail 5. 정상 상태 $ (민감 테이블 조회) 앱 서버 IP의 정상 범위 쿼리만 $ (INTO OUTFILE) (없음) $ (비정상 접속) (없음 — 앱 서버에서만 접속) 쿼리가 앱 서버에서의 정상 범위 조회에 그치고, INTO OUTFILE·외부 IP 접속이 없는 상태가 정상입니다. 6. 이상 상태 $ (민감 테이블 조회) Query SELECT * FROM users (전체 사용자 조회) $ (INTO OUTFILE) Query SELECT * FROM cards INTO OUTFILE '/tmp/c.csv' $ (비정상 접속) Connect app@192.0.2.88 (앱 서버 아닌 IP) SELECT * FROM users 전체 조회 + cards INTO OUTFILE 파일 추출 앱 서버가 아닌 IP(192.0.2.88)에서 접속 → 탈취 자격증명 사용 대량 조회·파일 추출·비정상 IP → 데이터 유출 → 정탐 7. 로그 분석 (분석 방법) DB 쿼리 접근 분석 흐름입니다(가상의 예시). [접속] app@192.0.2.88 (비앱 IP, 탈취 자격증명) ↓ [조회] SELECT * FROM users, payments (대량·민감 테이블) ↓ [추출] SELECT ... INTO OUTFILE '/tmp/c.csv' (파일화) ↓ [유출] /tmp/c.csv 외부 전송(E32) 단계 쿼리 로그 접속 비정상 IP 조회 SELECT * 민감테이블 추출 INTO OUTFILE 유출 파일 전송 DB 쿼리 로그 + OS 파일 감사를 결합하면 엔진 경유·우회 접근을 모두 봅니다. 8. SOC 관제 포인트 DB 쿼리·감사 로그 분석은 엔진 경유 접근 (OS 감사 사각지대)을 포착합니다. 대량 SELECT·민감 테이블 조회·INTO OUTFILE·비정상 IP가 핵심 신호입니다. OS 파일 감사(E19)와 DB 쿼리 로그를 결합해 완전한 접근 가시성을 확보합니다. 9. 탐지 규칙 <!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 --> <group name="local,syssec_e,data_access,"> <!-- DB 로그 파서 전제: 대량 조회·파일 추출 쿼리 --> <rule id="104220" level="12"> <decoded_as>mysql_log</decoded_as> <field name="query" type="pcre2">(SELECT\s+\*\s+FROM\s+(users|payments|cards|accounts))|INTO\s+(OUTFILE|DUMPFILE)</field> <description>DB 대량 조회·파일 추출 쿼리(엔진 경유 유출)</description> <mitre><id>T1005</id></mitre> </rule> </group> DB general/audit log를 Wazuh/ELK로 수집해야 쿼리 탐지가 가능합니다. 로그 활성화는 성능을 고려해 설정합니다. 10. 대응 방법 초기 확인 — DB 쿼리 로그에서 대량 SELECT·민감 테이블·INTO OUTFILE·접속 IP를 확인합니다. 범위 확인 — 앱 서버 외 접속·탈취 자격증명 사용 여부를 확인합니다. 증거 확보 — 쿼리 로그·접속 로그·연계 OS 감사를 보존합니다. 차단/조치 — 유출 정탐이면 DB 세션 차단·자격증명 교체·조회 범위(유출 데이터) 조사를 진행합니다. 재발 방지 — DB 쿼리 로그 수집·분석을 OS 감사와 함께 운영합니다. 11. 핵심 정리 쿼리 신호 위험 SELECT * 대량 전체 조회 민감 테이블 개인정보·결제 INTO OUTFILE 파일 추출 비정상 IP 접속 탈취 자격증명 면접 포인트 "DB 엔진 경유 접근은 쿼리 로그로만 — OS 감사(파일)와 결합해 완전 가시성" 12. 다음 편 예고 다음 편 224. 중요 정보 접근 — 민감 테이블·컬럼 접근 탐지 에서는 민감 테이블·컬럼 접근을 다루는 민감 테이블·컬럼 접근 탐지 를 다룹니다. 이전 편: 222. 중요 정보 접근 — 민감 디렉터리 스캔성 접근 탐지 📚 시리즈 전체 보기: 시스템 보안 · 취약점
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
223. 중요 정보 접근 — 쿼리·DB 로그를 통한 접근 분석. 시스템 보안 · 취약점 › E. 중요 정보 접근 로그 분석 · 23/50편 (전체 223/450) 학습 단계: DB·대량 데이터 접근 이상 실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」 이며, IP·계정·호스트명은 가상의 값입니다. 선행 학습 222. 중요 정보 접근 — 민감 디렉터리 스캔성 접근 탐지 219. 데이터베이스 파일 직접 접근 탐지 1. 개념 DB 파일 직접 접근(E19)이 엔진 우회라면, 여기서는 DB 엔진을 통한 접근 을 쿼리·감사 로그로 분석합니다. 탈취한 자격증명으로 정상 쿼리처럼 접속해 대량 조회·민감 테이블 접근하는…
Open source