당신이 궁금해 하는 시큐어코딩의 모든 것

2014-11-03 13:44
  • 카카오톡
  • 네이버 블로그
  • url

[인터뷰] 엔시큐어 손장군 이사 “취약점에 대한 기준 정립 필요”

[보안뉴스 민세아] 사이버 공격기술은 끊임없이 진화하고 있다. 해커들은 다양한 소프트웨어와 시스템 취약점을 기어이 찾아내 공격한다. 이로 인해 최근 정부는 ‘시큐어코딩 의무화’를 외치기 시작했다. 소프트웨어 개발의 시작부터 종료까지 모든 과정에 보안 개념을 적용하기 시작한 것이다.  


가만히 있던 개발자들을 더욱 바쁘게 만들고 있는 시큐어코딩. 그들에게는 마냥 귀찮고 왜 해야 하는지 모르는 헛짓거리(?)로만 보일 수도 있다. 하지만 시큐어코딩으로 나중에 일어날 보안사고를 상당수 막을 수 있다는 점을 고려하면 이는 꼭 적용해야 할 중요한 과정이다.
그런데 우리는 시큐어코딩에 대해 얼마나 알고 있을까? 앞으로 더욱 더 중요해질 시큐어코딩에 대해 자세히 알아보기 위해 시큐어코딩 솔루션 전문업체 엔시큐어의 손장군 이사를 만나봤다.

손 이사는 본래 대학에서 전자계산학을 전공했고, 개발자로 계속해서 나아가는 게 꿈이었다. 그러나 보안회사에서 보안제품 개발, 소프트웨어·애플리케이션 소스분석업무 및 보안 컨설팅 등을 수행하면서 보안 분야로 자연스럽게 넘어왔다. 이렇듯 개발자에서 보안전문가로 이동하면서 시큐어코딩의 중요성을 누구보다 잘 알게 된 국내 대표적인 시큐어코딩 전문가중 한 사람이다.

개발자 대상으로 시큐어코딩 교육을 많이 하는 것으로 알고 있는데, 가장 힘든 점이 있다면?
요즘은 시큐어코딩의 중요성이 많이 알려져서 좀 나아졌지만 예전에는 ‘개발만 하면 되지 왜 시큐어코딩까지 해야하느냐’는 항의가 많았다. 시큐어코딩을 왜 해야 하고 어떤 부분이 문제되는지 회사 보안팀과의 공감을 이뤄내는 부분이 힘들었고 시간이 많이 걸렸다.

개발자였던 입장으로서 그들에게 필요한 것이 무엇이라고 생각하나?
시큐어코딩을 개발자들에게 지시할 때 시큐어코딩에 대한 표준 코드들을 회사에서 만들어 개발자들에게 제공하는 게 우선되어야 한다고 생각한다.

대부분의 경우 개발자 스스로 가이드에 의존해서 시큐어코딩을 해보는데 제대로 못하는 경우가 많다. 회사에서 실제로 프로젝트를 들어가기 전에 미리 표준 코드를 준비해서 개발자에게 제공해야 한다.

또한, 대부분의 회사들이 기준 없이 시큐어코딩을 적용하고 있는데, 가장 강조하고 싶은 것은 시큐어코딩을 적용하는 데 기준이 있어야 한다는 것이다. 기준이라는 것은 취약점의 중요도를 산정해 어디까지 필수조치가 취해져야 할 것인지를 정하는 것을 말한다.

의사결정자는 무조건 취약점이 나오면 안 된다는 생각을 갖고 있다. 하지만 어떤 시스템이든 취약점이 안 나올 수는 없다. 다시 말하자면 취약점의 중요도를 산정해 어디까지 필수로 조치할 것인지, 중요도가 낮은 취약점에 대해서는 개발부서 자체적으로 판단해 조치할 것인지 등 기준을 먼저 만드는 것이 중요하다고 생각한다.

기준이 없으면 어떤 경우가 생기나?
취약점 분석을 하게 되면 크게 중요하지 않아서 손대지 않는 취약점들이 있다. 하지만 보안팀에서는 ‘이렇게 취약점이 나왔으니까 개발팀에서 책임지고 조치하세요’라는 입장이고, 개발팀에서는 ‘이걸 도대체 왜 고쳐야 하지?’라고 생각해 불필요한 입장 충돌이 발생한다.

보안 취약점이니까 보안팀에서 적극 개입해야 하는 것이 맞지만 소프트웨어 보안은 개발자가 만든 일종의 ‘버그’라고 할 수 있다. 취약점을 없애기 위해서는 결국 개발자가 수정해야 한다.

보안팀은 보안에 관한 취약점은 잘 알지만 코드를 손대거나 만들어낼 수 있는 부서가 아니다. 이와 반대로 의도치 않게 취약점을 만들어 내고 고치는 것은 개발팀이지만 보안에 대해서는 잘 모른다. 그게 가장 큰 차이다. 그렇기 때문에 보안팀에서 기준을 잘 줘야 개발팀에서 담당할 수 있다.

엔시큐어에서 취약점에 관한 가이드를 제공할 때는 회사에서 필수로 조치해야 할 취약점, 개발팀에서 판단해 조치할 취약점, 무시해도 되는 레벨의 취약점 3개로 나누어 제공한다.

가이드라인만 지키면 안전한 것인가?
가이드라인은 가장 중요한 것을 순서대로 체크하는 탑 리스트(Top List) 방식으로 진행된다. 이는 결국 안행부에서 고시한 47개 필수 취약점 기준이 취약점의 전부는 아니라는 얘기다. 국제웹보안표준기구에서 발표한 10대 웹 어플리케이션 취약점인OWASP Top 10도 그렇다. 가장 위험하다고 판단한 10가지 취약점이기 때문에 Top 10의 범위를 벗어나는 취약점도 얼마든지 존재한다.

흔히들 오해하는 것은 기존의 취약점 기준만 지키면 100% 안전할 것이라 생각한다는 것이다. 그러나 절대로 그렇지 않다.

안행부에서 고시한 SW개발보안 47개 취약점을 모두 지원하는 솔루션이 있나.
47개를 모두 다 지원한다는 것은 사실상 불가능하다. 47개 기준은 애플리케이션이 준수해야 할 대표적 기준인 것이지 시큐어코딩 툴, 소스코드 분석하는 툴이 단독으로 모두 탐지할 수 있는 것은 아니다.

예를 들어, 중요한 데이터가 있고 이를 암호화해야 한다는 기준이 있다고 치자. 그런데 툴은 이 프로그램에서 중요한 데이터가 뭔지 판단할 수 없다. 사람이 직접 눈으로 보거나 개발자와 인터뷰하는 수밖에 없다.

시장에서 오해하는게 안행부에서 나온 시큐어코딩 47개 기준이 나왔으니 시큐어코딩 기술이나 솔루션은 취약점 47개를 모두 다 탐지할 수 있어야 한다고 생각한다. 그러나 툴 스스로가 응용프로그램 안의 중요한 정보를 식별할 순 없다.

일반 PC에서의 시큐어코딩과 모바일 시큐어코딩의 차이가 있나
PC를 웹으로 한정 지어 설명하면 웹의 특성이 있고, 모바일의 특성이 있다. 각 플랫폼과 서비스 특성에 따라 취약점 종류와 내용 또한 다르다.

예를 들면, 웹은 SQL인젝션으로 정보를 추출하는 등의 문제가 있다면 모바일 서비스는 중요한 데이터를 안전하지 않은 SD카드에 저장하도록 코딩하거나 불필요하게 폰에 있는 위치·문자정보에 접근할 수 있는 등 그런 것들이 모바일의 특성이라 할 수 있다.

몇 년전부터 시큐어코딩이 이슈가 되고 있는데 그 이유가 무엇이라고 보나.
당연히 문제가 많이 발생하고 있기 때문에 이슈가 될 수밖에 없다. 현재까지 발표된 국내외 자료를 보면 침해사고 공격의 약 85% 이상이 소프트웨어를 타깃으로 한 공격이다.

실제로도 그렇고 취약점을 통한 사고와 공격 시도가 많다보니 은행, 금융당국에서도 오래전부터 그런 것들에 대해 통제를 요구해왔다. 대기업들은 이미 시큐어코딩에 신경을 쓰고 있다.

더욱이 최근 안행부에서 공공기관에 시큐어코딩 의무화를 적용한 계기로 시큐어코딩이라는 용어가 더 부각된 것 같다.

SW개발보안이라는 단어와 시큐어코딩이 혼용해서 사용되는데 어떤 단어가 맞는 건가?
개발보안이나 시큐어코딩이나 둘 다 맞는 말이다. 영어냐 한글이냐의 차이일 뿐 어떤 단어가 더 낫다 이런 건 없다. 예전부터 시큐어코딩이라는 말을 쓰고 있었는데, 안행부에서 SW개발보안 가이드라인을 내놓으면서 개발보안이라는 용어를 쓰게 된 것이 아닌가 생각한다.

시큐어코딩으로 보안사고를 얼마나 예방할 수 있을까?
보안사고라는게 워낙 광범위하다. 침해사고 공격의 약 85% 이상이 소프트웨어 타깃이라는 측면에서 보면 상당 부분을 막을 수 있을 것이라 생각한다.

요즘에는 한 가지 취약점만으로 공격이 이뤄지지 않는다. 실제 사고가 발생하는 사례들을 살펴보면 다양한 공격방법이 병행 사용되는 것을 알 수 있다. 하지만 이런 공격들도 대부분 소프트웨어 취약점을 이용한 공격이기 때문에 결국 우리가 통제할 수 있는 소프트웨어냐 아니냐로 갈라진다.

우리가 개발한 소프트웨어나 웹사이트는 통제권을 가지기 때문에 취약점을 발견해서 조치할 수 있는데, 문제는 타사 소프트웨어일 경우다. 만약 해커가 MS워드 취약점을 이용해 공격한다하더라도 해당 소프트웨어에 대한 권한이 없기 때문에 그 취약점이 존재하는지는 사고가 발생하고 나서야 알 수 있는 셈이다.



#인터뷰를 마치며...
손 이사는 시큐어코딩 뿐만 아니라 캠핑에도 일가견이 있다. 그는 네이버 파워블로그인 ‘캠핑패밀리’를 운영하고 있으며, ‘아빠, 캠핑가요!’라는 책의 저자이기도 하다. 인터뷰를 마친 후, 손 이사의 친필사인이 담긴 책을 선물로 받을 수 있었다.


캠핑에서 텐트를 칠 때는 평평한 바닥을 고른 후, 시트를 깔고 뼈대를 조립하며 그늘막을 만든다. 시큐어코딩도 처음 분석·설계 단계부터 보안이라는 개념을 넣어 탄탄하게 적용시킨다. 캠핑과 시큐어코딩 둘다 기초를 세울 때부터 탄탄히 만들어야 한다는게 공통점 아닐까 싶다.  

[민세아 기자(boan5@boannews.com)]

<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 디앤에스테크놀로지

    • 인콘

    • 엔텍디바이스

    • 이노뎁

    • 아이비젼

    • 아이디스

    • 인피닉

    • 웹게이트

    • 판빌코리아

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 씨게이트코리아

    • 원우이엔지

    • 지인테크

    • 에스엠시스템즈

    • 이화트론

    • 다후아테크놀로지코리아

    • 테크스피어

    • 휴먼인텍

    • 슈프리마

    • 홍석

    • 시큐인포

    • 미래정보기술(주)

    • 엔토스정보통신

    • 티비티

    • 지오멕스소프트

    • 경인씨엔에스

    • 동양유니텍

    • 성현시스템

    • 렉스젠

    • 세연테크

    • 제이더블유씨네트웍스

    • 씨엠아이텍

    • 진명아이앤씨

    • 프로브디지털

    • HS효성인포메이션시스템

    • 한국표준보안

    • 트루엔

    • 포엠아이텍

    • 지엠케이정보통신

    • 스마트시티코리아

    • 네오아이앤아이

    • 안랩

    • 넷앤드

    • 위즈코리아

    • 마크애니

    • 슈프리마

    • 세연테크

    • 사이버아크

    • 펜타시큐리티

    • 크랜베리

    • 에프에스네트워크

    • 케비스전자

    • 케이제이테크

    • 알에프코리아

    • 이지에이아이

    • 세이프네트워크

    • 네티마시스템

    • 아이엔아이

    • 제네텍

    • 인더스비젼

    • 혜성테크원

    • 주식회사 에스카

    • 솔디아

    • 새눈

    • 미래시그널

    • 일산정밀

    • 아이에스앤로드테크

    • 가우테크닉스

    • 넥스트림

    • 한국씨텍

    • 구네보코리아

    • 현대틸스
      팬틸트 / 카메라

    • 티에스아이솔루션

    • 이스트컨트롤

    • 미래시그널

    • 스마컴

    • 창성에이스산업

    • 엘림광통신

    • 태양테크

    • 동곡기정

    • 메트로게이트
      시큐리티 게이트

    • 글로넥스

    • 신화시스템

    • 세환엠에스(주)

    • 유진시스템코리아

    • 카티스

    • 유니온바이오메트릭스

Copyright thebn Co., Ltd. All Rights Reserved.

시큐리티월드

회원가입

Passwordless 설정

PC버전

닫기