보안 위협 이벤트는 하루에도 수천 건씩 발생중인데요. 우리가 잘 알아고 있는 SQL Injection이나 XSS, Brute Force 공격등 종류도 매우 다양합니다. 이번 시간에는 코인 채굴 통신 로그를 찾기 위한 효과적인 쿼리와 악의적 서버와의 통신(C&C 서버) 탐지 방법에 대한 사례를 중심으로 살펴보도록 하겠습니다. 이와 같은 실제 Elasticsearch Query를 응용하고 활용하면 실무에서 보안 로그를 분석하는데 도움이 될 것입니다.
코인 채굴(mining) 관련 통신 로그 필터링 예제
코인 채굴 악성 활동은 네트워크 트래픽에서 매우 특이한 패턴을 보입니다. 이를 탐지하기 위한 쿼리 구조는 다음과 같은 형태를 가집니다.
조건 1: 특정 포트를 대상으로 하는 트래픽 탐지
코인 채굴은 일반적으로 특정 포트를 사용합니다. 대표적인 포트 번호는 18080, 18081, 28080, 28081, 7777, 그리고 3333 등이 있습니다.
destinationPort:(18080 || 18081 || 28080 || 28081 || 7777 || 3333) && deviceAction:(Permit || accept) && !destination.country_code2:KR && _exists_:destination.country_code2
이 쿼리는 다음 조건을 탐지합니다.
- 허가된 트래픽(Permit, Accept)
- 국내(KR) 외의 국가에서 발신된 통신
- 목적 국가 코드 정보가 존재하는 로그
이를 통해, 국내외 채굴 활동과 관련된 비정상적 발신을 빠르게 파악할 수 있습니다.
조건 2: 추적해야 할 특정 IP 지정
지정된 source IP에서 채굴 관련 트래픽을 보다 정교하게 확인하고 싶을 때 사용하는 조건입니다.
sourceAddress:1.x.x.x && !destinationPort:(8080 || 53 || 443)
일반적인 웹과 DNS 트래픽(포트 80, 53, 443)을 제외하고 특정 소스에서 유입되는 의심스러운 트래픽을 선별할 수 있습니다.
조건 3: 목적지 국가에 따른 필터링
다른 소스 IP에 대해 목적지 국가를 KR로 제한하지 않고 탐지하고 싶을 경우:
sourceAddress:x.x.x.13 && !destination.country_code2:KR
조건 4: 특정 포트를 활용한 의심스러운 접근 탐지
추가적으로, 특정 포트(7777)에서 목적지 국가가 국내가 아닌 경우를 필터링 가능:
destinationPort:7777 && !destination.country_code2:KR && !sourceAddress:10.4.2.3
C&C 서버 통신 로그 분석 사례
C&C(Command and Control) 서버는 악성 코드와 그 조정자를 연결하는 핵심 역할을 합니다. 이를 탐지하려면, 상용 평판 DB 및 내부 정제 데이터를 효과적으로 활용하여 다음처럼 설정합니다.
C&C 서버 로그 탐지 쿼리 예시
destinationAddress:(x.x.x.x || x.x.x.1 || x.x.x.2 || x.x.x.3 || x.x.x.4) && !sourceAddress:x.x.x.x
- C&C 서버로 의심되는 목적지를 명확하게 정의합니다.
- 네트워크 소스 IP를 제외하거나 특정 범위(IP 블록)를 중심으로 분석합니다.
- 평판 DB와 상호 연동성을 높여 실시간 탐지가 이루어질 수 있도록 구성합니다.
APT 공격 탐지 장비 Elasticsearch 쿼리 예시
deviceHostName:APT && _exists_:source.country_code2 && !source.country_code2:KR && !applicationProtocol:(SMTP || IMAP || POP3)
- 출발지 IP가 한국(KR)이 아닌 경우를 필터링하며, 메일 관련 프로토콜(SMTP, IMAP, POP3)은 제외
deviceHostName:DDI AND name:(SQL* OR MINER*) AND NOT destinationAddress:(x.x.17.162 OR x.x2.18.180)
- SQL 인젝션 혹은 Miner 관련 통신만 탐지하며 특정 목적지 IP(x.x.17.162, x.x2.18.180)는 제외
NAT(Network Address Translation) IP 검색 방법
NAT IP와 연관된 소스 IP 간 연결을 분석하려면, 아래와 같은 쿼리를 사용합니다. 이는 네트워크 번역 과정에서 발생하는 혼선을 줄이고, 문제 지점을 빠르게 찾기 위한 유용한 기법입니다.
NAT IP -> 소스 IP 매핑 쿼리 예시
transip:208.xxx.x.x && destinationAddress:8.8.8.8
여기서, NAT IP의 흐름 및 관련 로그를 추적하며 주요 트래픽 특성을 보다 정확히 파악할 수 있습니다.
이와 같이 Elasticsearch Query를 조합하여 수 많은 보안 위협에 대한 정밀 분석을 진행 할 수 있으며, 또한 기존 Legacy 방식의 SIEM 사용의 불편함에서 벗어나 좀더 효율적이고 빠른 대처를 할 수 있다는것이 매우 큰 장점이라고 할 수 있습니다.
'AI, IT 이야기' 카테고리의 다른 글
취약한 접근제어(Broken Access Control) 보안 취약점 사례 (0) | 2025.06.13 |
---|---|
관리자(Admin) 페이지 노출로 인한 보안 취약점 사례 (0) | 2025.06.12 |
Elasticsearch Lucene Query 사용 사례 - 1편 (1) | 2025.06.10 |
Elktail CLI 기반 Elasticsearch 쿼리 조회 팁 (0) | 2025.06.04 |
대용량 SIEM Elasticsearch로 해결하세요 (0) | 2025.06.01 |