보안 개발은 앱 보안의 면역 체계가 되어야 합니다

애플리케이션 보안 전문가로서 귀하의 업무는 조직 애플리케이션의 사이버 안전을 보장하는 것입니다. 하지만 애플리케이션이 구동되는 코드를 직접 작성하는 것은 귀하의 책임이 아닙니다. 이는 개발 팀 내 엔지니어들의 몫이죠. 그렇다면 개발자들이 보안을 염두에 두고 시스템을 개발하도록 하려면 어떻게 해야 할까요?
아마도 귀하는 다음과 같은 작업 중 일부 또는 전부를 수행하고 계실 것입니다.
- 모든 코드의 보안 결함을 검토하고 개발 팀에 수정하도록 보고합니다.
- 보안 개발 수명 주기 전반에 걸쳐 엄격한 동료 검토 프로세스를 시행합니다.
- 내부 또는 외부 보안 팀을 통해 정기적인 애플리케이션 평가 및 모의 해킹을 수행합니다.
- 취약점을 찾아내기 위한 스캔 도구를 구현합니다.
이러한 방법들은 훌륭한 모범 사례이지만, 비용이 많이 들 뿐만 아니라 아플 때마다 항생제를 복용하는 것과 비슷합니다. 이는 높은 비용을 초래할 뿐만 아니라 시간이 지남에 따라 효과가 떨어지고 면역 체계를 약화시킬 수 있습니다.
개발자가 배포하는 코드가 애초부터 안전하게 작성되도록 하려면 어떻게 해야 할까요?
보안 코딩은 차치하고, 우선 사람들이 어떻게 학습하는지 생각해 봅시다. 우리 대부분은 시각적 학습자이며 직접 해보면서 배웁니다. 하지만 보안 코드 교육은 종종 '형식적인' 활동으로 제공되며 개발자의 일상 업무와는 동떨어져 있습니다. 이는 개발자가 보안 교육을 이수했음을 증명하여 업계 표준을 준수하기 위한 것일 뿐, 개발자가 실제로 지식을 습득하거나 학습 과정을 즐기도록 설계된 것이 아닙니다.
인간이 학습하는 또 다른 방식은 우리 면역 체계와 마찬가지로 실수를 통해서입니다. T세포는 과거에 어떤 병원균을 만나 성공적으로 퇴치했는지 기억하여 미래의 위협으로부터 우리를 보호합니다. 이것이 바로 귀하의 보안 SDLC에서 개발자가 수행해야 할 역할입니다.
개발자가 실수를 하지 않기를 기대하는 것은 비현실적이지만, 미래에 보안 취약점으로 이어질 수 있는 코딩 패턴을 인식할 수 있도록 준비시킬 수는 있습니다.
이것이 바로 강력한 동료 검토 프로세스가 중요한 이유입니다. 한 명의 개발자가 보안 결함을 발견하지 못했다고 해서 다른 개발자도 발견하지 못하라는 법은 없습니다. 개발 팀 전체의 교육 수준이 높을수록 취약점이 프로덕션 단계에 도달하기 전에 차단될 가능성이 커집니다.
소프트웨어 취약점은 병원균과 같습니다
소프트웨어 취약점은 병원균과 마찬가지로, 퇴치하기 위해서는 그 존재를 기억해야 합니다. 병원균의 경우, 심각한 질병을 예방하기 위해 우리 면역 체계는 퇴치 방법을 기억할 때까지 여러 번 노출되어야 하는 경우가 많습니다.
취약한 소프트웨어로 인한 성공적인 사이버 공격은 조직을 심각하게 마비시키거나 파괴할 수 있습니다. 하지만 개발자가 통제된 환경에서 소프트웨어 취약점을 먼저 접하게 되면, 보안 코딩 지식과 기술을 정기적으로 향상하고 연습함으로써 위협에 대한 면역력을 키울 수 있습니다.
통제된 환경에서 개발자에게 보안 결함을 노출하세요
우리는 질병으로부터 완전히 자유로울 수는 없지만, 면역 체계를 강화하고 건강을 유지하기 위해 할 수 있는 일들이 있습니다. 규칙적인 운동, 건강한 식단, 충분한 수면은 강력한 면역 체계와 관련된 대표적인 생활 습관입니다. 하지만 이 모든 것은 약간의 노력이 필요하며 지속적이어야 합니다. 일주일 동안 매일 조깅을 하거나 한 달 동안 금주를 하는 것만으로는 전반적인 건강에 큰 변화를 주지 못합니다. 또한 달리기를 시작하는 첫날부터 10km를 뛰는 것은 권장되지 않습니다. 먼저 심장과 근육을 운동에 적응시켜야 합니다. 또한 우리 몸에 맞는 균형 잡힌 식단과 즐길 수 있는 운동을 찾기까지는 어느 정도의 시행착오가 필요하다는 것도 알고 있습니다.
안전한 소프트웨어 개발도 이와 다르지 않습니다. 학습은 시간과 연습을 통해 이루어지며, 개발자에게도 보안 코딩 기술을 정기적으로 향상하기 위한 지속적인 교육이 필요합니다. 더구나 소프트웨어 개발은 끊임없이 진화하고 적응하며, 이는 취약점 또한 마찬가지라는 것을 의미합니다. 그렇기 때문에 단순한 교육 과정만으로는 충분하지 않습니다. 개발자는 잠재적인 위협을 충분히 파악하고 이를 방어할 수 있는 역량을 갖추기 위해 정기적인 기술 향상이 필요합니다.
개발 팀 내 집단 면역 달성을 목표로 하세요
한 사람이 모든 보안 문제를 예방할 수는 없습니다. 팀 내에 보안 챔피언을 두는 것도 좋지만, 최상의 보호를 위해서는 보안 취약점과 예방 방법을 아는 사람이 많을수록 조직이 위협을 방어할 확률이 높아집니다. 이는 면역 체계가 목적에 따라 다양한 유형의 T세포를 가지고 있는 것과 크게 다르지 않습니다. 모든 개발자는 보안을 책임지는 팀의 일원입니다. 개발자들이 책임을 다하고, 이를 잘 수행하며, 심지어 즐길 수 있도록 권한을 부여한다면, 결과적으로 개발 팀 내에 사이버 위협에 대한 집단 면역을 형성할 수 있습니다.

반복적인 학습으로 보안을 최우선으로 유지하세요
우리 뇌는 면역 체계와 비슷한 방식으로 학습합니다. 독일의 심리학자 헤르만 에빙하우스는 기억과 학습 분야의 선구자였습니다. 그는 학습이 시간을 두고 여러 번의 세션을 통해 이루어져야 한다고 결론지었습니다. 학교에서 우리는 처음 접한 지식을 바로 완벽히 습득하라는 요구를 받지 않습니다. 먼저 정보를 배우고, 지도를 받으며 연습한 뒤, 스스로 연습하는 과정을 거칩니다. 시험을 통과할 정도로 잘 배웠더라도, 시간과 노력을 들여 배운 지식을 정기적으로 사용하지 않으면 금방 잊어버리기 마련입니다. 고등학교 때 배운 외국어를 아직도 기억하는 사람이 얼마나 될까요?
그렇다면 단 하루 동안 슬라이드를 보고 보안에 관한 강의를 듣는 것만으로 개발자들이 더 안전한 코드를 작성하게 될 것이라고 어떻게 믿을 수 있을까요?
반복되는 취약점 패턴은 이러한 방식이 효과가 없음을 보여줍니다.
어떻게 보안 개발 면역력을 갖출 수 있을까요?
해답은 우리의 본성에 있습니다. 우리의 몸과 마음은 같은 방식으로 작동하며, 우리가 이를 거스르지 않고 활용한다면 문제에 대한 훌륭한 해결책을 제시해 줍니다.
애플리케이션 보안을 보장하려면 개발자가 안전한 코드를 작성할 수 있도록 역량을 강화하는 것부터 시작해야 합니다. 그렇지 않으면 보안 팀은 계속해서 모든 코드의 보안 결함을 검토하고 동일한 취약점을 개발 팀에 보고하는 일을 반복하게 될 것입니다. 개발 팀은 배운 것 없이 급하게 수정만 하고, 다음 릴리스에서 똑같은 과정을 되풀이하게 되겠죠.
다시 한번 강조하겠습니다.

개발 관리자와 협력하여 이를 실천한다면, 안전한 SDLC를 구현하고 규정 준수를 위한 보안 교육 요건을 충족할 뿐만 아니라 개발 프로세스에 실질적인 변화를 가져올 수 있습니다. 더 나아가 보안 팀은 반복되는 취약점을 발견하고 보고하는 수고를 덜게 되며, 개발자는 수정에 들이는 시간을 줄일 수 있습니다. 결과적으로 개발자들은 세상을 더 나은 곳으로 만드는 멋진 소프트웨어를 개발하고 개선하는 데 더 많은 시간을 할애할 수 있게 됩니다.
개발 팀의 역량을 강화할 준비가 되셨나요? 지금 바로 데모를 예약하세요.
배포 전 AI 기반 개발 거버넌스 확보
AI 기반 위험을 측정하고, 커밋 시점에 보안 코딩 정책을 적용하며, SDLC 전반에 걸쳐 안전한 소프트웨어 제공 속도를 높이세요.
더 많은 블로그 살펴보기
보안 코딩, AI 거버넌스, 소프트웨어 리스크 관리에 관한 전문가 콘텐츠를 확인해 보세요.
%252520%252520(3).avif)
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.

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
배포 전 AI 기반 개발 보안 확보
소프트웨어 개발 수명 주기 전반에서 개발자 리스크를 파악하고, 정책을 시행하며, 취약점을 예방하세요.



.avif)