개별로는 보이지 않는 공격을, 전체 시스템 횡단 로그 상관관계로 탐지하는 구조를 만들었다 #
방화벽의 포트 스캔, VPN 인증 실패, 애플리케이션 로그인 시도. 개별 이벤트는 심각도 ‘낮음’. 하지만 동일 IP가 이 3개 계층에 동시에 출현했을 때, 그것은 우연이 아니라 공격 캠페인이다. BASTION에 다층 상관관계 엔진을 구현하고, 실제 공격에서 3층 횡단 캠페인 탐지를 입증했다.
개별 장비 모니터링에는 구조적 사각지대가 있다 #
BASTION은 지금까지 장비별로 로그를 분석하여 이상을 탐지해 왔습니다. 방화벽의 포트 스캔, 웹 서버에 대한 bot 공격, AD의 인증 실패——각각의 장비에서 임계값을 초과하면 차단합니다.
하지만 이 방식으로는 임계값 미만의 공격을 조합한 캠페인을 탐지할 수 없습니다.
이 ‘개별로는 보이지 않지만 횡단하면 보이는’ 패턴을 탐지하기 위해 BASTION에 다층 상관관계 엔진을 구현했습니다.
다층 방어 구조 #
BASTION이 모니터링하는 인프라는 5개의 방어 계층으로 구성되어 있습니다.
| 계층 | 방어 대상 | 탐지하는 이벤트 |
|---|---|---|
| L1: 네트워크 경계 | 방화벽 | 포트 스캔, DDoS, 비정상 패킷 |
| L2: VPN / 원격 액세스 | VPN 게이트웨이 | TLS 오류, 인증 실패, 인증서 탐색 |
| L3: 인증 기반 | AD / LDAP | 로그인 실패, 계정 잠금, 자격 증명 스터핑 |
| L4: 애플리케이션 | 웹 서버 / 클라우드 앱 | 봇 스팸, 취약점 스캔, 로그인 시도 |
| L5: 엔드포인트 | Windows 클라이언트 | PowerShell 의심스러운 실행, USB 연결, 권한 상승 |
기존에는 이 5개 계층을 각각 독립적으로 모니터링했습니다. 다층 상관관계 엔진은 전체 계층의 로그를 동일 IP로 연결하여 횡단적으로 추적합니다.
트레이스 축적 및 상관관계 #
다층 상관관계 엔진의 핵심은 공격원 IP의 ‘트레이스(흔적)’를 계층 횡단으로 축적하는 구조입니다.
15분마다 정기 분석 → 각 계층의 로그에서 IP 추출 → 트레이스 레지스트리에 '언제, 어느 계층에서, 무엇이 탐지되었는지' 기록 → 여러 계층에 출현하는 IP를 자동 탐지 → 임계값 초과 시 캠페인 판정 → 자동 차단
개별 계층에서는 심각도 ‘낮음’이어도 여러 계층에 트레이스가 축적되면 상관관계 점수가 상승하여 캠페인으로 자동 차단이 발동됩니다.
트레이스는 감쇠된다 #
트레이스는 영구적이지 않습니다. 일정 시간 업데이트가 없으면 자동으로 삭제됩니다. 공격자가 스캔을 멈추면 흔적이 사라지고 오탐 위험을 줄입니다. 반대로 짧은 시간에 여러 계층에서 트레이스가 겹치면 상관관계 점수가 급상승하여 차단이 발동됩니다. ‘기억하되 잊는’ 설계입니다.
실제 캠페인 탐지 #
다층 상관관계 엔진을 구현한 직후, 실제 공격에서 캠페인 탐지가 발동되었습니다.
다층 상관관계 캠페인 탐지
공격원 IP: xx.xxx.156.12
출현 계층 (3층): L1_network, L3_auth, L4_app
누적 이벤트 수: 120
동일 IP가 여러 방어 계층에서 탐지되었습니다.
이 IP는 다음과 같은 행동 패턴을 보였습니다.
| 계층 | 탐지 내용 | 개별 판정 |
|---|---|---|
| L1: 네트워크 경계 | 방화벽에서 차단된 액세스 | — (정상 노이즈 범위) |
| L3: 인증 기반 | A인증 관련 이벤트 탐지 | — (개별로는 임계값 미만) |
| L4: 애플리케이션 | 애플리케이션 계층에서 액세스 탐지 | — (개별로는 임계값 미만) |
어느 계층에서도 단독으로는 ‘낮음’ 판정. 하지만 3개 계층에 동일 IP가 출현하여 다층 상관관계 엔진이 캠페인으로 판정하고 자동 차단이 발동되었습니다.
왜 이것이 중요한가 #
Fail2Ban과의 근본적인 차이 #
Fail2Ban은 우수한 도구이지만 단일 로그 파일의 임계값 판정만 가능합니다. ‘nginx-error.log에서 403이 10회 발생하면 Ban’. 이것은 하나의 장비의 하나의 로그에 국한된 판단입니다.
다층 상관관계 엔진은 모든 장비의 로그를 횡단하여 동일 IP의 행동 패턴을 추적합니다. 개별 장비에서는 탐지할 수 없는 ‘낮은 빈도·다층형’ 공격 캠페인을 로그의 맥락에서 탐지합니다.
연결하는 장비가 늘어날수록 정확도가 높아진다 #
BASTION에 새로운 장비의 syslog를 연결하면 다층 상관관계의 ‘계층’이 하나 늘어납니다. 계층이 늘어날수록 동일 IP의 행동 패턴이 더 많은 각도에서 관측되어 캠페인 탐지의 정확도가 향상됩니다.
이것은 기존 모니터링 도구(장비별 독립 분석)에는 없는 특성입니다. BASTION에서는 모니터링 대상이 늘어날수록 시스템 전체의 방어력이 높아집니다.
‘syslog를 향하기만 하면 된다’는 설계가 전제 조건이었다 #
제4회 기사에서 구현한 ‘syslog를 향하기만 하면 장비 종류를 자동 판정’하는 구조는 다층 상관관계를 위한 온보딩 설계이기도 했습니다. 새로운 장비를 추가할 때 설정 파일 편집이나 장비 등록이 불필요하므로 고객 환경의 모든 장비를 단기간에 BASTION에 연결할 수 있습니다. 연결이 용이하다는 점이 다층 상관관계의 실용성을 뒷받침합니다.
안전 설계 #
다층 상관관계로 자동 차단하는 이상 오탐 위험 관리는 중요합니다.
| 안전 기구 | 목적 |
|---|---|
| 트레이스 자동 감쇠 | 일정 시간 업데이트가 없는 트레이스는 자동 삭제. 오래된 흔적에 의한 오판정 방지 |
| 화이트리스트 조회 | 프라이빗 IP·자사 IP·DNS 서버는 절대로 차단하지 않음 |
| 기존 차단과 중복 확인 | 이미 차단된 IP를 이중 차단하지 않음 |
| 24시간 자동 해제 | 오차단이어도 24시간 후 자동 복구 |
| Slack에서 즉시 해제 | 업무 영향 시 Slack 명령으로 즉시 해제 가능 |
요약 #
BASTION에 다층 상관관계 엔진을 구현하여 전체 시스템의 로그를 횡단하여 공격 캠페인을 자동 탐지하는 구조를 구축했습니다. 개별 장비에서는 임계값 미만의 공격이어도 여러 방어 계층에 동일 IP가 출현하면 캠페인으로 판정하여 자동 차단합니다.
구현 직후 실제 공격에서 3층 횡단 캠페인 탐지가 발동되어 개념 검증이 완료되었습니다. BASTION은 ‘개별 장비 모니터링 도구’에서 ‘전체 시스템 횡단 공격 캠페인 탐지 엔진’으로 진화하고 있습니다.
BASTION은 폐쇄 환경에서 AI 보안 모니터링을 실현하는 서비스입니다.
귀사의 인프라 전체를 BASTION에 연결하면 다층 상관관계에 의한 방어가 활성화됩니다.