Skip to main content

대규모 보안 경고 수정 모범 사례

개발자의 참여를 유도하고 보안 코딩에 대한 이해를 높일 수 있는 성공적인 보안 캠페인을 만드는 방법에 대한 지침입니다.

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

GitHub Advanced Security가 사용으로 설정된 GitHub Enterprise Cloud의 조직

Note

보안 캠페인은 현재 공개 미리 보기 버전이며 변경될 수 있습니다.

성공적인 보안 캠페인의 요소

대규모로 경고를 수정하는 성공적인 보안 캠페인에는 다음을 비롯한 많은 공통점이 있습니다.

  • 수정을 위해 관련 보안 경고 그룹을 선택합니다.
  • 캠페인의 관리자가 공동 작업, 검토, 수정에 대한 질문을 활용할 수 있는지 확인합니다.
  • 캠페인에 포함된 경고 유형 관련 교육 정보에 대한 액세스 권한을 제공합니다.
  • 개발자가 GitHub Copilot Chat을 사용하여 캠페인의 보안 경고로 강조 표시된 취약성에 대해 알아볼 수 있도록 합니다.
  • 수정하려는 경고 수를 염두에 두고 캠페인의 현실적인 마감일을 정합니다.
  • 개발자 팀에게 공동 작업을 알리고 조직을 위해 개발자 팀을 참여시킬 수 있는 최선의 방법을 식별합니다.

개발자 환경에 대한 자세한 내용은 "보안 캠페인에서 경고 수정"을(를) 참조하세요.

수정을 위한 보안 경고 선택

첫 번째 생각은 가장 긴급한 경고를 모두 식별하고 이를 해결하기 위한 보안 캠페인을 만드는 것입니다. 개발자가 이미 보안 코딩을 잘 이해하고 있고 잠재적인 취약성을 해결하려 하는 경우 이는 회사에 성공적인 접근 방식이 될 수 있습니다. 그러나 보안 코딩 및 일반적인 취약성에 대한 지식을 쌓아야 하는 경우에는 보다 체계적인 접근 방식이 도움이 될 것입니다.

예를 들어 사이트 간 스크립팅 취약성에 대한 경고가 많은 경우라면 다음을 수행할 수 있습니다.

  • OWASP Foundation의 리소스를 사용하여 리포지토리에서 개발자를 위한 교육 콘텐츠를 만듭니다. XSS(교차 사이트 스크립팅)를 참조하세요.
  • 캠페인 설명의 교육 콘텐츠 링크를 포함하여 이 취약성에 대한 모든 경고를 수정하는 캠페인을 만듭니다.
  • 실제 버그를 수정하는 동안 보안 코딩에 대한 자신감을 얻을 수 있는 이 기회를 강조하기 위해 교육 세션 또는 기타 이벤트를 개최합니다.
  • 캠페인을 관리하기 위해 할당된 보안 팀 구성원이 캠페인 경고를 수정하기 위해 만든 끌어오기 요청을 검토하고 필요에 따라 공동 작업할 수 있는지 확인합니다.

캠페인 필터 템플릿

보안 캠페인에 포함할 경고를 선택할 때 보안 경고 페이지의 필터를 사용하여 경고의 하위 집합을 정의할 수 있습니다. 또는 일반적인 요구 사항에 맞게 미리 정의된 필터 중 하나를 사용하도록 캠페인 템플릿을 선택할 수 있습니다(예: "사이트 간 스크립팅(CWE-79)").

보안 캠페인에 대한 제한 사항

다음 제한 사항은 코드의 경고를 수정하기 위해 균형 있고 신중한 접근 방식을 취하도록 권장하기 위한 것입니다. 한 번에 몇 가지 대상 경고 집합을 처리하는 반복적인 접근 방식은 보안 상태의 지속 가능하고 장기적인 변화로 이어질 수 있습니다.

  • 한 번에 최대 10개의 활성 보안 캠페인(비공개 캠페인에 대한 제한 없음).
  • 각 캠페인에는 최대 100개의 리포지토리에 분산된 최대 1000개의 경고 포함 가능

이러한 제한을 초과하는 캠페인을 만들기로 선택하면 캠페인을 제한에 맞게 만들기 위해 경고가 생략됩니다. 최근 푸시가 있는 리포지토리의 경고는 캠페인에 포함되기 위하여 우선 순위가 지정됩니다.

캠페인 관리자의 역할 정의

보안 캠페인을 만들 때 "캠페인 관리자"를 선택해야 합니다. 캠페인 관리자는 조직 소유자 또는 보안 관리자 역할을 가지고 있어야 합니다.

캠페인 관리자의 이름은 개발자가 캠페인에 참여할 때 볼 수 있습니다. 경고에 대한 수정 속도를 높이고 보안 팀의 지식을 확장하려는 경우 이는 개발자와 협력 관계를 구축할 수 있는 중요한 기회입니다. 이상적으로 캠페인 관리자는 질문에 답변하고, 어려운 수정 사항을 공동으로 작업하고, 캠페인 전체 과정에서 수정을 위한 끌어오기 요청을 검토할 수 있습니다.

보안 교육과 보안 캠페인 결합

보안 팀이 보안 코딩에 대한 개발자 교육을 이미 제공하는 경우 개발자가 학습 세션의 기술을 사용할 수 있도록 선택한 경고가 포함된 캠페인을 만드는 것이 학습을 강화하는 좋은 방법입니다. 공식적인 교육 프로그램이 없더라도 캠페인에 포함된 보안 취약성 유형, 해결 방법의 예, 수정 사항 테스트 방법 등에 대한 정보를 제공하는 것이 좋습니다. 이렇게 하면 기본적인 질문에 답변하기 위해 개발자를 이러한 리소스로 안내할 수 있으므로 캠페인 관리자의 역할이 단순화됩니다.

OWASP Foundation은 가장 일반적인 취약성을 학습할 수 있도록 많은 리소스를 제공하고 MITRE Corporation은 일반적인 약점에 대한 자세한 목록을 유지 관리합니다. OWASP Foundation 정보CWE 정보를 참조하세요.

보안 취약성에 대한 학습을 위한 AI 지원 제공

GitHub Copilot Autofix는 각 보안 경고에 대한 해결 방법을 제안하기 위해 자동으로 트리거됩니다. 그러나 개발자는 원래 코드가 안전하지 않은 이유와 수정이 올바르고 다른 구성 요소를 손상하지 않는지 테스트하는 방법에 대한 자세한 정보를 원할 수도 있습니다.

GitHub Copilot은 보안 코딩, 보안 경고 수정, 수정 사항 테스트 방법 등에 대한 질문이 있는 개발자에게 중요한 도구입니다. 조직의 모든 개발자가 IDE 및 GitHub 모두에서 Copilot에 액세스할 수 있는지 확인하려면 "조직 구성원의 Copilot 액세스 권한 부여"을(를) 참조하세요.

Tip

GitHub Advanced Security 기술은 Copilot Chat에 보안 경고에 대한 질문에 답할 수 있는 추가 컨텍스트를 제공합니다.

보안 캠페인 시작 및 마감일 정의 시 고려 사항

다른 프로젝트와 마찬가지로 개발자가 보안 캠페인에 참여하는 것을 방해하지 않도록 현실적인 기간을 정의하는 것이 중요합니다. 회사에서 기술 부채를 줄이기 위한 대규모 캠페인의 일환으로 보안 경고를 수정하지 않는 한 대부분의 개발자는 경고 수정에 시간을 할당하지 않습니다. 개발자가 예약된 작업 간에 찾을 수 있는 시간을 기준으로 수정 속도를 예측해야 합니다. 또한 개발자가 작업할 수 있는 주요 회사 마감일을 확인하고 공휴일을 확인하는 것이 좋습니다.

다음 단계