전문가칼럼

[SW법 바로알기 2] 소프트웨어 개발보안(시큐어코딩) 의무화

조현기

[법률사무소 민후 조현기 팀장] 안전행정부는 2012년 3월 27일 사이버공격의 주요 원인인 소프트웨어 보안약점을 전자정부 서비스 개발단계에서 제거하기 위해 정보시스템 구축 시 ‘소프트웨어 개발보안(시큐어코딩)’을 의무화하기로 했다. 이에 시큐어코딩은 무엇인지, 왜 그 중요성이 커졌는지 알아보고자 한다.

최근의 사이버 공격(해킹)은 보안패치가 발표되기 이전의 보안취약점을 악용하는 제로데이(Zero Day) 공격, SQL 인젝션 등 웹사이트를 대상으로 한 해킹이 주를 이루고 있으며, 얼마 전 가트너 발표에 의하면 사이버 공격의 약 75%가 응용 프로그램의 취약점을 악용한 것이라 한다.

이러한 공격들은 소프트웨어 자체에 내장된 보안취약점을 이용하는 것이 대부분으로서, 특히 소스코드의 보안취약점을 이용한 사이버 공격은 방화벽·침입차단시스템·침입방지시스템 등의 일반적인 보안장비로는 대응이 어려운 특성을 가진다.

이러한 공격형태는 소프트웨어의 취약점을 공략하기 때문에 일반적인 보안장비들은 악의적 접속시도를 ‘정상’으로 인식하기 때문이다.시큐어코딩이란 이러한 사이버 공격에 대응하기 위해 소프트웨어의 개발단계부터 보안취약점을 보완해 공격시도를 원천 차단한다는 개념이다.

구체적으로 소프트웨어 개발과정에서 개발자의 실수나 논리적 오류 등으로 인한 소프트웨어의 보안취약점을 최소화하고, 해킹 등의 보안위협에 능동적으로 대응할 수 있는 안전한 소프트웨어를 개발하기 위한 일련의 과정을 일컫는다.

해킹, 악성코드의 수준은 날로 높아만 가는데, 이에 대한 대비는 그 동안 악성코드를 개별적으로 분석해 대응할 수 있는 패턴을 개발하고 적용하는 방식이었다.

대응방법이 항상 후발적일 수밖에 없기 때문에 새로운 공격형태가 나타나면 백신프로그램을 사용하고, 값비싼 보안장비를 갖춘 기업도 속수무책으로 당하고 만다.

게다가 예견이 불가능한 지금까지의 보안장비마저 비용이 만만치 않아 기업들로선 보안에 대한 투자가 망설여지고 중소업체의 경우에는 엄두도 내지 못한다.

그러나 소프트웨어 개발보안의 경우에는 개발단계에서 이러한 취약점을 미리 보완하고 대처하기 때문에 사후 대응 방식의 보안취약점 제거 비용 보다 수십 배의 비용을 절감할 수 있다.

게다가 사후 대응이 아닌 사전 대비 방식이므로 상대적으로 해킹 사고 발생 가능성이 낮다고 할 수 있다. 한마디로 말하면, 비용이 저렴한 사전 예방 보안 대책이라 할 수 있다.

최근 안전행정부는 이러한 시큐어코딩을 의무화해 효율적인 정보보호에 신경을 쓰고 있다. 단계적으로 정부기관에서 추진하는 정보화사업에 소프트웨어 개발보안 적용을 의무화하고, 점차 범위를 넓혀간다는 내용의 계획을 발표했다.

앞으로 소프트웨어 개발자들은 이러한 시큐어코딩에 대한 전문성을 기르지 못하면 전문인력으로 대접을 받지 못할 가능성도 있다. 보안·정보보호가 그 어느 때보다 화두가 되는 요즘 시큐어 코딩은 선택이 아니라 필수다.

<법률사무소 민후 조현기 팀장>hi@minwho.kr
<법률사무소 민후>www.minwho.kr

<기고와 칼럼은 본지 편집방향과 다를 수도 있습니다>

조현기
webmaster@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기

이 기사와 관련된 기사

디지털데일리가 직접 편집한 뉴스 채널