Skip to content

Idor

  • Published on
    실제 데이터 유출 사고의 대부분은 인증이 아니라 인가에서 발생합니다. 로그인은 정상적으로 통과했는데 URL의 ID만 바꾸면 다른 사용자의 리소스가 그대로 반환되는 IDOR가 대표적입니다. 이 글은 인증과 인가의 경계를 코드 수준에서 구분하고, 순차 ID를 UUID로 바꾸는 것이 왜 해결책이 아니라 완화책에 불과한지 정확히 설명합니다. 인가 검사를 컨트롤러마다 흩어 놓으면 반드시 빠지는 곳이 생기므로 데이터 접근 계층이나 정책 엔진으로 중앙화해야 하는 이유, 다중 테넌트에서 테넌트 조건을 쿼리에 강제하는 패턴과 PostgreSQL 행 수준 보안 설정, 두 계정으로 모든 라우트를 교차 호출하는 자동 테스트, 그리고 감사 로그에 거부 기록을 남겨야 탐지가 되는 이유까지 다룹니다.