외전3. DEFCON (2)
사람들의 시선을 한 몸에 받으며 나는 회장에 입성했다.
‘KOR’ 팀은 총 여덟 명이다.
지금 병상에 누워 있는 팀장 윤동석.
임시 팀장을 맡은 지석용.
울산공대의 해킹 동아리 해커스 출신인 최진수와 송하준.
지석용과 함께 대광전자에서 일하고 있는 김우택.
팀장이었던 윤동석의 추천으로 들어온 한국대 학생 박경정과 아마추어 해커 이락.
그리고 마지막으로 깍두기인 나.
라스베이거스에서 열리는 데프콘에는 한 번도 참석해 본 적이 없지만, 국내의 해킹 방어 대회는 대학교에 다닐 때 몇 번 참가해 본 적이 있다.
하지만 무려 20년도 지난 과거의 이야기이기 때문에 별로 도움이 되진 않았다.
우리가 입은 체크 셔츠에 앞뒤로 ‘KOR’이라는 팀명이 박혀 있어서 그런지 대한민국을 대표하고 있다는 기분이 들었다.
갑갑한 가슴을 부여잡고 한숨을 내쉬는데 이락이 곁에서 나를 응원했다.
“걱정하지 마세요. 대표님은 깍두기니까 그냥 우리가 하는 걸 보조만 해 주시면 됩니다.”
“이락 배우님은 지난 한 달간 이분들과 함께 공부하셨죠?”
“그랬죠. 출국하기 이틀 전에는 모여서 합숙까지 했어요.”
“준비를 많이 했겠네요.”
한 달 동안 특훈을 한 사람들 사이에 내가 끼어 있어도 되는 건가?
가슴에 돌덩이가 배로 얹히는 기분이었다.
* * *
한국에서는 우리의 출전 소식이 기사로 떴다.
[스타탄생 대표 원세강과 청춘스타 이락, 라스베이거스에서 열리는 해킹 방어 대회 참가]
[원세강과 이락, 의외의 행보. 해킹 방어 대회에 모습을 드러낸 스타들]
강진석은 새벽부터 전화를 받고 일어나 정신이 없었다.
“깡기자님. 락이랑 세강이가 맞아요.”
[정말로 두 사람이 국제 해킹 대회에 한국 대표로 출전했다는 겁니까? 이걸 왜 저한테 안 알려 주셨어요?]
“락이는 기사가 나지 않게 해 달라고 부탁한 거고 세강이는 나도 어떻게 된 건지 전혀 모르겠어요. 마침 라스베이거스에 있어서 응원차 구경하러 간다고 했거든요.”
[아! 그러네요. 지금 이렌 씨가 라스베이거스에서 영화 촬영을 하고 있었죠.]
“저도 방금 연락을 받아서 어떻게 된 건지는 잘 모르겠습니다. 방금 대회가 시작해서 이제 세강이랑 연락도 안 돼요.”
[지금 추측성 기사만 쏟아지고 있는 건 아시죠?]
“락이 기사는 저희가 대회 끝나고 풀려고 했습니다. 지금 기사 소스 드릴 테니 깡기자 님이 단독으로 내주세요.”
[그래 주시면 저야 감사하죠. 그런데 이락 배우님은 그렇다고 치고 원 대표님은 어떻게 할까요?]
“세강이는 어떻게 된 건지 모르겠지만 능력이 있으니 출전한 거겠죠. 한국 대표잖아요.”
[그러고 보니 원세강 대표님이 한국대 컴퓨터 공학과 출신이었죠?]
“맞아요. 이번 대회 팀장이 세강이 대학교 동창일 겁니다.”
[그래요? 그럼, 그걸로 기사를 내면 되겠네요.]
“자세한 상황을 알게 되면 따로 연락을 드릴게요.”
[감사합니다. 강 이사님. 제가 너무 늦게 전화를 했죠? 하하하. 좀 더 주무세요.]
“아이고야. 잠이 다 달아났습니다.”
깡기자와 전화를 끊은 강진석은 자리에서 일어났다.
시계는 이미 새벽 1시를 가리키고 있었다.
“대체 뭐가 어떻게 돌아가고 있는 거야? 세강이 얘는 대체 거길 왜 갔어?”
* * *
대회에 참가한 총 38개국의 팀에 실제로 동작하는 서버 한 대씩이 할당되었다.
데프콘에서 준비한 모의 해킹 전문가가 참가팀이 지키고 있는 서버에 공격하고 팀원들은 이를 방어한다.
해커의 공격을 방어하고 서버의 서비스를 유지하는 것이 대회 우승의 관건이었다.
회장의 한가운데 설치된 커다란 전광판에는 각 팀의 점수표가 실시간으로 반영되어 떴다.
해커의 공격을 방어하면 승점 추가.
서버가 뚫려서 서비스가 중단되면 실점.
이때 서비스의 중단과 복구 시간까지 모두 점수로 기록이 된다.
대리 팀장인 지석용의 지휘 아래 최진수, 송하준이 서버를 공격하는 패턴을 분석해서 넘기면 김우택과 이락이 실시간 패치 코드를 만들어 해커의 공격에 방어했다.
1위는 작년 우승팀인 미국 애리조나 대학팀 ‘NR’이며 ‘KOR’은 현재 8위에 랭크 중이다.
최근 10년간 1위는 못했어도 늘 상위권을 유지했던 한국 팀이었기에 오늘은 조금 부진한 감이 없지 않아 있었다.
아마도 사람이 부족해서 일 것이다.
나는 긴장한 채 주위를 둘러봤다.
나를 제외한 모든 이들이 컴퓨터 모니터에 시선을 고정하고 있었다.
그들의 손이 어찌나 빨리 움직이는지 키보드 위를 날아다니는 것 같았다.
반나절이 흐른 지금 나는 어느 정도 상황 파악을 모두 끝낸 상태다.
내가 학교에 다닐 때와 달리 지금은 서버를 공격하는 해커가 사람이 아닌 로봇이었다.
이름하여 해킹봇.
주최 측에서 만든 해킹봇은 서버의 취약점 리스트를 공유하며 그걸 가지고 서버를 공격하고 있다.
우리는 해킹봇에 어떤 공격을 받았는지 빠르게 분석하여 조처하고 점수를 따야 한다.
우리는 지금까지 한 번도 서비스가 다운된 적은 없지만, 패치 속도가 너무 늦었다.
나는 이락과 김우택이 만드는 패치 코드를 보고 있다가 옆으로 자리를 옮겼다.
최진수와 송하준 그리고 지석용은 서버를 공격하는 패킷을 분석하고 있었다.
해킹봇이 네트워크의 취약점을 파고들어 공격을 감행했고 서버 시스템에서 자꾸 오류가 발생하고 있다.
오류 때문에 입력 패킷의 반을 버리고 있으니 원활한 서비스가 어려웠다.
“하. 미치겠네. 모두 익히 알려진 취약점을 가지고 공격하는 건데도 막을 수가 없어.”
지석용이 식은땀을 닦으며 말했다.
함께 패킷을 분석하고 있던 최진수가 입을 열었다.
“한둘이 아니라 수십 가지의 서로 다른 패턴으로 동시다발적으로 공격을 해서 그래요. 패치를 만드는 속도가 따라가지 못해요. 대체 이 많은 공격을 어떻게 대응하라는 건지. 참나.”
“하준아. 안 되겠다. 네가 패치 팀에 붙어.”
“예. 팀장님.”
지석용은 결국, 패치 팀에 사람을 더 충원하기로 했다.
나는 고개를 들어 다른 팀을 확인했다.
모두 같은 공격을 받고 있는지 참가팀 모두 우왕좌왕 정신이 없어 보였다.
이번 공격으로 승자가 결정되겠구나.
앞으로 남은 시간은 한 시간.
벌써 순위가 엎치락뒤치락하고 있었다.
한 시간 뒤, 시합이 끝나고 나면 승자는 있겠지만 우리가 지킨 서버는 모두 너덜너덜해진 상태겠지.
기계를 어떻게 이기겠어.
이건 지는 싸움이야.
방어가 안 돼.
방어……?
순간 내 머릿속에 번개가 내리쳤다.
나는 지석용 팀장의 뒤로 가서 해킹봇의 보내고 있는 공격 패킷을 확인했다.
네트워크 취약점을 이용한 공격이라서 에러가 계속 발생하고 있었다.
그래. 방어가 능사가 아니야.
지금으로서는 공격을 해야 해.
어차피 나는 지금 저들과 합을 맞출 수 없는 잉여 인간이다.
내가 지금 무엇을 하든 상관없겠지.
나는 오늘 이곳에 와서 처음으로 노트북을 열었다.
후배들과 이락은 최신 프로그래밍 랭귀지와 멋진 IDE를 사용했지만 나는 그런 건 모른다.
과거에 내가 하던 대로 터미널을 열고 프로그래밍을 시작했다.
* * *
- 한국팀 점수 계속 내려가네.
- 기록 찾아보니까 작년에 한국팀이 2등, 재작년에도 2등이었더라.
- 원래 한국은 해킹 방어 대회에서 줄곧 상위권이었어. 근데 이번에는 좀 못하네.
- 이락이랑 대표님 때문인가? 두 사람은 너무 뜬금없는 조합인 듯.
- 한국대랑 울산공대 에타 난리 났네. 거기서 이락이랑 원세강 욕하고 있더라.
- 거기는 그럴 만도. 실력 있는 개발자가 얼마나 많은데 검정고시 출신이랑 졸업도 못 한 아마추어를 내보내냐?
- 한국팀이 이대로 10위권 광탈하면 대표님이랑 이락은 욕 좀 먹게 생겼다.
- 어차피 해킹 방어 대회임. 이런 거 하는지 모르는 사람이 태반임.
└아닐걸. 지금 기사가 쏟아지고 있음.
- 이락 기사 떴는데 한 달 전부터 특훈하면서 준비한 거래.
- 한국팀 팀장이 인터뷰한 것도 실렸는데 이락이 컴퓨터에 천부적인 재능이 있는 친구래.
- 이락이 지금 방통대 다니는데 준비해서 한국대 시험 볼 거라는데???
- 웬 한국대? ㅋㅋㅋ 꿈도 야무지네.
- 한국팀이 잘하고 이런 기사가 났으면 응원이라도 해줬을 텐데. 현실은 망하고 있고요. ㅋㅋㅋ
- 어? 방금 KOR 팀 9위 아니었음? 전광판에 표시된 거 뭐지?
- 뭐냐? 왜 갑자기 순위가 5위로 훅 뛰었대?
- 지금은 4위야. 뭐지? 오류인가?
- 생중계 봐 봐. 회장 분위기도 심상치 않다. 다들 한국팀 슬쩍슬쩍 쳐다보고 난리 났음.
- 와. 이게 무슨 일이야. 방금 3위로 올라섰어. 점수가 미친 듯이 올라가고 있어. 대박!!!
* * *
이락이 내 팔을 붙잡고 좋아서 어쩔 줄 몰라 했다.
“대표님. 이게 대체 뭐예요? 뭘 하신 거예요?”
“해킹봇을 다운시키는 프로그램을 만들었어요.”
“그러니까 그걸 어떻게 한 건데요?”
다른 팀원들도 하던 일을 멈추고 내게 몰려왔다.
팀장 대리인 지석용이 그제야 내가 한 일을 깨닫고 외쳤다.
“원 대표님. 설마 해킹봇이 받는 ACK 응답(Acknowledgement, 수신 측에서 메시지를 에러없이 정상적으로 수신했거나, 송신해도 된다는 것을 송신 측에 알리기 위한 제어용 신호) 메시지를 건드린 건가요?”
“맞습니다. ACK 응답에 취약점을 심어서 보냈어요. 해킹봇이 네트워크 공격을 감행하고 있으니 그걸로 맞대응하는 거죠. 해킹봇이 ACK 응답을 처리하다가 오류를 일으켜서 다운되고 있을 겁니다. 과거처럼 사람이 공격하는 거라면 패치 후에 재구동 시킬 테지만 로봇이라서 그냥 취약점이 있는 상태로 재구동하는 겁니다.”
“그럼 다시 우리 서버를 공격해도 ACK 응답을 받으면 다시 다운되겠네요.”
“맞아요. 지금처럼 말이죠.”
“와. 완전 무한 리부팅인 거네요.”
지석용과 팀원들은 내 말을 듣고 놀라움을 금치 못했다.
이 짧은 시간 안에 응답 패킷을 가로채서 취약코드를 심어서 보내는 프로그램을 만든 것도 놀라운데 더 대단한 것은 문제의 근본인 해킹 로봇을 공격할 생각을 한 거다.
“주최 측이 바보가 아닌 이상, 해킹봇이 공격받고 있다는 걸 조만간 알게 될 겁니다. 그들이 해킹봇을 패치하기 전에 승점을 최대한 많이 따내고 방어해야 합니다.”
지석용은 내 말을 듣자마자 팀원들에게 자리로 돌아가라 말했다.
“원세강 대표님 말씀 들었죠? 당장 가서 우리가 할 일을 합시다. 우택이랑 락이는 패치 코드 만들 필요 없을 테니 다른 일을 좀 해 줘요.”
“뭘 할까요? 팀장님?”
“원세강 대표님을 도와서 서버 방화벽을 만들어요. 해킹봇이 살아나도 뚫을 수 없게요.”
“뭘 어떻게 할까요?”
이락의 물음에 지석용이 웃으며 나를 바라봤다.
“그걸 왜 나한테 물어요? 저기 있는 원세강 대표님께 물어보면서 해요. 우리 안의 작은 팀이 생긴 겁니다. 팀장은 원세강 대표님이고요.”
이락은 그제야 환하게 웃어 보였다.
“예. 알겠습니다. 지 팀장님!”
갑자기 어깨가 무거워진 나는 이락과 정우택을 바라봤다.
방화벽이라.
기억이 나야 할 텐데.
* * *
- 미쳤다. 우승이야!!!
- 대박. 점수 차이 좀 봐라. 1위랑 2위랑 넘사벽이다.
- 한국팀 대박.
- 원세강 대표님이 대표로 상 받으러 나오셨어.
- 자막 뜬 거 봄? KOR 팀 우승의 주역이래. 미쳤다. 진짜.
- 대표님 쑥스러워하시는 것 좀 봐라. 얼굴 빨개지셨어.
- 경쟁자들도 몰려와서 축하해주네.
- 이게 실화냐? K 대표 능력치 미쳤다. ㅋㅋㅋ
- 실시간 채팅에 뜬 거 누가 번역해 준 건데. 해킹 방어 대회가 해킹봇한테 자기 서버 지키는 거래. 근데 원 대표님이 역발상으로 해킹봇 자체를 해킹해서 이긴 거래.
└무슨 말인지 모르겠지만 원 대표님이 멋있다는 건 알겠다.
└그냥 알아들은 척해.
└ㅋㅋㅋㅋ
* * *
대회가 끝나고 회장은 곧바로 연회장으로 변신했다.
몰려드는 사람들의 축하에 정신을 차릴 수가 없었다.
‘KOR’ 팀원들은 나와 샴페인을 나눠 마시며 즐거움을 만끽했다.
“처음에 대표님이 오신다는 말을 듣고 망했다 싶었습니다.”
“저도요. 방해꾼이나 되겠지 했는데 대표님이 이렇게 우리 팀의 구세주가 될 줄 상상도 못 했습니다.”
기뻐하는 후배들을 보니 나 역시 기분이 날아갈 것 같았다.
마치 대학 시절로 돌아간 것 같아서 흐뭇했다.
우리가 한참 웃고 떠드는데 갑자기 연회장 안이 찬물을 뒤집어쓴 듯 조용해졌다.
고개를 돌려보니 회장 안의 사람들이 마치 썰물처럼 반으로 갈라지고 있었다.
뭐지? 하며 고개를 갸웃거리는데 사람들을 헤치고 아름다운 그녀의 모습이 보였다.
서이렌이 소식을 듣고 찾아온 것이다.
서이렌은 체크 셔츠와 청바지 차림의 공대 남자들 사이를 헤치며 내게 걸어왔다.
하지만 나 역시 이곳에 모인 이들과 똑같은 체크 셔츠와 청바지 차림이었다.
“이렌 씨. 어떻게 왔어요?”
“대표님의 활약상을 보고 있자니 오지 않을 수가 없더라고요.”
“경기 봤어요?”
“예. 봤어요. 오늘 너무 멋졌어요. 대표님.”
다행이다.
내가 생각해도 나는 오늘 조금 멋졌던 거 같다.
“이렌 씨. 우리 팀 소개해 줄게요. 같이 가요.”
“예. 대표님.”
나는 웃으며 그녀를 데리고 우리를 기다리고 있는 ‘KOR’ 팀원들을 향해 걸어갔다.