2024-03-29 15:25 (금)
[인터뷰] 코드게이트 2012 문제출제팀장 김진국 연구원
상태바
[인터뷰] 코드게이트 2012 문제출제팀장 김진국 연구원
  • 길민권
  • 승인 2012.03.05 21:56
이 기사를 공유합니다

문제를 위한 문제보단 현실에서 발생할 수 있는 문제로 구성 노력
본선, 예선 문제의 200~400 난이도가 될 것…여러 분야 종합문제
올해로 다섯 번째를 맞는 코드게이트2012 국제해킹방어대회 예선전이 지난 2월 24일 오후 9시부터 26일 오전 9시까지 온라인을 통해 치러졌다. 오는 4월 2일부터 3일, 양일간 코드게이트2012 본 행사기간 동안 치러질 본선에 진출하기 위해 총 48개국 472개팀 1,700여명의 해커들이 참가했다. 장장 36시간 동안 마라톤 플레이를 펼친 끝에 최종 순위로는 러시아 LeetChicken팀이 1위를 한 것을 비롯, 매년 예선 상위권을 차지했던 한국의 KAIST GoN팀이 2위, 그리고 네덜란드 Eindbazen팀이 3위를 차지했다. 
  
지난해 이에 올해도 코드게이트2012 문제출제운영팀장을 맡은 김진국 안랩 A-FIRST팀 주임연구원과 인터뷰를 진행했다. 그의 입을 통해 코드게이트 해킹대회 문제의 특성과 문제출제 과정 그리고 문제출제시 힘들었던 점들에 대해 들어봤다. 본선에 대한 팁도 살짝 공개된다.  
 
◇코드게이트 문제 출제는 누가 담당했나요?
이 부분에 대해서 논의했는데 아이디만 공개하기로 했습니다(^^)
취약점 : binish, blueh4g, hellsonic
바이너리 : hojinpk, keichoi
네트워크 : redhidden, wo00o
포렌식 : deok9, proneer (이상 abc 순)
 
◇코드게이트 예선문제와 타 해킹대회 문제와 차이가 있다면?
각 분야별로 난이도에 따라 문제가 출제된다는 점에서 타 해킹대회와 큰 차이는 없습니다. 다만, 문제를 위한 문제보다는 실제 현실에서 발생할 수 있고, 현재 문제가 되는 문제로 구성하려고 노력했습니다. 문제를 푸는 입장에서는 키를 찾는 것이 목적이기 때문에 이러한 의도가 잘 전달되지 못한 면이 있어 아쉽습니다. 이런 아쉬움 때문에 문제 출제팀 중 일부는 대회 후 문제의 의도와 함께 풀이를 올릴 계획입니다.
 
◇문제출제에서 가장 신경을 썼던 부분은 어떤 것인가요?
대부분 해킹 대회에 참여하는 사람들은 나와는 다른 사람으로 생각합니다. 하지만 해킹 대회가 소수만 참여하는 대회가 아니라 보안을 하는 사람들이 함께 즐길 수 있는 대회를 만들고 싶었습니다. 그래서 난이도가 낮은 100, 200번 문제는 참여한 사람들이 어느 정도 시간을 투자하면 풀 수 있는 문제로 구성하려고 노력했습니다.
 
하지만 해킹 대회 특성 상 처음 참가해보는 사람들이 풀기에는 대회 방식에 대한 이해나 설명이 부족하여 생각대로 되지는 못한 것 같습니다. 그리고 일명 추측성 분석(게싱)을 최대한 없애기 위해 문제 설명을 통해 풀이의 방향을 제시해주고자 하였습니다. 단순히 "Find a key"라고 주는 대회 문제들이 많은데, 이렇게 되면 출제자 의도와 다르게 어쩔 수 없이 추측성 분석이 될 수 밖에 없습니다.
 
일부에서는 이 추측성 분석도 실력이라고 하지만 해킹 대회 기간 동안 투자한 시간에 비해 얻는 것이 적을 수 밖에 없습니다. 출제자간에도 너무 많은 힌트를 주는 것이 아니냐는 이견이 있었지만, 일부러 풀지 못하게 할 필요는 없다는 생각입니다. 대회 기간 동안 밤잠을 설치며 노력한 만큼 불필요한 시간을 줄이고 필요한 부분에 시간을 쏟아 문제가 빨리 풀리면 그것도 의미가 있다고 생각했습니다. 문제를 못 풀어야만 대회의 권위가 서는 것이 아니라 쉽게 풀려도 좋은(의미있는) 문제가 많아야만 인정을 받을 수 있다고 생각합니다.
 
◇가장 흥미로웠던 문제라고 생각되는 문제가 있다면?
흥미롭다기 보다는 예상했던 것보다 많은 팀들이 어려워했던 문제입니다. 출제 입장에서는 큰 어려움 없이 풀어낼 것이라고 생각했는데 의외로 많은 팀들이 바이너리200점과 네트워크200점 문제에 많은 시간을 소비했습니다.
 
그리고 취약점의 경우, 준비한 시스템에 배드 섹터가 발견되거나 원인을 알 수 없는 문제로 진행에 많은 어려움을 겪었습니다. 이 때문에 급하게 주위 데스크탑을 이용해 문제를 다시 설정해 진행했지만 끝까지 몇몇 문제는 원활히 진행되지 못한 아쉬움이 있습니다.
 
마지막으로 오픈된 문제는 끝까지 함께 해준 모든 참가자들을 위해 보너스 형식으로 진행했습니다. 모든 사람이 문제를 풀 수 있도록 급하게 논의해 출제하였습니다. 그리고 모든 문제를 푼 팀에게는 영광의 표시로 별(★)을 부여했고, LeetChicken, KAST GoN, Eindbazen 팀이 모든 문제를 풀어내는 성과를 거뒀습니다.
 
◇문제 출제할 때 어려움은 없나요? 있다면 어떤 것들이었나요?
데프콘과 같이 검증되고 정해진 규정이 없는 상황에서 매년 새로운 규정을 시도해보게 됩니다. 윷놀이라는 보드게임을 해킹 대회에 적용한 것도 그러한 시도입니다.
 
이렇게 매년 새롭게 시도되는 규정으로 인해 문제출제팀 사이에서도 많은 이견이 발생됩니다. 아직 시도해보지 않은 규정이기 때문에 규정 하나하나에 대한 의견을 모으는 과정에서 사소한 충돌도 많이 발생했습니다.
 
매년 대회를 마치고 나면 좋은 후기와 함께 아쉬움의 의견을 많이 받습니다. 아마도 아쉬움이 적어질 때까지 이런 시도는 계속되지 않을까 합니다. 그리고 대회를 진행하다 보면 자신이 알지 못하는 문제가 출제되면 문제를 잘못 만들었다고 비판부터 하는 친구들도 많습니다. 문제 출제에 실수가 있을 수 있겠지만 대회 중 참가자가 문제를 풀기 위해 투자하는 시간보다 출제팀이 각 문제에 대해 고민하고 검증하는 시간이 훨씬 더 많다는 사실을 알아줬으면 합니다.
 
◇국내팀이 한 팀만 본선에 올라갔는데 거기에 이유가 있을까요?
이번에는 기존 대회와 다르게 단계별 문제 풀이 방식을 적용했습니다. 이 방식을 적용한 이유는 답 공유를 최소한이라도 막기 위함입니다. 단계별 문제 풀이 방식은 낮은 난이도의 문제를 해결해야만, 다음 문제를 풀 수 있는 권한이 주어집니다. 이 때문에 중간에 다소 난해하고 어려운 문제가 있을 경우, 해당 문제에 걸려 다음 문제를 풀 수 없는 경우가 많았습니다.
 
국내의 팀들 중 일부 문제에 걸려 너무 많은 시간을 소비한 팀들이 많았는데 이것이 원인이 아닐까 생각합니다. 단계별 문제 풀이 방식의 경우, 대회가 끝나도 실력에 따라 일부 문제만 확인 가능합니다. 문제 출제팀에서도 힘들여 출제한 문제를 많은 팀들이 접하지 못하는 것이 아니냐는 우려가 있었습니다. 이 문제를 해결하기 위해 대회 종료 24시간 후, 다시 모든 문제를 48시간 동안 공개하는 시간을 가졌습니다.
 
◇해외 해커와 국내 해커들의 실력을 객관적으로 비교하자면 어떤가요?
널리 알려진 해커 그룹 외에 최근에는 해킹 대회가 많아짐에 따라 해킹 대회 참여를 목적으로 모여서 준비하고 연구하는 팀들이 많아졌습니다.
 
개개인 뿐만아니라 전체적인 관점에서도 국내 해커들의 실력이 뒤떨어진다고 생각하지 않습니다. 다만, 그동안 문제 출제를 통해 느낀 점은 이미 알려진 문제에 대해서는 국내 해커들의 실력이 뛰어난 반면, 새로운 문제에 대해서는 외국에 비해 해결 능력이 조금 부족해 보입니다.
 
이것의 원인은 기본기에 있다고 봅니다. 대학교 때 배우는 컴퓨터 관련 과목과 보안을 위한 기초 지식들이 중요한데 이 부분을 등한시 하는 경우가 많습니다. 그리고 이런 지식과 함께 더 필요한 것이 최근 유행하는 인문학이라고 생각합니다. 해킹 대회를 떠나서 특정 문제를 바라보는 시각과 해결 방법을 도출하는 능력은 지식으로만은 부족하기 때문입니다.
 
앞으로 국내의 많은 해커들도 사고를 넓혀 해킹 대회 뿐만 아니라 많은 해외 보안 커뮤니티 혹은 컨퍼런스에서 두드러진 활약을 해주길 기대합니다.
 
◇국내 해커들이 이런 부분 좀더 공부했으면 좋겠다는 부분은 어떤 분야인가요?
과거에는 많은 능력을 가진 사람이 사회적으로 인정받았다면 최근에는 특정 분야의 전문성을 갖춘 인재를 선호하고 있습니다. 물론 모든 분야에서 뛰어난 능력을 갖는다면 좋겠지만, 누구에게나 똑같이 주어진 시간 속에서 그렇게 되기는 쉽지 않습니다.
 
과거에는 정보를 갖고 있는 것이 무기였다면, 현재는 수많은 정보 중 필요한 것을 적절히 취할 수 있는 것이 무기입니다. 이런 상황에서 너무 많은 욕심을 가진다면 자칫 아무것도 아닌 상태에 도달하게 될 것입니다. 따라서 특정 분야보다는 자신이 하고 싶은 분야를 선택하고 그 분야 집중했으면 합니다.
 
◇국내 다른 해킹대회 끝나면 해커들 사이에서 말도 많고 불만들도 많더군요. 왜 그렇다고 생각하세요?
우선 해킹대회가 많아 진 것도 큰 원인이라고 생각합니다. 대회마다 추구하는 목적이 있기 때문에 목적이 겹치게 되면 시기 아닌 시기를 할 수 밖에 없기 때문입니다.
 
하지만, 현재 국내에 많은 해킹대회는 각 대회마다 자신만의 특성을 갖추어 가고 있기 때문에 이 문제는 시간이 지나면 해소될 것이라고 생각합니다. 다른 원인은 대화의 부족이라고 생각합니다. 문제출제팀이나 참가자들이 운영주최측의 의도를 잘못 받아들이는 경우도 종종 있고, 출제팀과 참가자들 사이의 오해가 생기는 부분도 많습니다.
 
이 부분도 서로 목적이 다르기 때문에 많은 대화를 통해 풀어나가야 한다고 생각합니다. 마지막으로 근본적인 원인은 기존 한국 사회가 갖고 있는 해커들에 대한 인식입니다. 최근에 와서는 다소 좋아졌지만 불과 몇 년 전만 하더라도 해커들을 안좋게 인식하는 경우가 많았습니다.
 
이런 인식의 차이로 인해 해커들과 대부분의 운영 주최측인 기관/기업과의 의견 차이가 있을 수 밖에 없었습니다. 모든 문제는 대화로 해결될 수 있다고 생각합니다. 어떤 목적을 가지지 않고 허심탄회하게 이야기 할 수 있는 자리가 많아진다면 이런 문제도 차츰 해소될 수 있을 것이라고 생각합니다. 
 
◇4월에 치러질 코드게이트 본선 문제는 어떤 유형으로 출제될 예정이고 문제의 특징이 있다면?
코드게이트 본선 규정은 윷놀이의 기본 규칙에 배팅의 요소를 추가해서 진행됩니다. 문제는 예선 문제의 200~400 난이도가 될 것으로 보이며, 특정 분야의 문제가 아닌 여러 분야가 종합된 문제가 될 것입니다.
 
온라인 방식의 예선으로 파일 크기에 제약이 있었습니다. 본선에서는 이런 제약이 없기 때문에 좀 더 실제 환경에서 발생할 수 있는 문제에 기반할 것입니다. 게다가 많은 흥미있는 요소도 계획하고 있습니다. 
 
◇코드게이트 문제출제를 2년간 맡아오셨는데 소감 한 말씀.
처음 문제출제팀장을 맡아 달라는 의견을 받고, 내가 과연 이 일에 적합한가에 대해 많은 고민이 있었습니다. 기존에 해킹 그룹에서 활동한 경험도 없고, 취약점이나 바이너리와 같은 해킹 그룹의 주된 관심사를 연구하고 있지도 않아서 입니다.
 
그렇지만 해킹 대회에 대해 평소에 많은 고민을 하고 있었고 보안을 공부하는 후배들에게 조금이나마 도움이 되고 싶어 수락하게 되었습니다. 2년 동안 출제팀원들과 수많은 회의를 하면서 대회 규정도 변경해보고 새로운 시도도 해봤지만 뜻하지 않는 벽도 많았습니다.
 
그리고 출제팀원들과 조직위원회 간의 의견을 조율하면서 이견 때문에 힘든 적도 있었습니다. 하지만 출제팀원들이나 조직위원회 모두 국내 보안 산업의 발전과 인력 양성이라는 순수한 목적을 가지고 있었기 때문에 어렵지 않게 문제를 해결할 수 있었습니다.
 
일부 코드게이트의 상업성에 대해 지적하시는 분들이 많은데, 2년 동안 깊숙이 들어와 느낀 점은 그런 상업성을 크게 느끼지 못했다는 점입니다. 다만, 어쩔 수 없는 국내 현실(보안산업의 작은 규모, 정부 예산에 대한 산출물, 기업 후원 자금의 고려 등)로 인해 발생되는 문제였습니다. 올해 비영리 공익단체로 코드게이트 조직위원회가 출범한 만큼, 좀 더 해커들을 위한 프로그램이 많이 만들어질 것으로 기대합니다.
[데일리시큐=길민권 기자]
■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★