[Web] 크로스사이트 리퀘스트 변조 [CSRF] (CF)

크로스 사이트 리퀘스트 변조

 

취약점 개요

■ 위험도
- 상

■ 점검 목적
- 사용자 입력 값에 대한 적절한 필터링 및 인증에 대한 유효성을 검증하여 신뢰(인증) 정보 내의 요청(Request)에 대한 변조 방지

■ 보안 위협
- 사용자의 신뢰(인증) 정보 내에서 사용자의 요청(Request)을 변조함으로써 해당 사용자의 권한으로 악의적인 공격을 수행할 수 있음

 

 

점검 및 조치 방법

■ 점검 및 판단 기준
- 양호 : 사용자 입력 값에 대한 검증 및 필터링이 이루어지는 경우
- 취약 : 사용자 입력 값에 대한 필터링이 이루어지지 않으며, HTML 코드(또는 스크립트)를 입력하여 실행되는 경우

■ 조치 방법
- 사용자 입력 값에 대해 검증 로직 및 필터링 추가 적용

■ 점검 방법
Step 1) XSS 취약점이 존재하는지 확인

 

Step 2) 등록 및 변경 등의 데이터 수정 기능의 페이지가 있는지 조사함

 

Step 3) 데이터 수정 페이지에서 전송되는 요청(Request)을 취득 후 인수 값을 변조하여 변조한 인수 값의 권한을 가진 사용자가 게시글(회원정보 변경 등)을 열람하였을 경우 전송한 인수 값의 데이터가 정상적으로 수행되는지 점검

 

■ 보안설정방법
Step 1) 사용자가 입력하는 값에 대한 검증 로직 구현
Step 2) 정상적인 리퀘스트와 비정상적인 리퀘스트를 구분할 수 있도록 From/URL 에서 임의의 토큰을 추가하고 이 토큰을 검증하도록 설계
Step 3) HTML이나 자바스크립트에 해당되는 태그 사용을 사전에 제한하고, 서버 단에서 사용자 입력 값에 대한 필터링 구현
Step 4) HTML Editor 사용으로 인한 상기 사항 조치가 불가할 시, 서버 사이드/서블릿/DAO(Data Access Object) 영역에서 조치하도록 설계
Step 5) XSS 조치 방안 참고

■ 용어 설명 / 팁
※ CSRF(Cross-site Request Forgery) : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격 유형

댓글

Designed by JB FACTORY