2011년 10월 20일
보안 연구원들은 최근 시그니처 래핑 기술과 일부 AWS 서비스에서 사용하는 고급 크로스 사이트 스크립팅의 잠재적 취약점을 확인했습니다. 잠재적 취약점이 수정되었으며 이로 인해 피해를 받은 고객은 없었습니다. 아래 내용은 연구 결과에 대한 요약과 올바른 사용자 검증을 위한 모범 사례에 대한 알림입니다. AWS 보안 모범 사례를 완전히 구현한 고객은 이러한 취약점에 취약하지 않았습니다.
연구 결과는 SOAP 구문 분석 오류가 메시지 요소 중복 및/또는 처리 중인 암호화 서명 누락으로 특수하게 조작된 SOAP 요청을 발생하게 할 수 있음을 보여줍니다. 이러한 상황이 발생할 경우, 암호화되지 않은 SOAP 메시지에 액세스한 공격자는 다른 유효한 사용자로 작업을 수행하고 잘못된 EC2 작업을 수행할 수 있습니다. 예를 들어, 공격자가 사전 생성되고 사전 서명이 있는 EC2 고객의 SOAP 요청 또는 고객의 퍼블릭 X.509 인증서를 부적절하게 얻을 수 있는 경우 다른 고객 대신 SOAP 요청을 임의로 생성할 수 있습니다.
사전 서명이 있는 SOAP 요청 또는 X.509 인증서를 얻는 것이 어려울 수 있지만, 연구원은 가로채기를 당할 수 있는 퍼블릭 설정에서 고객이 HTTPS 대신 HTTP를 통해 SOAP 요청을 보내거나 퍼블릭 메시징 포럼과 같은 공격자가 액세스할 수 있는 위치에 SOAP 요청의 전체 내용을 남길 경우, 공격자가 이를 수행할 수 있다고 설명했습니다. 또한 보안 연구원은 고객의 퍼블릭 X.509 인증서를 얻는 데 사용될 수 있는 크로스 사이트 스크립팅(XSS) 결함을 발견하고 이를 보고했습니다. 이러한 방식으로 고객의 퍼블릭 X.509 인증서를 확보하면 공격자가 고객을 대신하여 임의의 SOAP 요청을 생성하여 위에서 설명한 취약점을 악용할 수 있습니다.
SOAP 및 XSS 취약성은 모두 수정되었으며 광범위한 로그 분석을 시행한 결과, 영향을 받은 고객은 없는 것으로 나타났습니다.
AWS는 고객을 보호하기 위해 다음과 같은 여러 가지 보안 모범 사례를 권장합니다.
- 모든 AWS 서비스에 SSL 보안/HTTPS 엔드포인트만 사용하고 클라이언트 유틸리티가 적절한 피어 인증서 유효성 검사를 수행하도록 합니다. 인증된 모든 AWS API 호출 중 아주 적은 비율이 비 SSL 엔드포인트를 사용하며, AWS는 향후 비 SSL API 엔드포인트를 폐기할 계획입니다.
- AWS Management Console 액세스에 Multi-Factor Authentication(MFA)을 활성화하고 사용합니다.
- 역할과 책임이 제한된 Identity and Access Management(IAM) 계정을 만들어 해당 계정에 필요한 리소스만 액세스하도록 제한합니다.
- IAM 소스 IP 정책 제한을 활용하여 소스 IP별로 API 액세스 및 상호 작용을 더욱 제한합니다.
- 보안 키, X.509 인증서 및 키 쌍을 포함하여 AWS 자격 증명을 정기적으로 교체합니다.
- AWS Management Console을 사용할 때는 은행 업무 또는 이와 유사하게 중요한 온라인 활동과 마찬가지로 다른 웹 사이트와의 상호 작용을 최소화하거나 피하고 안전한 인터넷 검색 사례를 따릅니다.
- AWS 고객은 REST/Query와 같은 SOAP 이외의 API 액세스 메커니즘을 활용하는 것도 고려해야 합니다.
AWS는 이 취약성을 보고하고 보안을 중요시하는 AWS의 열정을 함께 공유해준 다음 분들께 감사의 뜻을 표합니다.
독일 Ruhr-University Bochum의 Juraj Somorovsky, Mario Heiderich, Meiko Jensen 및 Jörg Schwenk
NEC Europe의 Nils Gruschka
독일 Cologne University of Applied Sciences의 Luigi Lo Iacono
AWS는 보안을 가장 중요하게 생각합니다. AWS는 고객이 안전한 AWS 인프라를 구현할 수 있도록 기능, 메커니즘 및 지원을 계속 제공할 것을 약속합니다. 보안 관련 질문이나 문의 사항은 aws-security@amazon.com을 통해 제출할 수 있습니다.