[보안칼럼]소프트웨어 보안, '왼쪽'으로 옮겨야

올해 초 중앙처리장치(CPU)와 관련해 중대한 보안 결함이 밝혀지면서 세계 IT 시장은 큰 충격에 휩싸였다. 지난 20여년 동안 감춰져 온 인텔 CPU와 일부 ARM CPU에서 발생한 스펙터 및 멜트다운 취약점은 보안을 배제한 채 프로세서 속도와 성능만을 우선시한 결과로 풀이된다.

오늘날은 모든 것이 연결되는 애플리케이션(앱) 이코노미 시대다. 보안은 단순히 지켜야 하는 당위성을 넘어 매출, 고객 충성도 등 기업 비즈니스 성과와 직결된다. 최근 CA테크놀로지스 조사에 따르면 소프트웨어(SW) 보안 엘리트 기업은 주요 경쟁사보다 40% 더 높은 매출, 50% 더 높은 수익을 올렸다. 이러한 성공 비결은 보안을 핵심 비즈니스 요인으로 간주하고 우선순위를 재배치한 것이다.

전 세계에는 지금도 수많은 앱이 엄청난 속도로 개발되고 있다. 그러나 실제 개발 단계에서부터 보안을 고려하는 경우는 많지 않다. 진화하는 보안 위협에 비춰 볼 때 앱이 개발, 생산, 배포된 후 보안 조치를 취하는 것은 이미 늦다. 실제 CA 조사 결과 외부 컴포넌트가 포함된 앱 한 개에 취약점이 평균 71개 보고됐다. 반면에 앱을 배포할 때 해당 취약점을 테스트하는 개발자는 23%에 불과했다. 또 정식 앱 보안(AppSec) 프로그램을 갖춘 기업은 71%에 그쳤다. 이는 보안 침해 위험과 기업 보안 인식 부재를 드러낸다.

시장조사업체 가트너도 보안되지 않은 설계와 구성, 코드 취약점, 외부 컴포넌트와 라이브러리, 비효율적 보안 통제, 런타임에서 패치되지 않은 취약점 등에서 앱 위험이 발생한다고 분석했다. 이는 SW 개발 라이프사이클 전 단계로, 이들 모두에서 SW 보안이 고려돼야 한다는 것을 의미한다.

기업은 효과적으로 앱을 보호하기 위해 요구 조건, 수집, 설계, 코드 생성, 배포, 운영에 이르는 모든 단계에 보안을 내장하고 테스트를 지속 실시해야 한다. 한마디로 보안을 SW 개발 라이프사이클 '왼쪽', 즉 시작점으로 옮기는 것이다.

보안을 왼쪽으로 옮기는 일은 현실 세계에서 화재 탈출 계획을 수립하는 것과 같다. 화재경보기 설치, 출입문 점검, 탈출구와 소화기 확인 등 안전 기본 조치와 예방 교육, 화재 대피 훈련 등 모든 단계를 염두에 둬야 한다.

SW 세계에서 보안 강화를 위해 보안을 개발과 운영에 통합시키는 '데브섹옵스(DevSecOps)' 접근법을 취해야 한다. 코딩을 시작하기 전에 보안 위협 모델을 만들고, 개발자에게 안전한 코딩 방법을 교육시키고, 코드를 생성함과 동시에 보안을 테스트해야 한다. 이처럼 보안을 개발자 영역, 즉 왼쪽으로 옮기면 보안 테스트는 더 빠르고 쉽고 효과적이며 저렴해진다. 기본적인 보안 취약점을 파악하고 해결하는 시간이 빨라지며, 고객에 더 빠른 업데이트를 제공하거나 앱 성능을 더욱 향상시킬 수 있다.

보안은 일련의 프로세스가 아닌 조직 사고방식 자체를 대변한다. 기업이 어려운 경영 상황에 처하면 보안 투자와 예산을 줄이는 경우가 많다. 이 같은 접근은 단기적으로 비용을 절감할지 모르지만 앞으로 해결해야 할 보안 관련 부채를 남긴다.

SW 개발 라이프사이클이 정적이지 않듯 보안도 동적이어야 한다. 보안을 왼쪽으로부터 시작하는 민첩한 기업은 보안 부채를 피하는 것은 물론 경쟁사보다 빠르게 앱을 개발하고, 디지털 경쟁력을 높인다.

유재성 한국CA테크놀로지스 대표 jaesung.yoo@ca.com