2024.05.20 (월)
시큐어코딩은 말 그대로 안전한 코딩 즉, 소프트웨어 개발 시 보안 취약점을 제거한 코딩을 가리킨다. 사전에 보안위협을 미리 염두에 두고 개발을 함으로써 개발 후 코드 수정에 따른 비용 및 시간을 현저히 줄일 수 있다는 장점이 있다.
지난 6월27일 행정안전부가 발표한 ‘정보시스템 구축ㆍ운영 지침’에 따라 공공 소프트웨어 개발 시 취약점이 없도록 보안 개발 하는, 이른바 시큐어코딩(Secure Coding)의 의무화가 예고됐다. 이에 따라 올해 12월을 시작으로 단계적 의무화가 이뤄져 2015년에는 전체 공공 소프트웨어로 시큐어코딩 의무화가 확대될 예정이다.
공공뿐 아니라 민간기업 사이에서도 시큐어코딩이 주목을 받고 있다. 특히 금융권에서는 이미 상용 시큐어코딩 진단 툴을 도입해 보안 개발을 해오고 있다고 전해진다.
시큐어코딩 솔루션 관련 업체들을 찾아 시큐어코딩의 효과와 시장 동향 및 업계의 이슈에 대해 알아봤다.
연보라 기자 bora@ciociso.com
기술개요
1. 시장동향
2. 각 사별 솔루션 특징[엔시큐어(포티파이 국내총판), 트리니티소프트, 파수닷컴]
1. 시장동향
시큐어코딩으로 경제적이고 안전한 SW 개발
시큐어코딩(Secure Coding)이란 소프트웨어 개발보안, 즉 보안 약점이 존재하지 않도록 시스템을 개발하는 것을 말한다.
최근 행정안전부가 공공기관이 정보시스템을 개발 및 유지할 때 소스코드상 취약점에 대해 제거조치를 하도록 하는 지침을 발표해 공공기관뿐 아니라 민간기업, 시큐어코딩에 필요한 툴을 공급하는 업체까지 관심이 높아지고 있다.
지난 6월27일 행안부가 발표한 정보시스템 구축ㆍ운영 지침 중 6장 소프트웨어 개발보안이라는 부분에 시큐어코딩 관련 지침이 포함돼 있다.
지침에 따르면 올해 12월부터 행정기관 등에서 추진하는 개발비 40억 원 이상의 정보화 사업에 시큐어코딩 적용을 의무화하고, 단계적으로 의무 대상을 확대해 2014년 1월에는 20억 원 이상의 사업에, 2015년에는 감리대상 전 정보화 사업에 시큐어코딩을 의무 적용하게 된다. 또한 감리법인은 정보시스템 감리 시 검사항목에 보안약점 제거여부를 반드시 포함해야 한다. 소프트웨어 개발사업자가 반드시 제거해야 할 보안 약점은 SQL 삽입, 크로스사이트스크립트 등 43개이다.
강필용 한국인터넷 공공소프트웨어보호팀장은 “소프트웨어 개발 후 보안약점을 수정하게 되면 시간과 비용이 많이 소요되지만, 사전에 이를 염두에 두고 안전 소프트웨어를 개발하면 비용 대비 효과가 크다”고 시큐어코딩 효과를 설명했다.
보안위협 추세 맞춰 거듭 진화해야
조현기 법률사무소 민후 디지털포렌식팀장은 “사실 이번 시큐어코딩 의무화 지침은 법이라기보다는 안전한 소프트웨어 개발 방법에 대한 지침을 법이 정해주는 ‘기술적 표준’에 가깝다”고 정의했다. 조 팀장은 “지금까지 정보통신망법이나 개인정보보호법을 살펴보면 기술적 보호조치 부분이 기준이 없거나 애매했던 것이 사실인데, 시큐어코딩 지침은 상당히 구체적이고 명확하다”면서 “명확한 기술적 표준을 최초로 제시한 사례로서 사회적으로 선순환될 수 있는 좋은 지침”이라고 평가했다.
그러나 이 기술적 표준이 고착화돼서는 안된다고 조 팀장은 경고했다. 시큐어코딩법이 사문화되지 않고 보편 정착하기 위해서는 보안약점 기준이 추세에 맞게 계속 업데이트 돼야 한다는 것. 보안위협은 어제와 오늘이 다르게 급속히 진화하기 때문이다.
또한 조 팀장은 “공공부문에서 먼저 시큐어코딩이 의무화되고 있지만 차후 2~3년 내에 민간으로 확대될 것으로 전망되므로 기업들은 이에 대한 대비를 미리 해두는 것이 좋을 것”이라고 조언했다.
시큐어코딩 진단 도구, 누가 사야하나?
하나의 소프트웨어는 보통 코드가 90만 라인 이상으로 이뤄져 있어 시큐어코딩 여부를 눈으로 확인하는 것은 사실상 불가능하고 진단도구를 사용해 점검해야 한다. 행안부의 시큐어코딩 지침에 의하면 2014년 1월부터는 국정원의 인증을 받은 진단도구만을 사용하도록 하고 있는데 현재까지 상용화된 시큐어코딩 진단 솔루션 제품 중에는 아직 해당 인증을 받은 제품이 없는 실정이다.
따라서 공공부문에는 한국인터넷진흥원이 개발ㆍ배포하고 있는 시큐어코딩 진단 툴이 대부분 사용되고 있는 실정이며, 상용 솔루션 제품은 민간 시장에서 주로 판매가 이뤄지고 있다. 아직은 상용 솔루션에 행안부의 43개 항목이 포함돼 있지 않은 제품들이 많아, 공공부문에서는 적용되기 어려울 것이라고 진흥원 측은 밝히고 있다.
시큐어코딩 솔루션 업체들은 공공부문 시장에 적용될 수 있도록 행안부 지침을 제품 내에 내재화하는 개발을 추진하고 있는 실정이다.
아직은 시큐어코딩 의무화 적용을 받지 않는 민간기업들도 갈수록 높아지는 보안위협에 대한 대응으로 시큐어코딩 솔루션을 도입 혹은 검토하고 있는 곳이 늘고 있다. 그러나 기대한 만큼의 큰 매출증대는 이뤄지지 않고 있다는 것이 관련 솔루션 업체들의 의견이다. 더군다나 시큐어코딩 솔루션 도입 비용을 누가 지불해야 하냐에 대한 논란도 기업들의 시큐어코딩 도입 시기를 늦추는 한 요인이 되고 있다.
일각에서는 발주 기업이 툴을 구입해주는 것이 맞다 하고 혹자는 SI업체나 개발업체가 기본적으로 구비하고 있어야 한다고 전한다.
아직 발주 기업, SI업체, 개발업체, 감리법인 등 사업과 관계된 주체 중 누가 이 비용을 부담할지에 대한 사회적 합의가 이뤄지지 않은 상태지만, 분명한 것은 이 툴에 대한 비용이 전체 사업비에 정당히 반영되고 있지는 않다는 것이다.
행안부 지침에 따르면 기업이 소프트웨어 보안 개발을 할 시에는 SI업체에게 용역비에서 컨설팅 비용을 좀 더 얹어주도록 하고 있다. 구체적인 보장 수준에 대해서는 아직 미정이다. 그러나 강필용 팀장은 “어차피 내년까지 시큐어코딩의 적용을 받는 사업은 40억 원 규모의 사업인데 이런 대형사업의 경우 도구비의 영향이 크지 않을 것”이라면서 “시큐어코딩으로 유지보수비를 줄이는 것이 더 큰 이익이기에 초기 투자비용이 아깝지 않을 것”이라고 잘라 말했다.
엔시큐어 - “시큐어코딩 시장의 글로벌 선두주자”
엔시큐어는 HP가 포티파이소프트웨어를 지난 2010년 인수한 이후 엔시큐어가 HP 포티파이의 국내 총판 역할을 수행해오고 있다.
시큐어코딩 시장의 글로벌 선두주자로 꼽히는 HP 포티파이의 ‘HP 포티파이 소프트웨어 시큐리티 센터(HP Fortify Software Security Center)’는 개발 시에 정적 소스코드 분석기를 통한 취약점 검출을 수행하는 SCA(Static Code Analyzer)와 테스트 시에 동적으로 보안 취약점을 검출하는 SecurityScope와 HP WebInspect 및 운영 시 방어기능을 제공하는 RTA(Real-Time Analyzer)의 네 가지 모듈로 구성되며 소프트웨어 시큐리티 센터 서버를 통해 협업 능력을 포함하는 통합된 형태의 관리와 정보를 제공하여 애플리케이션 개발부터 운영까지의 모든 과정상의 보안을 제공한다.
HP 포티파이 SCA는 OWASP TOP 10, CWE, 행안부 보안개발기준을 포함하는 490여 보안 및 품질 관점의 점검 범주를 지원하며, 업계 최다의 20종 언어의 애플리케이션 소스 및 관련 라이브러리들의 취약점 점검을 지원하며 특히 최근 사용이 늘고 있는 모바일 개발 환경인 Android와 iOS에 대한 분석을 업계 유일하게 모두 지원한다.
손장군 엔시큐어 애플리케이션보안그룹장은 “HP 포티파이의 강점은 SDLC(Software Development Life Cycle: 소프트웨어 개발 생명 주기) 전반에 걸친 보호를 제공한다는 점”이라며 “특히 HP 인수 이후 정적분석에 대한 기존 포티파이의 강점에 HP의 동적분석 능력을 더함으로써 보다 강력한 SDLC 보호를 제공하게 됐다”고 설명했다.
트리니티소프트 - “소프트웨어 개발주기 전반에 걸친 보호 제공”
웹 애플리케이션 방화벽(Web Application Firewall: WAF) 솔루션인 ‘웹스레이’를 공급하고 있는 트리니티소프트는 지난해 시큐어코딩 솔루션인 ‘코드레이’를 출시하면서 시큐어코딩 국산화에 적극 나서고 있다.
시큐어코딩솔루션인 ‘코드레이’는 매니저, 에이전트, 콘솔 형태의 3-Tier 아키텍처로 개발하여 웹소스 관리에 필수적인 형상관리, 사용자 권한 통제가 가능하고, 개별 웹서버의 안전한 운영 및 소스코드 취약점 분석이 용이하도록 개발공정 내에서 단계별 보안 프로세스를 제어하고 통합 관리하는 소스코드 통합보안관리 솔루션이다.
‘코드레이’는 웹 소스코드 배포관리, 리비전관리, 소스코드 백업 및 복구, 웹 소스코드 취약점 분석, 소스코드 변조탐지 및 복구, 개발자 업무통제, 형상관리 등의 기본적인 시큐어코딩 기능뿐만 아니라 등급별 사용자 권한관리, 소스코드 로직추적, 취약점 대응방안 제시 등 사용자의 편의를 고려한 기능들도 포함되어 있다.
‘코드레이’의 가장 큰 특징으로는 업계 최초 어플라이언스형 장비를 제공하여 소프트웨어와 높은 호환성을 보장하고, 웹방화벽과 시큐어코딩 제품 간 연동을 통해 개발자나 관리자가 손쉽게 링크 문제를 수정함으로써 웹 서버 보안을 한 층 더 강화시킨 핵심기술이 포함되어 있다. 즉 WAF솔루션 웹스레이와 연동해 개발단계에서의 보안은 물론, 운영 시 보안까지도 제공받을 수 있다.
웹스레이와의 연동을 통해 현재 공격이 들어오는 위협요소를 알려주며, 이러한 위협을 회피하기 위해 소스코드의 어느 부분이 수정돼야 하는지를 알려준다.
또한 행정안전부 장관이 고시한 “정보보호시스템 평가 인증 지침”에 따라 지난해 CC인증을 획득 한 바 있다.
파수닷컷 - “실행의미 기반의 정적분석 솔루션”
파수닷컴은 국내 유일의 실행의미 기반(시멘틱 기반)의 분석 엔진을 적용한 스패로우 시큐어 코딩 에디션 (SPARROW SCE)을 선보이며 시큐어코딩 이슈에 적극적으로 대응하고 있다.
스패로우 SCE는 행안부의 시큐어 코딩 가이드 43개 항목을 포함, 치명적인 소스코드 결함을 개발 완료 전에 검출하여 조기 제거 할 수 있도록 지원하는 분석 솔루션이다.
시큐어 코딩 진단 도구는 프로그램을 실행시키지 않고 소스코드만으로 보안약점을 찾아 주는 정적분석도구를 말하는데, 일반적인 정적분석도구는 프로그램의 생김새나 구조만 관찰하여 쉬운 패턴의 간단한 오류만 찾아내는 신테틱(Syntactic) 분석 엔진을 기반으로 하고 있다.
반면에 파수닷컴이 적용한 시멘틱(Semantic) 기반의 분석엔진은 프로그램의 실행 의미를 파악하여 신테틱(Syntactic) 분석엔진으로는 검출이 어려운 보안약점까지 정확하고 정교하게 검출해 주어 높은 검출력과 낮은 오탐률을 특징으로 한다.
또한 스패로우 SCE는 정확한 보안약점의 위치 및 원인 설명, 수정 방법 가이드, 다양한 플랫폼 지원 등을 통해 편리하고 효율적인 개발환경을 제공한다. 프로젝트별 분석 및 리뷰에 대한 권한 설정을 통한 접근 통제가 가능하고 분석결과 리포트의 난독화 또는 암호화로 외부 유출 시 조회가 불가하다.