보안정보
전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.
이메일 기반의 스피어 피싱 공격 로그 분석 및 CTI를 활용한 탐지 방안
2019.06.03
9,482
SPiDER TM V5.0은 이글루시큐리티 보안관제 경험과 빅데이터 활용역량이 집약된 통합보안관리 솔루션으로 최초탐지부터 로그/네트워크 패킷 분석까지 일원화 된 관제환경구성을 통해 관제업무의 기민성과 효율성을 높이는 동시에 인프라 전반에 대한 가시성을 확보할 수 있다.
1. 기업/기관 표적공격 91%, 스피어 피싱에서 시작
스피어 피싱 공격의 대부분은 이메일을 통해 시작되며, 광범위한 대상에게 무차별 적으로 공격이 이루어 지는 것이 아니라 지능형 표적 공격 형태로 특정 대상을 타겟으로 한 맞춤형 공격의 형태로 정교한 공격이 이루어진다. 특정 대상이라고는 하지만 누구든지 공격의 표적이 될 수 있다. 수신 된 메일의 발신자가 고객, 임직원, 가족 등 기존에 알고 있던 지인들이라면 메일 본문의 링크 또는 첨부 파일을 의심 없이 클릭할 것이다. 보통 사람들은 이메일을 받은 후 1시간 이내에 스팸 메일의 3%, 스피어 피싱 시도 이메일의 70%를 열어 본다고 한다.
[그림 1] 피싱 공격으로 변화 (출처 : www.itworld.co.kr/news/118748)
이렇듯 스피어 피싱 이메일 공격은 상호간의 신뢰를 기반으로 공격 하다 보니 그 만큼 효과적이기 때문에 공격에 사용되는 비율 또한 높다. 최근 들어 이메일을 활용하여 광범위하고 무차별적으로 유포되던 랜섬웨어 또한 돈이 되는 기업을 많이 공격하고 있다. 이러한 흐름은 국내 또한 동일하게 나타나고 있는데, 최근 들어 당사 메일 서버로도 급격하게 많은 피싱 메일들이 수신되고 있다. 아래 [그림 2]는 당사 본인 메일 계정으로 받은 피싱 혹은 스피어 피싱 메일들이다.
우측 피싱 메일은 헌법재판소를 사칭한 메일로 “출석요구서”라는 이름의 사건 자료를 첨부하여 수신자의 관심을 끈다. 이를 통해 악성 파일 실행을 유도했으며, 마치 보안강화를 위해 압축 첨부파일에 비밀번호를 설정한 후 메일 전문에 친절히 알려 주고 있다. 좌측 스피어 피싱 메일은 같은 회사 동료를 사칭한 미납급 인보이스(송장)메일이며, 처리 중인 송장 파일을 같이 보냈으니 확인 해보라고 유도하고 있다.
이번 호의 SIEM 활용가이드에서는 이런 악성메일을 통해 첨부파일을 실행한 내부 사용자들이 있는지 확인하기 위한 CTI를 활용한 로그분석 방법과 탐지 방안에 대해 살펴 보겠다.
[그림 2] 인보이스 메일과 헌법재판소를 사칭한 피싱 메일
2. 스피어 피싱 메일의 악성 첨부파일 행위 로그 분석
1) 사용자 PC에서 악성 첨부 파일 실행
[그림 2]의 좌측 스피어 피싱 메일에 첨부된 문서 파일을 실행시켜 해당 PC에서 악성 파일의 행위 분석 후 이를 바탕으로 인프라와 보안 장비에서 발생하는 로그들에 대해 살펴보겠다. [그림 3] 내부 사용자가 이메일에 첨부된 악성 스크립트(VB, 메크로)가 삽입된 문서를 실행시키면 보안 경고 알림과 함께 “콘텐츠 사용” 박스가 나타난다. “콘텐츠 사용”을 클릭하는 순간 [그림 4] 처럼 WINWORD.EXE → cmd.exe → powershell.exe가 자동으로 실행됨을 볼 수가 있다.
[그림 3] 콘텐츠 사용 클릭을 유도하는 본문
[그림 4] 자동 실행되는 powershell.exe
첨부 문서는 아무런 이상 없이 정상적으로 실행되었지만 백그라운드에서는 powershell.exe에서 실행된 스크립트에 의해 외부 C&C 서버와 통신을 하게 된다. [그림 5]처럼 powershell.exe가 72.52.148.54, 166.62.27.151, 107.180.57.160, 107.180.137.233 4개의 IP와 통신하는 것을 확인할 수 있다. 문서 실행 시 외부 통신을 한다고 하여 무조건 악성 행위라고 단정지을 수는 없다. 이런 상황에서 빠른 판단에 도움되는 정보가 바로 위협 인텔리전스(CTI:Cyber Threat Intelligence) 정보이다. 해당 IP들은 모두 악성 코드 유포사이트들이다.
[그림 5] Powershell.exe 악성 스크립트 실행으로 외부 C&C 통신
문서파일 실행 시 [그림 6]처럼 CDN(콘텐츠 전송 네트워크) 통신을 위해 Akamai등 많은 외부 서비스 업체와 통신이 발생할 수 있다. 자칫 잘못 판단하여 방화벽에서 차단을 하면 안될 것 같다.
[그림 6] 인보이스 메일과 헌법재판소를 사칭한 피싱 메일
첨부 문서를 열어 보더라도 “보안 경고 매크로를 사용할 수 없도록 설정했습니다. [콘텐츠 사용]” 부분만 주의 있게 살펴보고 사용을 안하면 스크립트가 실행되지 않아 감염은 피할 수 있다.
2) SIEM의 CTI 정보를 활용한 유해 IP/URL 분석
전문가가 아니더라도 첨부 문서에 대해 Open되어 있는 CTI 정보를 활용하여 리버싱 수준의 악성 파일을 분석할 수 있다. 이미 [그림 5]에서 첨부 문서 실행 시 Powershell.exe에 의해 악성 스크립트 실행으로 외부 C&C 서버와 통신하는 IP는 정보는 확보할 수 있었다. 의심 IP가 악성 여부 판단을 위해 SIEM → 예방활동 → 유해IP/URL 메뉴에서 조회를 해보면 악성 여부와 활동 이력을 손쉽게 확인할 수 있다. 72.52.148.54, 166.62.27.151, 107.180.57.160, 107.180.137.233 4개 IP 모두 Malware 배포 이력이 있는 유해IP들로 정상적이지 않은 통신임을 판단할 수 있다.
[그림 7 ] 예방활동(CTI)의 악성IP 조회 결과 화면
이외에도 ipvoid, malwares, virustotal등과 같은 다양한 위협 정보 제공 사이트에서도 확인할 수 있다. 각자 제공하는 정보들이 약간씩 다르기 때문에 필요한 정보들간에 상호 보완하는 식으로 활용하면 좋을 것이다.
[그림 8 ] 위협정보 제공 사이트들
3) SIEM TimeLine 로그 분석
SIEM에서 수집한 네트워크 경계 보안장비들의 로그를 통해 악성 스크립트가 포함된 문서를 실행한 Endpoint 단의 PC가 발생시킨 트래픽을 분석해 보겠다. 의심가는 단말 PC의 시간 순서로 행위 분석을 하고자 한다면 검색조건에서 “오름차순 정렬”을 이용하면 로그 분석에 한결 도움이 된다. 만역 감염 의심IP가 192.168.1.55이라면 “s_ip:192.168.1.55”으로 검색하여 수집한 모든 로그에서 일괄 시간 순으로 정렬된 검색 결과 화면을 볼 수가 있다. 여기에 감염된 목적지(d_ip:(72.52.148.54 OR 166.62.27.151 OR 107.180.57.160 OR 107.180.137.233)”)를 추가한다면 언제부터 감염되었는지 24시간에 대한 TimeLine 분석이 가능하다. 검색 결과 내용을 보면 192.168.1.55 IP는 17시에 감염이 되어 악성 사이트로 접근함을 알 수가 있다.
[그림 9] 오름차순 검색과 TimeLine 분석
만약 C&C IP를 알고 있고, 접속하는 우리 기관 전체 감염자 PC를 찾고자 한다면 동일 조건으로 “d_ip:(72.52.148.54 OR 166.62.27.151 OR 107.180.57.160 OR 107.180.137.233)” 4개 IP로 검색해 한번에 찾을 수 있다. TimeLine 분석을 통해 내부 다른 출발지 IP는 이미 4월 14일 감염되어 C2서버로 접근한 이력을 직관적으로 볼 수가 있다.
[그림 10] C2서버로 접근한 기관 전체 내부 사용자 TimeLine 분석
4) SIEM 상세 로그 분석
Time Line 분석을 통해 감염 시점을 확인했다면 다음 분석 과정은 해당 시점에 상세 로그 분석이다. [그림 11]를 통해 살펴 보겠다. Zero-Trust 네트워크 연결 관점에서 분석을 시작하면 좋다. 문서 실행 후 DNS서버로 www.capreve.jp 질의하여 “180.222.87.215” IP 응답 받은 후 http://www.capreve.jp/mv338Rs 로 접속 시도를 하였으나 404.html 에러 페이지로 전환된 점을 보아 페이지가 없어진 것 같다. 다음으로 DNS서버에 raidking.com을 질의하여 “72.52.148.54” IP의 정보 받은 후 http://raidking.com/EVuurgG 로 접속 시도, “166.62.27.151”에 “optics-line.com/MCwej9Q”로 접속 시도, “107.180.57.160”에 “montegrappa.com.pa/hnAvza7”, “107.190.137.233”에 “atuare.com.br/UiWyojIN4g/”에 각각 접속하였고, 해당 웹서버까지는 정상 접속이 되나 해당 페이지가 삭제되어 악성 코드 배포(Drive-by download)는 되지 않고 있다.
IP 직접 통신이 아닌 웹 호스팅의 DNS도메인을 이용하며, 배포 서버 여러 곳을 이용하는 것이 최근 트랜드이다. 유해IP 정보를 통해 악성 사이트임을 바로 판단할 수 있다.
[그림 11] DNS와 웹 필터 로그, IP에 대한 식별 정보
[그림 11]처럼 로그 분석 시 출발지와 목적지 IP가 예방활동에 등록된 유해IP이면, 이와 같이 적색으로 표시되며, 클릭 시 유해 정보가 팝업창으로 제공되어 빠른 판단에 도움을 준다. 만약 내부 자산이라면, IP필드 옆 서버 아이콘으로 표현되고 동일하게 팝업 창으로 정보를 보여준다. 당사 스마트가드가 설치되어 있다면 취약 정보까지 연계하여 보여 주게 된다. 즉, 침해 분석에 필요한 공격자의 정보와 자산 정보를 바로 볼 수 있다.
[그림 12]의 방화벽 트래픽 로그에서 tcp_flag필드의 통신 상태를 확인해 보면 “S sa A / FA a fa RA”와 “S sa A / RA” 임을 확인할 수 있으며 따라서 악성코드 배포 서버와 HTTP 80 통신은 정상적으로 이루어지고 있다. 즉, 일부 서버는 해킹에 의해 복구된 웹 서버와 웹 호스팅 업체 서버에 호스팅을 받아 배포서버를 운영하다 보니 IP는 차단이 안되고 계속 정상 운영되고 있는 것 같다.
[그림 12] 방화벽 트래픽 로그
3. SIEM 탐지 방안
1) 위협 인텔리전스(CTI:Cyber Threat Intelligence)를 활용한 탐지
SIEM 관점에서 수집된 로그를 활용하여 악성 메일에 감염된 PC는 2가지 측면으로 탐지할 수 있다.
최초 첨부파일 실행 후 악성코드 배포 서버로 접근 시 위협 인텔리전스(CTI:Cyber Threat Intelligence) 를 활용하여 탐지하면 된다. 만약 감염 이후라면 IPS와 백신장비에서 탐지 여부와 방화벽 로그 중에 장기간 세션을 탐지하는 방법이 있다. Zero-Trust 관점에서 네트워크 연결 모니터링을 한다고 하더라도 수 많은 트래픽들을 모두 분석 모니터링 하기는 불가능하다. 또한 악성코드들도 C&C서버 접속 시 정상적인 웹 서버의 접속 트래픽이기 때문에 구분하기 쉽지 않다. 그래서 접속자가 누구며, 목적지IP는 누구인지 식별할 수 있는 위협 인텔리전스가 효과적이라고 생각한다. SIEM이 구축되어 있다면, 이미 예방활동 기능을 통해 위협 인텔리전스 정보는 이글루시큐리트의 CTI서버로부터 실시간 위협 정보를 제공 받으며, 위협 인텔리전스 정보를 바탕으로 단일경보 탐지 룰 또한 기본 설정되어 제공되고 있다.
2) 위협 인텔리전스를 활용한 단일 룰 상세 설정
“단일경보관리 → S10 사이버 위협 인텔리전스(CTI)” 룰 그룹이 위협 인텔리전스를 활용한 관련 룰 그룹이다. [그림 13]처럼 다양한 룰들이 이미 등록되어 있으며, 예방활동에 등록되어 있는 위협DB에서 수집처와 악성코드 유형을 분류하고, 유효기간에 조건에 따라 유해IP를 메모리에 올려 실시간 탐지할 수 있다. 탐지 조건 변경 시 ⓑ 조건 정의 오브젝트(“gm [select ip as d_ip from is_blacklist_ip where category like 'osint,malware%' and to_date(valid_date, 'yyyy/MM/dd') >= sysdate-90] d_ip)에서 수정하면 된다. 유해IP의 공격자(출발지) 또는 감염자(목적지)를 변경하고자 한다면 ① 부분을 수정하면 된다. 분류 부분 ②를 통해 위협정보 수집처와 악성코드 유형(tor, malware, c&c)을 분류하여 탐지 할 수 있다. ③ 은 위협 정보의 유효기간을 설정할 수 있다, 즉, 위협DB에서 몇일 전에 등록된 위협 정보까지 탐지 정보로 활용할 것이지를 정의할 수 있다. ⓐ, ⓒ 부분은 동일한 출발지IP가 한번의 접근 만으로도 탐지가 되도록 하는 설정이다. 1건 탐지 시 경보지속등을 고려하여 발생 주기는 30초가 적당하다. 30초로 설정한다고 하더라도 발생 건수가 1건이면 탐지 즉시 경보가 발생한다. 즉, 0초 만에 탐지가 되어 경보를 발생 시킨다. 로그소스 같은 경우 방화벽 로그에서 탐지할 것인지, TMS, IPS와 결합하여 탐지장비에서도 위협으로 탐지된 IP가 위협 인텔리전스 IP와 매칭되면 경보를 발생시킬 것인지를 두고 로그소스를 선택하면 된다.
[그림 13] 단일경보 룰 설정 및 예방활동(CTI)
3) 탐지 결과 분석
아래 그림은 악성 첨부파일 실행 시 해당 PC에서 탐지된 결과 화면이다.
① 경보는 비정상적으로 다양한 목적지로 접근한 이상 행위를 탐지한 결과이다. CTI에 해당하는 유해IP로 접근 시 탐지 한 결과를 볼 수 있다.
② 탐지 결과는 DNS로그를 이용하나 55번 IP가 평소 접근하지 않은 도메인으로 접근하여 탐지한 결과이다. DNS로그를 활용하여 Domain/URL로 접근 시 탐지할 수도 있다.
[그림 14] SIEM 상관분석 탐지 결과 화면
[그림 15] 상관분석 → 룰별 상세 보기 화면
③ 경보는 CTI Malware 유포지IP에 등록된 IP로 접근 시 탐지한 결과이다. 출발지 기준으로 탐지 설정이 되어 있어 동일 IP가 다양한 유해IP로 접근하더라도 하나의 경보만 발생한 경우이다. 만약 내부 사용자 PC가 유해IP별로 접근할 때 마다 경보를 발생시키고 싶다면, 단일 경보 동일 조건에서 s_ip와 d_ip로 설정하면 된다. 그러면 경보는 세분해서 발생하지만 그만큼 경보 수도 증가하게 된다. 반대로 d_ip만 설정한다면 감염지 별로 접근하는 내부 IP들을 구분하여 탐지할 수 있다.
4. 결론
SIEM에서 제공하는 위협 인텔리전스 정보(CTI)를 활용하여 내부 사용자들이 악성 메일에 감염 시 어떻게 로그 분석과 탐지할 수 있는지 사례를 살펴 보았다. 그리고 전문가가 아니더라도 Open 위협 정보 제공 사이트들을 통해 첨부 파일의 악성 여부와 IOC 지표들의 위험 여부 판단을 할 수 있는 방법도 알아보았다. 즉, 위협 정보를 잘 활용한다면 충분히 전문가들 못지 않은 위협 분석과 탐지 정책을 설정할 수 있을 거라 생각한다.
결론을 내린다면 이글루시큐리티의 CTI서버 및 상위기관에서 제공하는 위협 정보를 잘 활용하여 자체 활동을 통해 유해IP와 URL/Domain을 지속 관리한다면 기관 및 기업의 보안을 한층 더 강화할 수 있을 것이다.
다음에는 위협 정보와 자산 정보, 취약점 정보를 이용하여 좀 더 적극적인 예방활동에 대해 알아 보겠다.