146. Linux 정보 수집 — Linux 정보 수집 행위의 이벤트 상관분석

changseop lee·5일 전

시스템 보안 · 취약점

목록 보기
146/150

시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 46/50편 (전체 146/450)
학습 단계: SOC 탐지 연계
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

정보 수집 탐지의 핵심은 개별 이벤트가 아니라 상관분석입니다. 조회 하나하나는 정상이지만, 같은 사용자·세션·출발지에서 여러 종류가 짧은 시간에 모이면 정찰입니다. 상관분석은 이 "모임"을 찾는 작업입니다.

상관 기준(correlation keys)
 user(auid)      → 누가
 source IP       → 어디서(로그인 출발지)
 timestamp       → 언제(시간 밀도)
 process/command → 무엇을(조회 종류)
 session(ses)    → 하나의 세션으로 묶기

상관 흐름
 개별 이벤트 → 세션(ses)으로 그룹 → 조회 종류·밀도 집계
   → 정상 기준선과 비교 → 정찰 판정

C10·C20·C30·C40·C45의 영역별 세트를, 이 편에서 전 영역 통합 상관으로 묶습니다.

2. 왜 중요한가

  • 단일 이벤트 룰은 오탐이 많고(정상 명령), 미탐도 많습니다(느린 정찰). 상관분석이 정확도를 좌우합니다.
  • 상관 기준(user·IP·time·process·session)을 표준화하면, 흩어진 조회를 재현성 있게 묶을 수 있습니다.
  • 정상 기준선(관리자의 평소 조회 패턴)과 비교해야 "많다/빠르다/이상하다"를 판정할 수 있습니다.

3. 핵심 명령어 / 설정

상관 기준데이터용도
userauid행위자
source IPUSER_LOGIN addr출발지(B영역)
timestamp이벤트 시각밀도
processcomm·exe조회 종류
sessionses그룹 키
기준선평소 조회 패턴(C10·20·30)비교

4. 실습 (실습 예시)

# 세션 기준 전 영역 정찰 상관 (분석 방법)
SES=12
echo "== 세션 $SES 정찰 상관 =="
# 1) 세션의 출발지·사용자
sudo ausearch -m USER_LOGIN --session $SES -i 2>/dev/null | grep -oE 'acct=[^ ]+|addr=[^ ]+' | sort -u
# 2) 조회 종류(key)별 건수
sudo ausearch --session $SES -k recon_sysinfo,recon_net,recon_account,recon_priv,recon_proc,recon_file,recon_log -i 2>/dev/null | grep -oE 'key="[^"]+"' | sort | uniq -c | sort -rn
# 3) 시간 밀도(첫~마지막 조회)
sudo ausearch --session $SES -i 2>/dev/null | grep -oE '[0-9]{2}:[0-9]{2}:[0-9]{2}' | sort | sed -n '1p;$p'

5. 정상 상태

== 세션 8 정찰 상관 ==
acct=admin1 addr=192.168.56.5
recon_sysinfo 2
(단일 영역, 소수, 업무 시간)

관리자 세션은 단일 영역·소수 조회·관리망·업무 시간으로, 기준선 안에 있습니다(정상).

6. 이상 상태

== 세션 12 정찰 상관 ==
acct=devops addr=192.168.56.77
  recon_sysinfo 7   recon_net 18   recon_account 8
  recon_priv 5      recon_proc 5   recon_file 9    recon_log 24
시간 밀도: 02:11:40 ~ 02:17:33 (약 6분)
  • 한 세션에서 7개 영역 전부, 수십 건, 6분 집중 → 전방위 정찰 확정
  • 비관리망·새벽·탈취 계정 → 모든 상관 기준이 기준선 이탈
  • 시스템→네트워크→계정→프로세스→로그 순서 → 교과서적 정찰 흐름(C49 시나리오)

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

상관분석 결과를 한 화면으로 정리한 예시입니다(가상의 예시).

세션 12 (devops, 192.168.56.77, 02:11~02:17)
 영역      건수   대표 조회
 시스템    7     uname, os-release, cpuinfo
 네트워크  18    ip addr/route/neigh, ss
 계정      8     passwd, group, sudo -l
 프로세스  5     ps, pgrep wazuh
 파일      9     find id_rsa, cat .env
 로그      24    grep 자기IP secure
 → 전 영역 상관 = 전방위 정찰 (단일 영역이면 오탐 가능, 다영역이면 정탐)
상관 지표정상(ses 8)정찰(ses 12)
영역 수17
출발지관리망비관리망
시간업무새벽

8. SOC 관제 포인트

  • 정보 수집 탐지는 세션(ses) 기준 다영역 상관으로 판정합니다(단일 영역·단건은 오탐 가능).
  • 상관 기준(user·IP·time·process·session)을 표준화해 재현성 있게 묶습니다.
  • 정상 기준선(C10·20·30 평소 패턴)과 비교해 이탈을 판정합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
  <!-- 한 세션에서 서로 다른 정찰 영역 키가 결합 -->
  <rule id="102450" level="12" frequency="10" timeframe="300">
    <if_group>audit</if_group>
    <field name="audit.key" type="pcre2">recon_(sysinfo|net|account|priv|proc|file|log)</field>
    <same_field field="audit.session" />
    <description>단일 세션의 전방위 정보 수집(다영역 정찰 상관)</description>
    <mitre><id>T1082</id></mitre>
  </rule>
</group>

same_field·다영역 조건은 버전 제약이 있으므로, 핵심 상관은 SIEM(148편)에서 세션별 distinct recon_key count로 구현합니다.

10. 대응 방법

  1. 초기 확인 — 세션 기준으로 user·IP·time·조회 영역을 상관해 정찰을 판정합니다.
  2. 범위 확인 — 정찰 세션의 다음 단계(E·F·G영역) 전개를 추적합니다.
  3. 증거 확보 — 상관 결과(세션·영역·밀도)와 근거 로그를 보존합니다.
  4. 차단/조치 — 탈취·정찰 세션이면 B영역 대응과 다음 단계 차단을 진행합니다.
  5. 재발 방지 — 세션 기준 다영역 상관을 탐지 표준으로 운영합니다.

11. 핵심 정리

상관 기준용도
user(auid)행위자
source IP출발지(B영역)
timestamp시간 밀도
process조회 종류
session(ses)그룹 키
면접 포인트"단일 영역·단건은 오탐 — 세션 기준 다영역 상관이 정찰 판정의 핵심"

12. 다음 편 예고

다음 편 147. Linux 정보 수집 — Wazuh 기반 Linux 정보 수집 탐지 에서는 상관분석을 자동화하는 Wazuh 기반 Linux 정보 수집 탐지를 다룹니다.


이전 편: 145. Linux 정보 수집 — 설정 파일 접근 종합 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글