컴퓨터 어플&팁

리눅스까지 노리는 랜섬웨어(ransomware) 잘 알고 대비하자.

콘파냐 2017. 4. 28. 04:00
반응형

우선 랜섬웨어(ransomware) 걸렸다면 이미 힘든 상태인 것을 알아 두어야 합니다. 랜섬웨어는 하드 디스크에 있는 파일을 암호화 하여 사용자가 사용하지 못하게 하는 악성코드를 말합니다. 그리고 암호화를 해독하려면 돈을 내라고 하죠. 랜섬웨어에도 종류가 많습니다. 랜섬웨어는 이를 통칭하는 것이고 랜섬웨어가 몇년전 부터 성행하기 시작했지만 사실 이런 종류의 악성코드는 도스 시절부터 있어왔습니다.

그렇다면 왜 랜섬웨어가 얼마전부터 성행하기 시작했을까요?

랜섬웨어는 돈을 요구합니다. 만나서 현금으로 줄까요? 아니면 통장으로? 이런 방법으로는 완전범죄를 꿈꾸기 어렵습니다. 그래서 이런 악성 코드는 성행하기가 힘들었습니다.

그런데 비트코인이 등장하면서 이런 악성코드가 성행하기 좋은 환경이 만들어 진거죠. 일종의 돈세탁을 하기 위한 방법으로 비트코인을 많이 사용하는데 랜섬웨어의 성행이유도 비트코인의 등장과 함께했다고 해도 과언이 아닙니다. 비트코인으로 돈을 주게 되면 수사를 하기가 매우 어렵기 때문이죠. 

유투브에 가면 이런 랜섬웨어의 증상에대한 동영상이 많이 올라와 있습니다. 


도스시절 카지노 바이러스 



그렇다면 어떻게 랜섬웨어를 대처해야 하나?

정말 고리타분한 소리지만 컴퓨터로 작업을 하는 사람에게 정말 기본중에 기본인 백업입니다. 평소 백업을 습관화하기는 어렵습니다. 꽤 귀찮은 작업입니다. 예전이라면 컴퓨터가 부팅되지 않거나 바이러스가 걸렸더라도 데이터의 복구 확률이 높았습니다. 그냥 하드 디스크를 따로 때어내어 다른컴퓨터에 부착해서 복구하던가 바이러스 프로그램이 웬만한 바이러스는 초기에 진단해서 치료해 주기 때문에 컴퓨터 전체가 데미지를 입는 경우는 흔하지 않습니다. 


하지만 랜섬웨어는 걸렸다 하면 MS Office파일들이나 일반적으로 많이 사용하고 중요한 파일들을 대상으로 모두 암호화를 해버립니다. 증상으로는 일단 컴퓨터가 버벅거리기 시작합니다. 암호화를 하는 동작 중에 메모리를 많이 사용하기 때문입니다. 그리고 암호화가 끝났다면 화면에 돈을 요구하는 인터넷 팝업을 띄웁니다. 컴퓨터는 사용할 수 있지만 암호화된 파일은 볼 수가 없거나 깨져보입니다.


문제는 요구하는 돈을 시간내에 주더라도 복구를 해줄지 어떨지는 모릅니다. 왜냐면 돈만 먹고 먹튀해도 누가 알겠습니까? 정말 중요한 파일이라면 우선 돈을 주고 복구를 해주기를 간절히 바랄 수도 있겠지만, 어찌되었건 모험이라고 볼 수 있습니다.



이런 랜섬웨어가 걸리는 경로는 다양합니다. 일단 제가 알고있는 랜섬웨어 감염경로는 경로는 다음과 같습니다.

첫 째로 이메일이 가장 흔하므로 모르는 이메일을 함부로 열지 말아야 합니다. 

둘 째로 불법 소프트웨어를 사용하는 경우입니다. 이런 경우 랜섬웨어가 걸리가 가장 흔한 루트겠죠.

세 번째로 해커들이 사이트를 감염시켜서 해당 사이트에 접속하는 사람이 랜섬웨어에 감염되도록 하는 경우입니다. 한국에서도 클리앙?인가 하는 사이트에 이런 사건이 있었죠.

넷 째로 스마트폰도 안심할 수는 없습니다.


최근에는 리눅스에도 감염된 사례가 나오고 있습니다. 


1차 안전장치 - 백업을 위해 복원이 가능한 클라우드 서비스의 사용

버전관리를 지원하는 클라우드 서비스라면 이론적으로는 이전 버전으로 돌리면 되기 때문에 어떤 파일이라도 랜섬웨어 감염 전으로 돌릴 수 있다고 생각듭니다. 사실 이 방법으로 랜섬웨어의 피해를 100% 막을 수 있을지 모르겠지만 버전관리가 가능한 클라우드 서비스에 중요한 자료를 항상 백업 시켜 놓는 방법이 1차적인 방어대책일 듯 싶습니다. 예를들어 구글 드라이브의 경우 버전과리가 가능하기 때문에 30일 안에 파일 수정에 대해 복구가 가능합니다. 랜섬웨어의 암호화는 파일을 수정하므로 구글 드라이브의 경우 수정 후와 전의 버전이 다 저장되어 있습니다. 이론적으로는 암호화되기 이전으로 돌려놓으면 되겠죠.

이로 인해서 랜섬웨어의 피해를 막았다는 경우도 보았지만 어디까지나 한 사례에 불과합니다. 랜섬웨어의 변종들이 우후죽순으로 생겨나기 때문에 완벽할 수는 없다고 생각하고, 완벽히 방어하려면 물리적으로 완전 떨어진 곳에 백업을 해 놓을 필요가 있습니다. 사실 방어라기보다는 대책이겠죠.

이렇게 2중, 3중의 안전장치가 있을 필요합니다.


만약 버전관리를 지원하지 않는 클라우드 서비스에 백업을 했다면 위험합니다. 동기화가 되는 즉시 이전 파일은 없어지기 때문이죠. 


이런 의미에서 클라우드와 동기화를 실시간으로 하는 것에 대해서 생각할 볼 필요도 있습니다. 


참고로 저는 구글 드라이브에는 실시간으로 동기화 해 놓고 git을 사용해서 git서버에 주기적으로 백업(commit)을 합니다. 

그리고 요새는 백신프로그램이 알려진 랜섬웨어의 암호화 작업을 사전에 차단하기 때문에 반드시 백신프로그램을 사용하셔야 합니다. 


어쨌든 백업이라는 것은 매우 단순하지만 어떤 절차로 어떻게 백업을 해야하는지에 대한 규칙을 세우고 실천하려면 부지런해야 합니다. 예전에 어떤 책을 읽었는데 그 책을 쓰시던 분이 몇 달치의 자료가 날라간 적이 있었다고 했는데 아마 이런 경험이 있다면 백업이 얼마나 중요한 루틴인지 이해하겠죠.

반응형