2025년 8월 11일 새벽 4시 30분, 예스24 접속이 끊겼다. 두 달 전인 6월 9일 랜섬웨어에 감염돼 나흘 만에 복구를 마친 그 회사였다. 그리고 그날 포털 검색창에는 같은 말이 올라왔다. "예스24 랜섬웨어 복구".
지금도 사람들은 검색한다. 랜섬웨어 복구 프로그램, 랜섬웨어 무료 복구, 감염 파일 복원 도구. 그 말들이 전제하는 건 하나다. 어딘가에 받아서 돌리면 파일이 돌아오는 프로그램이 있다는 것.
대부분의 경우 그런 프로그램은 없다. 개발이 덜 돼서가 아니다.
잠긴 파일과 잠긴 열쇠
랜섬웨어가 파일을 암호화하는 방식은 생각보다 단순하다. 그리고 그 단순함이 복구를 막는다.
7월 14일 새벽 SGI서울보증의 전산을 마비시킨 건라(Gunra) 랜섬웨어를 보면 구조가 그대로 드러난다. 2025년 4월 처음 나타난 이 랜섬웨어는 콘티(Conti) v2 계열이고, ChaCha8과 RSA를 겹쳐 쓴다.
두 암호는 역할이 다르다.
- ChaCha8은 빠르다. 수십만 개 파일을 실제로 암호화하는 건 이쪽이다. 대신 잠글 때와 풀 때 같은 열쇠를 쓴다.
- RSA는 느리다. 파일 암호화에는 못 쓴다. 대신 잠그는 열쇠와 푸는 열쇠가 서로 다르다.
공격자는 이 둘을 이렇게 조합한다. ChaCha8으로 파일을 잠근 다음, 그 ChaCha8 열쇠 자체를 RSA로 다시 잠가서 피해자 컴퓨터에 남겨둔다.
그래서 피해자의 하드디스크 안에는 파일을 풀 열쇠가 분명히 있다. 다만 그 열쇠가 잠겨 있고, 그걸 열 RSA 개인키는 공격자 서버에만 있다.
여기서 "복구 프로그램"이라는 발상이 무너진다. 프로그램이 아무리 정교해도 없는 열쇠를 만들어낼 수는 없다. RSA 개인키를 계산으로 알아내는 건 이론상 가능하지만, 현재 쓰이는 키 길이에서는 지구상 모든 컴퓨터를 동원해도 인류의 시간 척도를 벗어난다. 이건 소프트웨어 문제가 아니라 수학 문제다.
건라가 시스템 복구 기능까지 무력화한 것도 같은 맥락이다. 윈도우가 자동으로 남겨두는 이전 버전 파일들을 먼저 지워버리면, 암호를 못 풀어도 옛 파일로 돌아갈 여지마저 사라진다.
그런데 200종은 실제로 풀린다
여기까지 읽으면 모든 게 끝난 것 같지만, 사실은 반대편도 있다.
유럽 경찰기구와 보안 기업들이 함께 운영하는 노 모어 랜섬(No More Ransom)에는 200종이 넘는 랜섬웨어 변종에 대한 무료 복호화 도구가 올라와 있다. 카스퍼스키, 아바스트, 비트디펜더, 엠시소프트, 트렌드마이크로 같은 회사들이 각자 만들어 올린 것이다. 갠드크랩, 레빌, 락빗 3.0처럼 이름이 알려진 계열도 목록에 있다.
앞의 설명과 모순되는 것처럼 보이지만 아니다. 이 도구들은 암호를 깬 게 아니다. 열쇠를 손에 넣은 것이다. 경로는 크게 셋이다.
만든 쪽이 실수한 경우
가장 흥미로운 사례가 한국에서 나왔다.
2024년 2월 12일, 국민대학교 연구진과 한국인터넷진흥원(KISA)이 리시다(Rhysida) 랜섬웨어의 복호화 도구와 분석 논문을 공개했다. 리시다는 2023년 5월 등장해 정부기관과 의료기관을 노려온 계열이다.
연구진이 찾은 건 암호 알고리즘의 약점이 아니라 난수 생성기의 구현 결함이었다. 리시다는 암호화에 쓸 키를 만들 때 난수의 씨앗값을 시스템의 현재 시각에서 뽑았다. 32비트 범위였고, 다른 예측 불가능한 값을 섞지 않았다.
시각에서 나온 값이라면 후보가 한정된다. 연구진은 그 범위를 훑어 실제 씨앗값을 찾아냈고, 한 번 찾고 나자 그 뒤에 쓰인 난수가 전부 예측 가능해졌다. 공격자의 개인키는 끝까지 손에 넣지 않았는데도 파일이 풀렸다.
같은 알고리즘을 쓰더라도 어떻게 쓰느냐에서 무너질 수 있다는 것, 그리고 그 틈을 찾는 일이 국내 연구실에서 가능하다는 것을 보여준 사례다.
열쇠가 밖으로 나온 경우
수사기관이 공격자 서버를 압수하면서 저장돼 있던 개인키를 확보하는 경우가 있다. 조직 내부 갈등으로 열쇠가 유출되거나, 운영자가 활동을 접으며 스스로 공개하기도 한다. 이런 경우 보안 기업이 그 열쇠를 받아 도구 형태로 배포한다.
애초에 제대로 암호화되지 않은 경우
허술하게 만들어진 랜섬웨어 중에는 파일을 실제로 암호화하지 않고 확장자만 바꾸거나, 모든 피해자에게 같은 열쇠를 쓰는 것들이 있다. 이런 건 사실상 잠긴 적이 없다.
두 갈래를 가르는 건 피해자의 노력이 아니라 어떤 변종에 걸렸는가다. 그래서 복구 도구를 기다린 곳은 없었다. SGI서울보증은 사흘 만에 전산을 되살렸고, 예스24는 백업망이 운영망과 분리돼 있지 않아 되돌아갈 백업 자체가 남지 않았다. 첫 사고의 전말은 예스24 랜섬웨어: 48억 원을 지불하고도 2개월 뒤 다시 당한 이유에 정리해두었다.
"복구 업체"라는 이름
검색어에는 복구 프로그램 옆에 복구 업체도 함께 뜬다. 여기서 주의가 필요하다.
물리적으로 망가진 디스크에서 데이터를 살려내는 복구 업체는 오래된 정당한 업종이다. 하지만 랜섬웨어는 디스크가 멀쩡하다. 잠겨 있을 뿐이다. 그래서 랜섬웨어를 다루는 쪽에서 벌어지는 일은 성격이 다르다.
앞서 본 구조를 다시 떠올리면 선택지가 몇 개 없다. 공개된 도구가 있는 변종이면 그걸 쓰면 되고, 없다면 남는 건 백업이거나 공격자와의 접촉이다. "복구 성공"을 내세우면서 실제로는 공격자와 협상해 몸값을 대신 지불하는 형태가 그래서 생긴다. 피해자가 지불 사실을 모른 채 복구비를 내는 경우도 있다.
계약 전에 확인할 것은 결국 하나다. 어떤 방법으로 복구하는지, 그리고 그 방법이 위 셋 중 무엇인지.
감염됐다면 지금
절차의 순서에는 이유가 있다.
1. 감염된 기기를 네트워크에서 분리한다. 랜섬웨어는 공유 폴더와 연결된 백업 저장소까지 따라간다. 아직 안 걸린 자료를 지키는 게 먼저다.
2. 전원을 끄지 말고 그대로 둔다. 메모리에 열쇠 조각이 남아있는 경우가 있고, 전원을 내리면 그것도 사라진다.
3. 암호화된 파일을 지우지 않는다. 지금 도구가 없어도 나중에 나올 수 있다. 리시다 피해자들도 감염 시점에는 도구가 없었다.
4. 어떤 변종인지 먼저 확인한다. 노 모어 랜섬은 암호화된 파일과 랜섬노트를 올리면 변종을 식별해 도구가 있는지 알려주는 기능을 제공한다. 도구를 쓸 때는 사이트가 명시한 순서를 지켜야 한다. 악성코드를 먼저 제거하지 않으면 복호화한 파일이 다시 암호화된다.
5. 한국인터넷진흥원 118에 신고한다. 기술 지원과 함께, 국내에서 같은 변종 피해가 누적되면 분석 우선순위가 올라간다.
몸값 지불은 판단의 영역이지만, 지불해도 복구 도구를 못 받거나 일부만 풀리는 경우가 보고돼 있다는 점은 알고 결정하는 편이 낫다.
검색어가 알려주는 것
"랜섬웨어 무료 복구 프로그램"이라는 검색어가 꾸준한 건, 그런 프로그램이 있어서가 아니라 사람들이 그것이 있기를 바라기 때문이다.
실제로 존재하는 건 두 가지다. 특정 변종에 한해 열쇠를 확보해 만든 도구, 그리고 감염 전에 만들어둔 백업. 앞의 것은 운의 영역이고 뒤의 것만 통제할 수 있다.
다만 백업은 있다는 것만으로 부족하다. 예스24의 첫 사고에서 백업망은 운영망과 함께 잠겼고, 그때 남은 선택지는 도구도 백업도 아니었다.
참고 자료
안내 및 법적 고지
AI 활용 안내
이 글은 AI(Claude)의 도움을 받아 작성되었습니다.
인용된 통계와 사례는 참고 자료에 명시된 출처에 근거하며, 설명을 위한 일부 표현은 각색되었습니다.
면책 조항
본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다.
언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라
처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.