본문 바로가기
Security Essay

파일을 암호화하는 랜섬웨어 동작 원리

by _Jay_ 2021. 6. 20.
반응형

 

 

오늘 에세이에서는 랜섬웨어의 동작 원리에 대해서 말씀드릴까 합니다. 이전 글인 "정상 소프트웨어로 위장한 랜섬웨어 감염 사례"에서 어떤 과정으로 랜섬웨어가 감염이 되고 이후 무슨 일이 일어나는지 간단히 설명드렸죠.

 

오늘은 이에 대해 더 자세히 설명드리면서, 특히 랜섬웨어에 사용되는 암호화에 대한 내용을 짧게나마 설명드리려고 합니다. 자.. 그럼 시작해보죠.

먼저 암호화에 대한 내용을 말씀드리고 넘어가겠습니다. 일단 암호화라는 것 자체가 내가 만든 데이터가 유출되더라도 남들은 그 내용을 알 수 없도록 만드는 방법이라는 건 다들 아실 겁니다. 글을 쓰는 것으로 예시를 들면, 내가 처음에 쓴 글을 '평문'이라하고, 이를 암호화(Encryption)한 것을 '암호문'이라고 하죠.

 

반대로 암호문을 평문으로 되돌리는 방법을 복호화(Decryption)라고 합니다. 이 암호화는 암호키(Encryption Key)를 가지고 평문을 암호문으로 바꾸게 되는데, 여기서는 수학적 내용은 모두 제외하고 개념만 간단히 설명드리겠습니다.

예를 들어 내가 쓴 'Hello world'라는 평문을 암호화하기 위해서는 규칙이 필요합니다. 만약 문자를 두 칸씩 밀겠다는 규칙으로 암호화하면, 'H'가 'J'로 'e'가 'g'로.. 이런식으로 되어 암호문은 'Jgmmq yqtnf'가 되겠죠. 이 암호문을 다시 평문으로 복호화하려면 문자를 두 칸씩 당기면 됩니다.

 

여기서 규칙이 되는 키를 암호키라고 하는데, 그러면 이 예시에서는 암호키는 2가 됩니다. 그래서 A와 B가 암호키를 서로 알고 있으면, 암호문으로 대화를 할 수 있고 중간에 누가 이 암호문을 가로채더라도 암호키를 모르면 무슨 말인지 알 수 없겠죠.

수학적 내용은 다 빼고 정말 간단하게 설명을 드렸지만, 보통 암호학에서 나오는 암호화의 원리는 여기서부터 시작합니다. 물론 암호키의 강도에 따라 암호화 정도가 달라지고, 암호화와 복호화를 하는 암호키가 같으면 대칭키 방식이고 다르면 비대칭키 방식이라고 하는 등의 내용들도 있는데요. 이러한 개념은 이후에 자세히 설명드리도록 하고 이제 암호화가 랜섬웨어에서 동작하는 방식과 연관지어서 말씀드리도록 하죠.

해커가 랜섬웨어를 만들고 여러분들에게 메일로 보내서, 여러분이 만약 모르고 메일을 열어 첨부파일에 있는 랜섬웨어를 실행시켰다고 가정해봅시다. 랜섬웨어가 먼저 암호화의 규칙을 위한 위한 암호키를 생성하는데요. 암호키를 만들 때 보통 컴퓨터의 시간이나 난수 등을 이용해서 만드는데 이게 중요한건 아니니 여기서는 넘어가구요.

 

랜섬웨어가 암호키를 만들고 나면 해커의 컴퓨터와 통신을 해서 이 암호키를 전달합니다. 이게 결국 해커에게 비트코인을 주면 받을 수 있는 암호화된 데이터를 복호화시킬 수 있는 복호화키가 되죠. 이후 랜섬웨어는 디스크의 최상위 폴더부터 하위폴더까지 쭉 돌면서 암호키를 기반으로 파일들을 암호화하게 됩니다.

여담으로 파일의 데이터가 암호화되는 과정을 부연 설명 하자면.. 여러분의 PC에 있는 데이터는 기본적으로 이진수로 된 바이너리(Binary) 데이터 입니다. 결국 하드디스크(HDD)든 SSD든 여러분이 저장한 파일은 0 아니면 1을 나타내는 데이터로 되어있는 거죠.

 

위에서 예시를 든 'Hello World'라는 문자열을 텍스트 파일로 컴퓨터에 저장하면 결국 디스크에 '10011011...'처럼 저장이 되어있을 겁니다. 여기서 데이터는 랜섬웨어에 의해 암호키를 기반으로 한 특정한 규칙이 적용되어 '01011100...' 처럼 암호화 되겠죠.

 

위에 설명드린 것처럼 이렇게 데이터 암호화가 끝나면 비트코인을 보내야지만 암호화된 파일을 풀 수 있는 복호화 키를 주겠다는 랜섬노트가 바탕화면에 생성됩니다. 만약 해커에게 비트코인을 보내서 복호화 키를 받는다면 암호화된 데이터를 복호화시킬 수 있는 겁니다.

물론 지금은 랜섬웨어가 위에서 말한 것처럼 단순하게 동작하지는 않습니다. 저렇게 암호키를 생성해서 해커의 PC로 그냥 보내면, WireShark와 같은 패킷 캡처 프로그램에 의해 쉽게 노출이 되고 백신에 의해서도 쉽게 탐지가 되겠죠. 안랩이나 KISA와 같은 사이트에 올라와 있는 랜섬웨어 복호화 툴은, 대부분 초기 랜섬웨어면서 암호키를 찾아낸 경우라고 볼 수 있습니다.

 

그래서 최근에는 암호키가 노출되지 않게 비대칭키 방식을 사용한다던지, 백신에 걸리지 않기 위해 백신을 무력화시키는 로직이 포함되어 있죠. 실제 보안 업체에 있지 않는 한 자세한 내용은 알 수 없지만, 이 정도만 알아도 랜섬웨어가 동작하는 원리를 충분히 설명하실 수 있으리라 생각합니다.

 

 

파일 암호화 악성코드 랜섬웨어의 동작 방식과 제거 방법

최근 감소세에도 불구하고 랜섬웨어는 여전히 심각한 위협 요소다. 파일 암호화 악성코드 랜섬웨어의 작동 방식에 대해 알아야 할 모든 것을 살펴본다.  ​ⓒ Getty Images Bank     랜섬웨어란 

www.itworld.co.kr

 

위의 인용한 기사는 사실 제목이 랜섬웨어의 동작 방식임에도 불구하고 그렇게 자세하게 설명이 되어있지 않아서, 정독까지 할 필요 없이 대충 쭉 훑기만 해도 충분하실 거 같구요.

 

이후에 랜섬웨어가 어떤 방식으로 진화했는지 설명드릴텐데, 오늘 말씀드린 암호화에 대한 개념을 확실히 이해하고 계셔야지 이후의 글들도 쉽게 읽으실 수 있을테니 잘 알아두셨으면 합니다. 그럼 오늘은 여기서 마치도록 하죠. 감사합니다.

 

 

반응형

댓글