GitHub는 내장된 CI/CD 툴로써 추가된 GitHub Action을 사용하여 더욱 완성된 개발 플랫폼으로 발전하고 있습니다.
그런데 GitHub Advanced Security를 사용해 GitHub Enterprise에서 기본으로 DevSecOps를 실행할 수 있다는 사실을 아시나요?
오늘은 OWASP DevSecOps Maturity Model (DSOMM)을 알아보고 여러분이 개발자 워크플로우 내에서의 software composition analysis (SCA), static application security testing (SAST), dynamic application security testing (DAST)와 GitHub의 secret scanning을 이용해 보안 성숙도 레벨 1을 달성하는 방법을 알려드리겠습니다!
그럼 바로 시작할까요?
DSOMM(DevSecOps Maturity Model)은 OWASP에서 만든 DevOps 전략을 세울 때 적용할 수 있는 애플리케이션
보안 방법과 이 방법의 우선순위를 어떻게 정하는지를 알려주는 DSOMM의 프레임워크입니다.
DSOMM은 DevOps에 빌드된 DevSecOps 성숙도에 따라 4가지 레벨로 나누어지며 그 평가 기준은 아래와 같습니다.
DSOMM의 주요 평가 기준
-
정적 코드 분석(Static depth): AppSec CI 파이프라인 내에서 수행하는 정적 코드 분석의 깊이
-
동적 코드 분석(Dynamic depth): AppSec CI 파이프라인 내에서 실행되는 동적 코드 분석의 깊이
-
강도(Intensity): AppSec CI 파이프라인에서 수행되는 보안 코드의 빈도
-
병합(Consolidation): 결과 및 프로세스 완성도 처리를 위한 교정 워크플로우
DSOMM은 위에서 말했듯이 4단계의 성숙도 레벨을 갖고 있습니다.
세부 보안 요건을 충족하면 성숙도 레벨이 올라갑니다. 그럼 오늘의 목표인 1단계의 충족 조건을 먼저 살펴볼까요?
단순 스캔(Scannig)은 한 주 또는 한 달에 한 번 기본 브랜치에서 실행되며 처음에 보고가 분리될 수 있지만,
레벨 2에서 통합되므로 걱정하지 마세요.
그 밖의 DSOMM 레벨 1의 주요 요구사항
-
스캔(Scannig) 결과에 따라 빌드의 성공 여부를 결정하지 마세요. 레벨 1에서는 오탐이 발생할 수 있습니다.
-
툴 구축 및 관련 지식을 더 넓은 범위의 엔지니어 팀으로 이전하여 작은 것부터 시작하세요. 팀들이 툴을 실행하고
결과를 분석하는 전문 지식을 갖추는 것이 중요합니다. -
사용중인 툴이 개발자에게 즉시 피드백을 주도록 설정하여 가능한 한 빨리 SDLC에서 해당 이슈를 해결할 수 있도록 하세요. 툴과 sprint cycle를 통한 작업 컨텍스트 전환을 관리하는 개발자의 시간과 사고 과정을 줄일 수 있습니다.
몇 가지의 모범 사례와 DSOMM의 성숙도 평가 기준에 대해 알았으면 Advanced Security와 함께 툴을 구축해 보세요. GitHub에서는 DSOMM 레벨1에 도달할 수 있는 기본 기능을 쉽게 사용할 수 있습니다. 또한 기존의 툴과 구성을
변경하지 않고 SCA, SAST 그리고 secret scanning 기능을 활성화할 수 있으며 DAST 툴을 실행하도록 기본 설정할 수 있습니다.
DSOMM을 사용하는 방법을 배우고 싶으신 분들은 GitHub Demo Day 라이브스트림에서 확인해 주세요!
사용자 환경에서 이 세션을 진행하시려면 여러분의 조직에서 Advanced Security 기능을 활성화해야 합니다.
[구현 방법]
-
DevSecOps 자동화와 방법론
-
Dependabot 그래프, Dependabot 알람과 SCA 보안 업데이트
-
SAST 코드 스캐닝
-
개인 저장소 Secret scanning
-
lDAST 사용을 위한 오픈소스 OWASP ZAP 스캔
여러분들의 팀이 DSOMM 레벨 1을 달성하면 6개월에서 12개월 이내에 레벨 2의 성숙도를 달성할 수 있습니다.
모두 지금 당장 시작하세요!
더 궁금한 점이 있으시면 아래 댓글을 남겨주시거나 단군소프트(GitHub@tangunsoft.com)으로 연락해 주세요!
감사합니다.
이 게시물은 Kevin Alwell의 Achiving DevSecOps를 번역한 글입니다.
'GitHub News' 카테고리의 다른 글
Ruby 2.7로 업그레이드된 GitHub! (0) | 2020.09.18 |
---|---|
GitHub 기본 사용법 Webinar 4강 -Pull Request- (0) | 2020.09.11 |
포스트 코로나 시대에서의 게임 진흥을 위한 대처 방안_2편 (0) | 2020.08.27 |
포스트 코로나 시대에서의 게임 진흥을 위한 대처방안_GitHub (0) | 2020.08.26 |
다시 찾아온 리모트 워크 시리즈 -영업 지원팀 편- (0) | 2020.08.21 |