Recent Posts
Recent Comments
Link
관리 메뉴

NaggingMachine

해커들은 모여라! 2007 Hacker Reverse Engineering Challenge 본문

카테고리 없음

해커들은 모여라! 2007 Hacker Reverse Engineering Challenge

naggingmachine 2007. 9. 4. 22:25

안녕하세요, 스마트플레이스의 TechnoBabbler입니다. 여름이 지나가고 어느덧 가을이 왔습니다. 비만 안온다면 주말에 산책하기에 정말 좋은 날씨일텐데 매일 비만 주룩주룩 내려서 이러다가 가을도 이렇게 가버리는건 아닌가라는 걱정이 드네요.

오늘은 해킹에 관한 글입니다. 해킹, 정확히 말하면 '해크(hack)'라는 단어가 MIT의 학생들로부터 유래되었다는 사실은 이미 널리 알려진 사실이고, 국내에서는 한국과학기술원(KAIST)포항공과대학(Postech)의 해킹 대회로 일반인에게 그 존재를 각인시켰습니다. 해킹이라고하면 좋은일(good)보다는 나쁜일(bad)에 더 많은 느낌이 치우쳐있지만 이는 사실 크래킹(cracking)이라고 하는 부수기 위한 목적의 행위와는 엄밀히 구분되어야 합니다. 하지만 제 생각에는 용어 자체가 중요하기보다는 어떤 의도로 행위를 했느냐가 더 중요하다고 봅니다.

소프트웨어가 우리 일상 생활과 밀접해짐에 따라 '보안'에 관한 관심이 매우 높아지고 있습니다. 특히 얼마전 개봉된 '죽는게 하늘의 별따기 만큼이나 어렵다'는 제목의 다이하드 4에서 사이버 테러를 주제로 삼으면서 많은 사람들이 실제로 그런 일이 발생할 수 있지 않을까라는 걱정을 하기도 했습니다. 해킹 역시 보안을 위협하는 한가지 요소인데, 최근의 한 외국업체가 보안이 강화된 제품을 개발하기 위해서 해커들을 대상으로 자신이 만든 제품을 테스트하는 대회를 개최하여 이에 대해서 잠시 소개하고자 합니다.

이 대회의 이름은 '2007 Hacker Reverse Engineering Challenge' 입니다. 2006년에는 'Linux Reverse Engineering Hacker Challenge'라는 주제로 대회를 주최했었습니다. 대회에서 전면에 내세우고 있는 Reverse Engineering은 일반적으로 '역공학'으로 알려져 있으며 소스 코드없이 대상 소프트웨어의 기능을 분석하거나 원하는 방식으로 작동하게끔 만드는 기술입니다. 현재 역공학이 가장 활발하게 이루어지고 있는 분야는 '게임'입니다. 게임제작 업체들은 해킹으로 인한 피해가 곧 매출과 직결되므로 네트워크 해킹 뿐만 아니라 소프트웨어 해킹에 대해서 굉장히 민감합니다. 이와 관련해서 안철수 연구소에서는 온라인 게임의 보안을 위해 '핵쉴드 프로'라는 제품을 판매하고 있습니다 (저는 안철수연구소와는 아무런 관계가 없습니다).

역공학은 창과 방패의 싸움으로 역공학이 창이고 보안 솔루션이 방패라면 창이 더 유리하다고 보면 됩니다. 역공학자의 입장에서 보면 어떤 기능이 실행되느냐 마느냐는 결국 어셈블리로 jmp 명령어 하나에 달려있기 때문이죠. 최고의 보안 솔루션은 역공학이 아예 불가능하게 만드는데 목표를 두기보다는 최고의 역공학자가 도전했을 때 100년의 시간이 걸려서 결국 포기할 수 밖에 없는 솔루션을 만드는데 있습니다. 그런 의미에서 이번에 진행되는 Reverse Engineering Challenge는 역공학자에게는 새로운 도전 과제를, 회사 입장에서는 자사 제품의 기능 강화를 이끌어 낼 수 있는 그야말로 'Win-Win'이라고 말할 수 있습니다.

저도 이번 대회에 등록을 하고 간단히 분석을 해보았는데, 일단 Phase 1 (1단계)만 넘겨도 기본 상금(US $200)을 받을 수 있다고 하니 상당히 구미가 땡긴다고 볼 수 있습니다. (Phase 1에 대한 답을 달라는 부탁은 하지 말아주세요. ^^) 흥미로운 과제에 도전해서 성취감도 느끼고 돈도 받을 수 있으니 말입니다. 하지만 문제를 해결하기 위해서는 최종적으로 회사에 보고서를 작성해서 제출해야 합니다. 여기서 회사의 의도를 엿볼 수 있는데, 회사에서는 해커가 보내준 정보를 이용해서 Anti-Reversing 도구를 만들거나 강화할 수 있을 것입니다. 제출해야 하는 보고서 양식과 체점 기준은 다음과 같습니다.

  • Background (5 points, 2 minimum)
  • Attack Narrative (20 points, 14 minimum)
  • Time to break (5 points, 3 minimum)
  • Tools used (5 points, 3 minimum)
  • Conclusions and suggestions for improvement (5 points, 3 minimum)
  • Format and readability (5 points, 2 points minimum)
  • 이와 같이 보안 솔루션 제작 업체가 자사의 제품의 문제점을 대회를 통해서 찾아내는 일은 Reverse VS Anti-Reverse 말고도 Virus VS Vaccine 에서도 볼 수 있습니다. 하지만 후자의 경우 이번 대회와 같은 대회를 진행하기가 껄끄러운 면이 있습니다.  왜냐하면 백신 업체가 (자사가 만든 백신을 무마시킬) 바이러스 컨테스트를 진행한다는 것은 쉽게 상상할 수가 없을 테니까요. 백신이 특정 해커에 의해서 보안에 취약점을 노출시킨다면 어느 누가 그 백신을 구입하겠습니까? 하지만 백신 업체가 더욱더 안전하기 위해서는 역으로 해커(바이러스 제작자)를 고용해야 하는 일이 필요할 수 밖에 없습니다. 이와 같은 맥락에서 Microsoft가 해커들을 자사의 보안팀으로 고용한 예는 이미 널리 알려져 있습니다.

    [관련 기사] MS에 해커들이 산다?…공식블로그 개설 ‘파격’

    해커와 보안 업체와의 싸움은 앞으로도 계속될 수 밖에 없습니다. 보안 업체가 자사 제품에 있을지 모르는 보안의 취약성을 강화하기 위해서 이와 같은 대회를 열었다는점에 큰 지지를 보내고 싶고 (대회 운영에 있어서도 굉장히 합리적이라고 생각합니다), 국내에서도 이와 비슷한 대회가 열린다면 국내에서 음지에 숨어있던 해커들이 실력을 발휘할 수 있는 기회를 가질 수 있지 않을까 싶습니다. Black Hat 과 같이 규모있는 컨퍼런스에서의 이벤트는 아니더라도 말이죠. :-)

    자, 실력있는 해커분들 이번 대회 참여해서 3단계까지 도전해보는건 어떠십니까?