📚 네트워크 · 패킷 분석 › 06. 방화벽 · IDS 기초 — 279편
이전 글: 278. Network-based IDS · 다음 글: 280. Signature Detection

1. 개념

HIDS(Host-based IDS, 호스트 기반 침입 탐지 시스템) 는 서버나 PC 안에 설치된 에이전트가 호스트의 로그, 파일, 프로세스, 설정을 관찰해 이상 행위를 탐지하는 IDS입니다. OSSEC과 그 계열인 Wazuh가 대표적이며, 파일 무결성 도구(AIDE, Tripwire)도 HIDS 기능의 일부로 분류됩니다.

NIDS가 "선 위를 지나가는 것"을 본다면, HIDS는 "도착한 뒤 호스트 안에서 일어난 일" 을 봅니다. Wazuh의 네트워크 이벤트 수집 구성은 04 영역 195. Wazuh 네트워크 이벤트에서 다뤘습니다.

비교NIDSHIDS
관찰 대상네트워크 패킷호스트 로그·파일·프로세스·설정
설치네트워크 센서각 호스트의 에이전트
암호화 트래픽내용 확인 어려움복호화 후 남은 로그로 확인 가능
공격 성공 여부추정호스트 흔적으로 확인 가능
한계호스트 내부를 모름에이전트 없는 장비·네트워크 전체 흐름을 모름

2. 동작 원리

Wazuh를 예로 든 HIDS 탐지 흐름입니다.

[호스트 에이전트]
   ├─ 로그 수집: /var/log/secure(Rocky), /var/log/auth.log(Ubuntu), Windows 이벤트 로그
   ├─ 파일 무결성(FIM): 지정 경로의 해시·권한 변경 감시
   └─ 설정 점검: 보안 기준 대비 설정 상태
   ↓ 암호화된 전용 채널로 관리 서버에 전송
[관리 서버]
   ↓ 디코더(Decoder): 로그 한 줄에서 필드 추출 (srcip, user 등)
   ↓ 규칙(Rule): 조건 일치 여부 판단, 빈도·연쇄 조건 평가
   ↓ Alert 생성: rule.id, rule.level(0~15), 설명, 추출 필드
[인덱서 / 대시보드] → 관제자

HIDS 규칙은 로그 문장을 대상으로 합니다. 따라서 디코더가 필드를 제대로 뽑아내야 규칙이 동작합니다. 로그 형식이 바뀌면(서비스 업그레이드 등) 디코더가 실패해 조용한 미탐이 생길 수 있습니다.


3. 주요 특징

HIDS의 주요 탐지 기능입니다.

기능탐지 예근거 데이터
로그 분석인증 실패 반복, 권한 상승, 서비스 오류시스템·애플리케이션 로그
파일 무결성 감시(FIM)웹 루트에 새 파일 생성, 설정 파일 변경파일 해시·속성 비교
설정·취약점 점검취약한 설정, 오래된 패키지설정 파일, 패키지 목록
능동 대응(Active Response)반복 실패 IP를 방화벽에 차단 등록규칙 일치 시 스크립트 실행
  • 공격 결과를 확인할 수 있다는 점이 HIDS의 가장 큰 가치입니다. NIDS Alert만으로는 "시도"인지 "성공"인지 모르지만, 호스트 로그에 로그인 성공이나 파일 생성이 있으면 판단이 달라집니다.
  • 에이전트가 호스트 안에 있으므로, 호스트가 장악되면 에이전트나 로그도 조작될 수 있습니다. 로그를 빨리 중앙으로 보내는 것이 중요합니다.

4. 예시

HIDS Alert의 형식 예시입니다(값은 환경마다 다름, Wazuh alerts.json의 일부 필드, 규칙 ID는 로컬 규칙 가정).

# 형식 예시 — 원본 로그 (Rocky: /var/log/secure, Ubuntu: /var/log/auth.log)
Sep 30 10:21:03 web01 sshd[2231]: Failed password for invalid user test from 203.0.113.44 port 50122 ssh2

# 형식 예시 — Alert (주요 필드만)
{"timestamp":"2026-09-30T10:21:04.120+0900","agent":{"name":"web01","ip":"192.168.20.10"},
 "rule":{"id":"100201","level":5,"description":"LOCAL sshd: failed login for invalid user"},
 "data":{"srcip":"203.0.113.44","srcuser":"test"},"location":"/var/log/secure"}

분석 방법 — HIDS Alert는 agent(어느 호스트), location(어느 로그), rule(무슨 판단), data(추출 필드)로 읽습니다. data.srcip는 NIDS·방화벽 로그와 연결하는 열쇠입니다. Windows에서는 로그온 실패가 보안 이벤트 ID 4625, 성공이 4624로 기록되므로, 같은 판단을 이벤트 ID 기준으로 합니다.


5. 보안 관점

  • HIDS는 암호화 통신 뒤의 결과를 볼 수 있어 NIDS의 한계를 보완합니다.
  • 에이전트 미설치 호스트, 에이전트가 끊긴 호스트는 탐지 공백입니다. 에이전트 연결 상태를 관제 대상에 포함합니다.
  • 로그 수준 설정이 낮으면 기록 자체가 없습니다. 탐지는 로그가 남아야 가능합니다.
  • 능동 대응으로 자동 차단을 쓸 때는, 공격자가 출발지 IP를 위조해 정상 IP를 차단시키는 상황을 고려해 예외 목록을 둡니다.

6. SOC 관점

관제자가 HIDS Alert를 볼 때 확인할 질문

  • 어느 호스트의 어떤 로그에서 나온 Alert인가? 그 호스트는 어떤 역할(웹, DB, 인증 서버)인가?
  • 실패만 있는가, 성공이 뒤따랐는가? (실패 반복 후 성공, 파일 생성 후 실행)
  • 같은 출발지 IP가 NIDS·방화벽 로그에도 보이는가?
  • 에이전트가 해당 시간대에 정상 연결 상태였는가?
NIDS Alert (시도 의심)
   ↓ 대상 호스트 확인
HIDS Alert / 호스트 로그 검색 (같은 시각·같은 출발지)
   ├─ 흔적 없음 → 시도 수준, 차단·감시
   └─ 성공 흔적 → 침해 의심 → 에스컬레이션·호스트 분석

오탐 주의: 관리자의 비밀번호 입력 실수, 설정 관리 도구의 파일 변경, 패치 작업은 HIDS Alert를 대량으로 만듭니다. 변경 작업 일정과 대조합니다. 호스트 로그 기반 반복 로그인 탐지는 292. Brute Force 탐지, Wazuh Alert 해석은 05 영역 239. Wazuh Alert 분석에서 다룹니다.


7. 핵심 정리

  • HIDS는 호스트 에이전트가 로그·파일·설정·프로세스를 관찰해 이상 행위를 탐지하는 IDS입니다.
  • 로그 분석, 파일 무결성 감시, 설정 점검, 능동 대응이 대표 기능입니다.
  • HIDS 규칙은 디코더가 추출한 필드에 의존하므로 로그 형식 변경은 미탐의 원인이 됩니다.
  • NIDS가 "시도"를 본다면 HIDS는 호스트 안의 "결과"를 보여 줄 수 있습니다.
  • 에이전트 연결 상태와 호스트 역할을 함께 확인해야 Alert를 올바르게 해석할 수 있습니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글