CWE-285 : Improper Authorization

rootk1m·2025년 3월 20일

CCE,CVE,CWE

목록 보기
3/3

Improper Authorization
부적절한 권한 부여

정의

  • 소프트웨어가 사용자나 시스템 구성요소에 부여된 권한을 적절하게 확인하거나 제한하지 못해, 허용되지 않은 작업을 수행할 수 있게 만드는 취약점.

발생 원인

  • 권한 검증 미흡
    애플리케이션이 사용자 인증 후 부여된 권한을 확인하지 않거나, 접근할 수 있는 기능을 제한하지 않을 경우 발생.
  • 구성 오류
    RBAC나 다른 접근 제어 메커니즘을 올바르게 설정하지 않아, 일부 사용자가 관리자 기능이나 민감한 데이터를 조회할 수 있게 됨
  • 코드 실수
    보안 검증을 누락하거나, 잘못된 조건문 or 로직으로 인해 허용되지 않은 동작을 방지하지 못할 때 발생.

공격 결과

  • 민감 데이터 접근
    권한이 없는 사용자가 내부 데이터에 접근 가능.
  • 시스템 구성 변경
    시스템 설정을 변경하거나, 관리자 기능을 악용하여 서비스 장애 유발 가능.
  • RCE
    제한된 권한을 이용해 시스템의 다른 부분에 대한 접근 권한을 획득하는 경우.

예시

1. 웹 애플리케이션의 관리자 페이지

  • 상황
    사용자가 로그인 후 자신의 대시보드에 접근할 수 있도록 하는 웹 애플리케이션이 있음.
  • 문제
    권한 검증이 제대로 이루어지지 않는다면, 일반 사용자도 URL을 직접 입력하여 관리자 페이지에 접근할 수 있음.
  • 영향
    관리자 기능에 접근한 사용자는 민감한 설정을 변경하거나, 다른 사용자 정보를 열람할 수 있어 보안 사고로 이어질 수 있음.

2. API 호출 권한 검증 미흡

  • 상황
    REST API를 통해 특정 데이터에 접근할 때, 사용자 역할에 따라 다르게 응답하도록 설계되어 있어야 함.
  • 문제
    API에서 사용자의 역할을 제대로 확인하지 않으면, 낮은 권한의 사용자가 원래 관리자 전용 데이터를 요청할 수 있음
  • 영향
    민감한 데이터가 유출되거나, 잘못된 데이터 변경이 발생할 수 있음.

예방 조치

  • 엄격한 권한 검증
    모든 기능과 리소스에 대해 접근 전에 사용자의 권한을 반드시 확인해야 함.
    각 API 호출이나 데이터 접근 요청 시, 사용자의 역할이 해당 작업을 수행할 수 있는지 검증하는 로직을 구현 필요

  • 역할 기반 접근 제어(RBAC) 도입
    사용자에게 부여하는 역할을 명확히 정의하고, 각 역할에 따라 수행 가능한 작업을 제한해야 함.
    최소 권한 원칙(Least Privilege Principle)을 적용해, 필요 이상의 권한이 부여되지 않도록 해야 함.

  • 정기적인 보안 감사 및 코드 리뷰
    주기적으로 애플리케이션의 권한 검증 로직을 점검하고, 코드 리뷰를 통해 누락된 검증 절차가 없는지 확인해야 함

  • 로그 및 모니터링 강화
    권한과 관련된 비정상적인 접근 시도나 변경 사항을 기록하고, 이를 기반으로 실시간 경고 시스템을 구축해야 함.

궁금하신 점이나, 잘못된 정보가 있다면 댓글로 알려주세요. 감사합니다!


출처:
https://cwe.mitre.org/data/definitions/89.html
+내 머리

1개의 댓글