[Server] CSRF 공격 조건 및 예방 방법

somin·2021년 9월 6일
0

server

목록 보기
9/13

Web application Security

  • 개발자들이 웹사이트, 모바일 어플, 웹 API 등을 만들 때에 해커들의 공격을 막기 위해 보안은 필수 사항
  • 여러가지 공격들 : SQL Injection, XSS, CSRF

CSRF

  • Cross Site Request Forgery
  • 다른 사이트(cross-site)에서 유저가 보내는 요청(request)을 조작(forgery)하는 것
    *예시 : 이메일에 첨부된 링크를 누르면 은행 계좌의 돈이 빠져 나감
  • 해커가 직접 데이터에 접근할 수 없음
    *다른 사이트이기 때문에 response에 직접 접근할 수 없음

1. 공격 조건

  • 쿠키를 사용한 로그인 : 유저가 로그인 했을 때, 쿠키로 어떤 유저인지 알 수 있어야 함
  • 예측할 수 있는 요청/parameter를 가지고 있어야 함 : request에 해커가 모를 수 있는 정보가 담겨 있으먄 안됨

2. 공격 방지

  • CRSF 토큰 사용하기 : 서버측에서 CSRF 공격을 보호하기 위한 문자열을 유저의 브라우저와 웹 앱에만 제공
    *이 조합으로 생성된 요청에만 성공적으로 응답을 해주는 방식
  • Same-Site Cookie 사용하기 : 같은 도메인에서만 세션, 쿠키를 사용할 수 있도록 만듦
    *같은 도메인에서 온 요청이 아니면 받아주지 않음
profile
✏️

0개의 댓글