Skip to main content

코드 및 종속성 취약성에 대한 노출 정보

자체 코드 및 타사 종속성에서 취약성이 조직의 전반적인 보안 노출에 어떻게 기여하는지, 그리고 해당 위험을 측정하고 줄이는 방법을 이해합니다.

누가 이 기능을 사용할 수 있나요?

GitHub Team 또는 GitHub Enterprise 필요

해결되지 않은 취약성의 위험

조직에서는 사용자가 작성하고 유지 관리하는 코드와 코드에서 사용하는 open source 또는 타사 종속성 모두에서 취약성에 노출됩니다. 다음을 방지하려면 취약성에 대한 노출을 평가하는 것이 중요합니다.

  •         **예기치 않은 가동 중지 시간 및 운영 중단** 취약성을 악용하면 애플리케이션 중단, 서비스 품질 저하 또는 중요한 시스템의 연속적인 오류로 인해 비즈니스 운영이 중단될 수 있습니다.
    
  •         **수정 비용 증가** 취약한 코드가 길어질수록 특히 코드가 깊이 통합되거나 인시던트가 발생하는 경우 수정하기가 더 어렵고 비용이 많이 듭니다. 조기에 감지하고 해결하면 비용이 많이 드는 사고 대응, 비상 패치, 평판 손상의 위험이 줄어듭니다.
    
  •         **위험의 광범위한 전파** 취약한 모듈 및 종속성은 종종 여러 애플리케이션 및 서비스에서 다시 사용되므로 단일 결함이 조직 전체에 전파되어 악용의 위험과 영향을 가중시킬 수 있습니다.
    
  •         **공급망 손상** 공격자는 open source 또는 타사 종속성에서 취약성을 악용하여 악성 코드를 삽입하거나 권한을 상승하거나 시스템에 무단으로 액세스할 수 있습니다. 손상된 종속성은 악의적인 행위자의 간접 진입점 역할을 하여 광범위한 보안 인시던트로 이어질 수 있습니다.
    
  •         **규정 및 라이선스 문제** 많은 규정 및 업계 표준을 통해 조직은 소프트웨어 공급망의 알려진 취약성을 사전에 해결해야 합니다. 취약한 종속성을 수정하지 못하면 비준수, 감사, 법적 처벌 또는 open source 라이선스 의무 위반이 발생할 수 있습니다.
    

취약성 노출을 정기적으로 평가하면 위험을 조기에 식별하고 수정의 우선 순위를 지정하는 데 도움이 됩니다.

리포지토리에서 취약한 코드를 모니터링하는 방법

  •         **Code scanning** 은(는) 프로젝트 코드의 취약성을 자동으로 감시합니다. 끌어오기 요청에서 보안 문제를 감지하면 취약성을 해결하기 위한 자동 수정 제안과 함께 경고를 생성합니다. 이렇게 하면 해결 장벽이 낮아지고 프로젝트가 안전하게 유지됩니다. 
            [AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning)을(를) 참조하세요.
    
  •         **Dependabot** 은(는) 프로젝트의 종속성에서 취약성 및 오래된 패키지를 자동으로 모니터링합니다. 보안 문제 또는 새로운 버전이 감지되면 영향을 받는 종속성을 업데이트하기 위한 끌어오기 요청을 만들어 보안 위험을 신속하게 해결하고 소프트웨어를 최신 상태로 유지할 수 있습니다. 이렇게 하면 수동 작업이 줄어들고 프로젝트의 보안을 유지할 수 있습니다. 
            [AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide)을(를) 참조하세요.
    

GitHub는 조직의 모든 리포지토리에서 이러한 위험을 모니터링하고, 우선 순위를 지정하고, 해결하는 데 도움이 되는 포괄적인 Dependabot 메트릭 세트를 제공합니다. Dependabot 경고에 대한 메트릭 정보을(를) 참조하세요.

조직의 취약성 노출 감소

조직의 취약성 노출을 줄이려면 리포지토리 전체에서 위험, 수정 진행률 및 정책 적용에 대한 지속적인 가시성이 필요합니다. Dependabot 및 code scanning 지표가 이러한 가시성을 제공합니다. 다음 모범 사례를 사용하여 조직의 취약성 노출을 모니터링하고 줄입니다.

종속성에 대한 취약성 메트릭 모니터링

Dependabot의 메트릭 개요를 사용하면 조직의 종속성 취약성의 현재 상태를 파악할 수 있습니다. Dependabot 경고 메트릭 확인을(를) 참조하세요.

  •         **경고 우선 순위 지정:** 열려 있는 Dependabot alerts의 수를 검토하고 CVSS 심각도, EPSS 악용 가능성, 패치 가용성, 배포된 아티팩트에서 취약한 종속성이 실제로 사용되는지 여부와 같은 필터를 사용합니다. [Dependabot 대시보드 보기 필터](/code-security/security-overview/filtering-alerts-in-security-overview#dependabot-dashboard-view-filters)를 참조하세요.
    
  •         **리포지토리 수준 분석:** 위험 또는 악용 가능한 취약성이 가장 많은 리포지토리를 식별합니다.
    
  •         **수정 추적:** 시간의 경과에 따라 수정된 경고의 수와 비율을 추적하여 취약성 관리 프로그램의 효과를 측정합니다.
    

새 code scanning 경고 도입 모니터링

code scanning에 대한 경고 보기를 사용하여 조직 내에 풀 요청에서 진행되는 수정 활동을 파악하십시오. pull request 경고에 대한 메트릭 보기을(를) 참조하세요.

  •         **끌어오기 요청의 경고:** 확인 없이 검색되어 기본 분기에 병합된 경고 수를 검토합니다.
    
  •         **가장 널리 사용되는 규칙:** 개발자 교육이 필요한 경우 자주 트리거되는 규칙을 식별합니다.
    
  •         **리포지토리 수준 분석:** 끌어오기 요청에서 검색되었지만 여전히 기본 분기에 병합된 경고 수가 가장 많은 리포지토리를 식별합니다.
    
  •         **수정 추적:** 시간의 경과에 따라 수정된 경고의 수와 비율을 추적하여 취약성 관리 프로그램의 효과를 측정합니다.
    

수정 작업의 우선 순위 지정

조직에 가장 높은 위험을 초래하는 취약성에 집중합니다.

  • 심각도가 높거나 중요한 경고의 우선 순위를 지정합니다. Dependabot alerts의 경우, 높은 EPSS 점수와 패치 가용성 여부를 우선순위로 고려하십시오.
  • 리포지토리 분석 정보를 사용하여 가장 위험한 프로젝트에 수정 작업을 전달합니다.
  • 개발 팀이 리포지토리 사용자 지정 속성 및 프로덕션 컨텍스트를 통해 배포된 아티팩트에서 실제로 사용되는 취약성을 해결하도록 장려합니다. 프로덕션 컨텍스트를 사용하여 Dependabot 및 코드 검사 경고 우선 순위 지정을 참조하세요.
  • 우선순위가 높은 code scanning 경고의 수정을 장려하고 추적하기 위해 보안 캠페인을 생성하십시오. 자세한 내용은 보안 캠페인 생성 및 관리하기을 참조하세요.

위험 및 진행률 전달

  • 메트릭 페이지를 사용하여 주요 위험 요소 및 수정 진행 상황을 이해 관계자에게 전달합니다.
  • 미해결 상태의 심각한 취약성 감소나 수정률 개선과 같은 추세에 대한 정기적인 업데이트를 제공합니다.
  • 추가 지원 또는 주의가 필요한 리포지토리 또는 팀을 강조 표시합니다.

정책 설정 및 적용

  • 기존 및 신규의 모든 리포지토리에서 Dependabot 및 code scanning이 활성화하도록 하는 조직 전체 보안 구성을 설정하십시오. 보안 기능의 대규모 사용에 대해을(를) 참조하세요.
  • 종속성 검토를 사용하도록 설정하여 모든 리포지토리의 끌어오기 요청에 대해 주석을 달 수 있습니다.
  • 기본 분기를 보호하고, 풀 리퀘스트를 머지하기 전에 심각한 code scanning 경고가 반드시 해결되도록 조직 전체 규칙 세트를 생성하십시오. 조직의 리포지토리에 대한 규칙 집합 관리을(를) 참조하세요.
  • 가능한 경우 리포지토리 관리자와 협력하여 자동화된 보안 업데이트를 활성화합니다. Dependabot 보안 업데이트 정보을(를) 참조하세요.

경고의 영향 평가

  • Dependabot 및 code scanning 경고가 코드베이스로 보안 취약점이 침투하는 것을 차단하는 데 얼마나 도움이 되고 있는지를 정기적으로 검토하십시오.
  • 기록 데이터를 사용하여 사전 예방적 종속성 관리의 가치를 보여 줍니다.