본문으로 이동

사이트 간 요청 위조

위키백과, 우리 모두의 백과사전.
(CSRF에서 넘어옴)

사이트 간 요청 위조(또는 크로스 사이트 요청 위조, 영어: Cross-site request forgery, CSRF, XSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다. 유명 경매 사이트인 옥션에서 발생한 개인정보 유출 사건에서 사용된 공격 방식 중 하나다.

사이트 간 스크립팅(XSS)을 이용한 공격이 사용자가 특정 웹사이트를 신용하는 점을 노린 것이라면, 사이트간 요청 위조는 특정 웹사이트가 사용자의 웹 브라우저를 신용하는 상태를 노린 것이다. 일단 사용자가 웹사이트에 로그인한 상태에서 사이트간 요청 위조 공격 코드가 삽입된 페이지를 열면, 공격 대상이 되는 웹사이트는 위조된 공격 명령이 믿을 수 있는 사용자로부터 발송된 것으로 판단하게 되어 공격에 노출된다.

개요

[편집]

CSRF는 웹 애플리케이션이 신뢰하는 사용자로부터 승인되지 않은 명령이 제출되는 웹 사이트 또는 웹 애플리케이션에 대한 일종의 악의적인 공격이다.[1] 악의적인 웹사이트가 그러한 명령을 전송할 수 있는 방법은 여러 가지가 있다. 예를 들어 특별히 제작된 이미지 태그, 숨겨진 양식, 자바스크립트 페치(fetch) 또는 XMLHttpRequests는 모두 사용자의 상호 작용이나 지식 없이도 작동할 수 있다. 특정 사이트에 대해 사용자가 갖고 있는 신뢰를 활용하는 사이트 간 스크립팅(XSS)와 달리 CSRF는 사이트가 사용자 브라우저에 갖고 있는 신뢰를 활용한다.[2] CSRF 공격에서는 공격자가 무고한 최종 사용자를 속여 의도하지 않은 웹 요청을 제출하도록 한다. 이로 인해 의도하지 않은 클라이언트 또는 서버 데이터 유출, 세션 상태 변경 또는 최종 사용자 계정 조작을 포함할 수 있는 작업이 웹 사이트에서 수행될 수 있다.

"CSRF"라는 용어는 헤더 데이터, 양식 데이터 또는 쿠키를 사용하여 이러한 공격을 테스트하고 방지하는 기술과 같은 CSRF 공격에 대한 방어의 약어로도 사용된다.

공격 과정

[편집]
  1. 이용자는 웹사이트에 로그인하여 정상적인 쿠키를 발급받는다
  2. 공격자는 다음과 같은 링크를 이메일이나 게시판 등의 경로를 통해 이용자에게 전달한다.
    http://www.geocities.com/attacker
  3. 공격용 HTML 페이지는 다음과 같은 이미지태그를 가진다.
    <img src= "https://travel.service.com/travel_update?.src=Korea&.dst=Hell">
    
    해당 링크는 클릭시 정상적인 경우 출발지와 도착지를 등록하기위한 링크이다. 위의 경우 도착지를 변조하였다.
  4. 이용자가 공격용 페이지를 열면, 브라우저는 이미지 파일을 받아오기 위해 공격용 URL을 연다.
  5. 이용자의 승인이나 인지 없이 출발지와 도착지가 등록됨으로써 공격이 완료된다. 해당 서비스 페이지는 등록 과정에 대해 단순히 쿠키를 통한 본인확인 밖에 하지 않으므로 공격자가 정상적인 이용자의 수정이 가능하게 된다.

같이 보기

[편집]

각주

[편집]

외부 링크

[편집]