행안부, 보안강화해 대응비용 75% 절감

관련 통계자료 다운로드 행정안전부의 보안강화체계구축 사업 구성도

 인터넷 민원서류가 위·변조되고, 병무청의 공직자 3만여명의 주민등록번호가 노출되는 등 전자정부서비스의 오류와 사이버 공격으로 인한 침해 사고가 끊이질 않고 있다. 이는 소프트웨어(SW)의 충분한 오류 검증과 취약점 분석 작업이 사전에 제대로 이뤄지지 않았기 때문이다. 해킹의 경우도 SW 오류나 결함 부분을 해커들이 찾아서 무자비하게 공격하는 것으로, 이러한 취약점을 최소화한다면 해킹 발생의 위험도 그만큼 낮아진다. 이에 행정안전부는 지난해 전자정부 서비스를 위해 개발되는 시스템을 대상으로 소스코드 취약점을 개발할 수 있는 자동진단 도구 개발에 나섰다. 이 도구로 SW의 개발 초기 단계부터 사전에 철저하게 취약성을 탐지해서 시스템 오류율을 줄이겠다는 각오다.

행안부 정보화전략실 정보보호정책과 한근희 전문위원은 “그동안 시스템을 개발하고 나면 마지막 통합 테스트 단계에서 기능 동작 여부만을 검검하는 데 그쳤다”며 “초기 설계하는 단계부터 세부 개발 단계별로 철저하게 취약점 분석을 할 수 있도록 소스코드분석 도구를 개발해 SW의 안정성을 높이고 품질을 높일 수 있도록 하는 것이 이번 사업의 가장 큰 목적”이라고 말했다.

행안부는 2008년도에 20억원의 예산을 확보해 지난해 이러한 내용을 골자로 하는 보안강화체계구축 사업을 추진했다. 핵심 내용은 SW 프로그램 취약성 통합 데이터베이스(DB) 구축과 취약성 자동분석진단 도구 개발이다. 시스템들의 보안 취약점을 자동으로 진단하기 위해서는 우선 프로그램 코딩시 발생할 수 있는 오류, 결함, 보안취약점 등의 다양한 취약성에 대한 데이터가 통합돼 있어야 한다. 이에 행안부는 전자정부에 주로 사용되는 프로그래밍 언어인 자바와 C를 대상으로 하는 소스코드 취약점의 패턴을 DB화 했다.

이와 함께 자바와 C 언어별로 각각 진단 도구를 별도로 개발했다. 국내에서는 아직 두 개발 언어에 대해 소스코드 분석 툴을 가지고 있거나 개발할 수 있는 업체가 없었기 때문에 언어별로 업체를 따로 선정해 개발했다.

지난해 말 자동분석진단 도구 개발을 완료한 행안부는 일부 개발 영역에 한해서 상용제품과의 비교 분석 작업을 추진했지만 오탐률(오류를 잘못 탐지하는 비율)이 상용 도구 보다 더 적게 나타난 것을 확인했다. 이어 현재 전자정부의 주요 서비스를 개발 중인 사업에도 개발한 도구를 시범 적용했다. 최근 500여 서비스를 추가 개발하고 있는 정부민원포털사이트인 G4C가 첫 적용 대상이었다. 소스 취약점 자동분석 도구를 새로 개발 중인 G4C에 적용한 결과 수십개에 이르는 많은 오류들이 사전에 발견돼 해결하는 성과를 얻었다.

한근희 전문위원은 “자동분석 도구는 취약점에 대해 상세한 정보를 제공하고 비슷한 사례에 대한 샘플까지 제공해 준다”며 “수천 라인의 코드 중에서 30번과 50번 라인에서 소스 오류가 있고 이것을 어떻게 수정해야 하는지에 대한 방안까지 제시해 준다”고 설명했다.

행안부측은 이번에 개발한 자동분석 도구를 통해 침해사고에 따른 대응비용의 75%를 절감하는 효과가 있을 것으로 기대하고 있다.

행안부는 취약성 DB와 분석진단 도구 개발화 함께 이번 사업을 추진하면서 병행한 작업이 두 가지가 더 있다. 바로 시큐어코딩(Secure Cording) 가이드라인 개발과 시스템 보안 강화를 위한 교육 작업이다. 지금까지 전자정부용 프로그램들은 별도의 보안 가이드라인 없이 개발돼 왔다. 행안부는 프로그램의 초기 개발 단계부터 보안 취약점을 고려해 코딩할 수 있도록 시큐어코딩 가이드라인을 만들었다.

한근희 박사는 “마이크로소프트는 내부에서 자체개발한 보안개발생명주기(Security Development Lifecycle) 절차에 기반해 제품의 보안 취약점을 최소화하고 있는데, 적용하지 않은 제품보다 68%의 취약점이 감소하는 효과를 얻었다”며 “미 정부에서도 연방정보보안관리법(FISMA)을 통해 시큐어코딩을 법적으로 의무화하고 있지만 국내에서는 아직 이런 개념 조차 없는 실정”이라고 설명했다.

행안부는 시큐어코딩 가이드라인을 통해 정부정보화 사업에 참여하는 개발업체들과 사업 추진 정부 담당자들이 SW취약성 점검을 보다 효율적으로 할 수 있도록 할 방침이다. 또한 행안부는 SW 취약성 사전 점검 의무화를 위해 전자정부법 시행령을 개정하는 것도 준비 중이다.

보안 강화를 위한 교육도 행안부는 최근까지 7차례이상 진행했다. 대상은 국내 주요 SI 업체의 개발자들이었다. 행안부는 교육 과정을 통해 SI 업체들이 프로그램 개발 작업시 소스코드 취약성 분석을 위한 상용 도구를 활용해 취약성을 취소화할 수 있는 방안을 소개했다. 향후 행안부측은 정부에서 추진되는 모든 시스템 구축 사업에서는 이러한 내용을 계약서에 명시하는 등 취약성 사전 분석 작업을 확산시킬 계획이다. 정부의 정보화 사업 담당자는 이번에 행안부에서 개발한 자동분석진단 툴을 적용해 실제로 개발된 시스템들에 어떤 취약성이 있는지를 다시한번 검수하고, 개발 업체들이 단계별로 상용 분석 도구를 통해 취약성 분석한 결과를 제대로 해결했는지를 재검사하는 데 활용할 예정이다.

올해 행안부는 관련 교육 과정을 보다 더 세분화해 시큐어코딩 전문가를 양성하기 위한 과정으로 만들 계획이다. 그리고 대형 SI 업체 외에 이 회사들의 하청업체 개발자들도 교육에 참여할 수 있는 방안을 마련 중이다. .

한근희 전문위원은 “지난해 안전한 SW 개발체계를 마련하기 위한 첫발을 내딛은 것”이라며 “지난해에 이어 올해에는 개발 언어를 더 늘리는 작업과 함께 취약성 자동분석 도구의 오탐률을 줄이고 사용자 편의성을 강화하는 등의 사업을 추진할 계획”이라고 설명했다.