자동화, 지속적인 통합/지속적인 배포, 협업, Shift-Left 보안 등
“고품질의 소프트웨어, 더 빠른 개발과 릴리스 주기, 더 안전한 제품 보장”
[애플경제 전윤미 기자] DevSecOps(데브섹옵스)는 개발(Dev), IT 운영(Ops) 및 보안(Sec) 프로세스를 하나의 간소화된 프로세스로 혼합하는 방식을 통합하는 프레임워크로 날로 그 효용성이 강조되며 일반화되고 있다. 기업과 조직에서 안전하고 효율적인 소프트웨어 개발을 보장하기 위한 장치로 주목받고 있다.
특히 데브섹옵스 팀은 이 방식을 사용하여 소프트웨어 개발 수명 주기에 보안기능을 통합하여, 소프트웨어가 구축, 배포, 유지 관리되도록 할 수 있다. 최근 ‘테크타깃’, ‘테크리퍼블릭’ 등에선 이런 데브섹옵스 및 보안 조치를 구현하기 위한 모범 사례를 소개하고 있어 관심을 끈다.
데브섹옵스의 정확한 개념?
데브섹옵스는 개발자와 운영 팀 간의 사일로(칸막이)와 통신 장벽을 허물어 소프트웨어를 더 빠르고 더 안정적으로 만들 수 있도록 할 목적으로 발전된 것이다. 보안 팀을 통합하고 모든 이해관계자 간의 협업을 강조하는 것도 특징이다.
사이버 보안 위협이 계속 진화하고 더욱 널리 확산됨에 따라 데브섹옵스는 더욱 대중화되고 있는 추세다. ‘테크리퍼블릭’은 컴퓨터 과학자 니콜라스 리니의 기고를 통해 “기업이 점점 더 데브섹옵스에 의존하는 이유 중 하나는 기존의 보안 조치, 즉 임시 감사 및 정적 분석 프로세스 등과 같은 방식이 더 이상 소프트웨어 아키텍처를 보호할 수 없다는 사실 때문”이라고 짚었다.
반면에 데브섹옵는 자동화된 테스트, 애플리케이션 성능 모니터링 및 지속적인 통합을 구현하여 이러한 기존 보안 관행을 대체한다.
이런 데브섹옵스 구현을 위해선 몇 가지 전제 조건과 원칙이 있다. 자동화, 지속적인 통합/지속적인 배포, 협업, Shift-Left 보안 등 네 가지다.
우선 데브섹옵스 전문가는 자동화를 사용하여 인적 오류가 발생할 수 있는 수동 작업을 제거해야 한다. 이런 자동화는 보안 검사, 검색, 모니터링, 로깅 및 여러 유형의 테스트 형태로 제공되며, 각 테스트는 개발, 빌드 및 배포 파이프라인에 통합된다.
지속적인 통합/지속적인 배포도 중요하다. 즉, CI/CD 파이프라인은 프로덕션 환경에 대한 코드 변경 사항의 구축, 테스트 및 배포를 자동화한다. 데브섹옵스는 파이프라인의 모든 단계에 보안 검사를 통합하여, CI/CD 파이프라인에 한 단계 더 추가한다.
이는 또 개발, 운영 및 보안 팀 간의 협업이 중요하다. 니콜라스 리니는 “가장 중요한 데브섹옵스 원칙 중 하나”라고 특히 강조했다.
‘Shift-Left 보안(SLDC)’은 말 그대로 “왼쪽으로 이동”의 의미다. 즉, 보안 문제가 SDLC에서 가능한 한 빨리 해결되어야 함을 의미한다. 이를 통해 보안 및 코드 통합 문제가 더 커지거나 신뢰할 수 없는 제품이 되기 전에 팀이 이를 포착하고 수정할 수 있다는 것이다.
구현 모범 사례와 극복 과제
이런 조건과 원칙 하에 ‘테크리퍼블릭’이 제시하는 데브섹옵스 구현을 위한 몇 가지 모범 사례가 주목된다.
즉, ▲ DevOps 파이프라인에 보안 통합 ▲ 인프라를 코드로 채택 ▲자동화된 보안 테스트 통합 ▲컨테이너에서 취약점 스캔 ▲지속적으로 애플리케이션 모니터링 ▲보안 정책 정의 역할 기반 액세스 제어 활용 ▲보안 실무 교육 ▲위협 모델링 수행 ▲보안 타사 라이브러리 ▲안전한 테스트 환경 ▲문서화 및 규정 준수 보고 ▲보안 조정 및 자동화 구현이 필수적이란 뜻이다.
물론 데브섹옵스 역시 부담이나 위험이 없는 것은 아니다.
우선 다른 방법론이나 프레임워크의 변화처럼 이를 구현하려면 조직의 문화적 변화가 필요할 수 있다. 팀 간에 협력하고, 의사소통하고, 새로운 프로세스와 워크플로를 만드는 방법을 수용해야 하는데, 말처럼 쉬운 것이 아니다.
또한 많은 새로운 보안 및 데브옵스 도구를 통합하고 이를 프로세스 및 워크플로에 통합해야 한다. 때로는 “그 때문에 교육에 필요한 리소스는 말할 것도 없고 조직 구성원들이 압도당하고 좌절감을 느낄 수 있다”는 지적도 있다.
데브섹옵스에는 개발, 운영 및 보안 기술이 필요하다. 팀의 기술을 평가하고, 기술을 향상시키고, 새로운 역할을 채용하는 것은 적절하게 계획되지 않으면 복잡한 프로세스가 될 수 있다. 또한 파이프라인의 모든 단계에 보안을 통합하는 것은 복잡할 수 있으며, 보안 원칙에 대한 포괄적인 이해가 필요하다.
앞서 컴퓨터 과학자 니콜라스 리니는 “데스섹옵스는 개발 프로세스의 시작부터 모든 단계에 보안을 통합하면 기업이 사전에 보안을 식별하고, 소프트웨어가 출시되기 전에 보안 취약성을 수정하여 보안 침해 위험을 줄이고 데이터를 보호한다”고 단언했다.
그러면서도 그는 “데브섹옵스 관행이 유익한 만큼 이를 구현하는 데 어려움이 없는 것은 아니다. 성공적인 구현을 위해서는 문화적 변화에 대한 저항 극복, 팀 기술 향상 등의 문제를 극복해야 한다”고 했다. 그 결과 “장애물이 극복되면 회사는 더 높은 품질의 소프트웨어, 더 빠른 개발 및 릴리스 주기, 더 안전한 제품을 통해 큰 이점을 누릴 수 있다”고 확신했다.
