Security

중요한 자료를 인질로 삼는 랜섬웨어. 한동안 조용했다가 다시 활개치기 시작했는데...

학주니 2015. 12. 21. 22:40
반응형

자전거 동호회에서 총무를 맡고 있는 안근인씨는 어느 날 아침에 집에 있는 데스크탑을 켜고 지난 주에 갔던 동호회 모임에서 찍은 사진을 보려고 사진 폴더에 들어갔는데 깜짝 놀랬다. 평소 같으면 조그만 썸네일이 쭉 뜨면서 사진 내용이 보여야 하는데 갑자기 이상한 파일들만 보이는 것이다. jpg, png로 된 그림 파일 확장자들이 죄다 c00로 바뀌어 있었다. 혹시나 싶어서 확장자를 다시 jpg, png로 바꿔봤지만 파일은 열리지 않았다. 도대체 왜 이러나 싶었다. 답답하고 짜증나기도 하고 해서 사진보는 것은 포기하고 관리하고 있는 회계 장부를 보려고 해당 폴더에 들어갔다. 안근인씨는 동호회의 총무로 회비 및 기타 동호회 관련 회계일도 함께 맡고 있기 때문에 회계 관련 내용을 '회계장부.xlsx' 이름의 엑셀 파일로 만들어 관리하고 있었다. 그런데 엑셀파일은 온데간데 없고 사진 파일처럼 '회계장부.c00' 파일만 덩그러니 있는 것이다. 사진 파일과 마찬가지로 파일명을 엑셀 형식으로 바꿔봤음에도 엑셀에서 읽혀지지가 않았다. 당황스러웠다.왜 그러지 하면서 이렇게 저렇게 방법을 다 써봤지만 바뀌어진 파일을 정상적으로 되돌릴 수 없었다.


왜 그런지 원인을 생각하고 있던 안근인씨는 최근 문제가 되고 있는 랜섬웨어에 걸렸다는 것을 알게 되었다. 3일 전에 토렌트를 통해서 MS 오피스 2016의 크랙 파일을 받았는데 그게 이상하게 동작하고 제대로 실행되지 않아서 그냥 지웠던 것이 생각났다. 그 크랙 파일이 랜섬웨어였던 것이다. 이걸 발견하고 이틀 뒤에 메일 한통을 받았다. 이상한 계좌번호(아마도 해외 은행의 계좌번호인 듯)를 알려주면서 변형된 네 파일들을 풀어줄테니 돈을 보내라는 메일이었다. 랜섬웨어를 퍼트린 해커에게서 온 메일이었다. 돈을 부쳐주면 파일을 풀 수 있는 프로그램과 해독할 수 있는 복호화 키를 보내주겠다는 내용이었다. 안근인씨는 어쩔 수 없이 그 계좌로 돈을 부쳐줬다. 그리고는 돈을 보냈다는 메일을 답신으로 보냈다. 하지만 하루가 지나고 이틀이 지나고 일주일이 지나도 답변이 없었다. 혹시나 싶어서 스팸메일함을 뒤져봤지만 그 해커에게서 온 답변 메일은 없었다. 한마디로 그냥 돈을 먹은 것이다. 안근인씨는 파일도 버리고 돈도 버리는 황당한 상황에 처하게 되었다.



요 1~2년 동안에 기승을 부리던 랜섬웨어가 잠깐 주춤했다가 최근에 다시 활개를 치고 있다. 위에서는 그냥 재미삼아 피해 예시를 적어본 것인데 해커에게서 메일을 받아서 돈을 부치는 것은 아는 사람에게서 들은 내용을 적절히 편집해서 적은 것이다. 요즘은 해외 계좌가 아닌 비트코인으로 달라는 메일이 많다고 한다. 그리고 내 주변에도 생각보다 이런 랜섬웨어에 걸린 지인들이 꽤 있었다. 파일 이름이 c00으로 바뀌는 것은 내가 아는 동생이 갑작스럽게 전화가 와서 이런 상황에 걸렸는데 어떻하면 좋겠냐고 물어봤을 때 얘기해준 증상이었다. 일단은 포기하고 PC를 새로 싹 포멧하라고 했는데 최근 언론을 보면 다시 이런 랜섬웨어가 기승을 부리고 있는 듯 싶다.


랜섬웨어의 특징은 예전에 이 블로그에서 랜섬웨어에 대해서 소개를 했는데 파일을 헤커만이 아는 암호화키를 이용하여 암호화를 해 파일을 변조하는 방식이다. 파일을 암호화 했기 때문에 기존에 해당 파일을 열던 어플리케이션으로는 열 수가 없다. 암호화로 인해 파일의 형식이 변했기 때문에 읽을 수 없는 것이다. 완전 다른 파일이 된다고 보면 이해하기 편할 것이다. 암호화 방식을 쓰기 때문에 크립토락커(CryptoLocker) 랜섬웨어라고도 불린다. 암호화라는 의미의 크립토에 잠근다는 의미의 락커를 합친 것으로 암호화하여 잠근다는 의미다. 원래 암호화는 보안 서비스에서 메인으로 사용하는 방식으로 인증을 받지 않은 사용자에게 파일이나 통신 상의 내용이 유출이 되더라도 그 안의 내용을 읽을 수 없게 만드는 방식인데 이게 악용된 것이 크립토락커 랜섬웨어 방식이다. 보안과 해킹은 서로 창과 방패의 관계이며 전쟁에서 얘기하면 대적관계인데 같은 방식이 서로 다른 의미로 쓰이고 있다는 얘기다.


크린토락커 랜섬웨어에 걸리게 되면 해당 악성코드 앱이 PC에 연결된 스토리지(HDD, SSD, 네트워크 드라이브 등)를 싹 검색하면서 오피스 파일(워드, 엑셀, 파이포인트 등)과 그림 파일(jpg, png, gif, tif, bmp 등) 등 중요하다고 생각되는 확장자들의 파일들을 모두 암호화 시킨다. 암호화를 하기 위해서는 암호화 키가 필요한데 그 암호화 키는 악성코드 앱을 배포한 해커만이 알고 있으며 악성코드 앱에 존재하는 것이 아닌 암호화를 진행할 때 해커의 서버로부터 키를 받아서 암호화를 진행하는 것으로 알려지고 있다. 그래서 악성코드 앱을 분석해서 그 안에서 암호화 키를 찾아낸다고 하는 사람들의 얘기는 현재로서는 절반은 틀린 얘기라고 보면 된다(물론 일부 크립토락커 랜섬웨어용 악성코드 앱은 암호화 키를 내부에 고정으로 박아둔다고 하는데 요즘 누가 이런 초보적인 방법으로 악성코드를 퍼트릴까).


파일을 암호화하기 때문에 다시 원복시키기 위해서는 해당 암호화 키가 다시 필요하다. 암호화는 보통 대칭키(AES, DES 등과 같은 암호화 알고리즘)와 공개키(RSA와 같은 암호화 알고리즘) 방식이 있는데 대칭키의 경우 암호화와 복호화가 모두 같은 키를 이용하게 되지만 공개키의 경우 암호화 키와 복호화 키가 다르다. 보통은 사용하기 편한 대칭키 암호화 방식을 많이 사용하고 공개키 방식은 잘 사용하지 않는데 이는 공개키 암호화 방식이 더 강력하고 풀기도 어렵지만 암호화 용량 및 키의 크기 등에 대해서 제약이 있기 때문이다. 하지만 파일의 암호화는 대칭키 방식을 이용하고 암호화 키를 공개키 방식으로 재 암호화하는 방식으로 혼용해서 쓰는 경우도 많다. 어찌되었던 암호화된 파일을 다시 원복시키기 위해서는 복호화 키가 필요하며 앞서 예시에서 얘기했던 것처럼 복호화 키를 제공하는 조건으로 돈을 요구한다. 테러범들이 인질을 잡고 그 대가로 돈을 요구하는 것과 같다. 그래서 랜섬웨어라고 하는 것이다. 귀중한 자료를 인질로 삼아서 돈을 갈취하는 것이 랜섬웨어를 이용한 해커들의 해킹 방식이다.


랜섬웨어가 감염되는 경로를 보면 이메일을 통한 방식과 해킹된 메신져 메시지를 통한 방식, SMS로 메시지를 보내는 방식, 홈페이지를 해킹하여 플래시의 버그를 이용하는 방식, 게시판에 악성코드 앱을 올려서 퍼트리는 방식, 토랜트를 통해 퍼트리는 방식 등 다양하다. 즉, 확인되지 않은, 안전하지 않는 방식을 시도하다가 많이 당한다. 스미싱 등 사람들을 혹하게 만드는 내용으로 문자나 메일을 보내고 그 안의 링크나 앱을 실행하게 하는 방식은 고전 방식이기는 하지만 여전히 많이 당하는 방식이고 앞서 예시로 보여줬던 토랜트를 통해서 크랙 파일을 찾을 때 크랙 파일을 위장해서 퍼트리는 방식도 많이 당하는 방식이다. 홈페이지의 플래시 배너를 해킹해서 퍼트리는 방식도 예전에 한번 문제가 되었는데 웹브라우저와 OS의 보안패치를 최신 버전으로 진행하면 어느정도는 방어가 가능하다. 결국 랜섬웨어의 감염 경로는 일반적으로 정상적인 방법이 아닌 비정상적인 방법으로 뭔가를 할려고 할 때 많이 걸린다는 얘기다. 그 얘기인 즉, 예방 방법도 간단한 것이 쓸데없는 작업을 하지 말고 정상적인 경로와 방법으로 소프트웨어를 구입해서 사용하면 되며 OS와 웹브라우저, 그 외의 자주 사용하는 앱들은 최신 버전으로 패치하거나 버전업을 하는 것이다. 쓸데없는 호기심과 꼼수로 인해 피해를 보는 대표적인 경우가 랜섬웨어라는 얘기다.


최근 랜섬웨어에 대한 피해를 예방하기 위해서 중요한 파일에 대해서는 읽기권한만 주는 방식이 많이 거론되고 있다. 앞서 얘기했듯 크립토락커 랜섬웨어는 파일을 암호화하는 것이라고 했는데 암호화해서 그 파일에 덮어쓰는 것이다. 그런데 쓰기 권한이 없고 읽기 권한만 있으면 덮어쓸 때 덮어쓸 수가 없어서 암호화가 진행되지 않는다. 보통 열람용으로 중요한 기밀 파일은 읽어서 출력하는 용도지 그것에 뭔가를 더 쓰는 경우는 많지 않기 때문에 쓰기 권한 없이 읽기 권한만 주면 랜섬웨어를 방어할 수 있다는 논리인데 아주 틀린 얘기는 아니지만 기업 안에서 오로지 열람용으로만 사용하는 파일에 한하여 쓸 수 있는 방법이고 결정적으로 해당 파일을 쓸 수 있는 권한이 있는 PC나 서버가 랜섬웨어에 걸리면 이 방법도 무용지물이라는 점에서 완벽한 방어 방법은 아니다.


비슷한 방법으로 클라우드 스토리지를 이용하는 방법이 거론되고 있는데 파일을 클라우드 스토리지에 업로드를 시키면 업로드된 파일에 대해서는 랜섬웨어의 악성코드 앱이 건드릴 수 없기 때문에 안전하다는 얘기다. 이 방법의 단점은 파일을 업로드하거나 다운로드를 할 때에는 전용 앱을 이용해야 하는데 이유는 만약 드롭박스나 원드라이브와 같이 폴더 동기화나 N드라이브와 같이 네트워크 드라이브 연결 방식인데 탐색기를 통한 접근이 가능하고 읽고 쓰는 것이 자유로운 클라우드 스토리지 서비스의 경우 랜섬웨어의 악성코드 앱이 PC에 연결된 동기화 폴더 안의 파일을 건드릴 수 있기 때문에 암호화가 된 채로 클라우드 스토리지에 올라가면 이것도 무용지물이 되는터라 악성코드 앱이 건드리지 못하는 전용 앱을 이용한 업, 다운로드 방식을 쓰는 클라우드 스토리지 방식은 그나마 좀 나은 랜섬웨어 방어 방법이 될 수 있다. 하지만 불편한 것은 마찬가지다. 어찌되었던 최선의 방어 방법은 위에서 언급한 것처럼 쓸데없는 짓 말고 정상적인 방법으로 사용하며 메일이나 메신져의 내용을 열 때에는 주의깊게 내용을 확인하라는 것이다. 토랜토를 통한 크랙은 사용하지 말고 사용하고 싶다면 VMware, 버추얼박스 등의 가상화 어플리케이션을 통해 가상으로 OS를 띄워두고 호스트가 되는 메인 PC와 연결을 완전히 끊은 다음에 받은 파일을 실행해보고 안전하다고 판단되면 그 때 이용하는 방법은 뭐 나름 권장할만 하다.


최근 문제가 되는 랜섬웨어는 PC 뿐만이 아니라 모바일, 즉 스마트폰이나 태블릿 안의 파일들도 건드린다. 즉, 모바일용 랜섬웨어들이 돌고 있다는 얘기다. 특히나 루팅된 안드로이드 스마트폰이나 제일브래이킹이 된 아이폰에서 문제가 되는데 요즘은 루팅이나 제일브래이킹이 안된 스마트폰들도 문제가 되는 듯 싶다. 방식은 앞서 PC에서 걸리는 방식과 비슷하며 예방하는 방식 역시 비슷하다. 이제는 모바일도 안심할 수 없는 시대라는 얘기다.


나중에 시간이 되면 암호화의 양면성에 대해서 얘기를 하겠지만 랜섬웨어에서 악용하고 있는 암호화는 원래 보안을 위한 기술이다. 보안을 하는 입장에서 이런 좋은 기술이 이렇게 악용되는데에 대해서는 무척이나 가슴이 아프다. 하지만 인기있는 SNS 채널에 대해서는 온갖 마케팅을 위한 각종 상술이 판치듯 기술을 뒤집어서 이렇게 악용되는 것을 보면서 최대한 예방할 수 있는 방법을 동원해보고 조심하면서 사용하는 방법 외에는 별다른 뾰족한 수가 없으니 조심하면서 이용할 수 밖에 없을 듯 싶다.



반응형