Top Coder RAW novel - Chapter (96)
탑 코더-96화(96/303)
# 96
독보적 기술
아침 10시.
출근길 승호의 핸드폰이 요란하게 울렸다.
“네. 고 사장님.”
-어젯밤부터 중국에서 벌어지고 있는 일 혹시 들었나?
전화는 고동만 사장.
어제 일이라면 무슨 일인지 대략 알 것 같았다.
“랜섬 웨어 말씀하시는 겁니까?”
-역시. 중국 쪽에서 아직 해결책을 아직 마련하지 못했다고 하네. 해당 OS 업체들도 마찬가지고.
“저도 잠깐 봤는데 쉽지 않아 보였습니다.
-그래도 자네라면 뭔가 해결책은 가지고 있을 것 같은데··· 어떤가?
“뭐, 연구를 해보면 보안 패치를 개발 할 수 있을 것 같기도 한데. 그런데 왜 그러십니까?”
승호는 모른 척 물었다. 고동만이 살짝 한숨을 내쉬며 말했다.
-지금은 중국에만 머물러 있지만 혹시나 한국으로 들어올 수 도 있으니. 미리미리 방비를 해야지. 리스크는 최대한 줄여야 하니까.
“저도 예카테리나 팀장님과의 경쟁 덕분에 바빠져서 시간이 날지 모르겠습니다.”
예카테리나.
선진전자 인공지능 플랫폼 빅스의 팀장.
승호와 그녀가 한 내기만 생각하면 고동만은 머리가 아파왔다.
-어제 청와대에서 있었던 일은 들었네. 델타의 초기 버전 보다 성능 좋은 놈을 개발했다고.
“아직 미숙합니다.”
-그래 놓고는 또 어떤 놈을 가져 오려고. 그렇게 숨기나.
“하하, 숨기기는 요.”
-자네라면 얼추 개발의 얼개는 만들어 두었겠지. 보안 패치 그것도 개발 하는데 하루도 걸리지 않을 거야. 내 말이 틀렸나?
승호가 헛웃음을 터트렸다.
“하하, 과찬 이십니다.”
-이 정도 표현으로도 부족한 게 지금까지 자네의 행적이지. 뭐 어쨌든 중요한건 그게 아니고. 이미 디텍트, 시멘틱, V7 같은 보안 업체들만이 아니라 KISA에서도 관련 패치 개발에 열중하고 있네. 우리 내부 보안 인력들도 마찬가지고. 밤새도록 ‘매그니토’란 놈을 분석해서 패치를 만들려고 하는데 쉽지 않아.
승호는 같은 말을 반복했다.
“시간이 되면 한 번 살펴보겠습니다.”
-바로 본론으로 들어가지. 이번에도 우리가 가장 먼저 살 수 있겠나?
“네?”
-지난번 엔드로이드 사태 때처럼 이번에도 우리가 가장 먼저 보안 패치를 사고 싶다는 말이네.
“아직 개발도 하지 않은 패치를 어떻게 판단 말입니까.”
-이렇게 된 김에 솔직히 말하지. 내부 인력이 그런 말을 하더군. 아무래도 그 랜섬 웨어가 중국 백본 망 쪽에 심어져 있는 것 같다고.
그 말에는 확고한 믿음이 서려 있었다.
“······.”
-중국으로 들어가는 백본 망에 사용되는 네트워크 장비는 대부분 화이 장비. 결국 화이 장비가 아주 치명적인 취약점을 가진 게 되지.
승호가 침묵하고 있는 사이 고동만이 말을 이었다.
-그걸 선진이 해결 한다면 어떨지 생각해 봤네. 아! 물론 시내 소프트와 협력해서 해결 했다고 기사가 나갈 거야. 패치는 선진 전자 홈페이지를 통해 무료로 배포 될 테고.
“광고 효과가 어마어마하겠군요. 지난 번 엔드로이드 사태 때처럼.”
-미중 무역 전쟁으로 선진의 네트워크 장비가 이득을 보고 있긴 하지만 실제 성능 상에는 화이 쪽 장비가 더 뛰어나. 실제로도 사람들 인식도 그렇고. 그러나 만약 우리가 해결 한다면 달라지겠지.
“생각해 보겠습니다.”
-다른 쪽에서 패치가 나온다면 아무런 의미가 없어지네. 가장 먼저. 최초로 나와야 해.
“알겠습니다.”
전화를 끊은 승호가 발걸음을 빨리 했다.
***
한국 시간 오전 11시.
미국 메릴랜드 NSA 본사.
메릴랜드는 밤 10시가 넘은 시간이었다. 그때 까지도 제임스는 퇴근하지 못하고, 자리를 지키고 있었다. 책상위에는 먹다 남은 샌드위치와 각종 메모들이 가득했다. 제임스가 그 중 하나를 집어 들었다.
“이제 겨우 내부적으로 IP를 확인하고 있다는 사실을 밝혀낸 게 다라니.”
슈퍼컴퓨터 서밋까지 동원해 매그니토를 분석했다. 겨우 랜섬웨어 일부를 분석해 그 결과 얻어낸 내용은 실제 자신의 IP를 통해 위치를 확인하고 있다는 것.
이미 추측하고 있던 사실을 확인하는데 그친 것이다. 허탈하기 그지없는 결과였다.
“이런 식으로 접근해서는 완전 분석까지 일주일은 걸리겠어.”
워너크라이 사태 때도 이 정도는 아니었다. 거의 하루 만에 단서를 잡았고, 단서를 잡은 지 2시간 만에 패치를 만들어 낼 수 있었다. 거의 동시에 윈더를 비롯해 OS 회사에서도 관련 패치를 내놓았다. 그러나 이놈의 매그니토 라는 놈은 아니었다. 이대로 있다가 중국에서 자칫 넘어오기라도 한다면.
상상만으로도 긴 한숨이 흘러나왔다. 제임스가 걱정스런 표정으로 모니터를 보고 있을 때.
-메일이 도착했습니다.
서밋 운용팀에서 메일이 도착했다. 머리를 쥐어뜯고 있던 제임스가 재빨리 내용을 확인했다. intOrPtr* __esi;
signed int _t1;
signed int _t2;
_t1 = *16819368;
__esi = __imp__GlobalFree;
······.
랜섬웨어를 분석한 내용이 적혀 있었다. 제임스가 정신없이 코드를 해석해 나갔다.
“이건··· 랜섬웨어에 감염되면 바로 자기 자신을 잘게 쪼개 연결된 네트워크 장치들로 브로드 캐스팅 하라는 내용인데. 그게 무슨 의미를 가지는 건지······.”
이내.
눈동자가 파르르 떨려왔다.
“이런 미친!”
“왜?”
제임스가 코드의 한 부분을 손가락으로 가리키며 말했다.
“각 노드들이 서로 통신하면서 무작위로 서로를 업데이트 하고 있어.”
옆에 있던 동료가 다음 말을 중얼 거렸다.
“그렇게 되면··· 랜섬웨어 종류가 수십, 아니 수백 수천 가지로 변형이 될 수도 있다는 말인가?”
제임스가 꿀꺽 마른 침을 삼켰다. 만약 정말 저 코드대로 랜섬웨어가 만들어져 있다면 지금 자신이 분석하고 있는 랜섬웨어는 아무 의미가 없었다.
최악의 경우 30만대가 각자 다른 특징을 가진 랜섬웨어 감염되어 있다는 뜻 이 기에.
***
우추관의 만면에 화색이 가득했다.
“해결 했다고?”
설명을 하는 대원도 밝은 표정이었다.
“네. 매그니토도 알고 보니 별거 아니었습니다. 서버메세지블록쪽 취약점을 이용해 랜섬웨어를 설치해 감염시키는 방식이었습니다. 서버메세지블록 즉 SMB 프로토콜은 최초 핸드쉐이크 작업 중에 TRAN1 영역을 넘어서는 데이터는 TRAN2로 넘어가게 되어 있는데 이랜섬웨어는.”
우추관이 설면을 하던 대원의 말을 막았다.
“알았으니까. 빨리 테스트부터 해봐.”
자신이 관심 있는 건 과정이 아닌 결과였다.
“아, 네. 알겠습니다.”
다시 자리로 돌아간 대원이 테스트를 시작했다. 랜선을 제거 한 후에 윈더 OS를 설치했다. 이후 패치를 설치하고 컴퓨터를 재부팅한 후에 다시 랜선을 연결했다. 근 30여분이 걸린 일련의 과정을 우추관도 지켜보았다.
만약 이 시도가 실패한다면 .
자리를 내놔야 할지도 모른다. 우추관이 초조한 기색으로 물었다.
“어때? 패치가 잘 작동하고 있어?”
째깍째깍.
우추관이 기다리지 못하고 다시 물었다.
“뭐야. 왜 대답이 없어. 잘 작동하고 있냐니까.”
이번에도 대답이 없었다. 우추관이 목소리를 조금 더 높였다.
“리웨이!”
이름을 부르자 그때서야 반응이 왔다.
“이게 약간 좀 이상 합니다······.”
“뭐가 이상하단 말이야.”
“분명 패치를 적용 했는데······.”
리웨이가 새롭게 세팅한 컴퓨터와 자신의 컴퓨터를 번갈아가면서 살폈다. 갈팡질팡하는 모습은 보는 사람을 안쓰럽게 만들었다. 우추관이 리웨이에게 다가갔다.
-Your computer has been hacked.
-That means someone in your country tried to hack.
-From now on, this computer will become a miner and mine the coin.
-I promise you that the money will be used in a good place.
랜섬웨어에 감염된 PC에서 나타나는 전형적인 특징이었다. 그건 곧 문제가 해결되지 않았다는 뜻이기도 했다. 리웨이가 당황한 표정으로 중얼거렸다.
“이게 이럴 리가 없는데··· 분명 TRAN2로 넘어가는 부분에 문제가 생기지 않도록 패치를 적용했는데. 이건 말 도 안 되는······.”
그때 함께 있던 다른 동료가 벌떡 일어나며 중얼거렸다.
“이, 이것 좀 보세요.”
그 말에 사무실내 인원들이 우르르 몰려들었다.
“텐허 에서 나온 분석 결과인데 각 랜섬웨어들이 서로 통신하면서 서로를 업데이트 시키고 있습니다.”
그러자 패치를 만들어낸 리웨이가 침음을 흘렸다.
“업데이트? 랜섬웨어가 스스로 진화하고 있다는 말이야?”
“여기 분석한 코드만 보면 그렇게 작동 중입니다.”
“말 도 안 돼··· 아무리 업데이트를 한다고 해도 취약점을 파고드는 핵심 코드는 변경이 없을 텐데. 만약 그 부분도 변경이 된다고 하면 컴퓨터에서 일어나는 취약점 수백, 수 천 가지를 알 고 있어야 한다는 말이잖아.”
“아마··· 그런 것 같습니다.”
“뭐?”
사무실 분위기가 무겁게 가라앉았다. 충격적인 분석 결과에 사람들은 경악을 넘어 공포를 느끼고 있었다. 리웨이가 아주 작은 목소리로 중얼 거렸다.
“그러면 패치를 만들어도······.”
“소용없는 경우가 있을 수 있다는 말입니다.”
우추관의 안색이 사색으로 변했다. 때마침.
설정해 두었던 알림이 울렸다.
– 감염 PC 50만대입니다.
50만대.
이제 더 이상 물러설 곳이 없었다.
***
한국 시간 오전 12시.
승호는 CNN에 접속해 아시아 지역 속보를 살펴보았다.
-랜섬웨어 매그니토. 중국 전역을 잠식하다-윈더 공식 발표. 매그니토 사상 최악의 랜섬웨어.
-스스로 변형하는 랜섬웨어. 최초 유포자는 누구인가.
전문가들의 인터뷰까지 곁들인 기사가 여럿 올라와 있었다. 상황을 보아 하니 아직 해결 하지 못한 모양.
‘이제 슬슬 나서야 하나.’
선진 전자를 비롯해 지난번 협력했던 미국 FBI에서도 연락이 왔다. KISA는 물론이고, 국정원에서도 결국 연락이 왔다.
다들 자신과 협력해서 랜섬웨어를 해결하자고 제안했다. 그러나 그 모든 제안을 거절할 생각이었다.
이제 협력을 통해 성장하는 시기는 넘어섰다.
ZONE 서비스는 안정적으로 운영되었고, 차기 서비스인 ONE의 프로토 타입도 개발 완료 되었다. 슬슬 회사의 이름을 만 천하에 알릴 때라 생각했다.
만약 선진 전자와 협력해 발표한다면 당연히 선진의 이름이 나오고 자신들은 협력사에 불과할 것이다. 더 이상 그런 일은 사양이었다.
그때 새로운 뉴스가 더 올라왔다.
-매그니토 감염 PC 80만대 돌파.
-중국 전역 업무 마비.
-중국 랜섬 웨어로 재난 사태 선포 검토 중.
뉴스를 확인한 승호가 입 꼬리를 올리며 중얼거렸다
“조금만 더 기다려 볼까.”
다른 이들이 패치를 배포하기 전.
자신들을 해킹한 상대가 최악의 고통을 겪은 후.
승호가 생각하는 가장 적절한 보안 패치 배포타이밍이었다.