IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
한국 developerWorks   >  dW Interview  > developerworks

“선의의 해커는 항체와 같은 존재”



세상 한편에서는 규칙을 깨는 일탈을 즐기는 사람도 있지만 또 다른 한편에는 사람들이 편리하고 안전하게 컴퓨팅을 할 수 있는 방법을 연구하는 사람도 있습니다. 이번 인터뷰의 주인공은 미국 eEye Digital Security에서 보안 솔루션 개발자로 일하는 오정욱 님입니다.

오정욱 | eEye Digital Security 개발자



 
  오정욱 현재 하시는 일에 대해 간단히 소개 부탁 드립니다.
회사의 주력 엔드 포인트 보안 제품인 "Blink"의 HIPS 엔진과 네트워크 관련 엔진을 맡고 있습니다. 윈도 커널부터 PC에서 자주 사용하는 각종 네트워크 프로토콜을 두루 이해해야 하는 위치입니다. 또한 마이크로소프트 윈도의 알려진 취약점뿐만 아니라 앞으로 문제가 될 소지가 있는 부분도 미리 방어해야 하므로 마이크로소프트에서 매달 내어 놓는 패치에 대한 심도 있는 이해가 필수입니다.

보안의 여러 분야(모의 침투, 개발 등)를 경험하시면서 열정이 최고조로 올랐던 분야와 시기는 언제였나요. 그리고 그 이유는 무엇인가요.
물론 대학을 갓 졸업하고 아무것도 모르면서 무작정 달려들어 방화벽을 개발할 때였습니다. 아무래도 에너지가 넘치는 시절이었으니까요. 그때에는 혼자서 밤을 새며 연구도 많이 하고 개발도 코드의 양으로 승부하던 시절이었죠. 사실 그 이후에 나이가 들면서 조금 더 냉정하고 심사숙고하는 성격으로 바뀌면서 개발이나 업무 스타일도 변하더군요. 지금은 주어진 과제에 대해 무작정 달려들기보다는 차분히 시간을 두고 디자인을 하고 이를 정해진 프로세스에 따라 실현하는 과정을 거치고 있습니다. 미국 IT 회사 분위기가 열정으로 무엇을 밀어붙이기보다는 프로세스와 커뮤니케이션에 대해 더 강조를 하는 편입니다. 그러다 보니 행동 방식이나 사고방식도 그에 맞춰 변하는 것이죠. 지금은 적응이 많이 되어 코딩하기 전에 디자인을 꼼꼼히 해서 시행착오를 최소화하는 방법을 취하고 있습니다.

미국에서 개발자 생활이 이제는 안정되신 것 같은데 그 동안 가장 큰 변화는 무엇이었나요.
미국에 처음 발을 내딛으면서 지금까지 사실 크게 변한 것은 없습니다. 다만 미국에 와서 5년 동안 아이 둘이 더 생겨 아이가 셋이 되었고, 세 살이었던 첫째가 이제는 초등학교 2학년이라는 것이 가장 큰 변화이겠죠. 회사에서는 스크럼 마스터가 있어서 그 분을 통해 애자일 프로세스를 톡톡히 훈련 받은 것이 가장 큰 변화라면 변화라고 할 수 있겠습니다. 개인적으로는 안정적이지 못했던 이주 초기에 비해 이제는 저녁 시간 등을 여유롭게 사용할 수 있어서 개인 프로젝트를 진행할 수 있게 되었습니다. 저녁마다 아이들과 놀아 주고 청소하고 TV를 보고 나서 최소한 두세 시간은 저만의 시간을 가질 수 있는 것이 항상 보장되죠. 그 동안에 미국 드라마를 보면서 영어 공부도 하고 저만의 프로젝트를 꺼내 코딩도 하고 웹 서핑과 커뮤니티 활동도 하고 그렇습니다.

보안 관련 솔루션 개발에서 한국과 미국의 차이점이 있다면 무엇인가요.
보안 솔루션 개발만의 문제는 꼭 아니라고 봅니다만, 한국과 미국은 개발을 관리하는 패러다임 자체가 다르다는 것을 느낍니다. 한국에서는 먼저 정해진 시간에 이뤄야 할 실현 가능할지 않을지 모르는 아주 큰 목표를 정해 놓고, 그것을 이룩하기 위해 모든 자원과 인력을 총동원해 이루어 나가는 형태이고, 미국에서는 현재 동원 가능한 자원과 인력으로 정해진 시간에 이룰 수 있는 일들의 목록과 기대치를 정해 놓고 그것을 확실하게 실현하는 방식입니다. 그러다 보니 한국에서는 목표 지향인 장점이 있지만, 결국 그 과정에서 개발자들이 혹사당할 위험성이 높아지는 것 같습니다. 그리고 고객의 태도 문제에 있어서는 저희 제품이 미국 내의 크고 작은 기업이나 정부 기관에 많이 팔리는데, 고객들의 환경에 맞게 커스터마이징된 기능을 요구한 기관이나 기업은 아직까지 몇 군데 없었던 것 같습니다. 그에 비해 한국에서는 상대적으로 커스터마이징을 요구하는 사례가 많았던 것 같습니다. 그러다 보면 프로그램이 원래 의도했던 것과는 다른 모습이 되어 버리는 경우가 있더군요.

보안 솔루션의 사용성 면에서 개인적으로 문제라고 느끼셨던 부분과 개선해 보고 싶은 부분은 무엇인가요.
UI 부분보다는 주로 엔진 부분을 개발하는 입장이라 무엇이라 답하기 어렵지만 사용자와 상호 작용하는 부분의 설계는 그렇게 만만한 일은 아니라는 것 정도를 느끼고 있습니다. 그리고 엔지니어가 보는 보안 프로그램과 일반인들이 보는 프로그램에 대한 관점은 너무나도 다르기 때문에 개발자로서 용어 선택이나 기능 설명에서 주의를 기울여야 할 필요성은 많이 느낍니다. 사용자들의 피드백을 받아 보면 가끔 용어의 혼란을 느끼거나 소프트웨어에 표시된 전문적인 용어 때문에 기능에 대한 오해를 하는 경우가 많더군요.

요즘 가장 관심 있게 보는 보안 관련 기술은 무엇인가요.
제 경우에는 마이크로소프트 등에서 매달 패치를 내어 놓을 때에 해당 바이너리를 분석해 어떠한 패치가 가해졌는지를 찾아내는 기술에 관심이 많습니다. 이미 2006년경에 다른그림(DarunGrim, http://www.darungrim.org/)이라는 오픈 소스 소프트웨어를 공개한 적도 있지요. 요즘도 틈틈이 해당 도구를 업데이트합니다. 그 외에도 휴리스틱한 방법을 쓰지 않고 정형적인 방법으로 악성 코드를 잡아낼 수 있는 기술들에 관심이 많습니다. 기존 AV나 IDS 또는 IPS 기술도 결국은 시그너처 기반으로 항상 오탐(false positives)을 일으킬 가능성이 있습니다. 휴리스틱한 방법이나 샌드박싱으로 악성 코드를 걸러 내는 방법도 존재하지만 항상 오탐과 성능 문제를 일으킬 가능성을 가지고 있습니다. 하지만 오탐을 줄이려고 하다 보면 악성 코드도 잡지 못하는 경우가 생기는 것이죠. 이러한 오탐 가능성을 제거하면서도 성능에 영향을 최소화할 수 있는 기술들에 관심이 많습니다. 일례로 이미 지난해 액티브엑스의 취약점을 효율적으로 방어할 수 있는 기술을 제가 개발하고 특허까지 내 현재 저희 회사 제품에 탑재되어 성공적으로 사용 중입니다. 각 공격 유형별로 그 공격에 맞는 기술들을 앞으로 더 연구해 볼 생각입니다.

향후 예상되는 보안 위협은 어떤 것들이 있을까요.
무엇보다도 웹에 대한 직접적인 공격과 함께 무력화된 웹을 통해 PC 사용자들을 다시 공격하는 현재의 공격 패턴이 더 심화될 것으로 보입니다. 또 한 가지 우려되는 상황은 컴퓨터 보안에도 부익부 빈익빈 현상이 존재한다는 것입니다. 지금 존재하는 괜찮은 보안 솔루션의 좋은 조합만을 사용해도 수많은 공격 시도를 99% 이상 충분히 효율적으로 막아낼 수 있습니다. 하지만 대부분 괜찮고 사용하기 쉬운 솔루션들은 고가의 비용을 지불해야 하기 때문에 그 비용을 지불할 수 없는 기업이나 개인들은 보안의 사각 지대에 놓일 확률이 높아집니다. 또 정품 윈도를 사용하지 않을 경우 보안 업데이트를 받기가 까다로운 등의 문제 등도 존재하는 것으로 보입니다. 일례로 컨피커(Conficker) 웜이 사용한 MS08-067 보안 취약점은 이미 패치가 나온 지 수개월이 지난 상태였습니다. 하지만 해당 패치를 적용하지 못한 사용자가 많았고, 결국 최악의 사태를 불러온 것입니다. 많은 사용자들이 여러 가지 이유로 패치를 적용하지 않았다고 해도 저희 회사 제품을 비롯해 웬만한 엔드 포인트 보안 제품을 사용했더라면 일어날 수 없는 일이었겠죠.

컴퓨팅 기술이 고도화하고 그에 대한 의존도가 높아질수록 보안 개발자들에게도 새로운 기회가 생길 것 같습니다. 어떤 것들이 있을까요.
다음 보안 시장은 아마도 스마트폰이 되지 않을까요? 결국 모든 보안 시장은 기존 IT 시장의 일부분을 차지하는 방식으로 발전해 나가므로 IT가 어떠한 방향으로 나아가느냐와 연관이 있을 것 같습니다. 일례로 저 같은 경우 2000년 이전까지는 윈도 보안에 전혀 관심을 기울이지 않았습니다. 대부분 리눅스와 유닉스 그리고 네트워크 쪽의 취약점과 보안 문제 해결에 많은 시간을 보냈죠. 그런데 2000년대 이후 윈도 XP의 폭발적인 성공과 더불어 윈도가 데스크톱 시장을 안정적으로 확보해 나감에 따라 해커들의 표적이 윈도로 서서히 옮겨 갑니다. 그에 따라 보안 전문가들도 변할 수밖에 없었습니다. 지금도 비슷한 기로에 서 있지 않나 싶습니다. 만약 맥의 점유율이 올라간다면 그쪽을 더 신경 써야 할 것이고, 스마트폰 쪽이 성장한다면 마찬가지로 해당 기술의 보안 이슈에 미리 관심을 기울일 필요가 있을 것 같습니다.

사용자(심지어 개발자)들의 보안 의식이 낮다는 점은 항상 문제가 됐던 것 같습니다. 보안 교육 자체가 쓸모없는 것일까요, 아니면 실행 방식에 문제가 있는 것일까요.
보안 교육이 쓸모없다기보다도 최종 사용자들은 보안에 관심이 없습니다. 컴퓨터를 사용하는 목적이 엔터테인먼트나 업무 용도가 많은데 대부분 해당 작업 처리에 관심이 있지 그 기반이 되는 컴퓨터 시스템을 관리하는 작업을 즐기는 사람은 그렇게 많지 않습니다. 그러다 보니 보안에 대한 교육에 딱히 사람들이 관심을 가지지 않는 것 같습니다. 물론 보안 교육을 받으면 그만큼 위험은 줄어들겠죠. 사람들이 그 교육의 필요성을 스스로 인지하고 있느냐의 문제인 것 같습니다.

어느 사회든지 해킹에 대한 욕구나 열정을 긍정적으로 끌어내는 제도나 통로가 부족하다는 생각이 듭니다. 그런 면에서 보안 개발자로서 사회에 바라는 점이 있다면...
해킹을 통해 범죄를 저질렀다면 해당 행위는 마땅히 비난과 처벌을 받아야 하는 것이 맞지만, 같은 기술을 사용한다고 해서 무조건 부정적으로 바라볼 필요는 없을 것 같습니다. 이 부분은 사회가 어떻게 할 수 있다기보다는 보안 전문가나 해커라는 정체성을 지닌 사람들이 스스로의 이미지를 쌓아 나가야 하는 부분으로 보입니다. 결국 수요와 공급의 법칙에 따라 해킹에 필요한 실력들을 생산적인 용도로 사용하게 할 수 있는 시스템이 발전하고 있는 점은 긍정적으로 보입니다. 악의적인 해커를 이길 수 있는 사람은 선의를 가진 해커밖에 없다고 생각합니다. 어둠의 세력들이 악성 코드를 생산하고 공격을 수행할 때에 반대로 제대로 된 해커들도 기업과 정부 기관에 고용되어 해당 악성 코드와 공격을 퇴치해야겠지요. 그 과정에서 "해커"라는 딱지를 붙여 놓고 일반인과는 다른 외계인 같은 존재라고 바라볼 필요는 없을 것 같습니다. 나쁜 해커들이 항원이라면 좋은 해커들은 항체라고 비유할 수 있겠네요. 항체가 우리 몸에 없다면 우리 몸은 얼마 못 견디고 병에 걸려 쓰러져 버리겠죠. 마찬가지로 해커들의 공격 방법과 패턴을 잘 아는 보안 전문가들은 이 사회와 기업과 정부에 꼭 필요한 중요한 존재들입니다.

가장 인상 깊었던 소스 코드는 무엇인가요.
저야 소스 코드보다는 어셈블리 코드를 더 많이 보는 직업이라서요. 마이크로소프트 윈도의 다른 부분보다도 커널의 디스어셈블된 리스트를 보면 정말 잘 짰다는 것이 느껴집니다. 물론 모든 것을 다 이해하는 것은 아니지만 커널의 각종 데이터 구조체라든지 그러한 부분에 접근하는 여러 API와 내부의 유틸리티 함수들을 참 짜임새 있게 구현하고 사용하고 있다는 것이 느껴지더군요. 그 외에는 COM이나 RPC 관련된 부분들을 디스어셈블해 보면서 거의 10년 전에 이런 코드를 짤 수가 있었구나 하는 경외감이 느껴지더군요.

근무 환경이 좋고 대우가 좋아도 어느 순간 까닭 없이 일에 대해 타성에 빠질 때가 있습니다. 어떻게 벗어나시나요.
그럴 경우에는 일을 처리하는 방식을 바꿔 보려고 노력합니다. 예를 들어 그냥 소스 코드에 디버깅 메시지를 덧붙여 문제점을 찾아내도 되는데 일부러 그 방법을 피하고 직접 디버거를 어태치해 일일이 프로세스의 수행 과정을 쫓아가면서 버그를 잡으려고 한다든지 하는 일들을 벌이고는 합니다. 그냥 디버깅 메시지를 프린트하면 30분이면 끝날 일도 디버거로 추적해 나가면서 하면 몇 시간이 걸릴 수도 있습니다. 그 과정을 일일이 문서로 적어 놓기도 하구요. 대신 그 과정을 다 완수하고 나면 부가적으로 얻는 노하우나 정보도 많아지더군요. 물론 항상 일을 일부러 어렵게 진행하는 것은 아니고, 가끔씩 반복되는 업무에서 뭔가 기분 전환용으로 저런 일을 하고는 합니다. 그 외에 가족들과 함께 멀리 자동차 여행을 갔다 온다든지 하면 조금 더 활기를 되찾을 수 있더군요. 캘리포니아라서 주위에 사막이 많은데 몇 시간씩 운전하면서 끝없이 펼쳐진 사막을 보고 나면 정말 말 그대로 "refresh"할 수 있습니다.

보안 이외에 도전해 보고 싶은 개발 분야가 있다면 무엇인가요.
원래 보안 쪽에 빠져 들기 전에는 컴퓨터를 배운 이유가 자연 언어 처리를 위해서였습니다. 컴퓨터로 자연 언어 처리를 자동화하고 지식을 체계적으로 정리하는 방법 등을 연구하고 싶었던 것이 원래 컴퓨터를 접한 계기였습니다. 물론 원래 의도와는 다르게 지금은 보안 쪽을 공부하고 있지만 언젠가는 제가 원래 하려고 했던 작업에 도전할 때가 올 것 같습니다.

미국에 갓 들어가셨을 때는 직장에 적응하면서 가족을 돌보는 게 쉽지 않았을 것 같습니다. 요즘은 어떠신가요? 가족에게 한 말씀하신다면...
예, 그때는 몰랐는데, 지금 생각해 보면 저도 그렇고 저희 가족들도 아주 힘든 시기였습니다. 새로운 사회 체계와 문화와 언어에 적응하는 것은 우리 가족 모두에게 큰 도전이었습니다. 그 과정을 순조롭게 마친 우리 가족들에게 고맙다고 말하고 싶습니다. 세 살 때에 미국에 온 아이가 이제 초등학교 2학년입니다. 둘째는 여기에 와서 한 달 후에 출산을 했으니 둘째 아이의 나이만큼 우리 가족은 미국 생활을 하고 있는 셈이죠. 그냥 어떻게 보면 제 일과 경력 때문에 왔지만, 결국 남는 것은 가족밖에 없는 것 같습니다.

앞으로 계획은 무엇인가요.
일단 미국의 다른 보안 회사들에서 더 경험도 쌓고 사람들도 더 사귈 작정입니다. 원래 미국에 올 때에 3년 정도만 경험을 쌓고 한국에 돌아가면 좋겠다는 생각이 바뀌어서 앞으로 이 곳에서 더 많은 것을 이뤄보겠다는 생각을 하고 있습니다. 앞으로 몇 년 정도는 보안 회사 종사자로 경험과 노하우를 쌓다가 그 이후에 미국에서든지 한국에서든지 작은 보안 회사를 만들 생각을 가지고 있습니다.

[오정욱 소개] 1990년대 중반 국내 최초 상용 방화벽을 만들었고, 이후에 잠시 다른 IT 업계에서 외도를 하다 시큐어 소프트와 시큐아이라는 국내 보안 업체에서 약 3년간 모의 침투 위주 컨설팅을 했다. 2004년 미국 캘리포니아에 위치한 eEye Digital Security라는 신생 보안 업체에 들어가 Blink라는 엔드 포인트 제품을 개발하고 있다. "eEye Digital Security"는 마이크프로소프트 윈도의 보안 취약점을 수차례 발표한 것으로 유명하고, 코드 레드 웜도 바로 여기에서 최초로 발견하였고, 그 웜의 이름도 이 회사 연구원이 직접 지었다고 한다.



이 문서 북마킹 하기

mar.gar.in mar.gar.in naver naver eolin eolin del.icio.us del.icio.us

[지난 인터뷰 보기]



위로


뉴스레터
 
  
자바스크립트가 작동이 중지되었습니다. 이 기능을 수행하시려면 브라우저에서 자바스크립스트를 작동시켜 주시거나 이곳을 클릭해주세요.
사이트 여행

dW 커뮤니티
포럼 | 블로그 | Spaces
dW Student Community

로컬 컨텐츠

행사 및 세미나

기획 기사

개발자 입문

튜토리얼 및 교육

TOP 10 인기자료

SW 다운로드

RSS 피드


Special offers
Screencast
IBM SOA Sandbox 시험판
dW Student Community
로보코드
코드 트레이닝


    IBM 소개 개인정보 보호정책 문의