주요정보통신기반 시설 가이드

크로스사이트 리퀘스트 변조(CSRF)란?

만보만보잠만보 2024. 3. 19. 19:25

개념

공격자가 삽입한 스크립트를 다른 사용자가 자신의 의지와 무관하게 실행해 공격자가 의도한 행위를 서버에 요청하는 취약점입니다.

 

발생 원인

사용자 입력 값에 대한 적절한 필터링 및 유효성 검증을 하지 않아 발생하는 취약점입니다.

 

위험한 이유

타 사용자의 권한으로 악의적인 공격을 수행해 해당 사용자가 피해를 입을 수 있습니다.

 

조치 방법

- 웹 사이트에 사용자 입력 값이 저장되는 페이지는 요청이 일회성이 될 수 있도록 설계합니다

- 사용 중인 프레임워크에 기본적으로 제공되는 CSRF 보호 기능을 사용합니다.

- 사용자가 정상적인 프로세스를 통해 요청하였는지 HTTP 헤더의 Referer 검증 로직을 구현합니다.

- 정상적인 요청(Request)와 비정상적인 요청(Request)를 구분할 수 있도록 Hidden Form을 사용하여 임의의 암호화된 토큰을 추가하고 이 토큰을 검증하도록 설계합니다.

- HTML이나 자바스크립트에 해당되는 태그 사용을 사전에 제한하고, 서버 단에서 사용자 입력 값에 대한 필터링을 구현합니다.

- HTML Editor 사용으로 인한 상기사항 조치 불가 시, 서버 사이드/서블릿/DAO 영역에서 조치하도록 설계합니다.

 

추가 정보

- 서블릿: JAVA 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말합니다.

- DAO: DB에 접속하여 데이터를 조회/수정을 하는 기능을 전담하도록 만든 객체입니다.

 

'주요정보통신기반 시설 가이드' 카테고리의 다른 글

불충분한 인가란?  (0) 2024.03.20
세션 예측이란?  (0) 2024.03.19
취약한 패스워드 복구란?  (0) 2024.03.17
불충분한 인증이란?  (0) 2024.03.17
약한 문자열 강도란?  (0) 2024.03.17