서버측요청위조(SSRF) (Server-Side Request Forgery)

정보보안학
한 줄 정의: 공격자가 서버로 하여금 원래 의도하지 않은 내부 또는 외부 주소로 요청을 보내도록 속여, 서버만 접근 가능한 자원에 간접적으로 접근하는 공격 기법입니다.

쉽게 풀면

SSRF는 심부름을 시키는 사람이 심부름꾼에게 원래 목적지가 아닌 다른 곳에 몰래 다녀오라고 속이는 것과 비슷합니다. 많은 웹 서비스는 사용자가 입력한 URL로 이미지를 미리 보여주거나 외부 데이터를 가져오는 기능을 제공하는데, 이때 서버가 대신 그 주소로 요청을 보내줍니다. 공격자는 이 기능에 외부 사이트 대신 서버 내부 네트워크의 주소를 입력해, 원래는 외부에서 직접 접근할 수 없는 내부 시스템에 서버를 통해 간접적으로 접근합니다.

왜 중요한가

SSRF는 클라우드 환경의 내부 메타데이터 서버 접근 등 심각한 정보 유출로 이어진 사례가 다수 보고되면서 웹 애플리케이션 보안 연구에서 비중 있게 다뤄지는 주제가 되었습니다. 방화벽이나 네트워크 경계 방어를 우회할 수 있다는 점에서 전통적인 경계 기반 보안 모델의 한계를 보여주는 사례로도 인용됩니다.

논문에서는 이렇게 쓰입니다

"URL 미리보기 기능이 사용자 입력값을 검증 없이 그대로 요청 대상으로 사용하여, 내부망 서비스에 접근 가능한 SSRF 취약점이 발견되었다."

URL 관련 기능에서 발생하는 전형적인 SSRF 취약점 사례를 설명하는 문장입니다.

"본 연구는 서버가 요청을 보낼 수 있는 목적지 주소 대역을 화이트리스트 방식으로 제한하는 SSRF 방어 기법의 효과를 평가하였다."

SSRF 방어를 위한 목적지 주소 제한 기법 연구를 소개하는 문장입니다.

조금 더 깊게 보면

SSRF는 사용자가 지정한 URL을 서버가 대신 요청하는 기능(웹훅, 이미지 프록시, 문서 변환 등)에서 주로 발생하며, 공격자는 내부 IP 대역이나 클라우드 환경의 메타데이터 엔드포인트 같은 민감한 목적지를 지정해 정보를 빼냅니다. 방어를 위해서는 허용된 목적지만 요청할 수 있도록 제한하는 화이트리스트 방식이 블랙리스트 방식보다 우회에 강한 것으로 알려져 있습니다.

주의할 점

내부 IP 주소만 차단하면 된다고 생각하기 쉽지만, 리다이렉트나 DNS 재바인딩 같은 기법으로 필터를 우회할 수 있어 단순 문자열 차단만으로는 충분하지 않습니다.

관련 용어