블로그

시프트 레프트만으로는 부족합니다: 소프트웨어 보안의 탁월함을 위한 핵심은 '스타팅 레프트'입니다

March 25, 2020
피터 단히욱
분홍색 분필로 'START HERE'라고 적힌 상자 그림 옆 보도 위에 검은색 운동화를 신은 발이 서 있는 모습.

디지털 중심의 세상에서 우리는 데이터 도난이라는 점점 더 커지는 위험에 노출되어 있습니다. 거대 조직들이 우리의 소중한 정보를 관리하는 문지기 역할을 하면서, 많은 이들이 엄격한 보안 표준을 도입해야 할 필요성을 인식하고 있습니다.

"시프트 레프트(Shifting Left)", 즉 개발 프로세스 초기 단계에 보안을 도입하려는 많은 노력은 실질적인 변화를 이끌어내기에 충분하지 않습니다. 이는 우리가 여전히 잘못된 방식으로 프로세스를 시작하고 있으며, 결국 더 안전한 소프트웨어를 만들기 위해 뒤로 돌아가고 있다는 것을 암시합니다. 우리는 '스타트 레프트(Start Left)'를 실천해야 합니다. 개발 팀이 적극적으로 참여하고 현재 부족한 지식을 갖출 수 있도록 문화적 변화를 이끌어내야 합니다. 하지만 모든 교육과 도구가 동일한 효과를 내는 것은 아닙니다.

이 글에서는 보안 인식 관리자나 개발 관리자와 같은 핵심 리더들이 어떻게 개발자들을 진정으로 역량 강화하여, 비용이 많이 드는 사이버 공격을 막아내는 최전선 방어군으로 변화시킬 수 있는지 살펴봅니다.

시프트 레프트(Shift left)와 스타트 레프트(Start left): 중요한 차이점.

세계에서 가장 신뢰받는 조직들조차 빈번한 데이터 유출 사고를 겪는 시대에, 기업 리더들은 성공적인 공격으로 인한 재정적, 평판적 손실과 치명적인 재앙을 피하기 위한 지침을 보안 업계에 요구해 왔습니다.

꽤 오랫동안 저를 포함한 애플리케이션 보안(AppSec) 전문가들은 "시프트 레프트"를 실천해야 한다고 조언해 왔습니다. 데브옵스(DevOps) 모범 사례를 따르고 더 나은 소프트웨어 보안 결과를 얻기 위해, 우리 중 다수는 소프트웨어 빌드의 보안 단계가 소프트웨어 개발 수명 주기(SDLC)에서 더 빨리 이루어져야 한다고 조언했습니다. 보안은 마지막에 수행되는 비용 많이 드는 단계가 되어서는 안 되며, 소프트웨어 프로젝트가 시작될 때부터 AppSec 팀이 참여하여 프로세스의 시작 단계에 더 가깝게 이동해야 합니다.

이것은 나쁜 조언이 아니며, 확실히 기존 방식보다는 낫습니다(이미 유출된 방대한 데이터와 이를 탈취하는 데 사용된 취약점들의 연식을 보면 기존 방식이 효과가 없다는 것은 자명합니다). 하지만 우리가 실제로 스타트 레프트(Start left)를 실천한다면, 보안 결과는 훨씬 더 긍정적일 것입니다.

시프트 레프트와 스타트 레프트... 무엇이 다를까요? 그 차이는 개발 팀을 어떻게 참여시키느냐에 있습니다. 진정으로 개발 팀은 나중에 수행되는 툴체인이나 수동 코드 검토보다 훨씬 저렴한 비용으로 더 안전한 소프트웨어를 제공하는 핵심입니다. 이상적인 세상이라면 소프트웨어를 작성하는 모든 개발자가 처음부터 안전하게 코딩할 수 있는 지식과 도구를 갖추고 있을 것입니다. 그들은 잠재적인 결함을 발견하고 코드가 커밋되기 전에 이를 완화할 것입니다(커밋된 후에는 수정 비용이 훨씬 많이 듭니다). 수십 년간 우리가 보아온 보안 버그, 즉 공격자들이 뒷문으로 침입하게 만드는 버그들이 획기적으로 줄어들 것입니다. SQL 인젝션, 크로스 사이트 스크립팅, 인증 오류와 같은 공격 기회들이 사라질 것입니다.여전히 공격자들에게 뒷문을 열어주는 원인이 되고 있습니다. SQL 인젝션, 크로스 사이트 스크립팅, 인증 오류와 같은 공격 기회들이 사라질 것입니다.

하지만 현재 직업 교육 수준에서 보안에 대한 강조는 충분하지 않으며, 현장에서의 보안 코딩 교육도 천차만별입니다. 결과적으로 개발자들은 조직이 '스타트 레프트'를 실천할 수 있게 하는 데 필요한 것을 거의 갖추지 못하고 있습니다. 이제 리더십 위치에 있는 사람들이 협력하여 더 폭넓은 보안 인식을 옹호해야 할 때입니다. 개발자들과 직접 소통하고 지식을 공유하는 것은 효과적인 프로그램을 추진하는 데 필수적입니다. 결국 개발 관리자들도 한때는 같은 위치에서 도구를 다루며 보안 영역을 탐색하는 데 어려움을 겪었던 경험이 있기 때문입니다.

개발자들은 아직 보안을 좋아하지 않습니다... 하지만 대화의 방식을 바꿀 수는 있습니다.

잘 아시겠지만, 일반적인 개발자에게 "보안"이라는 단어를 꺼내면 대개 눈을 굴리거나 당황해하기 일쑤입니다. 일반적으로 보안은 '남의 문제'로 치부됩니다.

개발자의 주된 책임은 기능적이고 혁신적인 기능으로 가득 차 있으며, 촉박한 프로젝트 일정 내에 제공되는 소프트웨어를 만드는 것입니다. 코딩 수준에서 보안은 우선순위가 되는 경우가 거의 없으며, 오히려 빠른 배포와 창의적인 작업을 방해하는 성가신 요소로 보일 수 있습니다. AppSec 팀은 코드를 꼼꼼히 검사하고 모의 해킹을 수행한 뒤 나쁜 소식을 보고하는 역할을 합니다. 이미 커밋되어 잘 작동하고 있는 코드에서 보안 취약점을 찾아내는 것이죠. 이는 자원과 시간이 부족한 환경에서 매우 비용이 많이 드는 과정이며, 결국 같은 목표를 가지고 있지만 서로 다른 언어를 사용하는 두 팀 사이에 갈등을 유발하기 마련입니다.

이런 상황에서 의무적인 보안 교육에 대한 반응은 차가울 수밖에 없습니다. 하지만 모든 개발자에게 보안 마인드를 심어주는 것은 불가능한 꿈이 아닙니다. 올바른 교육과 지원이 있다면, 그들은 소프트웨어에 보안을 내재화하고 스스로 제어할 수 있는 보안 결과에 대해 책임을 지기 시작할 것입니다. 개발자들이 일반적인 버그를 스스로 처리할 수 있게 되면, 값비싼 전문가들은 정말 복잡한 문제를 해결하는 데 집중할 수 있습니다. 개발 팀을 관리하는 위치에 있다면, 이 간극을 메우고 팀이 보안의 이점을 이해하도록 돕는 데 중요한 역할을 할 수 있습니다.

모든 교육이 다 같은 것은 아닙니다.

새로운 것을 배우면서 정말 즐거웠던 적이 언제인가요? 그때를 떠올려 보면 "의무", "규정 준수", "17시간짜리 영상" 같은 단어들은 아마 생각나지 않을 것입니다.

개발자들도 마찬가지입니다. 그들은 똑똑하고 창의적이며 문제 해결을 좋아합니다. 보안 취약점에 관한 끝없는 영상을 보는 것이 그들의 흥미를 유발하거나, 내용을 기억하게 하거나, 일상적인 역할과 책임에 구체적인 도움이 될 가능성은 매우 낮습니다. SANS 강사로 일하면서 저는 최고의 교육은 실습 위주이며, 참가자들이 실제 사례를 사용하여 지적으로 도전하고 분석하게 하며, 이전 학습을 바탕으로 뇌를 자극하는 교육이라는 것을 일찍이 깨달았습니다. 게임화와 친선 경쟁 또한 새로운 개념을 모두가 받아들이게 하면서도 실무에서 유용하고 실용적으로 활용할 수 있게 하는 강력한 도구입니다.

또 다른 무서운 점은 많은 보안 교육이 모니터링되지 않는다는 것입니다. 누군가 자신을 감시하고 있다는 느낌을 좋아하는 사람은 없지만, 교육이 관련성이 있는지 확인하는 사람도 없이 시간과 돈, 노력을 쏟는 것이 무슨 의미가 있을까요?

올바른 솔루션은 보안 코딩을 재미있고, 관련성 있으며, 참여를 유도하고, 측정 가능하게 만들 수 있습니다. 개발자들에게 도전 과제를 주고, 그들을 존중하며, 특별한 이벤트로 만드세요. 게임화된 교육은 뇌의 보상 체계를 자극합니다. 학습을 지속하고 지식의 경계를 넓히며, 더 높은 수준의 소프트웨어를 구축하도록 인센티브를 제공하는 것은 모두에게 이득이 되는 윈윈 전략입니다.

보안 문화 건강 검진: 당신의 조직은 인공호흡기에 의존하고 있지는 않나요?t?

보안 문화가 척박한 환경에서 안전한 소프트웨어를 만드는 것은 발목에 바위를 매달고 마라톤을 완주하려는 것과 같습니다. 사실상 불가능하며 불필요하게 어려운 일입니다.

게임화된 교육, 일대일 토너먼트, 그리고 개발자의 보안 역량 성장을 돕기 위한 노력은 긍정적인 보안 문화를 조성하는 데 큰 도움이 되며, 앱 보안(AppSec) 팀과 개발 팀이 서로의 일상적인 업무를 훨씬 더 깊이 이해하게 해줍니다. 이를 통해 더 나은 협력 관계가 형성되고, 사소하고 성가신 버그를 반복해서 수정하느라 보안 예산을 낭비하는 '반복되는 악순환'을 끊어낼 수 있습니다.

또 다른 강력한 부수 효과는 미처 몰랐던 보안 챔피언을 발굴할 수 있다는 점입니다. 모두가 참여하는 체계적인 교육과 철저한 평가를 통해 보안에 대한 적성뿐만 아니라 열정까지 갖춘 인재를 찾아낼 수 있습니다. 이러한 챔피언은 팀 간의 소통 창구 역할을 하며 동료를 이끌고 모범 사례를 준수하도록 독려하여 보안의 흐름을 유지하는 데 핵심적인 역할을 합니다. 인정과 경영진의 지원이 뒷받침되는 탄탄한 챔피언 프로그램을 운영하는 것은 조직의 큰 성과일 뿐만 아니라, 개인의 경력에도 큰 도움이 됩니다.

긍정적인 보안 문화를 구축하면 책임이 공유되며, 더 높은 수준의 소프트웨어 보안을 달성할 수 있습니다. 결국 소프트웨어 개발 수명 주기에 참여하는 모든 사람은 '보안이 확보되지 않은 소프트웨어는 좋은 소프트웨어가 아니다'라는 간단한 원칙을 반드시 지켜야 합니다.

널리 알려주세요.

태그라인

배포 전 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 기반 개발 보안 확보

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

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