안전한 종속성
최신 애플리케이션에 있는 많은 코드는 개발자가 선택하는 라이브러리 및 종속성으로 구성됩니다. 이러한 코드는 시간과 돈을 절약하는 일반적인 사례입니다. 그러나 단점은 다른 사용자가 작성했음에도 불구하고 사용자가 프로젝트에서 이러한 코드를 사용했으므로 현재 이 사용자에게 해당 코드에 대한 책임이 있다는 것입니다. 연구원(또는 더 나쁜 해커)이 이러한 타사 라이브러리 중 하나에서 취약성을 발견하면 앱에도 동일한 결함이 발생할 수 있습니다.
알려진 취약성이 있는 구성 요소를 사용하는 것은 업계에서 큰 문제입니다. 문제가 너무 심각해서 이 취약점은 몇 년 동안 최악의 웹 애플리케이션 취약점으로 OWASP 상위 10위 목록에 올랐습니다.
알려진 보안 취약성 추적
당면한 문제는 문제가 언제 발견되는지를 아는 것입니다. 라이브러리와 종속성을 업데이트된 상태로 유지하면(목록의 4번) 당연히 도움이 되겠지만, 애플리케이션에 영향을 줄 수 있는 식별된 취약성을 추적하는 것이 좋습니다.
중요
시스템에 알려진 취약성이 있는 경우 익스플로잇을 사용할 수 있을 가능성이 훨씬 더 높습니다. 사용자가 해당 시스템을 공격하는 데 사용할 수 있는 코드입니다. 악용이 공개되면 영향을 받는 모든 시스템을 즉시 업데이트해야 합니다.
Mitre 는 일반적인 취약성 및 노출 목록을 유지하는 비영리 조직입니다. 이 목록은 앱, 라이브러리 및 프레임워크에서 알려진 사이버 보안 취약성의 집합으로 공개적으로 검색할 수 있습니다. CVE 데이터베이스에서 라이브러리 또는 구성 요소를 찾으면 알려진 취약성이 있습니다.
제품이나 구성 요소에서 보안 결함이 발견되면 보안 커뮤니티에서 문제를 제출합니다. 게시된 각 문제에는 ID가 할당되며, 발견된 날짜, 취약성에 대한 설명 및 해당 문제에 대한 게시된 해결 방법 또는 공급업체에 대한 참조가 포함되어 있습니다.
타사 구성 요소에서 알려진 취약성이 있는지 확인하는 방법
이 목록을 확인하기 위해 휴대폰에 매일 작업을 넣을 수 있지만 다행히 종속성이 취약한지 확인할 수 있는 많은 도구가 있습니다. 이러한 도구를 코드베이스에 대해 실행하거나 더 나은 방법으로 CI/CD 파이프라인에 추가하여 개발 프로세스의 일부로 문제를 자동으로 확인할 수 있습니다.
- Jenkins 플러그 인이 있는 OWASP 종속성 검사
- GitHub의 오픈 소스 리포지토리에 무료로 제공하는 Snyk
- 많은 기업이 사용하는 블랙 덕
- Retire.js는 JavaScript 라이브러리가 오래되었는지 확인하는 도구입니다. 이를 Burp Suite를 포함한 다양한 도구의 플러그인으로 사용할 수 있습니다.
정적 코드 분석을 위해 특별히 만든 일부 도구도 이 용도로 사용할 수 있습니다.
취약한 구성 요소 사용과 관련된 위험에 대한 자세한 내용은 이 항목 전용 OWASP 페이지를 참조하세요.
요약
라이브러리 또는 기타 타사 구성 요소를 애플리케이션의 일부로 사용하는 경우 발생할 수 있는 모든 위험도 감수하게 됩니다. 이 위험을 줄이는 가장 좋은 방법은 연결된 알려진 취약성이 없는 구성 요소만 사용하는 것입니다.