취약한 조건
악용 가능하지 않은 취약점은 애플리케이션에 보안 위협을 가할 가능성이 낮으므로 수정 우선순위를 낮출 수 있습니다.
모든 취약점에는 취약점이 위협이 되기 위해, 즉 악용 가능하기 위해 충족되어야 하는 조건이 있습니다.
취약 조건의 예로는 다음 기준 중 하나를 충족하는 조건이 포함됩니다.
사용자의 상호 작용 필요
특정 포트 번호가 열려 있음
특정 CPU 아키텍처 필요
특정 설정 활성화
일부 취약점은 해당 취약점이 악용 가능하기 위해 모두 충족되어야 하는 여러 다른 조건을 가집니다. 취약한 오픈소스 패키지는 일부 애플리케이션에서는 악용될 수 있지만 다른 애플리케이션에서는 그렇지 않을 수 있습니다.
악용 가능성은 컨텍스트에 따라 달라집니다. 컨텍스트의 예로는 환경, 설정, 그리고 개발자가 패키지를 사용하는 방식이 포함됩니다.
Snyk 분류 어시스턴트 (Snyk Triage Assistant)
기능 가용성 이 기능은 GitHub를 소스로 사용하고 Snyk Code가 활성화된 경우 Java(Gradle 및 Maven) 에코시스템에서만 사용할 수 있습니다.
귀하의 애플리케이션 컨텍스트에서 분류 어시스턴트는 취약 조건을 평가하여 애플리케이션의 악용 가능성을 판단하는 데 도움을 줍니다.
Snyk Code (SAST) 엔진을 사용하여 자사 코드를 읽고 Snyk Open Source (SCA)에서 발견된 취약점에 대한 조건을 확인합니다.
이 기능을 제공하기 위해 Snyk은 귀하의 Git 리포지토리 콘텐츠를 일시적으로 복사합니다. 자세한 내용은 Snyk의 데이터 처리 방식을 참조하십시오.
Jackson 취약 조건 평가
Jackson 취약 조건은 취약점이 악용 가능하기 위해 다음 조건을 모두 충족해야 합니다.
취약한 버전: Jackson 패키지 (com.fasterxml.jackson.core:jackson-databind 취약점)가 Snyk이 취약하다고 인지하는 특정 버전이어야 합니다.
특정 설정: 특정 설정 또는 기능이 활성화되어야 하며, 이 경우 다형성 유형 처리 (Polymorphic Type Handling) 기능입니다.
다음 중 하나를 찾아 코드에서 이 설정이 활성화되어 있는지 확인할 수 있습니다.
@JsonSubTypes어노테이션이 사용됨.클래스에
@JsonTypeInfo어노테이션이 사용됨.다형성 타이핑을 활성화하기 위해
enableDefaultTyping()이 사용됨.다형성 타이핑을 활성화하기 위해
enableDefaultTypingAsProperty()가 사용됨.
사용자 상호 작용: 애플리케이션이 사용자로부터 JSON 입력을 받아야 합니다.
특정 가젯 (Gadget): 애플리케이션의 실행 범위 내에서 클래스 또는 함수인 "가젯"을 사용할 수 있어야 합니다.
익스플로잇 성숙도가 있는 취약점이 악용 가능하지 않은 경우는 언제인가요?
취약점에 대해 야생에서 사용 가능한 익스플로잇이나 악용 방법에 대한 상세한 설명이 있을 수 있지만, 모든 조건이 충족되지 않는 한 해당 취약점은 악용 불가능한 상태로 유지됩니다.
Last updated