Open Source Security & Risk Analysis Report (OSSRA) | Synopsys
synopsys.com
OWASP(Open Web Application Security Project)의 OSS 상위 10가지 위험(Top 10 Risks for Open Source Software)에 대한 내용입니다.
< 배경 >
소프트웨어 공급망에서 OSS에 대한 의존도가 높지만 업계에서는 OSS의 위험을 이해하고 측정할 수 있는 일관된 방법이 부족합니다. OSS의 위험 관리는 라이선스 관리에서 시작하여 CVE로 발전했지만 보안, 법률, 운영 측면을 아우르는 종합적인 접근 방식은 여전히 부족합니다.
지난 10년 동안 OSS에 대한 의존도가 높아지면서 알려진 취약점, 즉 CVE가 보안의 핵심 지표로 부상했습니다. 알려진 취약점은 중요한 신호이기는 하지만 일반적으로 선의의 개발자가 저지른 실수를 포착합니다. 이러한 실수는 공격자가 악용할 수 있으므로 수정해야 하지만, OSS에 의존할 때 발생하는 모든 위험을 포괄하기는 어렵습니다.
코드베이스의 89%에 4년 이상 오래된 OSS가 포함되어 있음
코드베이스의 91%에는 2년 이상 새로운 개발이 없었던 구성 요소가 포함되어 있음
< 상위 10가지 OSS 위험 >
OSS-RISK-1 알려진 취약점(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS1-Known-Vulnerabilities)
컴포넌트 버전에 개발자가 실수로 도입한 취약한 코드가 포함되어 있을 수 있습니다. 취약점 세부 정보는 CVE, GitHub 보안 권고 또는 기타 비공식적인 커뮤니케이션 채널을 통해 공개적으로 공개됩니다. 익스플로잇과 패치는 제공되거나 제공되지 않을 수 있습니다.
OSS-RISK-2 합법적인 패키지의 손상(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS2-Compromise-Legitimate-Package)
공격자는 합법적인 프로젝트 관리자의 계정을 탈취하거나 패키지 저장소의 취약점을 악용하는 등의 방법으로 기존 합법적인 프로젝트 또는 배포 인프라의 일부인 리소스를 손상시켜 구성 요소에 악성 코드를 삽입할 수 있습니다.
OSS-RISK-3 이름 혼동 공격(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS3-Name-Confusion-Attack)
공격자는 합법적인 오픈소스 또는 시스템 구성 요소의 이름과 유사한 이름을 가진 구성 요소를 만들거나(오타 스쿼팅), 신뢰할 수 있는 작성자를 제안하거나(브랜드 재킹), 다른 언어 또는 에코시스템의 일반적인 명명 패턴을 사용할 수 있습니다(콤보 스쿼팅).
OSS-RISK-4 유지 관리되지 않는 소프트웨어(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS4-Unmaintained-Software)
구성 요소 또는 구성 요소 버전이 더 이상 활발하게 개발되지 않을 수 있으므로 원래 오픈 소스 프로젝트에서 기능 및 비기능적 버그에 대한 패치를 적시에 제공하지 않거나 전혀 제공하지 않을 수 있습니다.
OSS-RISK-5 오래된 소프트웨어(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS5-Outdated-Software)
프로젝트에서 오래된 오래된 버전의 컴포넌트를 사용할 수 있습니다(최신 버전이 존재함에도 불구하고).
OSS-RISK-6 추적되지 않은 종속성(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS6-Untracked-Dependencies)
프로젝트 개발자가 구성 요소에 대한 종속성을 전혀 인지하지 못할 수 있습니다(예: 업스트림 구성 요소의 SBOM에 포함되지 않았거나, SCA 도구가 실행되지 않거나 감지하지 못하거나, 패키지 관리자를 사용하여 종속성을 설정하지 않았기 때문).
OSS-RISK-7 라이선스 위험(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS7-License-Regulatory-Risks)
구성 요소 또는 프로젝트에 라이선스가 전혀 없거나 의도된 사용과 호환되지 않거나 요구 사항이 충족되지 않거나 충족할 수 없는 라이선스가 있을 수 있습니다.
OSS-RISK-8 미성숙한 소프트웨어(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS8-Immature-Software)
오픈 소스 프로젝트는 표준 버전 관리 체계를 사용하지 않거나 회귀 테스트 스위트, 검토 지침 또는 문서가 없는 등 개발 모범 사례를 적용하지 않을 수 있습니다. 그 결과 구성 요소가 안정적으로 또는 안전하게 작동하지 않을 수 있습니다.
OSS-RISK-9 승인되지 않은 변경(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS9-Unapproved-Change)
다운로드 링크가 버전이 없는 리소스를 가리키거나 버전이 있는 리소스가 수정 또는 변조되었거나 안전하지 않은 데이터 전송으로 인해 개발자가 그러한 변경 사항을 인지, 검토 또는 승인할 수 없는 경우 등 개발자가 변경 사항을 인지하지 못한 채 구성 요소가 변경될 수 있습니다.
OSS-RISK-10 종속성 크기 부족/과다(https://owasp.org/www-project-open-source-software-top-10/0-1-risks/OSS10-UnderOversized-Dependency)
컴포넌트가 매우 적은 기능(예: npm 마이크로 패키지)을 제공하거나 많은 기능(이 중 일부만 사용될 수 있음)을 제공할 수 있습니다.
< 참고 >
Synopsys Report: https://www.synopsys.com/software-integrity/resources/analyst-reports/open-source-security-risk-analysis.html#introMenu
OSS협회: https://www.oss.kr/news/show/eda8631c-9fc6-442a-8e74-f10f391852a0
source: https://owasp.org/www-project-open-source-software-top-10/
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 7월 21일 오후 1:32