시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 4/50편 (전체 154/450)
학습 단계: 권한 모델·기본 개념
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
"이상한 권한 변경"을 탐지하려면 먼저 "정상적인 권한 변경" 을 정의해야 합니다(A영역 02편 기준선 개념의 권한 변경 버전). 정상 권한 변경은 배포·설치·설정 작업에서 특정 패턴으로 일어납니다.
권한 변경 기준선 요소
주체 : 누가 바꾸나 (배포 계정·관리자·패키지)
대상 : 어떤 파일 (웹루트·설정·배포 경로)
방향 : 완화인가 강화인가 (644→755 정상 / 644→777 의심)
맥락 : 패키지 설치·배포·변경관리와 일치하나
빈도 : 평소 얼마나
정상 예: 배포 시 웹루트 755, 패키지 설치 시 바이너리 755
이상 예: 바이너리에 SUID, 중요 파일 world-writable, 비관리 계정의 변경
| 기준선 요소 | 산출 |
|---|---|
| 주체 | perm_change의 auid별 빈도 |
| 대상 | 변경 대상 경로 분포 |
| 방향 | 완화/강화 비율 |
| 맥락 | 패키지·배포 로그와 시각 대조 |
| 기대 권한 | A영역 04편 매트릭스 |
# 권한 변경 기준선 산출 (분석 방법, 최근 로그)
# 1) 주체별 권한 변경 빈도
sudo ausearch -k perm_change -i --start week-ago 2>/dev/null | grep -oE 'auid=[^ ]+' | sort | uniq -c | sort -rn
# 2) 대상 경로 분포
sudo ausearch -k perm_change -i --start week-ago 2>/dev/null | grep -oE 'name="[^"]+"' | sort | uniq -c | sort -rn | head
# 3) 기준선 저장 (주체·대상·시각)
sudo ausearch -k perm_change -i --start week-ago 2>/dev/null | grep -E 'auid=|name=' | ... > /root/baseline/perm-profile-$(date +%F).txt
[권한 변경 기준선 — 실습 예시]
주체: admin1(배포, 업무시간) 42, root(패키지) 15
대상: /var/www/html/* (배포), /usr/lib/* (패키지 설치)
방향: 완화 없음(644→755 수준), SUID 신규 0
맥락: 전부 배포(CHG)·dnf 로그와 일치
권한 변경이 배포·패키지 작업에 집중되고, SUID 신규·중요 파일 완화가 없는 상태가 정상 기준선입니다.
기준선 수집 중 이미 이상이 드러나기도 합니다.
주체: admin1 42, devops 8 (평소 0)
대상: /usr/bin/find, /etc/passwd (기준선에 없던 대상)
방향: 644→4755(SUID), root→devops(소유권)
맥락: 변경관리·패키지 로그 없음
기준선은 이후 탐지의 비교 대상이 됩니다(활용 예시).
[기준선] 권한 변경 주체 {admin1, root}, 대상 {웹루트, /usr/lib}, SUID 신규 0
[신규 변경] devops가 /usr/bin/find에 SUID 설정
비교: 주체 NEW(devops), 대상 NEW(바이너리), 방향 SUID → 3축 이탈 → 높은 이상
| 축 | 기준선 | 신규 | 판정 |
|---|---|---|---|
| 주체 | admin1/root | devops | 신규 |
| 대상 | 웹루트/lib | 바이너리 | 이탈 |
| 방향 | 강화 | SUID | 위험 |
권한 변경 기준선은 룰보다 SIEM 집계·예외에 적합합니다.
# Kibana: 권한 변경 주체·대상 분포 (지난 30일)
rule.groups:"perm_change" → Terms(data.audit.auid) × Terms(data.audit.file.name)
# 기준선 밖 주체·대상 탐지(개념)
→ 배포 계정·패키지 외 주체의 권한 변경, 기준선 밖 대상 → Alert
Wazuh에서는 배포·패키지 계정을 CDB 리스트로 두고 "목록 밖 주체의 권한 변경"을 탐지하는 방식이 실용적입니다(D46).
| 요소 | 기준선 내용 |
|---|---|
| 주체 | 배포·관리·패키지 계정 |
| 대상 | 웹루트·설정·배포 경로 |
| 방향 | 완화 vs 강화(SUID=위험) |
| 맥락 | 패키지·배포·변경관리 일치 |
| 면접 포인트 | "정상 권한 변경(배포·패키지)을 기준선으로 — 이탈이 이상 징후" |
다음 편 155. 권한 변경 이상 — 권한 상승 경로와 권한 변경의 관계 에서는 권한 변경과 상승 경로의 관계를 정리하는 권한 상승 경로와 권한 변경의 관계를 다룹니다.
이전 편: 153. 권한 변경 이상 — 권한 변경 감사의 기반 구성(auditd perm)
📚 시리즈 전체 보기: 시스템 보안 · 취약점