보안정보
전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.
악성코드 감염 사용자의 로그 행위 분석
2017.04.04
20,447
기술지원센터 분석기술팀 이세호, 이문규
1. 개 요
보안 분석 기업 레드씰(RedSeal)은 2017년은 보안 역사상 최악의 해가 될 것이라고 전망했다. 왜냐하면 이미 내부 시스템 속에는 악성코드들이 많이 존재하는데 비하여 대부분의 조직들은 최근에 와서야 탐지 노력을 개선하고 있으며 취약점을 찾기 위해 필요한 시간, 자본, 사람을 투자하기 시작했기 때문이다. 수 많은 기업들은 불과 약 3~4년 전부터 APT공격과 제로데이 공격 증가에 대해 인지하기 시작했다. 맨디언트 보고서에 따르면, 아태지역 기업들은 침해를 탐지하는데 520일이 소요되며, 이중 53%는 외부기관에 의해 침해 사실을 발견했다고 한다. 공격자는 해당 기업이 공격 사실을 탐지하기 전에 내부시스템을 감염시키고, 내부 네트워크에 침투해 각종 기밀정보들을 유출시켜 기업에 값비싼 대가를 요구하고 있다.
이렇게 APT(악성코드 감염 등)와 같은 공격에 피해를 당한 주요 이유를 살펴보면 각종 보안 솔루션들이 부족하여 공격을 당한 것 보다는. 오히려 너무 많은 보안 장비들이 도입되면서 통합적으로 보안솔루션을 운영하기가 어려운데서 기인한 경우가 많다. 보안장비들이 늘어나면서 정책관리와 각각의 보안장비에서 발생하는 이벤트(경보)와 방대한양의 로그들을 확인하기가 점점 더 어렵기 때문이다.
2. SIEM, 이기종 단일 보안장비들의 로그 분석
이번 시간에는 사이버 보안의 컨트롤 타워인 SIEM을 활용하여 수 많은 보안 장비에서 발생하는 다양한 형식의 이벤트(경보)와 원본 로그들을 공통된 형식으로 만드는 정규화(normalization)와 비슷한 로그를 서로 묶는 범주화(categorization)된 각종 로그들을 어떻게 손쉽게 분석할 수 있는지 알아 보겠다. 또한 이러한 일련의 로그분석 과정을 담당자가 자동으로 인지할 수 있도록 상관분석을 통해 자동 탐지하는 과정에 대해서도 알아보겠다.
1) 악성코드 트래픽 로그 분석 시나리오
악성코드는 크게 두가지 경로로 전파되는데, 하나는 취약한 웹사이트 방문으로 인한 drive by download 형태이고, 나머지 하나는 e-mail의 첨부파일 클릭을 유도하는 형태이다.
아래 시나리오는 사용자가 의심 없이 파일을 실행을 하며, 이때 악성코드는 시그니처 기반의 탐지장비를 우회한다.그러나 각종 보안 장비에서 발생하는 정책 로그들을 통해 악성코드의 행위를 분석하는 시나리오다.
① APT장비나 e-Mail 차단 솔루션등을 통해 파일 다운로드와 첨부파일 수신여부를 모니터링 한다.
② DNS 로그를 통해 평소 방문하지 않은 도메인(홈페이지)으로 접속여부와 반복적인 DNS질의가 이루어 지는지 확인 한다.
③ 유해사이트 차단시스템을 통해 악성URL방문 또는 URI 부분에 DBD(Drive by Download)가 이루어 지는지 확인한다.
④ 방화벽 로그를 통해 반복 지속적으로 접속 시도하는 외부 통신과 장시간 세션에 대해 확인한다. 특히 TCP Flage Syn을 통해 해외로 향하는 트래픽을 검색한다.
⑤ 그외 탐지 장비에서 탐지여부와 인터넷 업무가 많은 직원들은 백신 서버를 통해 평소 자주 감염되는지 평판분석등 여러가지 데이터를 종합 분석하면 좋다.
3. 이기종 단일 보안장비들의 로그 분석
공격자는 탐색기의 파일 확장명 숨기기 기능을 활용하여JS(Jscript Script File)을 hwp파일로 속여 실행하도록 한다. JS 파일은 윈도즈 OS에 내장된 wscript.exe를 호출하기 때문에 백신을 우회할 수 있으며, 외부 C&C서버와 통신 시도를 하는 과정에서 SYN패킷과 장시간 세션 등 많은 트래픽을 발생시킨다. [그림 2]의 TCPview에 보이는 트래픽들이 각각의 보안장비에서 어떤 로그를 발생시키는지 SIEM의 '정규화(normalization)'된 로그를 통해 손쉽게 분석해 보겠다.
[그림 2] 악성코드에 감염된 사용자 PC 화면
1) APT & e-Mail 차단 솔루션
해커는 내부 사용자가 악성 메일을 의심 없이 열람하고 첨부파일을 실행하도록 유도하기 위해 “Payment”, ”invoice”, ”report”등의 제목으로 첨부파일(js파일)이 포함된 악성 메일을 전송하였다. APT & e-Mail 차단 솔루션을 통해 첨부 파일 추출 또는 수신여부를 알 수가 있다.
[그림 3]로그를 보면 메일서버에서 pament_625517.zip으로 압축된 파일을 다운로드 받았다는 걸 확인 할 수 있다.
검색어: log:apt AND mdirection:"server-to-client" AND action:"File Download" AND file_name:*.zip
(문자열 필드 검색시 중간에 공백이나 특수문자가 있으면 “ “로 묶어 주면 된다.)
[그림 3] APT 장비 파일 다운로드 이벤트
2) DNS 서버
해당 악성 첨부 파일을 실행한 내부 사용자 PC에서 유포지나 C&C가 ISP 업체에서 차단되거나 해당 웹서버가 사라질 경우 악성코드 감염 이전과 비교하여 평소 접근하지 않던 도메인으로 지속적인 반복 DNS 질의를 하게 된다. 이때 DNS 질의 건수 역시 급격하게 증가하는 부분을 확인 할 수 있다. 해당 C&C서버에 연결이 되면 한 두 번의 질의만 하게 될 것이다.
이럴 경우 SIEM의 Threat Intelligence 기능을 통해 DNS 질의를 하는 모든 domain에 대해 유해 URL 검사를 하여 실시간 경보를 발생시켜 준다.(상세 내용은 2017년 SIEM 가이드 1월호 참조)
검색어 : log:dns AND s_ip:192.168.1.99 AND domain:”sky-hero.com”
[그림 4] DNS 질의 로그
3) 유해사이트 차단 솔루션
최근 악성코드들은 내부에서 외부로 통신 우회하기 위해 80포트를 많이 활용한다. 이런 트래픽들의 URI/URL을 확인하기 위해 유해사이트 차단솔루션의 로그를 활용하면 된다.
아래 [그림 5]의 로그에서 처럼 URI 필드에서 “sky-hero.com/ad.exe” 로 DBD(Drive By Download)를 통해 원격제어등을 위해 실행파일을 추가 다운로드 받은 걸 확인 할 수 있다.
검색어 : log:wf AND s_ip:192.168.1.99 AND uri:*.exe
[그림 5] 유해사이트 차단솔루션 URL 접근 로그
4) 방화벽
일반적으로 악성코드 감염이 될 경우, 외부 C&C와의 통신을 하며 추가적인 악성파일을 다운로드 하거나, 내용을 수집하거나 명령을 받아 다양한 공격을 한다.
방화벽 로그를 통해 외부 C&C 서버와 장시간 통신하는 세션을 duration 필드를 통해 쉽게 찾을 수 있다. [그림 3-6]를 보면 웹 서비스 포트인 80포트로 통신을 하는데 연결시간(duration필드)이 3600초로 굉장히 오랜시간 동안 연결된 세션을 볼 수가 있다.
검색어: s_ip:192.168.1.99 AND duration:[3600 TO *] AND d_port:80 AND pkt_bytes:[120000 TO *]
(범위 검색시 [A TO B] 형식으로 하면된다. 원하는 값의 이상/이하일 경우 [A TO *], [ * TO B])
[그림 6] P사 방화벽 악성코드 감염 로그
[그림 7] A사 방화벽 악성코드 감염 로그
[그림 6]과 [그림 7]에서 보는 로그는 방화벽 제조사가 서로 다르다. 그러다 보니 패킷을 처리하는 방식이 다르다. 주의해서 분석할 필요가 있다. 관련 내용은 다음에 다루기로 하겠다. 목적지IP의 적색 느낌표 아이콘을 클릭하면 K-Center를 통해 제공받은 “실시간 위협정보”를 확인할 수 있다.
[그림 8] 실시간 위협정보 확인
만약 ISP 업체에서 차단이 되거나 C&C서버가 없어졌다면 [그림 9] 처럼 tcp_flag필드에 “S+” 값이 반복적으로 로그를 남길 것이다.
검색어 : log:fw AND s_ip:192.168.1.99 AND tcp_flag:S+
[그림 9] 방화벽 차단 SYN flag 로그
5) IPS
IPS에서는 해당 악성코드에 대해 IPS에서 탐지한 이력은 없었다.
검색어 : log:ips AND s_ip:192.168.1.99
[그림 10] IPS 탐지 이력
만약 Tor 네트워크를 이용하는 악성코드 같은 경우 IPS에서는 [그림 11]같이 탐지가 된다.
Tor 네트워크는 사용자가 접속하는 중계서버를 지속 변경하기 때문에 다수의 SSL 통신이 발생하고, 중계서버의 SSL 인증서 정보는 일반사이트와 다른 일정한 패턴을 갖는다. 그외, UTM장비에서 모듈을 올리면 파일다운로드와 application 탐지 정보도 확인 할 수 있다.
검색어: log:ips AND s_ip:192.168.1.99 AND attack:"malware_use_tor_cnc_20150327-12(HTTPS)"
[그림 11] Tor 인증 트래픽 IPS 탐지 로그
4. 가시성 확보 : Time Line 통계 분석과 로그 추적 분석
지금까지는 단일 보안장비에서 발생하는 로그에 대해 분석하는 과정을 살펴보았다면 이제는 로그 유형에 따라 '범주화(categorization)'한 데이터를 활용하여 한꺼번에 분석할 수 있는 기능에 대해 알아 보겠다.
1) Time Line 통계 분석
통합로그검색 창에서 그래프 항목을 체크를 하고 검색을 하면 Time Line 통계 그래프를 바로 확인 할 수가 있다.
전일 혹은 일주일간의 평균 트래픽 추이 분석이 즉시 가능 하다. 오전 9시 이후 트래픽이 급격히 증가한 걸 볼 수가 있다.
[그림 12] 검색 시 Time Line 통계 분석
2) 필드별 통계 분석
이기종 장비들의 각기 다른 로그 포멧을 '정규화(normalization)'와 비슷한 로그를 서로 묶는 '범주화(categorization)' 통해 통계 이후 “통계TopN” 기능을 통해 검색 된 필드들에 대해 필드별 일괄 그룹by 통계를 상위 10~1000 까지 구할 수 있다.
“통계TopN”을 통해 내부 사용자는 fw, apt, dns, wf등 다양한 보안 장비에 탐지가 되었으며, 3600초의 장시간 세션, 0 & 60byte의 비정상 트래픽까지 로그의 특징을 빠르게 파악할 수 있다.
[그림 13] 검색 이후 통계TopN
3) 로그 추적 분석
내부 사용자가 인프라 전체에 어떤 영향을 미쳤는지 로그추적 분석기능을 통해 한눈에 한꺼번에 확인 할 수 있다. 또한 네트워크 경로를 추적할 수도 있으며, 지점이나 다른 망으로 침투여부도 쉽게 파악 가능하다. [그림 14]에서 보듯이 DNS서버 > 유해사이트 차단 > APT > 내부 FW > IPS > Core FW 까지 트래픽 경로와 이벤트 발생여부를 색상과 건수로 표현을 해주고 있다.
[그림 14] 로그 추적 분석 결과 화면
5. 상관분석 탐지
악의적이거나 의심스러운 활동의 미묘한 징후는 실시간 자동탐지 되어야 한다. 특히 로그 분석에서 보았듯이 특정 출발지 IP가 여러 보안장비에서 이벤트(경보)와 로그를 발생시킬 때 탐지할 수 있는 단일경보를 설정해 보겠다.
경보설정: [그림 15]에서 보듯이 발생건수에 “5,origin >= 5” 로 설정하면 특정 출발지IP(동일조건)가 5가지 이상의 다양한 보안장비에서 이벤트나 로그를 발생시키면 탐지가 된다.
[그림 15] 이기종 장비 탐지 설정
[그림 16]은 이기종 보안장비 탐지 화면으로 동일 출발지IP가 APT > DNS > 유해사이트 > 내부 방화벽 > Core 방화벽까지 다양하게 발생시킨 이벤트와 로그를 한번에 탐지할 수 있다.
[그림 16] 이기종 보안장비 탐지 화면
1) 관리 > 설정관리 > 단일경보관리
방화벽 로그를 이용하여 악성코드에 감염된 PC의 비정상 트래픽을 탐지 설정해 보겠다. 하나의 경보에는 4개의 오브젝트까지 구성가능하며, 하나의 오브젝트는 n개의 필드까지 탐지 지원한다.
악성코드 감염 PC 탐지 : 유해트래픽과 위협 인텔리전트 정보 융합 탐지 조건 설정
[그림 17] 단일경보 관리의 룰 설정화면
경보조건 설명: 내부에서 외부로 나가는 트래픽 중 한국이 아닌 외국으로 접근하며, TCP Flage값이 SYN, Invalid이며, 목적지IP는 유해IP인 트래픽을 탐지하는 룰이다. 비정상 트래픽이라고 모두 탐지하면 오탐에 우려가 있으므로 위협 인텔리전스 정보를 이용하여 목적지 IP가 유해IP인지 확인하면 좋다.
● 탐지 필드 및 값
- out_nic : 내부->외부(INT,DMZ)
- d_country : 한국인 아닌 외국만(KR,-)
- tcp_flage : syn, invalid패킷
- 유해IP : gm쿼리(예방활동 메뉴에 등록된 위협 인텔리전스 IP)
2) 경보분석 > 탐지 결과
보안관제 > 경보분석 화면에서 탐지 결과를 확인 할 수 있다. “악성코드 감염PC” 경보 외에도 “10분 이상 장기간 세션 트래픽”이나 “평소와 다른 목적지로 접근” 등 다양한 조건에 의해 탐지된 결과를 볼 수 있다.
[그림 18] 탐지 결과
3) 경보 상세분석 > (룰셋명: [S4_FW] 악성코드 감염 PC Paloalto+BL-2분)
분석룰셋명 필드에서 마우스 우클릭 후 상세분석 메뉴를 클릭하면 [그림 19] 같은 상세보기 팝업 창이 실행된다. 하루 중 탐지 지속이 된 시간과 왜 탐지가 되었는지에 대한 상세 정보가 있다. 그리고, 근거 로그에 출발지/목적지 IP가 유해IP면 적색으로 표시되면, 우클릭하여 유해IP정보도 바로 확인가능 하다.
[그림 19] 방화벽 로그 탐지 화면
4) 경보 상세분석 > ([S10_DNS&WF] SIP 유해 URL[도메인]로 접근)
DNS&유해사이트 로그는 “domain” 필드와 유해URL(gm)로 탐지하면 된다. 동일 출발지IP가 평소와 다른 URL로 반복 접근하면서, 유해URL로 접근하여 탐지된 결과이다.
또한 평소와 다른 이상행위를 탐지하고자 하신다면, [월간보안동향 1월 호] SIEM 가이드 부분에서 평판 탐지에 관한 상세 설명이 되어 있다.
[그림 20] DNS&유해사이트차단솔루션 탐지 화면
6. 마치며…
서두에서 말한 바와 같이 지속적으로 발생하는 보안사고 중 많은 보안사고는 통합적인 침해 로그분석이 가능했다면 발생하지 않았을 것이다. 공격자들이 내부로 들어오는 것을 100% 막을 수 없다면, 인프라 내부의 이상행위들을 지속적으로 로그 분석하여 피해를 최소화 할 수 있도록 대응책을 수립해야 한다. SIEM을 통해 알려진 공격들은 탐지장비의 이벤트(경보)로 실시간 대응하고, 그 외 탐지장비를 우회하는 지능화된 공격들은 각종 보안 장비에서 발생하는 방대한 양의 로그간 상관분석을 병행해야 할 것 이다.