<로그 분석으로 잡는 랜섬웨어>
–
큐비트 시큐리티
“Your important files are encrypted.”
말로만 듣던 협박 메세지가 모니터에 띄워지는 순간,
머리가 멍해졌다가 ‘이게 무슨 소리인가?’
하고 정신을 차려 파일들을 살펴보니 확장자가 이상하다.
다시 협박 메세지 창으로 돌아와 줄어가는 시간을 보고 나서야 사태의 심각성을 인식한다.
랜섬웨어가 국내 첫 상륙 한지 약 일 년이 다 되어갑니다. 그 사이 랜섬웨어 감염자 수는 15만명, 피해 액은 3,000억원이 넘어 섰습니다. 최신 백신으로 업데이트 한다 해도 새로운 수법에는 속수무책이며 정부와 보안 관련 기관에서 갖은 노력을 하고 있으나 실질적 대응책에 대한 소식은 아직 들려오지 않고 있습니다.
우리 전산 담당자들 입장에서 랜섬웨어는 더 심각한 골칫거리 입니다. 회사 내의 한 대의 서버만 감염되더라도 연결된 네트워크를 타고 모든 서버에 복제되어 대규모의 피해를 입기 때문입니다. 만약 기업 운영에 직결 되는 데이터가 암호화 되었다면 순순히 해커의 금전 요구에 응할 수 밖에 없는 실정입니다.
<랜섬웨어 비즈니스 모델 – 출처: 한국 랜섬웨어 침해 대응 센터>
하나 기쁜 소식은 대규모 피해로 번지기 전에 랜섬웨어를 발견할 수 있다는 것입니다.
기업 데이터는 그 규모가 방대하고 가치도 크기 때문에 암호화 하는데 상당히 긴 시간이 소요됩니다. 랜섬웨어를 초창기에 발견할 수만 있다면 다른 서버로 유입되기 전, 아니 첫 감염 서버에서 문제가 심각해지기 전에 우리는 대응 할 수 있습니다.
어떻게…? 해답은 바로 ‘로그분석‘에서 있습니다.
컴퓨터가 랜섬웨어에 감염되면 특유의 이상한 움직임을 보이는데 이 움직임은 ‘로그‘로 나타납니다. 그 특유의 움직임(로그)은 다음과 같습니다.
- 알 수 없는 자동 실행 파일 등록.
- 알 수 없는 프로세스 생성.
- 알 수 없는 파일이 내부의 다른 서버로 전송.
- 외부 서버 접속을 위한 네트워크 구성 변경
이런 로그가 발견되면 랜섬 웨어 감염을 의심해 보고 바로 시스템 종료, 네트워크 분리 등의 조치를 취하면 됩니다. 이 글에서는 윈도우 운영체제를 기준으로 ‘이벤트 뷰어‘를 통해 로그를 분석하는 방법을 설명하겠습니다.
우선 이벤트 뷰어에서 위의 세 가지 로그를 보고 받기 위해서는 보안 감사 정책을 수정해야 합니다. 로컬 정책에 들어가 ‘개체 엑세스‘와 ‘프로세스 추적‘ 감사를 활성화 시켜주세요. (개체 액세스 감사는 파일 생성에 관련이 있고 프로세스는 파일 실행과 관련이 있습니다.)
-
실행창 > secpol.msc 실행 > 로컬 정책 > 감사 정책 >개체 엑세스 추적 감사 >성공 체크
-
실행창 > secpol.msc 실행 > 로컬 정책 > 감사 정책 >프로세스 추적 감사 >성공 체크
기본 준비가 끝났으면 이제 본격적으로 세 가지 유형의 의심 로그를 이벤트 뷰어에서 확인하는 방법으로 들어가겠습니다. 이벤트 아이디를 검색하여 해당 로그를 빠르게 찾을 수 있도록 해당 이벤트 ID도 함께 정리했습니다.
1. 알 수 없는 자동 실행 파일 등록 로그 찾기. (이벤트ID: 4663)
현재까지 발견된 랜섬 웨어들은자동으로 실행된다는 공통점을 가지고 있습니다. 이 경우 필수적으로 시작프로그램 등록이나 레지스트리 자동 실행 등록 절차를 거칩니다.(Ctb로커/크리트로니 제외)
앞으로 개발 될 신종 랜섬웨어도 희생자의 컴퓨터에서 자동 실행되도록 설계될 가능성이 큽니다.
따라서 우리는 시작프로그램과 레지스트리 자동실행 디렉터리에 감사 정책을 걸어 자동 실행 개체 감사를 확인해야 합니다.
아래는 자동 실행 개체 감사 설정 방법입니다.
<시작프로그램 파일 추가 감사 걸기>
- 다음 경로로 시작프로그램 폴더로 들어갑니다.
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup - 다음 절차를 거쳐 감사를 설정하세요.
오른쪽 마우스 버튼 클릭 > 속성 > 보안 > 고급 > 감사 > 편집 > 추가 > 권한 있는 계정 등록 > 파일 만들기, 폴더만들기(체크) > 확인
<자동 실행 레지스트리 추가 감사 걸기>
- 다음 레지스트리 자동 실행 폴더 경로로 들어가 주세요. (경로는 서버 버전마다 다양합니다. 다음 경로는 Window 2008,2012 버전에 해당됩니다.)
실행창 > regedit > HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
실행창 > regedit > HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
실행창 > regedit > HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
실행창 > regedit > HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce - 폴더 트리의 최종 경로에서 오른쪽 마우스를 클릭하여 다음 절차를 따라 감사를 설정하세요.
ex) Run에서 오른쪽 마우스 클릭 > 사용권한 > 고급 > 감사 > 추가 > 권한 있는 계정 등록 > 모든 권한 > 확인
2.알 수 없는 프로세스 생성 로그 찾기(이벤트 ID:4688)
컴퓨터가 시스템을 운영하기 위해서는 몇가지 자동으로 실행시키는 프로세스가 있습니다. 그런데 이 외에 알 수 없는 프로세스가 실행 될 경우 랜섬 웨어 감염 파일의 실행으로 의심해 봐야 합니다. 이벤트 뷰어에서 프로세스 추적 감사 (이벤트 ID:4688)를 검색하여 로그들을 살펴보시고 지금까지 정상적으로 반복되었던 프로세스 외에 낯선 파일을 실행한 프로세스가 있는지 확인하시길 바랍니다.
3.알 수 없는 파일이 내부의 다른 서버로 전송 되는 로그 찾기.(이벤트ID: 5140,4688)
파일이 전송되는 방법에는 (1)네트 워크 공유폴더에 랜섬웨어 파일을 추가하는 방법과 (2)net use와 ftp 명령어 사용으로 직접 파일을 전송하는 두 가지 방법이 있습니다. 따라서 우리는 네트워크 공유 개체 접속 이벤트(이벤트ID: 5140)를 확인해야 하며, Net 명령어 사용과 ftp 명령어가 실행되는지 프로세스 추적 감사(이벤트ID:4688)를 확인해야 합니다.
4.외부 서버 접속을 위한 네트워크 구성 변경 로그 찾기(이벤트 ID:4688,4946,4947)
공격자의 원격 서버와 통신할 수 있도록 네트워크 구성이 변경될 것입니다. netsh.exe를 이용하거나 방화벽 설정이 변경되었는지 확인하십시오.
–
이제까지 랜섬웨어 의심 로그를 이벤트 뷰어를 통해 확인 하는 방법에 대해서 설명했습니다. 사실 최상의 시나리오는 랜섬웨어가 최초 유입되어 작동하자 마자 발견되어 일말의 피해도 입지 않는 것입니다. 하지만 하루 종일 매 시각 해당 이벤트 아이디를 검색하고 있다면 모를까, 그럴 수 있는 가능성은 현실적으로 희박합니다. 그 수많은 서버를 일일이 다 검사하며 감염될지 안될지 모르는 랜섬웨어 발견에만 매달리고 있을 수는 없는 노릇입니다.
이는 비단 랜섬웨어만의 문제가 아니고 보안 담당자들의 오랜 골칫거리였습니다. 저희가 PLURA 서비스를 개발한 이유는 이런 고질적인 문제를 해결하기 위해서였습니다. PLURA는 에이전트가 설치된 각 서버에서 발생하는 로그들을 원격 클라우드 서버로 전송해 1분마다 분석해서 의심 로그가 발생 할 때 알려 줍니다. 랜섬웨어의 경우 다음 10가지의 필터로 실시간으로 탐지됩니다.
- 자동실행 파일 추가: 시작프로그램 디렉터리에 감사를 적용하여 필터링.
- 자동실행 레지스트리 추가: 랜섬웨어 자동실행에 등록 레지스트리에 감사를 적용하여 필터링.
- 네트워크 연결 시도중: net.exe를 사용한 서버 간 파일 전송 필터링.
- 파일전송 시도중: ftp.exe를 사용한 서버간 파일 전송 필터링.
- 파일 인바운드 시도중: 해당 서버로 파일 전송 시도 시 필터링
- 파일 아웃바운드 시도중: 해당 서버가 파일 전송 시도 시 필터링
- 네트워크 공유 개체 접속: 서버 간 개체 추가 시 필터링.
- 네트워크 구성 변경 시도 중: netsh.exe를 이용한 네트워크 구성변경 시도 시 필터링
- 방화벽 규칙 수정: 외부서버 접속을 위한 방화벽 설정 변경 시 필터링
- 방화벽 규칙 추가:외부서버 접속을 위한 방화벽 설정 변경 시 필터링
탐지 된 의심 로그는 PLURA 웹 서비스, 이메일, 모바일 앱 알림을 통해 관리자에게 바로 보고되기 때문에 별도로 이벤트 뷰어를 통해 해당 로그 검색을 시행하는 수고를 하지 않아도 됩니다. 다른 업무에 집중하다가 알림과 보고서만 받아 보고 최초 암호화가 진행 되기 전에 랜섬 웨어 대응 조치를 취할 수 있습니다.
PLURA를 사용하지 않는 분들께는 매일은 아니더라도 주기적으로 로그 분석을 시행해 보시기를 권장합니다. 데이터를 백업해 놓는 것도 중요합니다만 최근 경우에는 백업 데이터까지 암호화시키는 경우도 있기 때문에 미연에 큰 사고를 방지하는 것이 최선책입니다.
2016년도 랜섬웨어의 기세는 사그라들지 않을 전망입니다. 하지만 언젠가는 결국 그 기세가 꺾일 것이라고 생각합니다. 저희 큐비트 시큐리티를 비롯하여 많은 기관들이 최선을 다하고 있기 때문입니다. 이것은 총성 없는 전쟁입니다. 전쟁에서 승리하는 그날까지 모두의 건승을 빕니다.