[SW개발보안, 디지털뉴딜 시작]〈上〉SW개발보안, 침해사고 막을 첫 단추

게티이미지뱅크
게티이미지뱅크

디지털 전환 가속에 따라 소프트웨어(SW) 이용이 급증하면서 SW개발보안이 침해사고를 예방할 근본 대책으로 떠올랐다.

SW개발보안은 SW 개발·변경 시 SW 보안 취약점을 최소화하기 위한 일련의 보안 활동이다. 요구사항 분석, 설계, 개발, 테스트, 유지보수 등 SW 개발 생명주기 내 단계별로 요구되는 보안 활동을 수행해 안전한 SW를 개발하는 것이 목표다. 구현 단계의 보안을 의미하는 시큐어코딩보다 넓은 개념으로 볼 수 있다.

보안약점은 보안취약점과 다르다. 보안취약점은 SW 실행 시점에 보안약점이 원인이 돼 발생하는 실제적 위협을 가리킨다. 보안취약점 근본 원인이 되는 보안약점을 제거하면 해킹 등 실제 보안사고에 악용될 수 있는 보안취약점을 예방하는 효과가 있다.

보안약점을 제거하기 위해서는 SW 기획, 분석, 설계 단계에서부터 보안을 고려하는 것이 필요하다. 실제 코딩을 하는 구현 단계에서도 개발하는 SW개발보안 가이드를 참고해 안전하게 코딩을 해야 한다. 코딩이 완료되면 소스코드에 남아 있는 보안약점을 제거하기 위해 소스코드 진단도구를 통해 보안약점을 찾고 제거하도록 소스코드를 수정해야 한다. 개발 프로젝트 참여 인력에 대한 SW개발보안 교육도 병행해야 한다.

개발자 실수나 논리적 오류 등으로 내포될 수 있는 보안약점을 줄이면 민간 SW 보안과 신뢰성을 제고할 수 있다. SW개발보안 적용 시 향후 수십 배까지 늘어날 수 있는 사회적 비용을 절감하는 이점도 있다.

마이크로소프트(MS)는 윈도 제품에 SW개발보안을 적용한 지 1년 만에 공개된 취약점 45%를 줄이는 효과를 거뒀다. SQL 서버의 경우 SW개발보안을 적용하기 전후를 비교한 결과 3년간 공개된 취약점이 무려 91%나 감소한 것으로 나타났다.

SW 개발 단계별 결함 수정 비용은 SW개발보안 미적용 시 수십 배까지 늘어난다. 미국 국립표준기술연구소(NIST) 보고에 따르면 SW 설계 과정 결함을 수정할 때 설계 단계에서는 1배, 코딩 단계에서는 5배 수준의 비용이 들어가지만 통합 단계와 베타 제품, 제품 출시 단계에서는 각각 10배에서 30배까지 부가 비용이 수반됐다.

정보보호 투자수익률(ROI) 역시 설계 단계에서 가장 높게 나타난다. IBM 연구보고서를 보면 설계 단계에서 정보보호 투자수익률은 24%지만 구현과 테스팅은 각각 15%와 12%로 상대적으로 낮다. 반면 정보보호 취약성 수정 비용은 설계 단계에서 가장 낮고 구현과 테스팅, 유지보수 단계로 갈수록 높아진다.

행정안전부는 공공 분야를 대상으로 SW개발보안을 10년 이상 수행해 왔다. 과학기술정보통신부는 민간 분야를 대상으로 올해 처음 SW개발보안 사업을 시작했다.

과기정통부는 SW개발보안 진흥을 위해 관련 기술 연구와 인력 양성 등 기반을 조성하고 중소 SW 사업자 개발보안 활성화를 지원한다. 한국인터넷진흥원(KISA)은 보안취약점 대응체계 운영 사업을 통해 민간 SW개발보안 현황 조사, 인력 양성 방안 연구, 민간 개발자 대상 교육 콘텐츠 개발과 온·오프라인 교육 등을 추진하며 내달 SW개발보안허브를 개소한다.

오다인기자 ohdain@etnews.com