19살 “나는 해커다”

가 +
가 -

악성코드를 이용해 상대방의 데스크톱PC를 원격제어하고, 와이파이를 이용해 일정 반경 내 있는 사람들에게 동시에 문자메세지를 전송한다. 컴퓨터만 있으면 언제, 어디서든 상대방을 감시할 수 있다. 최근 SBS에서 방영되는 드라마 ‘유령’에서 천재 해커로 묘사되는 하데스의 일상이다. 동시에 19살 소년, 이정훈 개발자의 일상이기도 하다. 단, 이정훈 개발자의 해킹 목적은 보안 취약점을 찾아내 상대 PC가 해킹 당하지 않게 막는 일에 집중돼 있다.

“드라마 속에서 이뤄지는 해킹이 실제로 모두 다 구현되는 건 아닙니다. 하지만 악성코드를 감염시켜 상대 PC를 좀비PC로 만든 뒤, 원격 조정하는 건 가능하지요. 모든 해커들이 상대방 PC를 악성코드에 감염시킨다는 건 오해입니다. 불법은 불법이니까요.”

이정훈 개발자는 흔히 선한 의도로 해킹하는 이들을 일컫는 ‘화이트해커’ 중 한 명이다. 고의로 인터넷 시스템을 파괴하는 ‘블랙해커’나 ‘크래커’에 대응하는 보안 전문가로 이해하면 된다. 2010년 ‘제7회 KISA 해킹방어대회’에서 2위를 한 것을 시작으로 ‘2010 정보보호페스티벌’, ‘전국정보과학 올림피아드’ 등 지금까지 9번의 해킹 관련 대회에서 수상하면서, 화이트 해커로 활동을 시작했다. 지난해에는 연세대학교 미래융합기술연구소 전임연구원으로 이기태 전 삼성전자 부회장과 호흡을 맞추기도 했다.

그런데 이정훈 개발자는 화이트해커라는 표현이 맘에 안드는 모양이다. “그냥 ‘해커’라고 칭해주셨으면 좋겠어요. 많은 사람들이 해커를 블랙해커나 크래커로 이해하기에, 긍정적인 면을 강조하기 위해 화이트해커라는 표현이 나왔다는 것은 압니다. 하지만 맨 처음 등장한 해커는 꼭 그들만을 의미한 게 아니었거든요. 해커는 그냥 해커일 뿐입니다.” 원래 의미인 ‘솜씨 좋은 프로그래머’를 표현하는 말로 해커가 사용됐으면 좋겠다는 얘기다.

‘그냥 해커’로 이정훈 개발자가 진로를 결정한 건 중학교 2학년 때다. 설날 때 할머니집을 방문해 우연히 접한 C언어 책이 계기가 됐다. 프로그래머로 활동 중인 삼촌이 할머니 집에 두고 간 책이었다. 책을 읽기 전까진 이정훈 개발자도 컴퓨터 게임을 즐기는 중학생이었다.

“할머니 집엔 컴퓨터도 없어서 할 게 없었거든요. 뭐 할까 살펴보다가 C언어 책이 눈에 뜨이길래 손에 잡았는데, 은근히 재미있더라고요. 제가 늘 하는 게임이 어떻게 만들어지는지 궁금해지기 시작했습니다. C언어로 무엇을 만들 수 있는지 기대도 생겼고요.”

드라마나 영화, 소설에서 묘사되는 해커에 대해 갖고 있던 환상과 동경은 이후 ‘나도 해커가 돼야겠다’로 바뀌었다. 컴퓨터는 이정훈 개발자에게 있어 게임기가 아닌 개발도구가 됐다. 비주얼 베이직부터 시작해 차근히 공부를 해 나갔다. 책도 읽고, 모르는 코드나 예제는 인터넷에서 정보를 찾으며 관련 지식을 쌓았다. 보통 해킹은 이미 만들어진 프로그램에 대해서 실수를 찾는 과정에서 시작한다. 그렇기에 프로그램에 대한 깊은 지식보다는 넓은 지식이 요구된다.

“해킹은 필수적으로 프로그래밍을 할 줄 알아야 합니다. 프로그래밍이 해킹에 필수는 아니지만, 해킹에 프로그래밍은 필수지요. 그 뿐일까요. 분석력과 창의력도 중요합니다. 프로그램 실수가 한눈에 들어올리는 없거든요. 어떻게 공략할까 고민하는 점에서 일반적인 프로그래밍을 배울 때와는 조금 다른 것 같습니다.”

고등학교 2학년 때, 우연찮게 저녁 뉴스를 보다가 한국인터넷진흥원에서 주최하는 해킹 대회가 있다는 사실을 알게 됐다. “그 전까지는 해킹 대회가 있는 줄도 몰랐습니다. 일단 처음이니, 제 실력도 알아보고 공부도 하자는 생각에서 참가했습니다.” 그 결과 국내서 열리는 가장 큰 해킹 방어대회 중 하나로 꼽히는 대회에서 이정훈 개발자는 2위를 했다. 청소년 부문, 일반인 부문으로 연령 구분이 있던 것도 아니었다. 수많은 개발자들 중에서 나이 상관없이 순수하게 본인 실력을 증명했다.

해킹 방어 대회는 문제를 주고 가장 빠른 시간 안에 해결하는 사람에게 상을 준다. 악성코드 같은 프로그램을 줘서 이를 분석하거나, 실제 환경과 비슷하게 구현된 웹사이트나 특정 시스템 상에서 보안 취약점을 찾는 식이다. 해킹 분야도 웹 해킹, 리버스 엔지니어링, 시스템 해킹, 네트워크 해킹 등 다양하다. 이정훈 개발자는 그 중 웹 해킹에 두각을 드러냈다.

“웹 해킹이 가장 쉽게 느껴지더라고요. 리버스 엔지니어링은 기계어를 사람이 알아볼 수 있게 나타내주는 번역도구 같은 게 필수인데, 웹 해킹은 그런 게 필요 없습니다. 별다른 도구나 계산 없이 웹브라우저로 해킹이 가능합니다.”

그렇다고 웹브라우저 해킹이 가장 쉽다고 생각하는 건 금물이다. 웹사이트는 소스코드가 보이지 않기에 거의 추측으로 해킹을 시작해야 한다. 앞서 언급한 분석력과 창의력이 필요한 이유다. “센스가 필요하다고 할까요. 의사나 한의사가 문진이나 진맥을 통해 진단을 내리잖아요. 웹 해킹도 마찬가지입니다. 공격 코드를 하나씩 던져서 반응을 살피는 거지요. 해당 사이트에서 문제가 발생하면 이런 부문에서 나지 않을까 추측한 뒤 살피는 식입니다.”

지금까지 이정훈 개발자는 2010년 제7회 KISA 해킹방어대회(2위), 2010 정보보호페스티벌(우승), 2010 ARGOS 해킹 페스티벌(1위), 2011년 19회 전국정보과학 올림피아드(1위), 2011년 ISEC CTF 해킹대회(3위), 2011년 정보보호 페스티벌(1위), 2011년 HUST 해킹 페스티벌(2위), 2011 CAT 홀리쉴드 해킹대회(1위), 2012년 청소년 화이트해커 경진대회(1위)에 참가해 실력을 뽐냈다.

연습도 빼놓지 않았다. 잠잘 때 빼놓곤 거의 컴퓨터 앞에 앉아 있을 정도다. “아무 웹사이트를 대상으로 연습할 순 없는 노릇이잖아요. 주로 가상 환경을 구축한 다음 해킹 대회 문제를 내려받아 다시 풀어보거나, 제가 직접 문제를 만든 뒤 해결하는 식으로 공부합니다.”

최근 이정훈 개발자가 관심 갖고 있는 부문은 안드로이드 운영체제 위에서 실행되는 응용프로그램(앱)  보안이다. 그의 설명에 따르면, 안드로이드 앱은 리버스 엔지니어링이 상대적으로 쉽다. 이는 일부 해커들이 구글 플레이에 올라온 금융 결제 앱을 복제해 고의로 악성코드를 심어 다시 구글 플레이에 재배포할 수 있다. 이렇게 되면 복제된 금융 결제 앱으로 개인정보를 빼낼 수 있게 된다. 피싱 웹사이트에서 앱으로 대상이 바뀌었다고 보면 된다.

“안드로이드 운영체제 자체가 오픈소스인만큼 관련 앱들도 보안에 취약합니다. 그만큼 해킹이 잘 된다는 얘기죠. 이를 원천적으로 막을 수 있는 솔루션 개발을 위해 현재 루멘소프트 보안기술연구팀에서 다른 개발자들과 함께 연구하고 있습니다.”

주변 친구들은 방학을 맞아 뛰어놀고 있는 이 때, 컴퓨터만 마주하며 프로그래밍 짜는 게 지칠법도 한데 이정훈 개발자는 오히려 더 공부할 분야가 많다고 답했다. 가상화 기반의 애플리케이션이나 솔루션이 많이 나오고 있는 만큼, 가상화 취약점을 노린 악성코드나 해킹이 등장할지도 모른다는 생각에서 이 부문을 좀 더 공부하고 싶다고 덧붙였다.

“제가 만약 프로그래밍을 하지 않았다면, 친구들처럼 평범하게 대학에 진학해 생활했겠지요. 아주 가끔 친구들의 생활을 보면 부러울 떄가 있습니다. 그렇다고 개발자가 되겠다고 한 걸 후회하지는 않습니다. 국내에 해커가 많지 않은 가운데, 이젠 무대를 국제로 넓혀 실력을 인정받고 싶습니다. 우선 영어 공부부터 시작하려고 합니다.”