2022년 5월
보안 취약점은 컴퓨터 산업 전반과 고객에게 널리 알려져 있습니다. 이들에게는 사용하는 제품이 안전하다는 보장이 필요합니다. 이를 보장하기 위해 NetApp은 잠재적인 취약점을 평가하고 이에 대응하는 제품 개발 표준인 Secure Development Lifecycle(SDL)을 개발했습니다.
NetApp의 SDL은 업계 모범 사례 및 표준을 바탕으로 엄격한 프로세스를 정의합니다. 제품 팀에서는 이 프로세스에 따라 보안을 평가하고 안전한 제품의 출시를 계획할 수 있습니다. 이 프로세스는 제품을 처음 계획할 때, 코드 줄을 작성하기 전부터 시작하여 출시 후 모니터링 단계까지 포함합니다.
NetApp에 구현된 SDL은 NetApp 제품 및 서비스 구축 팀이 따를 수 있는, 신뢰할 수 있고 반복 가능한 6단계 프로세스(다음 그림 참조)입니다. 제품 개발 과정 전반에서 NetApp 팀은 이 명시적이고 미리 정의된 활동을 실행하여 제품의 안전성을 보장할 수 있습니다. SDL 프로세스를 통해 NetApp은 제품의 위험을 파악하고 전체 SDL에 대한 제품 팀의 규정 준수 효과를 평가할 수 있습니다.
제품 보안 그룹은 SDL에 대한 모범 사례, SDL 지원 절차 및 보안 전문 지식을 제품 팀에 제공합니다. 제품 팀은 SDL 프로세스 및 정책을 구현하여 안전한 제품을 제공할 수 있습니다. SDL은 타사 구성 요소 취약점을 비롯하여 알려진 모든 취약점을 적절히 해결할 것을 요구합니다.
NetApp SDL 프로세스는 보안 챔피언을 교육하고 임명하여 제품 팀의 보안 인식을 높이고 전문 지식을 강화하는 것에서 시작됩니다.
NetApp에서 제품 제공에 관여하는 직원은 보안 교육을 받아야 합니다. 보안 교육에는 현재 위협, 안전한 개발 기법, 취약점 및 보안 문제 해결 방법에 대한 교육이 포함됩니다. 이 교육은 제품 매니저, 개발자, QA 등 학습자의 역할에 맞게 조정되며 제품 보안에 대한 인식을 높이고 보안 사례를 업무에 접목하는 데 필요한 지원을 제공합니다.
NetApp에서는 연례 보안 재교육을 통해 제품 보안에서 불가피하게 발생하는 변경 사항을 알려야 합니다. 또한 NetApp은 내부 포럼과 상용 이벤트에 대한 액세스를 제공하여 개인적인 보안 지식을 강화할 수 있도록 돕습니다.
보안 챔피언은 NetApp 제품 팀의 보안 중심 전문가로서, 보안 개발 모범 사례와 SDL을 조직 내에서 홍보하고 제품 보안에 대한 전반적인 채택과 이해를 증진합니다. 각 전문가는 NetApp SDL을 비롯한 보안 모범 사례에 대한 심화 보안 교육을 받습니다. 주 목표는 개발 팀에 보안 리더십을 파견하는 것이지만, 이 챔피언은 제품 보안 그룹의 핵심 연락처로서 제품 팀의 SDL 실행을 모니터링하는 역할도 합니다.
NetApp SDL 프로세스는 보안 평가 및 규정 준수 및 테스트 계획 릴리즈에서 시작됩니다. 그런 다음에는 제품 보안 문제와 해결책을 철저하게 평가하고 확인된 취약점이 해결되었는지 검증합니다. 이 프로세스는 제품 보안 인시던트 대응 팀(PSIRT)을 통한 커뮤니케이션 또는 위험 및 모니터링 활동으로 끝납니다.
SDL 프로세스의 이 단계에는 3가지 접점이 있습니다. 제품 보안 기준 검토, 위협 모델링 및 완화, 공급망 에코시스템 검토입니다. 이 모든 접점은 디자인 개발 초기에, 코드를 개발하거나 구현하기 전에 적용됩니다.
제품 보안 기준 검토. 제품 보안 기준은 모든 NetApp 제품에 대해 허용되는 최소 수준의 보안입니다. ISO/IEC 27001과 같은 보안 표준과 NetApp 기업 및 정부 고객과의 계약 약정에서 도출됩니다. 검토 프로세스에는 제품 팀이 각 요구사항에 따라 제품을 평가할 때 따를 수 있는 일련의 단계가 설정되어 있습니다. 기준에서 누락된 기능이 있으면 제품에 이 기능을 추가하기 위한 계획을 작성합니다.
위협 모델링 및 완화. 위협 모델링은 기능, 구성 요소 또는 제품의 보안 결함을 조기에 식별하는 데 사용됩니다. 이를 통해 제품 팀은 설계의 보안 영향을 체계적으로 고려할 수 있습니다. 그런 다음 보안 취약점을 보다 효과적으로 식별하고 위험을 판단하며 적절한 완화 조치를 개발할 수 있습니다.
신뢰할 수 있는 공급업체 프로그램. 이 프로그램의 목표는 전략적 공급업체 에코시스템이 업계에서 가장 높은 수준의 보안을 지속적으로 보장할 수 있도록 지원하는 것입니다. NetApp은 이 프로그램을 통해 NetApp 제품 개발과 관련된 신규 및 복귀 파트너의 전략적 공급업체를 평가합니다. 제품 팀은 감사를 통해 공급업체 개발, 제조 및 지원 프로세스에 SDL 활동이 포함되어 있는지 확인할 수 있습니다. 또한 NetApp은 공급업체가 제공하는 구성 요소가 NetApp 표준을 준수하는지 확인할 수 있습니다.
SDL 프로세스의 이 단계에는 2가지 접점이 있습니다. 규정 준수 계획과 보안 테스트 계획을 수립하는 것입니다.
SDL 규정 준수 계획 제품 팀은 규정 준수 계획을 통해 특정 릴리즈에 대해 실행할 허용 가능한 보안 수준을 정의하고 이러한 기준을 충족하는 데 책임을 질 방법을 식별할 수 있습니다. 이러한 수준을 조기에 설정하면 보안 문제와 관련된 위험을 파악하고 개발 중에 보안 결함을 식별하여 수정하며 프로젝트 전반에서 SDL 표준을 적용하는 데 도움이 됩니다.
보안 테스트 계획. 보안 테스트 계획에서는 보안 테스트 사례를 테스트 전략에 통합하며, 인증 및 권한 부여부터 유휴 데이터 또는 전송 중인 데이터의 보안에 이르는 다양한 보안 측면을 다룹니다. 보안 테스트 계획을 작성하고 실행할 때는 발견된 문제를 해결하는 것이 포함됩니다. 이렇게 하면 제품이 출시되기 전에 잠재적인 보안 문제를 발견하고 적절히 해결하는 데 도움이 될 수 있습니다.
SDL 프로세스의 이 단계에는 6가지 접점이 있습니다. 보안 코드 검토에서 보안 버그 식별, 정적 및 동적 애플리케이션 보안 테스트, 알려진 취약점에 대한 런타임 검사(예: 퍼지 테스트 사용), 타사 소프트웨어의 취약점 검사입니다.
정적 애플리케이션 보안 테스트. 제품 팀은 컴파일 전에 이 테스트를 사용하여 소스 코드를 검사하고 코드에서 잠재적으로 심각한 결함, 보안 약점 및 취약점을 발견할 수 있습니다. 이 테스트에서는 각 프로젝트의 빌드 프로세스 내에 있는 일련의 후크와 버그 추적 및 코드 검토와 같은 일련의 보고 툴을 사용하여 제품 결함에 플래그를 지정합니다. 개발자는 식별된 문제를 확인하고 해결할 책임이 있습니다. 이렇게 하면 지원 가능성 문제 증가, 메모리 손상, 시스템 패닉 또는 원격 코드 실행과 같은 릴리즈 문제를 방지할 수 있습니다.
보안 코드 검토. 보안 코드 검토는 개발 초기, 버전 제어에 제출하기 전에 보안 버그를 식별하는 기법입니다. 이 기법은 Common Weakness Enumeration(CWE) 표준에 설명된 특정 코드 패턴과 같은 가시적인 보안 약점을 코드에서 방지하는 데 도움이 됩니다. 보안 코드 검토는 정적 애플리케이션 보안 테스트 및 위협 모델링에서 확보한 인사이트에 따라 달라집니다.
동적 애플리케이션 보안 테스트. 제품 팀은 완벽하게 컴파일된 소프트웨어에서 이 테스트를 수행하여 런타임 문제를 식별하고 테스트 또는 스테이징 환경에서 통합 코드 및 실행 코드의 보안을 테스트할 수 있습니다. 검사 활동에는 검사가 용이하도록 테스트할 웹 애플리케이션을 구성하고 애플리케이션에 검사 툴을 실행하는 작업이 포함됩니다. 이러한 검사를 시행하면 애플리케이션을 교차 사이트 스크립팅 또는 SQL 삽입에 취약하게 만드는 입력 및 출력 검증 문제를 포함하여 광범위한 취약점을 발견할 수 있습니다. 또한 구성 오류 및 애플리케이션의 기타 특정 문제를 식별하는 데 도움이 될 수 있습니다.
취약점 검사. 개발 중인 NetApp 제품에서 공통되고 알려진 보안 취약점을 식별하기 위해 NetApp은 표준 프로세스를 따라 서명과 구성을 검사합니다.
퍼지 테스트. 보안 취약점을 찾기 위한 퍼지 테스트는 일부 또는 전체 형식이 잘못된 데이터를 프로토콜 인터페이스에 포함하여 의도하지 않은 결과를 식별하는 자동화된 런타임 테스트 기법입니다. NetApp 제품 팀이 사용하는 퍼지 테스트 툴은 자동화된 블랙 박스 퍼지를 수행하는 프로토콜별 테스트 제품군을 지원합니다. 이 테스트는 부적합 RFC와 같은 문제를 식별할 수 있습니다. 퍼지 테스트는 종종 동적 애플리케이션 보안 테스트와 결합되며 개발 단계에서 코드를 테스트할 때 포함됩니다.
타사 소프트웨어 검사. 타사 소프트웨어(또는 소프트웨어 구성 분석)를 검사하면 타사 구성 요소를 사용할 때의 보안 위험을 관리할 수 있습니다. 이 검사에서는 오픈 소스 소프트웨어와 타사 구성 요소의 인벤토리를 만들어 제품에 내장할 수 있습니다. 법적 및 보안 문제가 있을 수 있는 구성 요소에 플래그를 지정할 수 있는데, 이러한 구성 요소는 제품 출시 전에 수정 조치가 필요할 수 있습니다. 이렇게 하면 알려진 취약점을 빠르게 식별하고 제품 팀에서 이를 해결할 계획을 수립할 수 있습니다. 언제든지 새로 발견된 취약점이 보고될 수 있으므로 이 검사를 지속적으로 수행할 수 있습니다.
보안 문제를 식별하고 해결한 후에는 구현된 수정 사항을 검증할 수 있습니다.
SDL 프로세스에서 위험에 대한 커뮤니케이션에는 SDL의 이전 접점에서 파악한 위험을 평가, 전달 및 처리하는 작업이 포함됩니다. 여기에는 침투 테스트, 공식 보고 또는 제품별 인시던트 대응 절차 개발과 같은 단계가 포함될 수 있습니다.
제품 보안 인시던트 대응 팀(PSIRT)은 공개적으로 보고되거나 회사 내에서 보고된 취약점에 대한 조사를 조정하고 관리할 책임이 있으며, 조사 및 완화 관련 공개 자문이 포함된 NetApp의 대응을 담당합니다. 제품 팀은 PSIRT와 조율할 팀원을 지정합니다.
To edit this Page SEO component