- SSRF(Server-Side Request Forgery)는 공격자가 서버가 대신 요청을 수행하도록 조작하여 내부 네트워크나 클라우드 메타데이터 등 민감한 정보에 접근하는 공격입니다. 🕵️♂️
- 이 취약점은 2021년 OWASP TOP 10에 신규로 포함될 만큼 중요하며, 서버의 취약한 URL 처리 코드에서 시작됩니다. 📈
- 실제 캐피탈 원 사례에서 SSRF 공격으로 1억 명 이상의 고객 정보와 AWS Access Key가 유출되어 S3 버킷 접근 권한을 탈취당한 바 있습니다. 💰
- SSRF 방어에는 블랙리스트 방식(특정 IP, 도메인 차단)과 화이트리스트 방식(허용된 트래픽만 통과)이 있지만, 각각 우회 기법이 존재합니다. 🚫
- 블랙리스트는 중간 서버를 통한 HTTP 302 리다이렉션으로 우회될 수 있으므로, 리다이렉트 요청 자체를 차단하는 것이 중요합니다. 🔄
- 화이트리스트는 DNS 리바인딩 공격을 통해 검증 시점과 실제 요청 시점의 IP를 다르게 만들어 우회될 수 있습니다. 🕸️
- AWS IMDSv2는 토큰 기반 인증과 Metadata hop limit(기본값 1)을 통해 SSRF 공격, 특히 단순 GET 요청 기반의 공격을 효과적으로 방어합니다. 🛡️
- 보안에는 단일 해결책이 없으므로, IMDSv2와 같은 기술적 방어 외에도 코드 설계 시 취약점 인지, 분석 도구 활용, 그리고 다층적 방어 전략이 필수적입니다. 🧱
- 개발자는 사용자를 위한 안전한 환경을 제공하기 위해 보안 취약점에 대한 지속적인 인지와 다각적인 방어 설계를 해야 할 책임이 있습니다. 🧑💻
데브허브 | DEVHUB | [10분 테코톡] 꾹이의 SSRF