Industry Issue

DevSecOps 자동화로 검출된 AppSec 취약점의 효과적인 분류 방법

Software Risk Analysis
작성자
관리자
작성일
2024-03-11 13:31
조회
92

DevSecOps 자동화로 검출된 AppSec 취약점의 효과적인 분류 방법

자동화를 지원하는 Code Dx와 같은 도구는 더 빠른 소프트웨어 개발 제공 케이던스에 대한 해답입니다.


자동화는 안전한 DevOps 또는 DevSecOps 접근 방식의 핵심 구성 요소입니다. 자동화는 조직이 보안 게이트를 설정하는 방법이며 결과의 우선 순위를 지정하고 문제 해결에 대한 대응을 분류하는 데 사용할 수 있습니다. 2022년 Synopsys는 SANS Institute에 안전한 DevOps의 문화적 이상, 사례 및 도구를 중심으로 개발, 보안 및 운영 팀을 구성하여 보안 태세 및 운영 효율성을 개선할 수 있는 방법을 찾도록 요청했습니다.

이 블로그 시리즈에서는 2022년 SANS DevSecOps 설문조사에서 DevSecOps 관행을 구현하면 조직이 개발 속도를 희생하지 않으면서 보안 코딩을 도입하고 보안을 자동화하기 위한 정책과 테스트를 수립하고 분류 및 수정 작업을 하는 사람들을 더 효율적으로 돕기위해 조사했습니다.

이 블로그 게시물에서는 자동화 및 통합을 사용하여 우선 순위 지정 및 분류를 통해 신속한 문제 해결에 대한 SANS 연구에서 얻을 수 있는 교훈을 살펴보겠습니다. 우선 순위 지정은 비즈니스 요구 사항에 중요한 것으로 식별된 취약점을 탐지하기 위해 프론트엔드에서 자동화를 구현하는 것을 의미하는 반면, 분류는 적시에 취약점을 수정할 수 있는 프로젝트 소유자, 개발 엔지니어 또는 보안 담당자에게 경고하기 위해 백엔드에서 자동화를 구현하는 것을 의미합니다.

DevSecOps를 위한 자동화

자동화는 SANS 설문조사의 핵심 주제이며 모든 산업 분야의 응답자들은 전달 주기가 계속 증가함에 따라 자동화의 중요성이 증가하고 있다고 언급했습니다. 보고서 결과에 따르면 응답자의 32%는 시스템 변경 사항을 매일 또는 지속적으로 생산에 적용하고 61%는 일주일에 여러 번 적용한다고 결론내렸습니다. 이것은 매우 빠른 속도로 이동하는 많은 코드이며 SANS 보고서 응답자는 보안 엔지니어에 대한 개발자의 비율이 증가함에 따라 CI/CD 파이프라인에서 보안 테스트를 자동화하는 것이 보안 결함을 유발하는 모든 코드를 평가할 수 있는 유일한 방법이라고 말했습니다.

DevSecOps가 개발 및 비즈니스 속도에 보조를 맞추려면 자동화가 유일한 방법이며, SANS 보고서에서 질문한 응답자의 83.3%는 이러한 요구 사항을 처리하기 위해 자동화를 구축했다고 말했습니다. 그리고 SDLC에서 보안이 계속해서 "왼쪽으로 밀려나기(pushed left)" 때문에 보안 결함을 감지하고 수정하는 책임은 점점 더 개발자에게 넘어갑니다. 이는 개발자가 보안에 점점 더 많은 영향을 미치고 있음을 의미합니다.

조직은 개발자가 이미 사용하고 있는 시스템에 효율적이고 자동화된 워크플로우를 구축해야 합니다. 대부분의 개발자는 이미 이러한 목적으로 사용할 수 있는 발전된 문제 추적 기능을 가지고 있지만 응답자의 30% 이상이 매일 또는 지속적으로 푸시한다고 보고하면 보안팀에서 설정한 AppSec 정책에 따라 보안 문제 감지를 자동화하고 시행해야한다고 답했습니다. 더 좋은 점은 자동화된 워크플로우가 개발자가 코드 작성하는 시간을 포함해서 수정이 필요한 문제에 대해 가능한 한 빨리 개발자에게 알려야 한다는 것입니다. 이미 자동화된 빌드로 작업하고 있는 응답자의 80%에게 정적 분석은 연산 집약적인 활동을 위한 네이티브 파이프라인 또는 병렬 파이프라인에서 규모에 따라 자동으로 실행할 수 있는 매우 효과적인 보안 도구로 남아있습니다.

응답자들은 또한 빌드를 손상 시키거나 오탐 또는 알려진 문제에 대한 "시끄러운" 경고를 보내는 것을 방지하기 위해 알 수 없는 취약점 탐지에 대한 분류 기록이 담긴 저장소가 필요하다고 보고했습니다. 이 분류 기록은 개발자가 코딩할 때 사용하는 도구에서 사용할 수 있어야 합니다.

자동화된 정책은 우선 순위 지정 및 분류의 핵심입니다.

그 핵심에서 자동화된 정책은 프로젝트와 비즈니스에 영향을 미치는 보안 요구 사항, 운영 목표 및 규정 준수 요구 사항을 전달하기 위한 기록 시스템입니다. 정책 설정은 보안팀과 같은 소규모 그룹이 복잡한 보안 문제에 대해 대규모로 C-suite, 프로그램 소유자 또는 개발자와 효과적으로 소통할 수 있는 방법입니다. 이러한 각 팀은 역할이 다르고 문제의 우선 순위를 다르게 지정할 수 있으므로 자동화된 정책을 통해 당사자가 없거나 프로젝트 또는 스프린트에 참여할 수 없는 경우에도 모범 사례를 생성할 수 있습니다. 그런 다음 정책 위반은 프로젝트 또는 워크플로우의 한 측면에 문제가 있음을 이해 관계자에게 전달하여 조치를 취해야 한다고 경고하는 방법이 됩니다.

정책을 코드(policy-as-code)로 자동화하면 보안 엔지니어가 조직에서 관심을 가져야 하는 문제를 정의하고 해결 방법과 시기의 우선 순위를 지정할 수 있습니다. 즉, 문제 수정을 담당하는 개발자가 무엇을 언제 수정할지 파악하느라 시간을 낭비하지 않고 바로 일을 시작할 수 있습니다.

정책 적용을 자동화함으로써 조직은 다음을 수행할 수 있습니다.


  • 애플리케이션의 위험 프로필을 기반으로한 보안 전략 정의
  • 애플리케이션 위험 프로필에 맞는 보안 전략 수정
  • 메트릭 및 KPI를 설정 및 사용하여 지속적인 개선을 구현하고 효율적인 보안 조치 추진
  • 개발팀과 보안팀 간의 피드백 루프 강화

정책 적용 자동화는 사용 중인 모든 테스트 및 도구에서 얻은 인사이트를 관리하는 방법입니다. 인사이트 관리 도구는 결과를 정상화하고 상관 관계를 지정하므로 효율성을 극대화하기 위한 노력의 우선 순위를 지정할 수 있습니다.

자동화된 결과의 물결을 타고

자동화된 테스트에는 많은 자동화된 결과가 따라옵니다. 효과적인 DevSecOps 프로그램을 실행하는 요령은 개발자가 엄청난 양의 결과에 빠져들지 않도록 하는 방법을 찾는 것입니다. 자동화된 테스트 결과를 정렬, 우선 순위 지정 및 분류하는 데 도움이 되는 도구를 사용하면 개발자가 모든 정보를 검색하여 워크플로우 및 파이프라인에 구축한 작업 속도를 최대한 활용할 수 있습니다.

첫 번째 과제는 조직에 적합한 기준에 따라 순위를 매겨 결과의 우선 순위를 지정하는 것입니다. 우선순위 기준에는 다음과 같이 다양한 항목이 포함될 수 있습니다.


  • 표준화된 위험 점수(CVSS 등)
  • 악용 가능성에 대한 예/아니오 게이트
  • 애플리케이션이 방화벽 뒤에 있는지
  • 파일이 개발용으로만 사용되는지 아니면 프로덕션으로 가는지
  • 영향을 받은 애플리케이션을 고객이 직접 사용하고 수익을 창출하는지

테스트는 자동화될 수 있지만 비즈니스에 가장 중요한 항목에 따라 우선순위가 결정됩니다. 비즈니스 우선 순위를 결정한 후에는 스캔 전후에 활동 및 위험 허용 범위를 관리하기 위해 세운 정책을 시행하기 위해 다시 한 번 자동화로 전환할 수 있습니다.

비즈니스 속도를 늦추지 않고 테스트 결과를 관리하는 다음 이후 과제는 정책에서 반환한 자동화된 보안 결과의 우선 순위를 분류하는 방법을 결정하는 것입니다. 우선순위를 정한 후에도 목록에 있는 모든 문제를 해결하는 것은 불가능할 수 있지만 시간 범위, 위험 허용 범위 및 기타 조직적 또는 운영 요인에 따라 여전히 해결할 문제를 분류할 수 있습니다. 분류 정책을 설정하는 것은 개발자가 검색 결과에 휩싸이지 않고 급증하는 검색 결과를 탐색할 수 있도록 하는 데 중요합니다.

우선 순위 지정 및 분류 정책이 마련되면 개발자는 익숙한 단계를 사용하여 문제 해결에 접근할 수 있습니다. (개발자로 돌아가서 문제 관리 시스템에서 자동으로 티켓 열기, 수정해야 할 새로운 문제에 대한 자동 알림 전송, IDE 내 정책 실패 및 우선순위가 지정된 위험 강조 등) 차이점은 자동화를 통해 개발자를 지치게 하지 않고 이 프로세스를 가속화할 수 있다는 것입니다.

Synopsys는 우선 순위 지정에서 분류, 수정/교정, 자동화에 이르기까지 이 프로세스를 자동화하는 도구 세트를 보유하고 있으며 팀에서 이미 사용하고 있는 도구와 통합이 가능합니다. Synopsys 도구에는 다음이 포함됩니다.


  • Software Risk Manager는 모든 자동 및 수동 테스트의 결과를 한 곳에 통합하고 중복된 결과 제거, 문제 분류 그리고 정책 관리 기능을 제공하여 비즈니스에 더 큰 영향을 주는 우선순위에 따라 문제 해결하는데 집중할 수 있도록 합니다.
  • Seeker IAST는 백그라운드에서 웹 앱 상호 작용을 모니터링하고 실행 시간에 나타나는 실제 위험을 식별하여 기능 테스트를 보안 테스트로 전환합니다.
  • Code Sight는 보안 및 품질 결함을 감지하고 개발자가 작업할 때 자세한 수정 지침을 제공하는 개발자 IDE로 보안 위험 감지 및 분류를 이동시킵니다. 결국 취약점 수정의 우선 순위를 지정하는 가장 중요한 방법은 처음부터 취약점이 코드에 침투하지 않도록 방지하는 것입니다.

2022 SANS DevSecOps 설문조사는 애플리케이션 보안을 위한 자동화 및 정책의 필요성을 분명히 합니다. 지능형 정책 기반 DevSecOps는 적시에 적절한 테스트를 실행하는 정책을 정의하는 것을 의미합니다. 자동으로 확인되고 정리되는 위험 인사이트를 수집하면 문제 해결을 위해 가장 영향력 있는 우선 순위만 개발팀에 보낼 수 있습니다. 개발자가 더 많은 보안을 인식하고 더 많은 보안을 수행할 수 있도록 하는데 투자함으로써 DevOps 루프 자체가 시간이 지남에 따라 더 안전해집니다. 성공적인 DevSecOps는 비즈니스 요구 사항에 따라 점점 더 빠른 속도로 코드를 보호하는 것을 의미하며 Synopsys가 이것을 도와드릴 수 있습니다.

원문 게시일: 2023.03.20

원문 기고자: Steven Zimmerman

출처: https://www.synopsys.com/blogs/software-security/automate-your-devsecops-to-take-the-pressure-off-triage.html

/about-us/inquiry/
https://www.youtube.com/@softflow2018
https://blog.naver.com/softflow_group
#