[OWASP Top 10 2021] 06 - Vulnerable and Outdated Components (취약하거나 오래된 구성요소)

·2025년 8월 13일
1

OWASP Top 10 2021

목록 보기
6/10

06 - Vulnerable and Outdated Components

https://owasp.org/Top10/A06_2021-Vulnerable_and_Outdated_Components/

개요

OWASP Top 10 2021 중 6위로 올라간 Vulnerable and Outdated Components (취약하거나 오래된 구성 요소) 이다.

  • 애플리케이션에서 사용 중인 타사 구성요소가 취약하거나 더 이상 유지,관리되지 않는 상태를 말한다.
  • 구성 요소를 제대로 추적, 업데이트, 보안 배치 하지 않으면, 애플리케이션 전체가 공격에 노출될 위험이 증가한다.

위험 요인

  • 클라이언트,서버 양쪽에서 사용하는 모든 구성요소에 대한 버전 정보가 파악되지 않을 때
  • 구성 요소 자체가 취약하거나 지원 종료된 상태
  • 보안 공지나 취약점 알림을 정기적으로 모니터링 하지 않을 때
  • 적시에 패치 적용 또는 업그레이드 하지 않을 때
  • 업데이트 후 호환성 테스트 미실시로 최신 버전 적용이 어려울 때
  • 구성 요소의 설정도 충분히 보호되지 않을 때 ( A05 Security Misconfiguration와 연계됨)

방지 방법

  • 불필요한 구성 요소, 문서, 샘플 코드를 제거하여 공격 표면을 단축한다.
  • 애플리케이션에서 사용 중인 모든 구성요소와 버전을 목록화 하여 관리한다.
  • OWASP Dependency Check, retire.js 등 자동화 도구 활용해 의존성 및 취약성을 탐지한다.
  • 보안 공지를 정기적으로 확인하고, 위험이 확인되면 대응 체계를 가동한다.

실제 사례

  • Apache Struts 취약점 (Equifax 데이터 유출 사고, 2017년)
    • 미국 신용정보회사 Equifax가 데이터 침해를 당해 1억명이 넘는 사용자의 개인 정보가 유출되었다.
    • 웹 애플리케이션 프레임워크인 Apache Struts 에 대한 보안 패치가 출시되었음에도, Equifax 는 제때 적용하지 않아 발생한 침해사고이다.

배운 점

  • 소프트웨어는 새로운 기능과 편의성을 확장할 수 있는 도구이지만, 배포 이후 유지보수 없이 방치될 경우 곧바로 보안 취약점이 될 수 있다는 것을 알게 되었다.
  • 내가 짠 코드가 안전하더라도, 사용한 구성요소가 취약하면 뚫릴 수 있다는 것을 알게 되었다.
  • 개인적으로 어플리케이션의 업데이트 등은 귀찮아서 밀어두는 경우가 많았는데, 보안을 위해서는 바로바로 최신 버전으로 적용을 해야겠다고 생각하게 되었다.
profile
CTF 풀이 및 실습 중심 학습을 기록합니다.

0개의 댓글