배경 는 5조 3,000억 달러의 자산과 1,850만 개 이상의 투자자 계정을 보유한 상장 핀테크 회사입니다. En베스트넷의 사명은 혁신적인 기술, 솔루션 및 인텔리전스를 통해 어드바이저와 금융 서비스 제공업체에 권한을 부여하여 모든 사람이 금융 복지를 실현할 수 있도록 하는 것입니다. En베스트넷은 전 세계 자산 관리 분야에서 재무 고문이 사용하는 서비스와 소프트웨어를 통합하는 주력 자문 플랫폼을 통해 자산 관리 기술 분야의 시장 선도업체 중 하나로 자리 잡았습니다.
En베스트넷은 데이터 관리 모범 사례를 위해 지속적인 위험 기반 규정 준수 조치를 통해 자산 관리 플랫폼을 지속적으로 모니터링하여 규정 준수 문제나 잠재적 장애를 신속하게 식별하고 해결합니다. En베스트넷은 서비스 제공에 세계 최고 수준의 보안 조치를 도입하여 고객의 데이터를 보호하는 데 앞장서고 있습니다.
En베스트넷의 제품 보안 책임자이자 "애플리케이션 보안 핸드북 "의 저자인 Derek Fisher가 어떻게 Secure Code Warrior 와 협력하여 개발자 팀의 민첩한 보안 코드 사용을 통해 취약성을 줄이기 위한 총체적인 접근 방식을 개발했는지 알아보세요. 10년 넘게 애플리케이션 보안 분야에서 일하면서 수많은 보안 성공과 실패를 직접 목격했으며, En베스트넷에서 개발자를 위한 안전한 코드 학습 환경을 개발하는 데 있어 독보적인 전문성을 발휘하고 있습니다.
상황 데릭이 애플리케이션 보안 부서에 처음 부임했을 때, 그는 OWASP 상위 10개 항목과 기본적인 규정 준수 교육을 넘어서고 싶었습니다. 보안 SDLC 프로세스가 일부 있었지만 주로 취약점을 찾는 데 중점을 두었을 뿐, 취약점을 원천적으로 해결하지는 못했습니다.
"우리는 어느 조직에서나 매년 받는 규정 준수 교육에 대해 꽤 잘 알고 있습니다. 보통 제가 '파워포인트로 죽이는 교육'이라고 부르는데, 슬라이드가 잔뜩 나열되고 마지막에 assessment 이라는 링크가 붙는 등 정말 비효율적이고 시간만 낭비하는 교육이죠. 교육을 받았지만, 슬라이드와 오디오 녹음을 기반으로 한 보안 관련 교육에 기반한 일반적인 규정 준수 교육이었습니다. 개발자들이 자료를 통해 그다지 몰입하고 배우지 않는다는 것을 알게 되었고, 전략을 바꿔야 했습니다."
수동적인 OWASP 중심의 규정 준수 교육을 통해 개발자를 단순히 교육하는 기존의 전략은 교육 효과를 측정할 수 없었기 때문에 데릭과 그의 팀에게 특히 고통스러웠고, 그 대신 취약성 관리에 점점 더 많은 시간을 할애해야 하는 상황에 직면했습니다.
데릭은 개발자가 프로덕션 환경에 배포하는 안전하지 않은 코드인 취약점의 원인을 살펴보는 것이 중요하며, 단순히 더 많은 도구를 투입하는 것이 해결책이 될 수 없다는 것을 깨달았습니다.
대신, Derek과 그의 팀은 2020년에 처음부터 더 안전한 코드를 작성하는 것을 목표로 취약성 완화로 초점을 전환했습니다. Derek과 그의 팀은 "왼쪽으로 이동" 전략을 채택하여 취약점을 수정하는 데 훨씬 적은 비용이 드는 SDLC 초기에 취약점을 해결하고 수정했습니다.
하지만 먼저 기존 앱 교육에 대한 개발자의 참여도가 역사적으로 낮다는 문제를 해결해야 했습니다. 그는 보안 코드 학습 전략에 '체크박스' 방식을 도입하는 것을 지양하고 En베스트넷의 개발자들에게 보다 효과적이고 민첩한 보안 코드 학습 경험을 제공하고자 했습니다.
"SCW와 이 솔루션의 기능을 보고 나니 보다 실습적이고 상호 작용적인 접근 방식이 우리에게 적합하다는 것을 알았습니다. 저는 엔지니어와 개발자가 실제 문제가 무엇인지에 대한 더 많은 실무 지식을 가지고 교육을 마치고 돌아갈 수 있기를 바랐습니다. '이전에 교육에서 본 적이 있는 코딩 문제에 어떻게 접근해야 하는지 알고 있다'는 근육 기억을 쌓고 싶었습니다. Secure Code Warrior 플랫폼을 통해 엔지니어와 개발자가 좋은 보안 코딩 관행이 무엇인지, 나쁜 관행이 무엇인지, 취약점을 신속하게 해결하는 방법을 실제로 이해할 수 있는 환경을 제공할 수 있었습니다." Derek Fisher, Envestnet의 제품 보안 책임자액션 Derek은 특히 보안 코드 업 스킬을 인증으로 보상하는 벨트 전략을 구현하고자 했습니다. 4단계로 구성된 이 프로그램은 보안 인식의 기초를 다지는 데 초점을 맞춘 다음(레벨 1, 2), 개발자가 보안 챔피언(레벨 3, 4)이 될 수 있는 길을 열어주는 것이었습니다. 이를 통해 개발자가 보안 코드 개념을 어떻게 유지하고 있는지 측정할 수 없는 문제를 해결하는 동시에 보안에 대한 인식이 있는 개발자가 더 복잡한 보안 과제를 통해 기술을 발전시킬 수 있는 커리어 경로를 확보할 수 있게 되었습니다.
소규모 파일럿으로 테스트하고 참여한 개발자들에게 피드백을 요청했습니다. 피드백은 매우 긍정적이었습니다. 데릭은 다음과 같이 언급했습니다,
"교육에 대한 긍정적인 피드백을 받는다는 것은 아무리 강조해도 지나치지 않을 정도로 이례적인 일입니다. 이는 이 도구가 올바른 도구라는 좋은 지표입니다." En베스트넷은 2021년 봄에 첫 번째 tournament 를 개최하여 개발자 참여 측면에서 긍정적인 결과를 얻었습니다. 그 후 Derek은 DB, 프론트엔드, API 및 클라우드 개발자를 위해 LMS에 통합된 courses 시리즈를 출시했습니다. 2021년 가을에 En베스트넷이 두 번째 tournament 를 개최했을 때는 참여 개발자 수가 두 배로 증가했습니다.
데릭에 따르면 En베스트넷은 tournaments 을 통해 다음과 같은 이유로 큰 호응을 얻었습니다,
"우리 모두 경쟁이 동기 부여라는 것을 알고 있습니다. 우리 모두는 동료들이 우리가 특정 분야에서 얼마나 잘하고 있는지 인정받기를 원하며, 이는 사람들이 해당 분야에 참여하고 잘할 수 있도록 동기를 부여합니다 tournaments. 개발 도구와의 통합을 통해 Secure Code Warrior 의 가치를 확인할 수 있었습니다." Derek과 팀은 또한 특정 취약성이 반복적으로 발생할 때 개발자가 익숙한 환경을 벗어나지 않고도 Jira 티켓 내에서 바로 즉각적인 해결 조언에 액세스할 수 있도록 Secure Code Warrior 을 Jira와 통합하기 위해 노력했습니다. 이를 통해 개발자는 해당 취약점을 해결하는 방법에 대한 귀중한 컨텍스트는 물론, 필요한 시점과 영향이 있는 지점에서 즉각적인 온디맨드 교육을 받을 수 있었습니다. 또한 Derek의 팀은 Secure Code Warrior 와 협력하여 보안의 날 행사를 후원함으로써 CEO의 폭넓은 지지를 이끌어내고 엔지니어링과 보안이 En베스트넷의 성공에 있어 얼마나 중요한 역할을 하는지 다시 한 번 강조했습니다. 이러한 경영진과 개발자의 지지를 바탕으로 Envestnet은 프로그램을 현재의 규모로 확장할 수 있었습니다. 현재 Envestnet은 확인된 모든 보안 챔피언을 프로그램에 등록했으며 전체 팀의 60%가 레벨 1 또는 2 인증을 완료했습니다.
결과 En베스트넷이 성공을 측정하는 한 가지 방법은 SCW 학습 경험을 거친 팀을 살펴보고 취약점 발생이 줄어들고 취약점을 더 빨리 수정하는지 측정하는 것이었습니다. 그 결과는 인상적이었습니다:
SCW 교육을 받은 개발자가 그렇지 않은 개발자보다 2.7배 더 많은 취약점을 수정했습니다. SCW 교육을 받은 100명의 개발자가 단기간에 450개의 취약점을 수정했습니다. SCW 교육을 받은 1,200명의 개발자를 통해 En베스트넷은 각 대기열에서 치료율을 120% 향상시킬 수 있었습니다. 두 제품 라인에서 1년 동안 SCW 교육을 받은 개발자는 개발자당 4.5건의 취약점 이슈를 해결한 반면, 그렇지 않은 개발자는 개발자당 1.82건의 취약점만 해결했습니다. 모든 보안 챔피언은 2022년에 인증 프로그램을 거쳤습니다. 보안 인식 개발자의 60%가 레벨 1, 2를 통과했습니다.
주요 내용 데릭은 보안 코드 학습을 시작하는 분들을 위해 다음과 같은 조언을 제공합니다:
"보안 분야에서 우리의 임무는 조직의 위험을 줄이는 것입니다. 이것이 우리의 진정한 목표이며 우리가 항상 추구하는 바입니다. 중대한 취약점은 조직에 가장 큰 위험이나 가장 큰 영향을 미치는 것이 아닐 수도 있습니다. 중간, 낮은, 높은 취약점이 서로 연결되어 훨씬 더 큰 영향을 미치는 사슬을 만들 수 있습니다. 시간이 지남에 따라 누적되는 취약성이 많을수록 더 많은 위험이 발생하게 됩니다. Secure Code Warrior 를 사용하면 민첩한 보안 코드 학습을 통해 잠재적인 취약성 연쇄를 완화하기 위한 사전 예방적 접근 방식을 취할 수 있습니다." 취약점을 테스트하고 보고하는 데만 집중하지 마세요. 이는 결국 개발자에게 잡음을 유발할 뿐입니다. 대신, 앱보안은 개발자의 파트너가 되어야 하며 보안 코드 학습 전략을 구현하기 전에 개발자의 동의를 얻어야 합니다. 로마는 하루아침에 건설되지 않았습니다. 위험 프로필의 변화, 회사의 변화, 기술 및 도구의 변화에 따라 프로그램도 진화해야 합니다. 가장 효과적인 장기 전략은 주변 사람들의 보안 IQ를 높여 생성되는 전체 취약점 수를 줄이는 것입니다.