효과적인 시큐어 코딩 적용을 위한 팁

2017-05-06 21:20
  • 카카오톡
  • 네이버 블로그
  • url
사내 개발자들이 시큐어 코딩에 익숙하지 않은데요. 지속적으로 개발에 시큐어 코딩을 적용할 수 있는 효과적인 방안은 없을까요?

[보안뉴스 원병철 기자] 시큐어 코딩(Secure Coding)이란 소프트웨어를 개발하는 과정에서 코딩 시에 개발자의 실수나 오류, 약점 또는 취약점이 삽입되지 않도록 프로그래밍 함으로써 사전에 악의적인 사이버 공격을 차단하기 위한 작업입니다.


ⓒ iclickart

이에 미국은 2002년 연방정보보안관리법(FISMA)을 제정해 시큐어 코딩을 의무화했으며, 우리나라의 경우 2012년 12월부터 SW 개발 단계부터 보안 취약점을 제거하는 ‘SW 개발 보안 의무제’가 시행됐습니다.

이를 위한 대표적인 시큐어 코딩 가이드로는 CERT에서 발표하는 시큐어 코딩 가이드가 있으며, OWASP(The Open Web Application Security Project)라는 조직을 통해서 제공되는 시큐어 코딩 가이드 등이 있습니다.

그러나 직접 코딩을 하는 개발자 입장에서는 취약점을 하나하나 고려하는 프로그래밍이란 시간도 많이 걸리고 실수나 판단 오류도 개입될 수 있기 때문에 소스 코드를 스캐닝(Scanning)해서 취약점을 찾아내는 솔루션을 적용하는 추세입니다.

대표적인 상용 솔루션으로 Sparrow, Code Inspector 등이 시중에 많이 제공되고 있지만, 소스 코드가 공개되어 누구나 자유롭게 사용할 수 있고 배포할 수 있는 공개 소프트웨어로도 소스 코드 취약점을 점검하는 환경을 구성할 수 있습니다.
△ Sparrow : 파수닷컴 사의 실행의미 기반 정적 분석 도구
△ Code Inspector : 슈어소프트테크 사의 소스 코드 기반의 코딩 규칙 자동 검사 도구

가령 Jenkins, FindBugs, FindSecurityBugs, PMD와 같은 공개 소프트웨어를 활용한 소프트웨어 보안 약점을 분석하고 리포팅할 수 있으며, 이를 반영한 코드를 형상관리 서버에 반영할 수 있습니다.
△ Jenkins : 지속적인 통합 CI(Continuous Integration) 도구
△ FindBugs : 자바 코드의 정적 분석 기능을 제공하는 도구
△ FindSecurityBugs : 자바 웹 어플리케이션에 대한 보안 감사를 지원하는 플러그인 도구
△ PMD : 자바 프로그램의 소스코드를 분석해 프로그램의 부적절한 부분을 찾아내고 성능을 높이도록 도와주는 공개소프트웨어 점검 도구

무엇보다도 시큐어 코딩을 지속적으로 반영하기 위해서는, SVN과 같은 코드 형상 관리 도구와 연동하는 자동화 테스트 인프라를 구축하는 것이 필요하며, 주기적으로 Jenkins와 같은 CI 도구에 플러그인 된 공개 소프트웨어 및 상용 소프트웨어를 통해 소프트웨어 보안약점 관련 분석을 실시하고, 분석된 결과를 리포팅하는 것이 중요합니다.
△ SVN(Subversion) : 소프트웨어 버전 관리 시스템으로써 개발자들의 소스관리를 편리하게 제공하기 위한 도구

그러나 이와 같은 소프트웨어 보안약점 분석 도구는 완벽하지 않으며, 소프트웨어가 실행되지 않고 소스코드 상태에서 취약한 부분을 찾는 정적분석은 오탐이 존재하기 마련입니다. 즉, 정기적인 분석 결과가 보고될 때마다 오탐 여부를 확인하고, 그 내용을 다음 분석에 반영하는 등의 꾸준한 관리가 필요합니다.

또한, 서비스와 플랫폼 특성 등에 따라 취약점의 종류와 내용이 달라지므로, 시큐어 코딩을 기본적으로 가져가되, 여러 환경 요인을 고려한 취약점 점검 및 관리가 필요합니다.
[김병구 한국전자통신연구원(bkkim05@etri.re.kr)]

시큐어 코딩은 공공기관에서 사업규모에 따라 의무 적용 대상입니다. 일반적인 웹 개발자들이 보안코딩 즉, 시큐어 코딩을 하지 않기 때문에 웹 해킹이 빈번히 발생하고 있습니다. 시큐어 코딩을 잘 하려면 시큐어 코딩 관련 책이나 행자부 및 KISA에서 발간한 시큐어 코딩 가이드를 참조하여 익히는 방법이 가장 효율적이라고 생각합니다. 시큐어 코딩 가이드를 보시면 그리 어렵지 않게 이해할 수 있는 수준으로 취약한 코드를 안전한 보안 코드로 적용하는 예가 나와 있습니다. 별도의 솔루션을 이용하여 시큐어 코딩을 적용하는 방법도 있습니다.
[오원철 유니포인트 부장(k5172@hanmail.net)]
 
보안이 강화됨에 따라서 시큐어 코딩이 의무화하게 되었는데, 기존의 개발자들에게는 익숙하지 않아 여러 가지 불편함이 있을 것입니다. 하지만 개발도 중요하지만 보안의 중요성에 대한 비중이 높아졌기 때문에 시큐어코딩을 무시할 수 없을 것입니다. 시큐어코딩 전문 인력을 양성하고 일처리를 분업화하면 보다 효율적인 개발과정이 이루어질 수 있을 것으로 봅니다.
[한국산업기술보호협회 중소기업기술지킴센터]
 
개발자가 시큐어 코딩에 익숙하게 하려면 우선은 개발자들이 컴파일하고 빌드를 수시로 하듯이 보안 점검도 수시로 하면서 코드에 품질 문제가 있는 것처럼 보안 문제가 있는지를 지속적으로 점검하는 수밖에는 없습니다. 또한, 개발 프로세스 상에서 일정 보안 품질에 도달하지 않거나, 심각한 보안 취약점이 있는 경우에는 해당 이슈를 해결할 때까지 서비스 오픈을 지연토록 하고, 이에 대한 성과 관리를 지속하는 것도 필요합니다. 물론, 시큐어 코딩과 준수해야 할 프로세스에 대한 교육도 지속해야겠죠.
[박형근 한국IBM 실장]
 
가장 효과적인 방법으로 소개드릴 것이 시큐어코딩 점검 도구를 개발환경에 통합하여 활용하시는 겁니다. 단순히 소스코드 점검으로 그칠 것이 아니라 개발자들의 코딩 습관을 보안을 고려하도록 바르게 가져가는 것이 필요하고, 그러기 위해서는 이를 가이드해 줄 자동화 도구가 큰 도움이 됩니다. 오픈소스나 상용 제품을 통해 지속적으로 검증을 수행하도록 하면 자연스럽게 시큐어 코딩이 습관으로 체득됩니다.

또 한 가지는 한국인터넷진흥원, 파수닷컴 등에 개설되어 있는 시큐어 코딩 교육에 참여하도록 독려해서 개발보안에 대한 관심을 높여주시는 것도 매우 효과적인 방법입니다.
[이재용 파수닷컴 PA사업본부 팀장(jaeyonglee@fasoo.com)]
[원병철 기자(boanone@boannews.com)]

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

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


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

    • 씨프로

    • 인콘

    • 엔텍디바이스코리아

    • 핀텔

    • 아이비젼

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 지오멕스소프트

    • 원우이엔지

    • 지인테크

    • 홍석

    • 이화트론

    • 다누시스

    • 테크스피어

    • TVT코리아

    • 슈프리마

    • 인텔리빅스

    • 시큐인포

    • 미래정보기술(주)

    • 세연테크

    • 비전정보통신

    • 트루엔

    • 경인씨엔에스

    • 한국씨텍

    • 성현시스템

    • 아이원코리아

    • 프로브디지털

    • 위트콘

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

    • 한결피아이에프

    • 스피어AX

    • 동양유니텍

    • 포엠아이텍

    • 넥스트림

    • 펜타시큐리티

    • 에프에스네트워크

    • 신우테크
      팬틸드 / 하우징

    • 옥타코

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 네티마시스템

    • 아이엔아이

    • 미래시그널

    • 엣지디엑스

    • 인빅

    • 유투에스알

    • 제네텍

    • 주식회사 에스카

    • 솔디아

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 새눈

    • 에이앤티글로벌

    • 케비스전자

    • 한국아이티에스

    • 이엘피케이뉴

    • (주)일산정밀

    • 구네보코리아주식회사

    • 레이어스

    • 창성에이스산업

    • 엘림광통신

    • 에이앤티코리아

    • 엔에스티정보통신

    • 와이즈콘

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

    • 엔시드

    • 포커스에이아이

    • 넥스텝

    • 인더스비젼

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

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

시큐리티월드

IP NEWS

회원가입

Passwordless 설정

PC버전

닫기