목차
A. 원격 접속 프로그램의 기본 접속 계정과 비밀번호 변경
1. 요약
- 소프트웨어 보안 업데이트 - 필수로 사용
- 레거시 시스템 제거 - 비용 고려하여 최대한 제거, 그렇지 않다면 확실한 접근제어를 구현
- 백신 소프트웨어 운영 - 인터넷 시큐리티 버전 추천, 유료 상품을 이용
- 랜섬웨어에 특화된 소프트웨어 사용 - 앱체크 추천
- 이메일 관리 - 외부 사설 이메일 사용 자제, 실행파일 첨부 자제 문화 형성
- 운영 관리 - 원격 접속 프로그램의 기본 계정과 비밀번호 변경, 보안 전문업체나 한국인터넷진흥원의 권고 사항 지속적 이행
- 백업 관리 - 물리 시스템 사용 시 백업 후 연결 끊기, 클라우드 사용 시 브라우저를 통해서만 이용, 자체 클라우드의 경우 동기화 프로그램을 제공하는 서비스를 이용하여 백업
- 복원 관리 - 복원 시스템 운영하는 것을 추천하나 100% 신뢰하진 않음
- 차단 및 대응 - 80, 443 포트 외 모든 포트를 차단 후 윈도우 업데이트
2. 개요
현재 가장 뜨거운 감자인 워너크라이(WannaCry) 랜섬웨어는 감염된 이후 대응방안은 애매하다. 이미 볼모로 잡힌 디지털 자산들을 해결할 수 있는 방안이 없기 때문이다. 하지만, 악성코드에 감염되기 전 유포는 충분히 대응 가능하다. 앞으로 꾸준히 이슈가 될 랜섬웨어의 핵심 대응방안을 기록해본다. 내용중 일부는 랜섬웨어뿐만 아니라 대다수의 악성코드를 대응하는 방안이 될 수 있다.
3. 관리적 대응방안
컴퓨터 시스템을 체계적으로 관리하는 것만으로도 충분히 대응할 수 있다. 관리적 대응방안에는 다음 두 가지 형태로 분류할 수 있다. 예방 관리는 말 그대로 랜섬웨어 감염으로부터 예방할 방안이며, 대비 관리는 랜섬웨어에 감염된 후에 대비할 방안이다.
3.1. 예방 관리
3.1.1. 소프트웨어 보안 업데이트
주로 듣는 질문들을 정리해보면 다음과 같다.
- 어떻게 랜선만 꼽혀있는데 악성코드에 감염되나요?
- 웹 사이트 서핑만 했는데 악성코드에 감염될 수 있나요?
- 문서를 열고 스크립트와 같은 추가 기능을 차단했는데도 악성코드에 감염될 수 있나요?
위 질문의 대답은 "네" 이다. 이러한 악성코드 감염이 가능한 이유는 소프트웨어 취약성(Vulnerability) 때문이다. 취약성을 정확한 개념은 아니지만 쉽게 설명하면 "공격자 마음대로 명령한다." 정도로 볼 수 있다. 이는 네트워크 기준으로 로컬인가, 근거리인가, 원거리인가는 중요하지 않다. 어느 기준이든 위험한 공격 방식이며, 당연한 이야기지만 셋 중에서 원거리 네트워크로 사용할 수 있는 취약성이 가장 위험하다.
어? 너 취약하네? 너 내가 가리키고 있는 저 파일 다운로드하고 실행해!
이번 이슈에 접목시켜보면 원거리 공격자가 SMB 버전1 프로토콜에 명령을 던졌을 때 취약하다면 랜섬웨어를 다운로드하고 실행하도록 명령할 수 있다. 물론 취약성이 존재하더라도 공격자가 시스템을 실제 운영하는 사용자만큼 명령을 전달할 수는 없다. 지속적이고 좀 더 용이하게 공격 명령을 구성하거나 이미 모든 명령을 포함한 형태로 한번에 명령하기 위해 악성코드를 감염시킨다. 따라서 취약성을 막는다면 악성코드 감염으로 부터 자유로울 수 있다.
취약성을 막을 수 있는 가장 안전한 방법은 보안 업데이트를 통한 문제가 되는 소프트웨어의 패치를 진행하는 것이다. 이미 컴파일 된 파일을 패치하는 것은 매우 어렵다. 소스코드를 가지고 있는 회사에서 진행할 수 밖에 없기에 제조사의 보안 패치를 진행하는 것이 중요하다. 이번 워너크라이에 사용된 취약성은 마이크로소프트에서는 MS17-010, MITRE 기준으로 CVE-2017-0144로 명명되어 있다. 이 취약성은 2017년 3월 14일에 보안 패치를 진행했다. 정기적 보안패치나 자동 보안패치를 사용하며 다음 운영체제를 사용하는 사용자라면 이번 이슈에 영향을 받지 않았을 것이다.
- 윈도우 XP Embedded (POSReady 2009 버전)
- 윈도우 비스타
- 윈도우 7
- 윈도우 8.1
- 윈도우 10 버전과
- 윈도우 서버 2008 & R2,
- 윈도우 서버 2012 & R2
- 윈도우 서버 2016
대규모 공격에 사용되는 취약성은 패치가 나와있는 취약성을 주로 사용한다. 간혹 패치되기 전에 취약성을 이용한 공격코드가 공개되었을 땐 네트워크 연결을 하지 않는 것이 답이 될 수 있지만, 이러한 상황은 아주 흔하지 않기에 보안 업데이트만 꾸준히해도 대부분의 공격을 막을 수 있다. 취약성을 사용하는 공격중에 웹을 이용한 대규모 공격은 드라이브-바이 다운로드(Drive-by Download) 공격이, 네트워크를 이용한 대규모 공격은 웜(Worm) 공격이 대표적인 케이스다.
추가로 웹 사이트를 통한 감염의 대응방안에는 자바(Java), 어도비 플래시 플레이어(Adobe Flash Player) 등 마이크로소프트의 제품이 아닌 소프트웨어의 보안 업데이트도 필수로 진행한다.
3.1.2. 레거시 시스템 제거
레거시 시스템이란 정품을 사용하더라도 더 이상 서비스를 제공하지 않는 시스템을 의미한다. 예를 들어, 삼성의 마이마이 카세트 플레이어를 사용하고 있다해도 고장나면 삼성 서비스 센터에 카세트를 맡길 수 없다. 이미 오래된 제품이기 때문이다.
운영체제 서비스가 종료된 버전은 앞으로도 취약성에 의해 문제가 발생할 것이고, 제품을 제작한 회사도 사건이 발생해야 보안 패치를 내놓을 것이다. 말 그대로 서비스가 종료되었기 때문이다. 다음 운영체제는 서비스가 종료된 운영체제로 워너크라이가 이슈가 되었던 13일 당일에 보안 패치할 수 있는 파일을 공개했다.
- 윈도우 XP SP2
- 윈도우 XP SP3
- 윈도우 서버 2003
- 윈도우 8
결론적으로 서비스가 중단된 레거시 시스템을 사용하지 않는 것이 중요하다. 어쩔 수 없이 사용해야만 한다면, 확실한 접근제어가 필요하다. 레거시 시스템을 사용하는 아이피와 포트를 면밀히 조사하여 접근을 허용하고 그 외 아이피와 포트는 모두 차단한다.
3.1.3. 백신 소프트웨어 운영
백신 소프트웨어 운영을 무시해서는 안된다. 분명 백신은 악성코드 샘플이 수집되어야 분석한 정보를 바탕으로 차단할 수 있기 때문이다. 다르게 이야기하면 경험기반 차단으로 볼 수 있다. 랜섬웨어의 경우 감염된 이후 대응은 의미없을 수 있다. 하지만, 만약 백신 회사에서 미리 악성코드를 분석해 차단했다면 감염되지 않았을 것이다. 그 가능성에 기대해 운영한다.
또 다른 백신 회사에서는 위에서 언급한 취약성 코드도 차단하기도 한다. 이미 네트워크단에서 차단하기에 감염이 발생하지 않는다. 이 경우 백신 회사에서 운영체제 깊은 부분까지 손봐야하기에 고도의 작업이 동반될 수 있다. 이 부분을 안정적으로 개발하지 않는다면 운영체제가 망가질 수 있기 때문이다. 이러한 제품군은 기존의 백신 제품들 보다 2배 정도 더 비싸다. 하지만 이러한 종류의 백신 가격은 평균적으로 1년 기준 5만원 안팍의 가격을 하기에 투자할만하다. 참고로 이런 형태의 제품군을 업체에서는 인터넷 시큐리티라고 부른다.
세상에는 참 많은 백신이 있다. 국내 동향에 맞는 악성코드도 좋지만 다양한 차단 방법을 제시하는 해외 기업의 제품을 이용하는 것도 좋다. 사용자마다 언급하는 백신의 장단점이 다르기에 이 포스트에서는 특정 제품을 언급하지는 않는다. 2017 안티바이러스 TOP 10으로 선정한 다음 블로그를 참고해보는 것도 좋다. 아래 그림을 클릭하면 링크로 이동한다.
3.1.4. 랜섬웨어에 특화된 소프트웨어 사용
트로이목마나 스파이웨어 등 특정 악성코드에 특화된 솔루션이 존재한다. 랜섬웨어도 동일하게 특화된 솔루션이 있다. 여기서 소개하는 제품은 국내 제품이다. 안티 익스플로잇 제품이나 안티 랜섬웨어 제품은 개인적인 생각으로 국내 제품을 이용하는 것이 좋다. 오랜기간 서비스한 제품이 아닌 경우가 많기에 문제가 야기되면 제작자와 직-간접적으로 소통하여 문제를 해결하기 쉽기 때문이다.
A. 앱체크(AppCheck)
앱체크는 CheckMAL에서 만든 제품으로 일반 제품은 무료로 이용할 수 있고, 더 기능이 많은 Pro 버전은 1PC 1년 기준 22,000원이다. 다만 랜섬웨어에 특화되어 있기에 백신 제품과 함께 써야한다. 아래 링크를 클릭하면 홈페이지로 이동한다.
B. NAR(Nuri Anti-Ransom)
NAR은 누리랩에서 만든 제품으로 아직 공개되진 않았지만 랜섬웨어에 특화된 차단하는 솔루션이다. 감염행위는 일어나지만 이를 탐지와 동시에 악성 행위와 그 산출물에 관련있는 파일을 신속히 삭제하고 일부 암호화된 파일은 복구하는 구조를 가진다. 자세한 내용과 이번 워너크라이 차단 영상은 케이엘테크놀로지 사이트에서 확인할 수 있으며, 1 PC 1년 기준 가격과, 무료 및 유료 정책, 그리고 무료와 유료로 구분된다면 이 둘의 기능적 차이가 어떨지 기대된다.
3.1.5. 이메일 관리
이메일 보안 솔루션을 이용하는 것도 좋으며, 의심스러운 파일은 모두 무시하는 것이 중요하다. 모르는 사람에게 온 이메일은 미리보기 기능을 이용하는 것도 좋다. 첨부파일을 다운로드 받을 경우 확장자 검증을 확실히 해야한다. 확장자 검증은 다음 이미지의 "알려진 파일 형식의 파일 확장명 숨기기"가 기본으로 활성화되어 있기에 해제한 후 사용한다.
대중적인 구글, 네이버, 다음으로 들어온 메일은 기본적으로 필터링하는 것이 좋다. 기본적으로 실행파일을 첨부하는 것을 자제하는 문화가 정착되는 것이 중요하다.
3.1.6. 운영 관리
A. 원격 접속 프로그램의 기본 접속 계정과 비밀번호 변경
아직 발생하진 않았지만, 원격 접속 프로그램(텔넷, SSH)을 통해 로그인하여 랜섬웨어를 설치하는 웜 형태가 나타날 수 있다. 이러한 이슈는 이미 사물인터넷을 이용한 DDoS 공격으로 유명한 미라이(Mirai) 봇넷이 있다. 만약 공격자가 DDoS 공격을 위한 좀비 악성코드가 아닌 랜섬웨어를 설치하려 했다면 충분히 가능한 내용이다.
로그인이 가능한 이유는 취약성은 아니다. 사용자가 제대로 설정하지 않은 기본 계정과 비밀번호로 접근하기 때문이다. 공장에서 혹은 제조사에서 제조한 새로운 서비스나 시스템을 구매하여 사용할 경우 필히 이를 변경한다.
B. 지속적인 보안공지 확인과 권고 이행
정보보안 전문업체나 국가 기관에서 지속적으로 사이버 위협을 조사하고 대응할 수 있는 방안을 권고한다. 이를 지속적으로 확인하고 이행하는 것이 안전한 시스템을 운영하는데 도움된다. 우리나라에서는 보호나라를 이용하는 것을 추천한다. 아래 그림을 클릭하면 보호나라 사이트로 이동한다.
3.2. 대비 관리
3.2.1. 백업 관리
중요 파일 백업은 항상 들어오던 말이다. 문제는 대부분의 대응방안에서 정기적으로 백업하라고 하지만, 백업한 디바이스랑 연결은 어떻게 해야할지, 클라우드 백업은 어떻게 해야하는지 설명하지 않는다.
A. 물리적 시스템을 이용한 백업
먼저 랜섬웨어는 연결되어 있는 모든 파일시스템을 읽고 암호화하기에 백업이 끝난 물리적 디바이스와 연결을 끊어야 한다. 아무리 백업을 잘해 놓았더라도 백업시스템 마저 랜섬웨어로 피해를 받는다면 복구할 방법은 희박하다. 공유 폴더도 안전하지 않으며, 매번 접근하기 위해 아이피나 도메인을 외우기도 힘들다. 적어도 계정 정보는 기억시켜두고, 패스워드를 입력하여 접근후 백업하고, 백업이 끝나면 연결 해제하는 것을 추천한다.
B. 클라우드 시스템을 이용한 백업
클라우드 시스템은 대중적으로 가장 많이 사용하는 원드라이브, N클라우드, 구글 클라우드를 조사했다.
먼저 마이크로소프트 원 드라이브에 대해 알아보자. 일부 사용자는 오피스 문서만 작성하여 원 드라이브에 저장하고, 문서를 작성할 때 마다 버전관리를 했기에 복구할 수 있다고 자신할 수 있지만, 문서 버전관리를 이용한 복구는 문서를 열람해서 진행하기에 열리지 않는 암호화된 문서에서는 사용할 수 없는 기능이다. 또 다른 기능으로 로컬에서 삭제했더라도, 클라우드의 휴지통에 가면 삭제된 데이터를 복구할 수 있다. 이러한 형태를 이용하면 복구 가능성은 높아진다. 암호화된 새로운 파일을 생성하고 암호화되지 않은 파일을 삭제하는 형태로 동작하는 랜섬웨어도 존재하기 때문이다. 확률로 계산해야 하기에 도박으로 선택할 필요는 없다. 원 드라이브를 사용하는 사용자 입장에서 가장 좋은 방법은 원 드라이브 소프트웨어를 설치하여 운영하지 않고, 귀찮더라도 브라우저를 통해서만 이용하는 것을 추천한다.
네이버의 N드라이브는 어떨까.
N드라이브에도 원 드라이버처럼 버전관리가 가능하다. 다행이도 오피스군에만 한정되어 있진 않지만, 내용을 읽을 수 있는 파일에 한해서만 제공한다. 예를 들어 설치 파일이나 압축 파일은 버전관리로 복구할 수 없다. 다시 말해서 랜섬웨어에 의해 암호화된 파일은 복구할 수 없다. 원 드라이브와 마찬가지로 랜섬웨어가 암호화된 파일을 생성하고 원본 파일을 삭제한다면 휴지통에서 복구할 수 있다. 결론은 위에 동일하기에 N드라이브도 소프트웨어를 설치하여 운영하지 않고, 귀찮더라도 브라우저를 통해서만 이용하는 것을 추천한다.
구글 드라이브도 위에 동일하다. 동일하게 소프트웨어 형태로 설치하지 않고 브라우저를 통해 이용하는 것을 추천한다. NAS를 자체 클라우드로 분류한다면, 자체 클라우드를 구매할 때 동기화 프로그램을 제공하는 서비스 이용을 추천한다.
3.2.2. 복원 관리
시스템 복원을 대응방안으로 제시하는 경우도 있지만, 100% 신뢰할 수 없다. 시스템 복원은 윈도우 비스타 이후 볼륨 섀도우 카피(Volume Shadow Copy)를 사용하는데, 일부 랜섬웨어는 이 볼륨 섀도우 카피를 삭제하는 명령을 포함한다. 이런 랜섬웨어를 만났다면 롤백을 이용한 복구를 할 수 없다.
그렇다고해서 무조건 사용하지 않는다는 것은 아니다. 복원할 수 있는 상황도 있을 수 있으니 하나의 대응책으로 사용하는 것이 좋다.
3.2.3. 차단 및 대응
이번 워너크라이 랜섬웨어의 취약성 대응방안으로 SMB 프로토콜이 사용하는 UDP 포트 137, 138 TCP 포트 139, 445 포트를 차단하고 네트워크를 연결하도록 설명한다. 그리고 여러 업체의 대응방안에서 포트도 차단하고 SMB 서비스도 사용 중단하여 대응하도록 언급 하지만, 둘 중에 하나만 진행해도 무방하다. 취약한 서비스를 사용하지 않는다면 취약성을 이용한 공격을 사용할 수 없기 때문이다.
만약 어떤 포트를 차단해야할지 모른겠다면, 80 포트와 443 포트를 기억하자. 이 두 포트는 HTTP와 HTTPS 프로토콜이 사용하는 포트로 윈도우 업데이트는 이 포트를 사용한다. 따라서 이 두 포트를 제외한 모든 포트를 차단하고, 윈도우 업데이트를 진행한 다음 차단을 해제하는 것도 하나의 방법이다.
4. 마무리
지금까지 이야기한 대응방안은 랜섬웨어에 포커싱 맞춰 이야기했지만, 다른 악성코드를 대응하는 것에도 도움이 되는 방안이다. 만약 잘못된 대응방안, 현실을 고려하지 않은 상황들, 놓친 대응 방안을 댓글로 남겨주시면 포스팅 내용에 추가하여 이 글을 자세히 읽은 분들에게 도움이 될 수 있도록 하겠다.
혹시나 늦게라도 MS17-010 취약성을 점검하고 대응하고 싶다면, 다음 사이트를 이용하길 바란다.
- 안랩 예방툴 - 취약하면 445 포트 차단
- 알약 예방툴 - 445 포트 차단하고 취약여부 파악
- 파이썬 스크립트 (영문) - 별도의 라이브러리 설치없이 스크립트 다운로드 받아 실행
- Nmap을 이용한 진단 방법 (영문) - 칼리 리눅스에서 진행
- 메타스플로잇을 이용한 진단 방법 (중문) - 칼리 리눅스에서 진행
- 칼리 리눅스와 유출된 NSA 도구를 이용한 진단 방법 (영문) - ATAC님께서 제공
5. 추가 내용
랜섬웨어에 대한 여러 소문들이 있다. 가장 많이 들은 이야기는 다음 두개이며, 댓글로 문의하시면 답변하겠다. 재미있는 질문은 지속적으로 수정하고 추가할 예정이다.
A. 결제해도 파일을 복구해주지 않는다.
일부 사실이다. 하지만 약 80~90% 비율로 해제해 주는 공격자가 더 많다. 그 이유는 시장경제 논리에 따르는데, 랜섬웨어에 감염된 피해자가 결제를 통해 해제를 하지 않는 문화가 자리잡으면 신뢰받지 못해 결제를 하지 않게된다. 자연스레 공격자는 수익이 줄어들 수 밖에 없에 기를 쓰고 복구해주려고 노력한다. 재미있는 사례중 하나로 복구에 실패하면 비용을 환급해주기도 한다. 하지만 왜 이런 이야기를 언론에서 이야기하는가 하면, 수익을 통해 더욱 강력한 악성코드나 공격에 재활용되어 악순환 구조가 만들어지기 때문이다.
이번 워너크라이의 지불과 관련한 기사가 있으니 참고하기 바란다.
B. 복구 업체는 복구할 수 있다.
사실이 아니다. 이슈가 될 정도로 강력한 랜섬웨어의 경우 기술적으로 복구할 수 있는 방법이 안타깝지만 없다. 결국 랜섬웨어 복구 업체의 대부분은 자체적인 방법으로 복구하는 것이 아닌, 공격자에게 결제하여 복구하는 서비스로 위장한다. 물론 결제를 해야만하는 상황이고, 결제하는 방법이 어렵다면 대행 업체를 이용하는 것도 좋다. 그간 결제를 대행하면서 친절히 복구해주는 그룹과 먹튀하는 그룹을 기업 내부적으로 목록화해서 관리하고 있기 때문이다.
복구업체에 관한 부정적인 기사가 있으니 참고하기 바란다.
C. 감염되면 절대 복구할 수 없다.
사실이 아니다. 랜섬웨어의 피해를 복구할 수 있는 방법은 여러가지 있다. 이 방법에는 백업이나 복원 그리고 지불을 통한 복구는 언급하진 않는다.
- 랜섬웨어 분석을 통해 암호키를 추출 - 랜섬웨어 제작자의 실력 부족으로 나타나는 현상으로 파일 암호키를 파일로 작성하거나 메모리에 암호키가 기록된 경우 그리고 개발자가 고정된 암호키를 사용하는 경우 추출 가능하다.
- 국제적 민관 합동으로 암호키를 수집한 경우 - 국제적 수사기관이 랜섬웨어 유포자를 검거하고, 유포자가 가지고 있는 키관리 서버를 얻게되면 보안전문업체에게 키를 제공하여 파일을 복구할 수 있는 도구를 제작하는 구조를 가진다. 이 경우 언제 체포될지 모르고, 체포되더라도 서버를 파괴시킬 수도 있기에 언제까지 기다리고 있을 수 만은 없다. 이와 관련하여 대표적인 사이트는 nomoreransom가 있다.
'Information Security > Malware' 카테고리의 다른 글
Is malware same mean Korean word 악성코드? (0) | 2018.12.14 |
---|---|
[보고서] Mirai Botnet (0) | 2016.12.26 |
도메인 쉐도잉 (Domain Shadowing) (0) | 2015.03.17 |
Sweet Orange exploit kit (0) | 2014.09.02 |
공다팩(Gondad EK) 분석 #04 (2) | 2014.08.14 |