안녕하세요 4조의 이희은 이재경 신정민 윤소영 송지은입니다.

저희조는 워너크라이 랜섬웨어를 조사하였습니다.

목차는 워너크라이의 기본 개념 워너크라이의 배후 감염증상과 동작원리 예방법 순서로 발표를 할 것 입니다.

P.3) 우선 다들 랜섬웨어는 많이 들어 보셨을거라 생각합니다.

워너크라이는 몸값을 요구하는 랜섬과 제품을 의미하는 웨어의 합성어로 컴퓨터 시스템이나 파일을 볼모로 잡아 피해자는 공격자가 요구하는 조건을 수행할 수 밖에 없도록 구성되어 있습니다.

최근 발생한 랜섬웨어는 대부분 공개키 기반 암호화 구조를 사용하고 있는데요

저희가 조사한 워너크라이는 2017년 5월 12일에 발생한 랜섬웨어 일종으로 사용자의 중요 파일을 암호화 한 뒤 이를 대가로 비트코인을 요구합니다.

워너크라이가 빠르게 확산된 이유중 하나는 MS 사용자들이 17년 3월에 사가 프로그램 수정을 발표한 뒤에도 자기들의 소포트웨어를 신속하게 업데이트 하지 않았기 때문입니다.

그 동안 악성코드들은 SMB취약점을 악용하여 각국 정부의 전산망등을 통해 널리 퍼져 나갈 수 있었습니다.

P.4) 워너크라이는 컴퓨터 시스템을 파괴하거나 작업을 지연 혹은 방해하는 악성프로그램과 유사성을 보여 스스로 번식합니다. 임의의 IP를 생성한 후 해당 IP대상으로 SMB포트에 대한 스캔 후 취약점이 존재할 경우 자기 자신을 복사 및 실행시키는 과정을 반복합니다.

워너크라이의 배후는 아직 밝혀지지 않았으나 보안업체들은 여러 가지 추측을 하였는데요

우선 해외 보안업체들이 워너크라이를 분석한 결과 북한과 강력한 연계성을 주장하는 회사들과 북한 소행을 반론하는 회사들로 나누어집니다

P.5)먼저 북한과의 강력한 연계성을 주장하는 의견부터 보겠습니다,

첫 번째로 시만텍회사는 라자루스와 관련된 악성코드를 발견합니다. 여기서 라자루스는 북한의 해커그룹입니다. 또한 워너크라이 유포에 사용된 백도어 악성코드도 라자루스 그룹에서 사용하는 악성코드 계열이라는 것을 알 수 있고 공격기법 또한 라자루스에서 사용하는 SMB유포 방식과 동일합니다.

P.6) 카스퍼스키라는 그룹 또한 콘토피라 불리는 백도어 프로그램의 코드 일부와 워너크라이 초기버전에서 사용한 코드가 일치했다고 합니다.

P.7) 유사한 코드가 많다고 해서 배후설의 증거가 될 수 있을까 라는 의문이 들것입니다.

워너크라이의 변종중 SSL구현체에 콘토피와 브람불을 포함한 라자루스 그룹의 공격 툴에서만 발견되는 특정한 75개 암호문의 배열이 발견되었습니다.

P.8) 두 번째로 일레븐 패스 회사에서는 악성코드에 대한 메타데이터 분석결과 공격자는 중국어 페이지 파일을 편집하는데 가장 많은 시간을 보냈고 사용된 워드프로그램의 기본 설정은 한국어로 설정되어 있다고 합니다. 또한 공격자의 시간대인 utc+2와 utc+12 사이 시간대로 추정되고 있고 한국은 그 사이인 utc+9에 위치하고 있기 때문에 북한과 강력한 연계성을 주장하고 있습니다.

반대로 북한 소행을 반론하는 회사의 의견을 보겠습니다.

P.9) 첫 번째로 플래쉬 포인트 회사입니다. 영어와 중국어로 된 랜섬 노트만이 사람에 의해 작성된 것이고 다른언어들은 문법적 오류가 발견되는 것으로 보아 번역된 것이라 합니다. 반면에 중국어는 유창한 어구를 사용하는 것으로 분석되어 남중국, 홍콩 등에서 사용하는 언어로 언급하고 있습니다. 랜섬에어 설명문이 초기에 한국어로 작성된 것이 아닌 다른 언어에서 변환된 것으로 주장하고 있습니다.

P.10) 두 번째로 싸이버 리즌 회사는 북한의 전통적인 사이버 공겨 정책과 맞지 않다고 언급하고 있습니다. 북한과의 코드 유사성이 존재하지만 해커들이 흔하게 이용하는 방법이라고 말할 수 있는 특정 근거가 부족하다고 합니다. 북한 해커들은 대부분 중국과 러시아에서 활동하며 인터넷 망도 주변국을 이용하고 있습니다. 만약 북한이 중국과 러시아 지역의 IP를 사용한 경우 위험성이 존재한다고 언급하고 있습니다.

워너크라이 사고를 추적하고 분석하는 많은 기관에서 과거 해킹사태들과 유사점을 지적하면서 라자루스를 공격 주체로 지목하였습니다.

또 다른 보안 전문가는 자신의 sns에 시만텍이 필리핀 스위프트 해킹사고에서 찾은 악성코드와 이번 워너크라이 악성코드를 분석하였을 때 두 해킹사고의 소스코드는 유사성을 가지고 있으며, 특정 함수의 경우 100% 동일함을 언급하였습니다.

초기 분석 시점에서는 시만텍 회사가 북한과의 연관성에 대해 유보적인 입장을 취하면서 보다 강력한 근거를 찾기 위해 지속적으로 조사하였으나 자사 추적 내용을 밭탕으로 워너크라이가 라자루스 조직이 사용하는 해킹툴과 유사성을 발견하면서 북한과 관련성이 높다는 의견으로 선회하였습니다.

P.11) 17년 5월 13일부터 21일 오후까지 국내에는 총21건의 피해 사례가 KISA로 접수되었습니다.

접수된 기간으로는 의료기관, 종교, 통신, 방송, 교육기관 등 다양하게 존재합니다.

그 중 영화사인 CGV가 워너크라이에 감염되었다고 밝혔습니다.

이 외에도 국내에서 피해를 입은 운영체제들은 주로 윈도우서버들이 있었습니다.

P.12) 이에 대한 대처로 과학기술정보통신부와 한국인터넷진흥원인 KISA는 대국민 홍보 단행 등 으로 피해유발 가능성을 감소 시켰고 신고된 사안에 대해 적시에 조치를 취하여 주변으로 확산되는 것을 막았습니다.

P.13) 워너크라이에 감염되면 첫 번째로 기본 파일의 확장자 뒤로 .WNCRY라는 추가 확장자가 붙습니다. 두 번째로는 파일이 암호화되며 암호화된 파일은 실행이 불가능하게 됩니다.

세 번째는 바탕화면이나 폴더 안에 텍스트 파일과 프로그램 파일을 생성합니다. 여기서 플리즈 리드미 라는 텍스트 파일은 워너크라이 랜섬웨어에 감염되었음을 안내해 주는 파일입니다,

그리고 워너크라이 디크립터 프로그램을 통해서 랜섬노트를 열게 합니다.

P.14) 상황에 따라서 바탕화면이 랜섬웨어에 감염되었음을 표시하는 이미지로 변경되며,

팝업창으로 타이틀명이 워너 디크립트인 랜섬 노트가 표시됩니다.

P.15) 바탕화면과 팝업창으로 뜨는 랜섬 노트는 이렇게 나타납니다.

P.16) 변경된 바탕화면에는 백신 프로그램 또는 사용자로 인해 랜섬노트를 여는 프로그램 워너디크립터가 삭제되었으니 해당 프로그램을 복구하라고 쓰여 있습니다,

하지만 변종에 따라서는 랜섬노트를 여는 프로그램이 열릴 경우에도 바탕화면 이미지가 변경될 수도 있습니다.

P.17) 랜섬노트에는 해커에게 보낼 비트코인 주소, 해커가 요구한 금액, 결제 유효시간이 표시되고 그 외에도 워너크라이 랜섬웨어에 감염되었다는 상황 설명과 복구 방법, 해커와 연락할 때 쓰이는 컨텍트 유에스 버튼 등이 표시됩니다, 랜섬노트를 최초로 실행할 때에는 입금 금액이 300달러이지만 3일이 지날 경우에는 600달러가 되고, 7일이 지날 시에는 파일 복구가 불가능 하게 됩니다,

P.18) 감염시스템 특징으로 국내 피해 시스템들 모드 SMB 서비스를 실행하고 있습니다. 또한 MS의 취약점 보안 업데이트를 적용하지 않은 상태였습니다. 감염시스템들은 SMB 취약점에 의해 악성코드가 설치되고 실행되었으며 이러한 악성코드들이 윈도우 서비스로 등록되어 있습니다.

P.19) 이제 워너크라이가 어떻게 구성되어있는지 보여드리겠습니다.

워너크라이 공격의 구성요소로는 익스플로잇 키트, 랜섬웨어 확산용 악성코드, 추가 악성코드 생성, 토르 네트워크 접속과 암,복호화에 필요한 악성코드 및 랜섬노트, 언어설정. 공개키 파일 등이 포함되어 있습니다. 또한 KISA에서 확보한 워너크라이 랜섬웨어의 경우, 드랍퍼가 추가 파일을 생성하여 전체 파일은 총 45 종으로 구성됩니다,

P.20) 워너크라이의 동작원리를 설명해드리겠습니다.

워너크라이의 최초 유포 경로는 밝혀지지 않았으나 스피어피싱이나 해킹된 웹사이트 방문으로 감염된 후 주변 국가로 환산, 전파된 것으로 추정됩니다. 워너크라이는 인터넷에 연결된 기기 중 윈도우 SMB 취약점을 가진 기기를 대상으로 스스로 복제하며 전파됩니다.

P.21) 랜섬웨어가 동작하면 먼저 킬스위치 체크 루틴을 거치게 됩니다. 킬 스위치는 랜섬웨어 진입 함수에 위치해 있으며, 특정 도메인과의 연결 상태만 체크하는 비교적 간단한 코드로 구성되어 있습니다. 킬스위치는 일종의 자폭장치이며, 분실한 정보기기 내의 정보를 원격으로 삭제하거나 그 기기를 사용할 수 없도록 하는 기술입니다, 악성코드가 특정 도메인으로 연결이 가능하다면 더 이상의 동작을 하지 않고 스스로 종료하게 만든 코드입니다.

감염 대수가 많으면 많을수록 해커에게 이익이 되는 랜섬웨어에 킬 스위치라는 종료 기능을 넣었다는 것 자체가 많은 의구심을 불러 일으켰습니다,

일각에서는 랜섬웨어가 제어 불능 상태로 폭주하는 것을 방지하거나, 보안 회사의 샌드박싱 기술을 이용한 탐지 우회 또는, 킬 스위치 접속로그를 통한 랜섬웨어 확산규모 파악을 위해 킬 스위치를 만든 것으로 추정하고 있습니다. 여기서 샌드박싱 기술이란 보호된 영역 안에서 프로그램을 작동시키는 보안 소프트웨어룰 말합니다.

영국의 보안 전문가가 워너크라이 내에서 킬 스위치를 발견하여 확산을 막았지만 이내 킬스위치를 없앤 변종이 나타나면서 다시 확산되었습니다,

P.22) 우선 감염을 확산시키기 위해 감염된 시스템에 악성행위가 진행되는 것과 동시에 백그라운드로 네트워크단에서는 SMB 취약점이 존재하는지 스캔한 후 취약점이 존재할 경우 랜섬웨어를 전파합니다.

랜섬웨어 악성코드는 전파와 관련하여 내부망을 대상으로 하는 공격과

외부망을 대상으로 하는 공격 2가지로 나누어져 있습니다.

내부망에서는 감염시스템 IP 넷마스크 정보를 이용하여 동일 대역에 위치한 공격 대상 IP를 계산하여 배열을 생성하고 해당 IP들을 대상으로 순차적 공격을 진행합니다.

이후 랜덤한 공인 IP대역을 생성한 후 외부로 취약점 공격을 진행하개 됩니다.

P.23) 최초 드랍처 악성코드인 mssecsvc.exe 는 추가 악성코드 tasksche.exe를 생성하는데, 최초 드랍퍼가 감염 및 감염확산을 위한 행동을 한다면, 실제 랜섬웨어 행위를 수행하는 것은 추가 악성코드인 tasksche.exe 입니다, 추가 악성코드는 드랍퍼에 의해 윈도우 서비스에 등록되어 동작하게 되는데 서비스명은 추가 악성코드가 생성될 때 만들어진 랜덤한 폴더명이 됩니다,

P.24) 최초 드랍퍼는 자신이 생성한 추가 악성코드 파일을 통해 관리자 권한을 획득하고 악성코드를 실행시킵니다.

P.25) 랜섬웨어는 폴더 등 암호화 제외 대상을 선별하는데 윈도우의 정상적인 동작에 필요한 기본 폴더, 파일들과 비트코인 결제와 관련된 인터넷 익스플로러 등 관련 파일들이 제외됩니다. 워너크라이는 179종의 파일을 암호화시키는데 암호화된 이후 파일 확장자는 .WNCRY로 변경됩니다.

P.26) 워너크라이는 대칭키 암호 알고리즘(AES)을 이용하여 대상 파일들을 암호화시키고 해커에게 전달할 키에 대한 암호화는 비대칭키(RSA) 암호 알고리즘을 사용합니다.

비교적 속도가 빠른 대칭키 알고리즘으로 다수의 파일을 암호화시키고, 해커만 해독이 가능하도록 공개키(Private Key)를 이용하여 암호화에 사용한 대칭키들을 암호화 시켜 해커에게 전송하도록 구성되어 있습니다.

P.27) 암호화 과정은 첫 번째로 RSA-2048(알에스에이 다시 이공사팔) 공개키와 개인키를 생성하여 메모리에 적재합니다. 참고로 공개키는 .pky(점 피케이와이)로 저장하고 개인키는 악성코드 안에 존재하는 마스터 공개키로 암호화하여 .eky(점 이케이와이)로 저장하며 마스터 개인키는 공격자가 소유합니다. 그리고 암호화를 위해 각 파일마다 랜덤 AES(에이이에스) 키를 생성하고 나서 암호화 대상 파일들을 AES 암호 알고리즘으로 암호화합니다. 그리고 암호화 시 사용했던 각 파일의 AES 키는 RSA 공개키로 암호화 후 대상 파일 헤더에 저장합니다.

P.28) 대상 파일들이 암호화된 이후 워너크라이는 랜섬노트를 표시합니다. 이 노트에는 지불할 비트코인 주소, 금액 및 남은 결제 가능 시간 등을 표시해 줍니다. 또한 감염 시스템의 배경화면을 랜섬웨어에 감염되었음을 표시하는 이미지로 변경시킵니다.

P.29) 랜섬웨어 공격의 목적인 금전 즉 비트코인을 받기위해 최초 드랍퍼에서 추가 파일을 생성하면 네트워크 설정파일을 생성할 때 코드 내부 하드 코딩되어 있는 3개 비트코인 계좌 중 랜덤하게 1개를 선택하여 감염자에게 알려줍니다,

정해진 지불 기간이 종료되는 경우 taskdl.exe 를 호출하여 암호화된 파일들을 삭제합니다.

삭제 과정은 첫 번째로 파일 삭제를 위해 감염 시스템 안에 드라이브 및 폴더를 확인합니다.

두 번째로는 감염 시스템 안에 특정 폴더 탐색 후 메모리에 내용을 기록합니다.

세 번째로는 각 드라이브, 디렉토리에서 .WNCRYT 확장자를 가지고 있는 파일을 삭제합니다.

P.30) 악성코드에서 생성된 네트워크 설정파일에 토르 네트워크 사용을 위한 정보가 저장되어 있습니다. 이중 토르 망 접속 프로그램은 공개 프로그램입니다.

(토르는 다크 웹 소프트웨어로 알려짐 미국의 정보 통신을 보호하기 위해 만들어진 브라우저

인터넷을 비공개로 이용할 수 있는 브라우저 직접 연결이 아닌 가상터널을 통해 네트워크를 사용하므로 검열이나 감청이 어려움.)

해킹툴·마약·음란물·총기 등 불법 행위에 사용될 수 있는 상품들이 거래된다

(토르부분 추가)

P.31)공격자는 감염 시스템에서 공격자의 공개키로 암호화되어 수신받은 암호화된 개인키를 공격자의 개인키로 복호화 하여 감염시스템으로 전송합니다.

공격자로부터 AES 암호키를 복호화할 수 있는 개인키(.dky)를 수신하고 수신받은 개인키로 암호화 파일 헤더에 저장된 암호화된 AES 키를 복호화 한 후 암호화 파일의 복호화를 진행합니다.

P.32) 원격에 위치한 윈도우 시스템의 SMB포트를 대상으로 취약점을 발현시켜 익스플로우잇 및 커널 쉘코드를 순차적으로 전송하여 워너크라이를 전파하는 것인데

이때 쉘 코드는 은 크기의 코드로 소프트웨어 취약점 이용을 위한 내용부에 사용됩니다.

익스플로잇 과정을 보기전 우선 익스플로잇이란 컴퓨터나 컴퓨터 관련 전자제품의 보안 취약점을 이용한 공격 방법입니다, 취약점 공격은 주로 공격 대상 PC의 제어 권한을 획득하거나 서비스 거부 공격등을 목적으로 하는 행위를 말합니다.

P.33) 익스플로잇 과정은 취약점을 트리거(총의 방아쇠를 뜻하기도 하는데요, 컴퓨터에서는 정보의 저장이나 게이트를 만들고, 논리곱(AND)과 논리합(OR) 회로에 조건을 주는 데 이용되는 쌍안정 전자 장치를 의미합니다. )하기 전 실행 흐름을 원하는 위치로 변조하기 위한 커널 메모리 레이아웃을 구성합니다.

원격에서 피해 PC로 다량의 SMB 패킷 전송을 통해 커널 메모리 레이아웃을 구성하는데 이때 커널 힙 펜 슈이 기법을 사용합니다.

커널 힙 펜 슈이 기법이란 크기가 동일한 버퍼(전송할 정보를 임시로 저장하는 고속 기억장치)를 연속적으로 메모리에 할당하고 이중 특정 버퍼를 해제시킨 후 동일한 크기의 취약한 버퍼를 프리된 공간에 끼워 넣어 인접한 버퍼를 오버라이트(소프트웨어를 이용해 데이터를 영구 삭제하는 기술 – 저장매체에 대용량 데이터를 여러 번 겹쳐 쓰면 원래의 데이터를 찾을 수 없게 되는 원리 이용)하는 기법입니다.

P.34) 윈도우 운영체제 SMB메세지를 처리하는 srv.sys. 파일의 특정함수에서 구조체에 대한 잘못된 길이 계산으로 인해 인접한 버퍼의 데이터를 덮어쓸 수 있는 아웃오브베이스(정해진 메모리 범위를 벗어난 곳까지 데이터를 읽고 쓸 수 있는 취약 점입니다. )취약점이 발생하게 됩니다.

P.35) 근본적인 원인인 srv.sys 파일의 함수에서 리스트 길이 설정 부분을 수정하여 제거합니다.

P.36) 제일 윗 줄을 보면 함수 호출 시 DWORD 형태로 인자를 받는다고 했는데, 형광색의 부분을 보면 DWORD가 아닌 WORD로 표시된 것을 볼 수 있습니다. DWORD 형태 값을 WORD로 변환하여 리스트 길이 값을 저장했던 것을 다시 DWORD 형태로 바꿔줍니다.

P.37) 워너크라이 랜섬웨어 공격처럼 SMB취약점을 악용하여 원하고자 하는 것을 취하는 공격에 당하지 않기 위해서는 예방을 잘 해야합니다. 그 예방법을 말씀드리겠습니다.

PC를 켜기 전에는 인터넷 물리적 단절을 위해 랜선을 뽑고 와이파이를 끕니다.

PC 전원을 켠 후 PC 보안설정 변경을 위해 제어판에 들어갑니다.

P.38) 컴퓨터 설정 변경에서 시스템 및 보안을 클릭한 후  방화벽을 누르고  고급설정에 들어가 인바운드 규칙에서 새 규칙을 찾아 포트를 선택합니다.

다음 특정로컬포트 선택후 139, 445를 친후 다음을 눌러 줍니다.

P.39) 연결차단을 체크하고 도메인,개인,공용을 다 체크 하여줍니다. 이름란에 SMB차단 이라고 적어줍니다,

P.40) PC 인터넷 재 연결 후 윈도우 운영체제 최신 업데이트를 실행하여 줍니다.

업데이트 완료 후 제어판에서 시스템 및 보안 -> 방화벽 -> 고급설정 -> 인바운드 규칙에서  SMB차단을 누르고 오른쪽 클릭 후 삭제 하고 재부팅 해줍니다.

P.41) 동영상을 시청하겠습니다.

p.42) 저희는 워너크라이를 조사하면서 보안의 중요성이 크다는 것을 다시한번 느꼈습니다.

보안의식이 없는 상태에서 안전한 인터넷생활은 상상할 수 없고 그 공포에서 벗어나기 위해서는 보안규정을 평소 제대로 숙지하고 실천에 ,옮겨야 하는데 그건 생각에 따라 어려울 수도 있고 반대로 쉬울 수도 있다고 생각합니다.

보안 규정과 제도가 엄격한데도 보안 사고가 발생하는 원인을 꼽자면, 개인의 보안의식이 해이해서가 아닐까 싶습니다.

우리는 스스로 보안의식을 강화하고 KISA의 예방법에 따라 항시 실천해야될것같다는 생각이 들었습니다.

이상으로 워너크라이 랜섬웨어에 대한 발표를 마치겠습니다