ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CSRF(Cross Site Request Forgery)란?
    Engineer information security 2021. 3. 22. 02:52
    반응형

    CSRF를 직역해보면 "사이트 간 요청 위조"라는 뜻을 가지고 있다. 한 때 OWASP top 10에도 오른 적이 있을 만큼 대단히 위험도가 높은 것으로 평가되었던 공격이다. 그리고 시험공부를 할 때 여기저기서 정보를 얻으면서 보니 빠지지 않고 등장했고 반드시 알아야 하는 부분이라고 했던 기억이 난다. CSRF의 공격 원리는 무엇이고 이것에 대한 보안 대책은 무엇인지 알아보자. 

     

    CSRF의 원리

     

    Cross Site Request Forgery 원리
    CSRF(Cross Site Request Forgery)

     

     

    1. 공격자는 희생자의 개인 정보등을 얻거나 권한을 얻기 위해 취약한 웹사이트에 HTTP로 작성된 요청문을 게시판에 등록한다. (ex, 희생자 정보 요청 또는 비밀번호 변경 등)

    2. 공격자의 게시물이 DB에 저장되고, 게시글이 등록된다. 

    3. 희생자는 공격자가 올려놓은 게시글을 읽게 되고 링크 또는 이미지에 삽입된 링크를 클릭하면서 공격자가 작성한 HTTP을 자신의 권한으로 실행, 웹서버에 요청을 한다.

    4. 희생자의 권한으로 HTTP 요청을 받은 웹서버는 요청을 처리하고 응답을 보낸다. 공격자의 의도대로 실행이 되었고 희생자는 의도하지 않은 피해를 입게 된다.

     

     

     

     

     

     

    CSRF에 취약하다는 판단을 할 수 있는 기준 

    -> 웹 애플리케이션 사용자가 입력할 수 있는 형식(게시판, Q&A 등등)에서 img src를 이용하여 공격할 수 있는 조작문을 작성하고 임의의 사용자가 해당 링크를 클릭, 요청이 정상 실행되면 취약함으로 판단(모의 공격을 해본다)

     

     

     

     

     

    CSRF 보안 대책

    1. 중요한 요청에 대한 재인증 요청

    2. 사용자의 접근 권한 정보가 포함된 토큰을 생성하고 사용자가 웹 서버에 요청을 보낼 때 토큰 값으로 검증

     

     

     

     

     

     

    반응형

    댓글

Designed by Tistory.