침해지표
더 많은 작업
침해지표(侵害指標, Indicator of Compromise, IOC)는 컴퓨터 시스템이나 네트워크에서 사이버 공격 또는 시스템 침해가 발생했음을 나타내거나 침해 가능성을 판단하는 데 활용할 수 있는 기술적 흔적이나 데이터를 말한다.
악성 IP 주소, 악성 도메인, 악성코드의 파일 해시 등이 대표적인 침해지표다. 보안 담당자는 침해지표를 이용해 이미 발생한 공격을 조사하거나 다른 시스템에서 동일한 공격의 흔적을 탐지할 수 있다.
사이버 공격이 발생하면 시스템과 네트워크에는 여러 흔적이 남을 수 있다.
예를 들어 공격자가 악성 서버와 통신했다면 해당 서버의 IP 주소나 도메인이 로그에 남을 수 있고, 악성코드를 설치했다면 악성 파일의 해시값이나 파일 경로가 남을 수 있다.
이러한 정보를 수집해 다른 시스템의 로그나 파일과 비교하면 동일하거나 관련된 공격이 발생했는지 확인하는 데 활용할 수 있다.
대표적인 침해지표에는 다음과 같은 것들이 있다.
- IP 주소
- 도메인
- URL
- 파일 해시
- 악성 파일명
- 파일 경로
- 이메일 주소
- 레지스트리 값
- 프로세스 정보
- 네트워크 통신 패턴
- 악성코드가 생성한 특정 파일이나 설정
- 명령제어 서버 정보
IOC는 위협 인텔리전스에서 가장 널리 활용되는 데이터 가운데 하나다.
공격에 사용된 서버나 명령제어 서버(C2)의 IP 주소를 침해지표로 사용할 수 있다.
보안장비에서 해당 IP와의 통신을 탐지하거나 차단하고 과거 로그에서 해당 IP와 통신한 시스템을 검색할 수 있다.
다만 IP 주소만으로 공격자를 특정할 수는 없다.
공격자는 다음과 같은 인프라를 공격에 이용할 수 있다.
- VPN
- 프록시 서버
- 클라우드 서버
- VPS
- 침해된 다른 서버
- 봇넷
- 익명화 네트워크
클라우드나 공유 서비스에서는 같은 IP 주소를 여러 사용자가 이용할 수도 있기 때문에 특정 IP가 공격에 사용됐다는 사실만으로 해당 IP의 모든 통신이 악성이라고 판단해서는 안 된다.
피싱 사이트, 악성코드 배포 서버, C2 서버 등에 사용된 도메인을 IOC로 사용할 수 있다.
공격자가 새로운 도메인을 계속 생성하거나 기존에 정상적으로 사용되던 도메인을 탈취해 공격에 이용하는 경우도 있다.
특정 악성 페이지나 악성 파일의 위치를 나타내는 URL도 침해지표로 활용된다.
도메인 전체를 차단하는 것보다 공격에 사용된 구체적인 경로를 식별할 수 있다는 장점이 있다.
악성코드나 공격 도구의 파일을 식별하기 위해 해시 함수로 계산한 값을 사용할 수 있다.
대표적으로 다음과 같은 해시 알고리즘이 사용된다.
- MD5
- SHA-1
- SHA-256
현재 파일 식별용 IOC에서는 SHA-256이 널리 사용된다.
같은 파일은 동일한 해시값을 가지므로 시스템에서 특정 악성 파일이 존재하는지 빠르게 검색할 수 있다.
그러나 공격자가 파일의 일부만 변경해도 일반적인 암호학적 해시값은 완전히 달라지기 때문에 변종 악성코드를 탐지하지 못할 수 있다.
피싱이나 악성 이메일 공격에서는 다음과 같은 정보가 IOC로 활용될 수 있다.
- 발신자 이메일 주소
- 발신 도메인
- 이메일 제목
- 첨부파일 해시
- 이메일에 포함된 URL
- 이메일 헤더 정보
단, 발신자 주소는 위조될 수 있으므로 단일 정보만으로 공격 여부를 판단하기 어렵다.
침해된 시스템 자체에서 발견되는 흔적도 IOC가 될 수 있다.
예를 들어 다음과 같은 정보가 있다.
- 악성 파일 경로
- 특정 프로세스
- 비정상적인 서비스
- 예약 작업
- 레지스트리 값
- 새로 생성된 계정
- 비정상적인 시작 프로그램
- 악성 브라우저 확장 프로그램
EDR과 디지털 포렌식 도구 등을 이용해 이러한 지표를 검색할 수 있다.
네트워크 통신에서 나타나는 특징도 IOC로 활용할 수 있다.
- 특정 IP와의 통신
- 특정 도메인에 대한 DNS 요청
- 비정상적인 포트 사용
- 특정 프로토콜 패턴
- C2 통신 특징
- 비정상적인 데이터 전송
침입 탐지 시스템이나 네트워크 보안장비에서 이러한 지표를 이용해 공격을 탐지할 수 있다.
침해사고가 발생하면 조사 과정에서 공격자가 사용한 IP·도메인·악성 파일 등의 IOC를 확보할 수 있다.
확보한 IOC를 다른 시스템과 로그에서 검색하면 침해 범위를 파악하는 데 도움이 된다.
예를 들어 한 서버에서 악성 IP와의 통신이 확인됐다면 조직 전체의 방화벽·DNS·프록시 로그에서 동일한 IP와 통신한 시스템을 검색할 수 있다.
신뢰도가 높은 악성 IP·도메인·URL 등은 보안장비에서 차단할 수 있다.
다만 IOC가 발견됐다는 이유만으로 자동 차단하는 것은 주의가 필요하다.
공유 클라우드나 CDN, VPN 등의 정상 인프라가 공격에 일시적으로 악용된 경우 해당 IP를 차단하면 정상 서비스까지 영향을 받을 수 있다.
위협 헌팅에서는 새로운 IOC를 확보한 뒤 과거 로그와 시스템을 검색해 기존에 탐지하지 못한 침해 흔적을 찾을 수 있다.
이를 회고적 탐지(Retrospective Detection) 또는 과거 데이터에 대한 탐색으로 활용할 수 있다.
IOC와 위협 인텔리전스는 동일한 개념이 아니다.
IOC는 위협 인텔리전스를 구성하는 기술적 데이터 가운데 하나다.
예를 들어 다음과 같은 정보가 있다고 가정할 수 있다.
203.0.113.10
이 IP 주소가 악성이라는 사실만 있다면 하나의 IOC에 가깝다.
여기에 해당 IP가 특정 공격 캠페인에서 C2 서버로 사용됐고 특정 악성코드 및 공격 조직과 관련됐다는 분석이 추가되면 보다 풍부한 위협 인텔리전스가 된다.
즉 위협 인텔리전스에서는 IOC뿐 아니라 다음과 같은 정보를 함께 분석한다.
- 공격자
- 공격 캠페인
- 공격 목적
- 공격 대상
- 악성코드
- 취약점
- 공격 인프라
- TTP
IOC와 TTP는 공격자를 분석하는 서로 다른 방식이다.
| 구분 | IOC | TTP |
|---|---|---|
| 의미 | 공격 과정에서 나타난 구체적인 기술적 흔적 | 공격자의 전술·기술·절차 |
| 예 | IP, 도메인, URL, 파일 해시 | 피싱, 자격증명 탈취, PowerShell 실행, 횡적 이동 |
| 변경 난이도 | 상대적으로 쉬움 | 상대적으로 어려움 |
| 주요 활용 | 탐지·검색·차단 | 공격자 행동 분석·탐지 |
공격자는 IP 주소나 도메인, 악성 파일 등을 비교적 쉽게 변경할 수 있다.
반면 공격 절차와 기술을 완전히 변경하려면 더 많은 비용과 시간이 필요할 수 있다.
이 때문에 장기적인 공격자 추적과 탐지에서는 IOC뿐 아니라 TTP를 함께 분석하는 것이 중요하다.
IOC는 종류에 따라 유효기간이 크게 다르다.
공격자가 일시적으로 임대한 서버의 IP 주소는 짧은 시간만 사용될 수 있으며, 피싱 도메인도 며칠 만에 폐기될 수 있다.
파일 해시 역시 공격자가 파일을 조금만 수정하면 변경된다.
따라서 오래된 IOC를 무조건 차단 정책에 유지하면 탐지 효과는 감소하고 오탐 가능성은 증가할 수 있다.
IOC를 관리할 때는 다음과 같은 정보를 함께 고려할 수 있다.
- 최초 발견 시점
- 마지막 관측 시점
- 출처
- 신뢰도
- 공격 유형
- 관련 공격자 또는 캠페인
- 관련 악성코드
- 현재 활성 여부
모든 IOC의 신뢰도가 동일한 것은 아니다.
예를 들어 실제 침해사고에서 확인된 악성코드의 SHA-256 해시는 비교적 명확한 지표가 될 수 있다.
반면 특정 공격 시점에 접속했다는 이유만으로 IP 주소 전체를 악성으로 판단하면 오탐이 발생할 수 있다.
위협 인텔리전스 플랫폼에서는 IOC마다 신뢰도나 심각도 등의 정보를 함께 관리하기도 한다.
공격지표(Indicator of Attack, IOA)라는 개념도 사용된다.
IOC가 주로 침해가 발생했음을 보여주는 흔적에 초점을 둔다면 IOA는 공격이 진행되는 과정에서 나타나는 공격자의 행동에 초점을 둔다.
예를 들어 특정 악성코드 파일의 해시는 IOC가 될 수 있고, 정상적인 프로그램이 갑자기 명령 셸을 실행하고 외부 서버에서 파일을 내려받는 행동은 IOA 관점에서 탐지할 수 있다.
실무에서는 IOC와 IOA의 경계가 항상 명확하게 구분되는 것은 아니다.
보안 연구자 David J. Bianco가 제시한 Pyramid of Pain은 공격자가 방어자의 탐지를 회피하기 위해 지표를 변경할 때 겪는 어려움을 단계적으로 설명하는 모델이다.
일반적으로 파일 해시나 IP 주소는 공격자가 비교적 쉽게 변경할 수 있지만 공격 도구와 TTP를 변경하는 것은 더 어렵다고 본다.
대략적인 구조는 다음과 같다.
TTP ↑ 도구 ↑ 네트워크·호스트 아티팩트 ↑ 도메인 ↑ IP 주소 ↑ 해시값
따라서 단순한 해시나 IP 기반 탐지만 사용하는 것보다 공격자의 행동과 TTP까지 탐지하는 것이 장기적으로 더 강한 방어가 될 수 있다는 점을 설명하는 데 사용된다.
한 조직에서 발견한 IOC를 다른 조직과 공유하면 동일한 공격이 확산되는 것을 예방하는 데 도움이 될 수 있다.
공유되는 정보에는 다음과 같은 것들이 포함될 수 있다.
- 악성 IP
- 악성 도메인
- URL
- 파일 해시
- 악성코드 정보
- 공격 시각
- 관련 취약점
- 관련 TTP
위협정보를 구조화해 교환하기 위한 표준으로 STIX가 사용되며, 시스템 간 위협정보 전송에는 TAXII가 사용될 수 있다.
MISP와 같은 위협 인텔리전스 플랫폼도 IOC 및 관련 위협정보 공유에 널리 활용된다.
대한민국에서는 한국인터넷진흥원, KrCERT/CC, 금융보안원 등에서 각 담당 영역의 사이버 위협정보를 수집·분석하고 관계기관 및 기업과 공유한다.
IOC 기반 탐지는 이미 알려진 공격을 빠르게 탐지하는 데 유용하지만 단독으로 모든 공격을 탐지할 수는 없다.
공격자는 다음과 같은 방식으로 IOC 기반 탐지를 회피할 수 있다.
- IP 주소 변경
- 도메인 변경
- 악성 파일 수정
- 정상 클라우드 서비스 악용
- 정상 관리도구 악용
- 파일을 생성하지 않는 공격
- 새로운 공격 인프라 사용
특히 공격자가 정상적인 시스템 도구를 악용하는 Living off the Land 기법을 사용하면 단순한 악성 파일 해시 탐지만으로 공격을 발견하기 어려울 수 있다.
따라서 실제 보안 환경에서는 IOC 기반 탐지와 함께 행위 기반 탐지, TTP 분석, EDR, 네트워크 분석 등을 함께 사용한다.