204. 중요 정보 접근 — 중요 정보 접근 정상 기준선 만들기

changseop lee·6일 전

시스템 보안 · 취약점

목록 보기
204/450

시스템 보안 · 취약점 › E. 중요 정보 접근 로그 분석 · 4/50편 (전체 204/450)
학습 단계: 접근 로그 기본 개념
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

접근 탐지의 핵심은 "정상 접근과 이상 접근을 구분"하는 것입니다. 중요 정보는 정상적으로도 접근됩니다(백업·서비스·관리). 따라서 정상 기준선을 만들어야 이상을 판별할 수 있습니다.

중요 정보 접근 기준선 요소
 주체: 정상 접근 프로세스/계정 (backup·mysqld·root)
 시점: 정상 접근 시간대 (백업 03:00 등)
 빈도: 정상 접근 횟수 (일 N회)
 경로: 정상 접근 대상 (서비스별 데이터)
 방법: 정상 접근 명령 (mysqld가 DB파일, backup이 tar)

기준선 이탈 = 이상 접근 후보

기준선이 없으면 모든 접근이 경보가 되어(과탐) 운영이 불가능합니다. 정상을 알아야 이상이 보입니다.

2. 왜 중요한가

  • 중요 정보는 정상 접근이 존재하므로, 기준선 없이는 정탐/오탐을 구분할 수 없습니다.
  • 주체·시점·빈도·경로·방법의 정상 범위가 이상 탐지의 비교 기준입니다.
  • 기준선은 서비스 구조(어떤 프로세스가 무엇을 읽나)에 대한 이해에서 나옵니다.

3. 핵심 명령어 / 설정

기준선 요소정상 예이상 신호
주체mysqld·backup·root쉘·웹계정·일반사용자
시점백업 시간·업무새벽·비정기
빈도정기·소수급증·반복
경로서비스별 데이터광범위·교차
방법서비스 프로세스cat·cp·tar·curl

4. 실습 (실습 예시)

# 중요 정보 접근 기준선 수립 (분석 방법)
# 중요 파일별 정상 접근 주체 집계(기준선)
sudo ausearch -k sensitive_read,cred_access,data_access -i --start week 2>/dev/null \
  | grep -oE 'comm="[^"]+"' | sort | uniq -c | sort -rn

# 접근 시간대 분포(정상 패턴 파악)
sudo ausearch -k data_access -i --start week 2>/dev/null | grep -oE '[0-9]{2}:[0-9]{2}:[0-9]{2}' | cut -d: -f1 | sort | uniq -c

5. 정상 상태

$ (접근 주체 집계)
  120 comm="mysqld"   14 comm="backup"   6 comm="root"
$ (시간대 분포)
  14 03   (백업 시간대 집중)

접근이 서비스 프로세스(mysqld)·백업에 집중되고 정기 시간대(03시)에 발생하는, 일관된 정상 패턴이 기준선입니다.

6. 이상 상태

$ (접근 주체 집계)
  120 comm="mysqld"  8 comm="cat"  5 comm="curl"  (신규)
$ (시간대 분포)
  3 04  (비정기 새벽 접근 신규)
  • 서비스가 아닌 cat·curl의 중요 정보 접근 → 기준선 이탈(주체 축)
  • 백업 시간이 아닌 04시 접근 → 시점 축 이탈
  • 기준선과 다른 주체·시점·방법 → 이상 접근 후보 → 정탐

7. 로그 분석 (분석 방법)

접근 기준선 비교 흐름입니다(가상의 예시).

[기준선] 정상 주체(mysqld·backup)·시점(03시)·방법(서비스)
      ↓ (비교)
[관측] cat /etc/shadow (04시, 쉘)
      ↓
[이탈 판정] 주체(쉘)·시점(새벽)·방법(cat) 모두 이탈
      ↓
[이상 접근 후보] 6축 판정(E08)으로 정탐 확정
축기준선관측판정
주체mysqldcat이탈
시점03시04시이탈
방법서비스쉘이탈

기준선 대비 이탈 축이 많을수록 이상 접근 가능성이 높습니다.

8. SOC 관제 포인트

  • 중요 정보 접근 탐지는 정상 기준선(주체·시점·빈도·경로·방법) 수립이 전제입니다.
  • 중요 정보는 정상 접근이 있으므로 기준선 없이는 과탐을 피할 수 없습니다.
  • 기준선 이탈(비서비스 주체·비정기 시점·쉘 명령)이 이상 접근 후보입니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_e,sensitive_access,">
  <!-- 서비스 프로세스가 아닌 주체의 중요 정보 접근(기준선 이탈) -->
  <rule id="104030" level="10">
    <if_sid>104000</if_sid>
    <field name="audit.comm" type="pcre2">^(cat|cp|less|more|head|tail|vi|vim|dd|xxd|strings|scp|curl|wget)$</field>
    <description>비서비스 주체(쉘 명령)의 중요 정보 접근</description>
    <mitre><id>T1005</id></mitre>
  </rule>
</group>

정상 서비스 프로세스(mysqld·backup)는 화이트리스트로 예외 처리합니다. 기준선은 서비스 구조에 맞게 조정합니다.

10. 대응 방법

  1. 초기 확인 — 중요 정보 접근의 정상 주체·시점·빈도·경로·방법을 기준선으로 수립합니다.
  2. 범위 확인 — 관측된 접근이 기준선의 어떤 축을 이탈했는지 확인합니다.
  3. 증거 확보 — 접근 기준선과 이탈 이벤트를 보존합니다.
  4. 차단/조치 — 기준선 이탈 접근은 6축 판정(E08)으로 정탐/오탐을 가립니다.
  5. 재발 방지 — 접근 기준선 기반 이상 탐지를 운영합니다.

11. 핵심 정리

요소정상 vs 이상
주체서비스(mysqld) vs 쉘·웹계정
시점정기·백업 vs 새벽·비정기
빈도소수 vs 급증·반복
방법서비스 vs cat·curl·tar
면접 포인트"중요 정보는 정상 접근 존재 — 기준선(주체·시점·방법) 이탈이 이상 접근"

12. 다음 편 예고

다음 편 205. 중요 정보 접근 — 접근 주체·경로·시점의 분석 축 에서는 접근 분석의 축을 다루는 접근 주체·경로·시점의 분석 축을 다룹니다.


이전 편: 203. 중요 정보 접근 — 파일 접근 감사의 기반 구성(auditd read·watch)
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글