본문 바로가기
Spring Framework/project

CSRF 는 무엇인가?

by bloodFinger 2020. 2. 12.

보안에서 굉장히 중요한 역할을 하고 있다.

프로젝트를 배포할때 꼭 고려해야 하는 상황이다. 이러한 점을 고려하지 않고 배포하게 된다면 보안에 굉장히 문제가 될수있다~!

 

 

사이트 간 요청 위조

위키백과, 우리 모두의 백과사전.

(Csrf에서 넘어옴)

둘러보기로 가기검색하러 가기

사이트 간 요청 위조(또는 크로스 사이트 요청 위조, 영어: Cross-site request forgery, CSRF, XSRF)는 웹사이트 취약점 공격의 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격을 말한다.

유명 경매 사이트인 옥션에서 발생한 개인정보 유출 사건에서 사용된 공격 방식 중 하나다.

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

 

공격 과정

  1. 이용자는 웹사이트에 로그인하여 정상적인 쿠키를 발급받는다
  2. 공격자는 다음과 같은 링크를 이메일이나 게시판 등의 경로를 통해 이용자에게 전달한다.http://www.geocities.com/attacker
  3. 공격용 HTML 페이지는 다음과 같은 이미지태그를 가진다.

    <img src= "https://travel.service.com/travel_update?.src=Korea&.dst=Hell">

    해당 링크는 클릭시 정상적인 경우 출발지와 도착지를 등록하기위한 링크이다. 위의 경우 도착지를 변조하였다.
  4. 이용자가 공격용 페이지를 열면, 브라우저는 이미지 파일을 받아오기 위해 공격용 URL을 연다.
  5. 이용자의 승인이나 인지 없이 출발지와 도착지가 등록됨으로써 공격이 완료된다. 해당 서비스 페이지는 등록 과정에 대해 단순히 쿠키를 통한 본인확인 밖에 하지 않으므로 공격자가 정상적인 이용자의 수정이 가능하게 된다.

 

 

아래와 같은 정의가 되어있다.

 

즉 공격하는 방법이며 우리는 이러한 공격에 대한 대비를 해야한다!

 

그 방법으로는 간단하지만 귀찮다는 단점을 가지고 있다!!

프로젝트에 적용방법은 다음시간에~ㅎ