블로그

개발자 주도 보안으로 기술 부채 완화하기

February 15, 2023
Taylor Broadfoot
어두운 배경에 대각선 빨간색 도형이 배치되어 있고, 그 위에 '개발자 주도 보안으로 기술 부채 완화하기'라는 텍스트가 적혀 있습니다.

부채에 대해 이야기해 봅시다

사이버 범죄가 세계 경제의 주요 문제로 떠올랐다는 사실은 이제 누구나 알고 있습니다. 2022년 기준, 미국에서 데이터 유출로 인한 평균 피해액은 944만 달러로, 전년도의 905만 달러보다 증가했습니다. 보안이 취약한 코드와 그로 인해 누적된 기술 부채의 비용을 간과해서는 안 됩니다. 2022년 CISQ(Consortium for Information and Software Quality)의 '소프트웨어 품질 저하 비용' 보고서에 따르면, 미국 내 소프트웨어 품질 저하로 인한 비용은 2조 4,100억 달러로 증가했으며, 누적된 소프트웨어 기술 부채는 1조 5,200억 달러에 달하는 것으로 추산됩니다.

보안이 취약한 코드와 기술 부채를 해결하기 위한 비용이 급증하면서 기존 코드베이스를 변경하는 데 가장 큰 걸림돌이 되고 있으며, 이로 인해 코드베이스는 외부 위협과 공격에 취약한 상태로 방치되고 있습니다. 현재 소프트웨어 보안은 실존적 위기에 직면해 있습니다. 보안 태세를 개선하고 누적된 기술 부채를 해결해야 한다는 점은 알고 있지만, 그 장벽은 매우 높습니다.

  • 미국 내 소프트웨어 개발자 및 IT 관련 일자리 중 채용되지 않은 자리는 약 30만 개에 달하며, 향후 15%의 성장률이 예상됩니다.
  • 2025년까지 IT 예산의 40%가 단순히 기술 부채를 유지하는 데 사용될 것으로 예측됩니다.
  • 개발자들은 주당 평균 업무 시간의 3분의 1을 기술 부채를 해결하는 데 소비합니다.

임시방편은 위험하며 장기적으로 더 큰 비용을 초래합니다

기술 부채란 무엇이며 왜 중요할까요? 기술 부채는 의사 결정자가 더 포괄적이고 장기적인 해결책 대신 소프트웨어 개발 문제에 대한 단기적인 해결책을 선택할 때 발생합니다. 이는 조직이 나중에 지불해야 하는 상당한 숨은 비용을 동반합니다. 한도까지 꽉 찬 신용카드와 마찬가지로, 기술 부채에는 두 가지 주요 구성 요소가 있습니다.

  • 원금 - 소프트웨어를 원하는 수준의 유지보수성과 보안성을 갖추도록 리팩토링하거나 수정하는 데 드는 총비용을 의미합니다.
  • 이자 - 개발자가 새로운 기능 개발이 아닌, 기술 부채를 해결하기 위해 변경 작업을 수행하는 데 들이는 추가적인 노력을 의미합니다. 불완전한 코드를 수정하는 데 소비되는 모든 시간은 부채에 이자를 더하는 것과 같습니다.
시간이 지남에 따라 기술 부채의 영향이 커지는 방식

새로운 기능 개발, 버그 수정 및 유지보수 비용이 프로젝트 예산을 초과하게 되면 결국 '기술적 파산' 상태에 이를 수 있으며, 이는 소프트웨어 애플리케이션의 가치를 크게 떨어뜨립니다.

하지만 인생의 다른 부채와 마찬가지로, 어느 정도의 부채 누적은 정상이며 대부분의 경우 어느 정도 예상되는 일이기도 합니다.

이상적으로는 모든 소프트웨어 개발자가 코드를 배포하기 전에 버그를 최대한 줄여야 합니다. 그러나 개발자들은 어려운 선택의 기로에 서 있습니다. 경쟁력을 갖추기 위해 조직은 최소한의 비용으로 고객에게 기능이나 제품을 빠르게 제공해야 할 때가 있습니다. 그 결과, 개발자의 KPI가 배포 속도와 초기 구축 비용에 기반을 두게 되어 애플리케이션의 품질이 저하됩니다. 여기서 간과되는 것은 코드에 내재된 누적된 결함과 잠재적인 취약점입니다. 이는 향후 버그나 보안 취약점으로 이어지거나, 더 나아가 악의적인 공격자에게 악용될 위험을 남깁니다.

하지만 여기서 난제가 발생합니다. 엄청난 양의 기술 부채를 쌓지 않고도 제품을 빠르게 출시할 수 있는 다른 방법은 없을까요?

결함과 취약점을 발견하고 수정하는 비용은 소프트웨어 개발 주기에서 가장 큰 단일 비용입니다. 개발 주기 초기 단계에서 문제를 발견할수록 전체적인 배포 비용 효율성이 높아집니다.

기술 부채는 보안 부채로 진화할 수 있습니다

많은 개발자가 이러한 딜레마를 피하기 위해 오픈 소스 코드를 사용하여 빠르게 개발하고, 이미 검증된 솔루션을 활용하려 합니다. 그러나 오픈 소스 소프트웨어에 크게 의존하는 것은 종종 그 자체로 위험을 초래합니다:

  • 오픈 소스 구성 요소의 82%가 최신 상태가 아닌 것으로 확인되었습니다(즉, 패치가 되지 않았거나 지원이 원활하지 않음).
  • 코드베이스의 75%에 취약점이 포함되어 있으며(2018년 60%에서 증가), 49%는 고위험 취약점을 포함하고 있습니다.
  • 코드베이스당 평균 82개의 취약점이 식별되었습니다.

이는 기술 부채의 하위 집합인 보안 부채를 증폭시킵니다. 보안 부채란 소프트웨어 애플리케이션에 취약점이 누적되어 데이터와 시스템을 공격으로부터 보호하기 어렵거나 불가능하게 만드는 상태를 의미합니다.

가장 악명 높은 사례 중 하나는 신용 평가 기업 에퀴팩스(Equifax)입니다. 이 기업은 2017년에 발생한 데이터 유출 사고로 큰 피해를 입었는데, 이는 널리 사용되는 오픈 소스 웹 애플리케이션 프레임워크인 아파치 스트럿츠(Apache Struts)의 알려진 취약점에 대한 패치를 적용하지 않았기 때문입니다. 패치는 이미 수개월 전부터 제공되었으나, 이 사고로 1억 4,700만 명이 넘는 사람들의 중요한 개인 정보가 유출되었습니다.

따라서 많은 애플리케이션이 기술 부채뿐만 아니라 애플리케이션 자체의 보안 약점 및 취약점 밀도 측면에서 임계점에 도달했기 때문에, 보안 코딩 관행에 더 많은 주의를 기울여야 합니다.

이는 유형 또는 무형의 막대한 손실로 이어질 수 있습니다:

평판 손상: 고객 신뢰 상실은 장기적으로 매우 부정적인 영향을 미칠 수 있습니다. 여기에는 브랜드 가치 하락, 매출 감소, 보안 사고로 인한 막대한 법적 문제 등이 포함될 수 있습니다.

규제 및 규정 준수 영향: 보안 사고로 인해 기업이 마감 기한을 놓치거나 계약상의 의무를 이행하지 못할 수 있습니다. 서비스 수준 협약(SLA)을 준수하지 못하면 규제 당국의 제재를 받아 상당한 벌금이 부과될 수 있습니다.

복구 비용: 장애나 중단 사고 이후 생산성 손실을 만회하기 위해 추가적인 작업이 필요한 경우가 많습니다.

SDLC에서 기술 부채 및 보안 부채 예방하기

많은 조직이 이미 더 강력한 보안 태세를 갖추기 위해 예산을 재편하고 있습니다. 작년에 구글은 사이버 보안 강화를 위한 프로그램에 5년간 100억 달러를 투자하겠다고 발표했습니다. 또한 바이든 행정부는 2022년 재량 예산으로 사이버 보안 및 인프라 보안국(CISA)에 21억 달러를 요청했습니다.

개발자의 전문성 성장과 지식 함양을 돕기 위해 더 많은 자원과 교육을 제공하는 것은 프로덕션 환경에 배포되는 모든 코드에 대한 품질 표준을 수립하는 첫걸음이 될 수 있습니다.

취약점이나 결함을 발견하고 수정하는 비용은 소프트웨어 개발 주기의 후반부로 갈수록 기하급수적으로 증가합니다. 앞서 살펴본 바와 같이, 기술 부채와 보안 부채를 해결하는 데 너무 많은 시간을 소비하면 조직은 혁신을 포기하고 새로운 기능이나 제품 개발에 투자할 시간을 잃게 되어 스스로 손실을 초래하게 됩니다.

2022년, 대다수의 개발 팀이 데브옵스(DevOps) 또는 데브섹옵스(DevSecOps)를 선호하는 방법론으로 꼽았으며, 이는 놀라운 일이 아닙니다. 데브섹옵스는 소프트웨어 개발 수명 주기의 모든 단계에 보안을 통합하여 더 우수하고 안전한 애플리케이션을 제공합니다. 보안 팀과 개발 팀은 여전히 사일로(silo) 형태로 일하며 갈등을 겪고 있지만, 비즈니스의 성공을 위해서는 이러한 변화가 필수적입니다. 데브옵스는 조직이 장벽을 허물고 문화를 재편하려는 노력의 일환입니다. 데브섹옵스의 근본적인 목표는 소프트웨어 개발 수명 주기의 초기 단계부터 앱 보안(AppSec) 및 보안 팀과 개발자 간의 협업을 강화하는 것입니다.

Bar chart showing defect cost rising from $139 in requirements to $14,102 in maintenance phase.
출처: 정보 및 소프트웨어 품질 컨소시엄(CISQ): 2022년 미국 소프트웨어 품질 저하 비용 보고서

기술 부채와 보안 문제를 해결하기 위한 새로운 사고방식을 도입하는 것이 거창한 과업일 필요는 없습니다. 조직 내 개발자 커뮤니티의 보안 인식과 기술을 향상시키려면 교육을 통해 선제적인 마인드셋을 확립하는 것이 중요합니다. 개발자를 위한 탄탄한 보안 코딩 교육은 학습이 지속적이고, 상호 작용이 가능하며, 관련성이 높고, 맥락에 맞게 이루어지도록 보장해야 합니다. 진정으로 전체론적인 접근 방식을 취하려면 개발자 주도의 보안 문화를 조성하는 데 무엇이 필요한지 고려해야 합니다. 이는 기존의 개발 팀 관리 및 구축 방식을 바꾸는 것을 의미할 수도 있습니다.

문화 변화를 만드는 것은 쉽지 않지만, Secure Code Warrior는 보안 챔피언을 식별하고 개발자와 조직이 오늘날 끊임없이 변화하는 보안 과제를 해결할 수 있는 올바른 기술을 갖추도록 지원합니다.

참여형의 확장 가능한 보안 코드 프로그램을 시작하는 것은 과거의 사후 대응 방식이 아닌 장기적인 예방적 보안 접근 방식을 취한다는 점에서 가치 있는 투자입니다. 이는 궁극적으로 보안 사고의 비용 위험을 완화하고, 개발자가 취약점을 신속하게 찾아 수정하도록 교육하며, 제품 개발과 시장 출시 속도를 높이는 보다 민첩한 방식을 촉진합니다.

태그라인

배포 전 AI 기반 개발 거버넌스 확보

AI 기반 위험을 측정하고, 커밋 시점에 보안 코딩 정책을 적용하며, SDLC 전반에 걸쳐 안전한 소프트웨어 제공 속도를 높이세요.

데모 예약하기
리소스 라이브러리

더 많은 블로그 살펴보기

보안 코딩, AI 거버넌스, 소프트웨어 리스크 관리에 관한 전문가 콘텐츠를 확인해 보세요.

전체 보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

하나의 보안 문화: Sage는 어떻게 챔피언 프로그램을 구축했는가

Sage가 유연하고 관계 중심적인 접근 방식을 통해 보안을 강화하고, 200명 이상의 보안 챔피언을 양성하며 실질적인 위험 감소를 달성한 사례를 확인해 보세요.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

2026년 사이버 보안 인식의 달: 기업 방어의 핵심, AI 보안 이해하기

주요 AI 기업 대부분이 안전 가이드라인이 마련될 때까지 AI 개발 속도를 전 세계적으로 늦춰야 한다고 공개적으로 촉구하는 시점에 이르렀지만, 사실 심각한 보안 문제는 이미 현실화되었습니다. 이로 인해 AI 도입에 따른 금전적 비용과 위험 부담이 계속 쌓이면서 수많은 보안 책임자와 경영진이 절박한 상황에 놓였습니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

인에이블러 8: 프로그램 브랜딩

성공적인 보안 코딩 프로그램을 위해서는 훌륭한 콘텐츠 그 이상의 것이 필요합니다. 인에이블러 8에서는 브랜딩을 통해 참여를 누구나 선망하는 위상 중심의 경험으로 바꾸는 방법을 알아봅니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

이제 모든 직원이 AI 사이버 보안의 최전선에 있습니다

엔터프라이즈 기술 환경은 너무 늦기 전까지는 아무도 예상하지 못한 속도로 변화하고 있습니다. 우리는 공식적으로 사람이 직접 작성한 코드와 기본적인 코파일럿 지원의 시대를 지나 '에이전트 기반 개발 수명 주기(ADLC)'의 시대로 진입했습니다. 자율형 AI 에이전트는 여러 기능 전반에 걸쳐 전례 없는 효율성을 약속하지만, 동시에 완전히 새로운 차원의 보안 및 규제 위험을 야기합니다.

더 알아보기

배포 전 AI 기반 개발 보안 확보

소프트웨어 개발 수명 주기 전반에서 개발자 리스크를 파악하고, 정책을 시행하며, 취약점을 예방하세요.

데모 예약하기
항목이 없습니다.