노이즈 절단 : Dependabot 경보 우선 순위를 정하는 방법
솔직히 말하면,받은 편지함의 보안 경고가 완전히 압도적으로 느껴질 수 있습니다. 우리도 거기에있었습니다.
개발자 옹호자이자 Github의 보안에 중점을 둔 제품 관리자로서, 우리는 취약성 경고를 심사하는 것이 얼마나 압도적인지를 직접 보았습니다. Dependabot은 취약성을 발견하는 데 환상적이지만 우선 순위를 정하는 현명한 방법이 없으면 사소한 문제에 시간을 타거나 파일에 묻힌 중요한 문제를 놓칠 수 있습니다.
따라서 우리는 보안 참호와 개발자 워크 플로우 측의 하나의 관점을 결합하여 Exploit Prediction Scoring System (EPSS) 점수 및 저장소 속성을 사용하여 혼돈을 명확하게 변환하고 정보를 얻은 우선 순위 결정을 내리는 방법을 공유했습니다.
소프트웨어 공급망 보안 이해
오늘날 소프트웨어를 구축하는 경우 소프트웨어를 작성하는 것이 아니라 코드를 작성하는 것이 아니라 수많은 오픈 소스 패키지에서 코드를 조립합니다. 실제로, 최신 애플리케이션의 96%는 오픈 소스 소프트웨어로 구동됩니다. 이러한 광범위한 채택으로 오픈 소스 소프트웨어는 대규모의 취약점을 악용하려는 악의적 인 행위자들의 주요 대상이되었습니다.
공격자들은 매년이 프로젝트를 약점에 대해 지속적으로 조사하여 매년보고 된 수천 개의 일반적인 취약점 및 노출 (CVE)에 기여합니다. 그러나 모든 취약점이 같은 수준의 위험을 수반하는 것은 아닙니다. 핵심 질문은 취약성을 해결하는 방법뿐만 아니라 특정 응용 프로그램 아키텍처, 배포 컨텍스트 및 비즈니스 요구를 기반으로 취약성을 우선 순위를 정하는 방법이됩니다.
EPSS 이해 : 발생하는 경우 심각도로 이용할 확률
우선 순위에 관해서는, 많은 팀이 여전히 CVS (Common Vilnerability Scoring System)와 같은 심각도 점수에만 의존합니다. 그러나 모든 “중요한”취약점이 똑같이 악용 될 가능성이있는 것은 아닙니다. 그곳에서 EPS가 들어오는 곳입니다. 다음 30 일 이내에 취약성이 실제로 야생에서 악용 될 가능성이 있음을 알려줍니다.
이런 식으로 생각하십시오 : CVSS는 누군가가 집에 침입하면 피해가 얼마나 나쁜지 알려줍니다. EPSS는 누군가가 실제로 시도 할 가능성이 얼마나 될지 알려줍니다. 두 정보 모두 중요합니다! 이 접근 방식을 사용하면 자원을 효과적으로 집중시킬 수 있습니다.
Security Pro Daniel Miessler가 효율적인 보안 원칙에서 지적한 것처럼,“오퍼링 또는 시스템의 보안 기준은 해당 제품에 대한 고객의 흥분 또는 의존으로부터 지속적인 하향 압력에 직면 해 있습니다.”
번역? 우리는 항상 유용성과 보안의 균형을 유지하며 제한된 시간과 에너지에 집중하는 위치에 대해 현명해야합니다. EPSS는 착취 가능성이 높을수록 취약점을 발견하여 가장 긴급한 위험을 먼저 해결할 수 있도록 도와줍니다.
현명한 우선 순위 지정 단계
1. EPS를 CVS와 결합하십시오
한 가지 방법은 가능성 (EPS)과 잠재적 영향 (CVS)을 함께 보는 것입니다. 일기 예보를 비교하는 것과 같습니다. 비가 올 가능성에 관심이 있습니다. 그리고 폭풍이 얼마나 심한 지.
예를 들어, 먼저 해결해야 할 내용을 우선 순위를 정할 때 다음과 같은 취약성을 제공합니다.
- EPSS : 85% (착취 가능성이 높음)
- CVSS : 9.8 (임계 심각도)
… 거의 항상 다음과 같이 우선 순위를 정해야합니다.
- EPSS : 0.5% (악용 가능 가능성이 훨씬 적음)
- CVSS : 9.0 (임계 심각도)
빨간적 인 CVSS 등급을 가지고 있음에도 불구하고 첫 번째 취약점은 밤에 우리를 유지하는 것입니다.
2. 컨텍스트 인식 우선 순위를위한 저장소 속성을 활용합니다
보안 위험과 관련하여 모든 코드가 동일하게 생성되는 것은 아닙니다. 스스로에게 물어보세요 :
- 이 저장소 공개입니까 아니면 사적입니까? (공공 리포지토리는 잠재적 공격자에게 취약점을 드러냅니다)
- 고객 정보 나 결제와 같은 민감한 데이터를 처리합니까?
- 얼마나 자주 배포합니까? (빈번한 배포는 더 엄격한 치료 시간에 직면합니다)
컨텍스트 인식 우선 순위를 체계적으로 제공하는 한 가지 방법은 사용자 정의 저장소 속성을 사용하여 규정 준수 프레임 워크, 데이터 민감도 또는 프로젝트 세부 사항과 같은 정보와 함께 리포지토리에 대한 문맥 정보를 추가 할 수 있습니다. 이러한 사용자 정의 속성을 리포지토리에 적용하면 “중요한 저장소”를 식별하는 데 도움이되는 구조화 된 분류 시스템을 만듭니다. test-vulnerabilities-local
레포.
3. 위험 수준에 따라 명확한 대응 서비스 수준 계약 (SLA) 설정
조직의 취약성 특성과 저장소 컨텍스트에 대해 숙제를 한 후에는 조직 자원 및 위험 허용에 맞는 응답에 대한 명확한 타임 라인을 설정할 수 있습니다.
이것이 실제 생활에서 어떻게 작동하는지 살펴 보겠습니다. 다음은 EPSS (Exploitation의 가능성)와 CVS (영향의 심각도)를 모두 결합한 예제 위험 매트릭스입니다.
EPSS ↓ / CVSS → | 낮은 | 중간 | 높은 |
---|---|---|---|
낮은 | ✅ 편리한 경우 | ⏳ 다음 스프린트 | ⚠️ 곧 수정하십시오 |
중간 | ⏳ 다음 스프린트 | ⚠️ 곧 수정하십시오 | 🔥 곧 수정하십시오 |
높은 | ⚠️ 곧 수정하십시오 | 🔥 곧 수정하십시오 | 🚨 먼저 수정하십시오 |
EPSS 점수가 높고 CVSS 등급이 높은 결제 처리 라이브러리의 취약성에 대한 경고를 받으십시오. 빨간 경보! 우리의 매트릭스를 보면, 그것은 “첫 번째 수정”상황입니다. 아마도 당신이하고있는 일을 떨어 뜨리고 팀이 적절한 수정으로 작업하는 동안 빠른 완화를 넣을 것입니다.
그러나 아무도 생산에 아무도 사용하지 않는 일부 테스트 유틸리티에서 저 위험 취약점은 어떻습니까? 낮은 EPS, 낮은 CVS… 향후 몇 주 안에 “편리한”까지 기다릴 수 있습니다. 알람을들을 필요가 없거나 개발자를 중요한 기능 작업에서 끌어낼 필요가 없습니다.
이런 종류의 우선 순위는 의미가 있습니다. 모든 단일 취약점에 동일한 시급성을 적용하면 피로와 자원을 경고하고 명확한 가이드 라인을 사용하면 팀이 먼저 집중해야 할 곳을 알 수 있습니다.
엔터프라이즈 거버넌스와 통합
엔터프라이즈 조직의 경우 Github의 자동 임기 규칙은 여러 팀과 리포지토리에서 일관된 보안 경보를 규모로 관리하는 데 도움이됩니다.
자동 임시 규칙을 사용하면 심각도, EPSS, 범위, 패키지 이름, CVE, 생태계 및 매니페스트 위치와 같은 요소를 기반으로 경고를 자동으로 처리하기위한 사용자 정의 기준을 만들 수 있습니다. 자체 사용자 정의 규칙을 만들어 Auto-Dismisses 및 Reopens Alerts의 종속 방식을 제어 할 수 있으므로 중요한 경고에 집중할 수 있습니다.
이 규칙은 특히 강력합니다.
- 기존 및 미래의 경고에 적용하십시오.
- 잘못된 양성을 적극적으로 필터링 할 수 있습니다.
- 수정을 사용할 수없는 취약점에 대한 “패치까지 스누즈”기능을 활성화하십시오.
- 자동 디스 미스 경보 해결을 통해 자동 결정에 대한 가시성을 제공하십시오.
Auto-Dismissal of False Positives와 같은 Github-Currated 사전 설정은 모든 사람과 모든 리포지토리에 무료이며, 사용자 정의 자동 임기 규칙은 공개 리포지토리에서 무료로 제공되며 개인 리포지토리의 GitHub Advanced Security의 일부로 제공됩니다.
현명한 우선 순위의 실제 영향
팀이 우선 순위를 정하면 조직은 보안 관리에서 상당한 개선을 경험할 수 있습니다. 연구는 포괄적 인 Cyentia EPSS 연구에 따르면 팀이 10%에 초점을 맞추면서 악용 된 취약점의 87% 적용 범위를 달성 할 수 있으며 전통적인 CVSS 기반 접근법에 비해 필요한 치료 노력을 83% 줄이면 87%의 취약점을 달성 할 수 있습니다. 이것은 이론적 일뿐 만 아니라 실제 효율성 이득으로 해석됩니다.
이 감소는 숫자에 관한 것이 아닙니다. 보안 팀이 우선 순위 결정에 대한 명확한 추론을 제공하면 개발자는 보안 요구 사항을 더 잘 이해하게됩니다. 이 투명성은 팀 간의 신뢰를 구축하여 잠재적으로보다 효율적인 해상도 프로세스와 보안 및 개발 팀 간의 협업을 향상시킵니다.
가장 성공적인 보안 팀은 스마트 자동화와 인간의 판단 및 투명한 커뮤니케이션을 사용합니다. 경고 오버로드에서 스마트 필터링으로의 이러한 전환을 통해 팀은 진정으로 중요한 것에 집중하여 보안을 끊임없이 두통에서 관리 가능한 전략적 이점으로 바꿉니다.
시작하기
경고의 홍수를 길들일 준비가 되셨습니까? 시작하는 방법은 다음과 같습니다.
- 의존 보안 업데이트를 활성화하십시오: 아직 보지 못한 경우 리포지토리 설정에서 Dependabot Alerts 및 자동 보안 업데이트를 켜십시오. 이것은 당신의 첫 번째 방어선입니다!
-
자동 임기 규칙을 설정하십시오: 심각도, 범위, 패키지 이름 및 기타 기준에 따라 사용자 정의 규칙을 작성하여 우선 순위가 낮은 경고를 자동으로 처리합니다. 자동 임시 규칙은 오 탐지를 줄이고 피로를 실질적으로 경고하는 데 도움이되는 강력한 도구이며, 경고를 규모로 더 잘 관리합니다.
-
명확한 우선 순위 기준을 설정하십시오: 특정 프로젝트에 취약성이 중요한 요소를 정의하십시오. 영향 평가, 시스템 중요도 및 악용 가능성과 같은 요소를 고려하여 중요한 문제를 식별하기위한 명확한 매트릭스를 개발하십시오.
-
우선 순위 경보는 치료 워크 플로우를 참조하십시오. 취약성의 진위를 확인하고 조직의 위험 대응 매트릭스를 기반으로 빠른 완화 전략을 개발하십시오.
이러한 현명한 우선 순위 지정 전략을 구현함으로써 팀의 에너지가 가장 중요한 위치에 집중하는 데 도움이됩니다. 코드를 안전하게 유지하고 고객을 보호합니다. 더 이상 보안 경고 오버로드가 없으며 집중하고 효과적인 우선 순위를 매기는 것입니다.
조직의 보안 경보 관리를 간소화하고 싶으십니까? 오늘 GitHub 코드 보안을 사용하여 무료 또는 잠금 해제 우선 순위 화를 위해 Dependabot 사용을 시작하십시오.
작성자가 작성했습니다
Post Comment