안전하지 않은 API 또는 라이브러리

OWASP 카테고리: MASVS-CODE: 코드 품질

개요

안전하지 않은 API나 라이브러리를 사용하면 애플리케이션의 보안 상태가 크게 저하됩니다. 이러한 종속 항목의 보안이 침해되면 공격자가 다수의 벡터를 활용하여 중간자(MitM) 및 원격 코드 실행(RCE)과 같은 광범위한 공격을 실행할 수 있습니다.

안전하지 않은 종속 항목을 구현할 위협은 개발자가 보안 평가 및 취약점 테스트를 소프트웨어 개발 수명 주기(SDLC)에 통합하지 않거나 경우에 따라 애플리케이션 종속 항목의 자동 업데이트 정책을 구현하지 않을 때 발생합니다.

종속 항목 악용은 일반적으로 애플리케이션 바이너리(.apk)를 분석하여 취약한 라이브러리를 찾는 것으로 시작됩니다. 이 시점에서 오픈소스 인텔리전스(OSINT)를 실행하여 이전에 발견된 악용 가능한 취약점을 찾아냅니다. 그러면 공격자는 일반적인 취약점 및 노출(CVE)과 같이 공개된 취약점 정보를 활용하여 추가 공격을 실행할 수 있습니다.

영향

안전하지 않은 종속 항목을 성공적으로 악용하면 원격 코드 실행(RCE), SQL 삽입(SQLi) 또는 교차 사이트 스크립팅(XSS)과 같은 광범위한 공격으로 이어질 수 있습니다. 따라서 전반적인 영향은 서드 파티 소프트웨어에서 발생하고 공격자가 악용할 수 있는 취약점 유형과 직접적으로 관련이 있습니다. 취약한 종속 항목의 악용으로 정보 유출 또는 서비스 비가용성이 발생할 수 있고 이는 평판과 매출에 상당한 영향을 미칠 수 있습니다.

완화 조치

심층 방어

아래에 나열된 완화 조치는 더 강력한 보안 상태를 보장하고 애플리케이션의 공격 표면을 줄이기 위해 함께 구현되어야 합니다. 정확한 접근 방식은 항상 사례별로 평가해야 합니다.

종속 항목 취약점 평가

개발 수명 주기 초기에 종속 항목 확인을 구현하여 서드 파티 코드 내에서 취약점을 감지하세요. 이 단계에서는 프로덕션 환경에 출시되기 전에 내부에서 빌드되지 않은 코드가 안전한지 테스트합니다. 소프트웨어 개발 수명 주기 내에서 정적 애플리케이션 보안 테스트(SAST) 및 동적 애플리케이션 보안 테스트(DAST) 도구를 구현하여 애플리케이션의 보안 상태를 개선함으로써 검증을 보완할 수 있습니다.

종속 항목 지속적으로 업데이트

코드에 삽입된 종속 항목을 지속적으로 업데이트하도록 항상 주의하세요. 이를 위해 서드 파티 구성요소가 새 보안 패치를 출시할 때마다 프로덕션으로 푸시되는 자동 업데이트를 구현하는 것이 좋습니다.

애플리케이션 침투 테스트 실행

정기적으로 침투 테스트를 실행하세요. 이러한 유형의 테스트는 독점 코드 또는 서드 파티 종속 항목에 영향을 줄 수 있는 잘 알려진 취약점을 찾는 것을 목표로 합니다. 또한 보안 평가에서는 알 수 없는 취약점(제로 데이)을 파악하는 경우가 많습니다. 침투 테스트는 개발자에게 애플리케이션의 현재 보안 상태 스냅샷을 제공하여 해결해야 하는 악용 가능한 보안 문제의 우선순위를 정할 수 있도록 하므로 유용합니다.

리소스