AWS, S3 버킷스쿼팅 방지 위해 새로운 네임스페이스 도입

by DD
2개월 전
조회수 12

AWS, S3 버킷 이름의 전역 유일성(Global Uniqueness)으로 인한 버킷스쿼팅 문제를 해결하기 위해 새로운 네임스페이스를 도입

새로운 네임스페이스는 계정 ID를 포함하는 형식으로, 계정 소유자만 해당 이름의 버킷 생성 가능

기존 버킷은 새로운 네임스페이스 패턴으로 마이그레이션(Migration)해야 하며, 다른 클라우드 제공업체는 다른 접근 방식 사용

개발자들은 기존 버킷의 마이그레이션(Migration) 필요성63자 제한(63-character limit)에 대한 불편함을 표명

AWS S3 버킷스쿼팅(Bucketsquatting) 문제의 근본적 해결

AWS는 S3 버킷 이름의 전역 유일성(Global Uniqueness)으로 인해 발생하는 버킷스쿼팅 문제를 해결하기 위해 새로운 네임스페이스를 도입했다. 이 네임스페이스는 계정 ID를 포함하는 형식으로, 계정 소유자만이 해당 이름의 버킷을 생성할 수 있도록 보장한다. 이는 공격자가 삭제된 버킷 이름을 탈취하여 데이터 유출(Data Leakage) 또는 서비스 중단을 시도하는 것을 방지하는 데 기여한다.

새로운 네임스페이스의 기술적 구현 및 사용법

새로운 네임스페이스는 `myapp-123456789012-us-west-2-an`과 같은 형식을 사용하며, 여기서 `-an`은 '계정 네임스페이스'를 의미한다. AWS는 이 네임스페이스 패턴을 기본적으로 사용할 것을 권장하며, 보안 관리자는 `s3:x-amz-bucket-namespace` 조건 키를 사용하여 조직 내에서 이 보호 기능을 적용하는 정책을 설정할 수 있다. 하지만 기존 버킷은 이 새로운 패턴을 적용하기 위해 데이터 마이그레이션(Data Migration)이 필요하다.

다른 클라우드 제공업체의 버킷 네임스페이스 접근 방식

AWS와 달리, Google Cloud Storage는 도메인 이름 검증을 기반으로 하는 네임스페이스 개념을 사용한다. 즉, 도메인 소유자만이 해당 도메인 형식의 버킷 이름을 생성할 수 있다. Azure Blob Storage는 스토리지 계정 이름과 컨테이너 이름을 사용하여 범위를 지정하지만, 계정 이름의 24자 제한으로 인해 네임스페이스 부족(Namespace Shortage) 문제가 발생할 수 있다. 이러한 차이점은 클라우드 환경 선택 시 고려해야 할 중요한 요소이다.

커뮤니티의 반응 및 우려 사항

커뮤니티에서는 기존 버킷의 마이그레이션 필요성과 새로운 네임스페이스의 63자 제한(63-character limit)에 대한 불편함을 표명했다. 특히, 기존 버킷 이름 패턴을 사용하는 경우, 새로운 네임스페이스로의 전환이 필요하다는 점에 주목했다. 또한, 계정 ID를 버킷 이름에 포함하는 것이 보안 위험(Security Risk)이 될 수 있는지에 대한 의문도 제기되었다. 하지만, 많은 개발자는 이러한 변화가 버킷스쿼팅 문제를 해결하는 데 도움이 될 것이라고 긍정적으로 평가했다.

Bucketsquatting is (finally) dead