취약점점검- 크로스사이트 리퀘스트 변조(CSRF)
크로스사이트 리퀘스트 변조(CSRF) 란?
웹 어플리케이션에서 정상적인 경로를 통한 요청과 비정상적인 경로를 통한 요청을 서버가 구분하지 못할 경우 공격자가 스크립트 구문을 이용하여 정상적인 사용자로 하여금 조작된 요청을 전송 하도록 하여 게시판 설정 변경 및 자동 댓글, 회원 등급 변경 등의 문제가 발생할 수 있는 취약점
XSS공격: 단말기 즉, 클라이언트를 공격
CSRF공격: 서버측을 대상으로 하는 공격
CSRF공격은 서버측의 데이터를 변경시키게 되어 다른 사용자가 쓴 글을 지우거나, 앞에 예시와 같이 다른 사용자의 패스워드를 변경하는 등의 공격
취약점 개요
점검내용 | ■ 사용자의 신뢰(인증) 정보의 변조 여부 점검 |
점검목적 | ■ 사용자 입력 값에 대한 적절한 필터링 및 인증에 대한 유효성을 검증하여 신뢰(인증) 정보 내 의 요청(Request)에 대한 변조 방지 |
보안위협 | ■ 사용자의 신뢰(인증) 정보 내에서 사용자의 요청(Request)을 변조함으로써 해당 사용자의 권 한으로 악의적인 공격을 수행할 수 있음 |
점검대상 및 판단기준
대상 | ■ 그누보드 |
판단기준 | 양호: 사용자 입력 값에 대한 검증 및 필터링이 이루어지는 경우 |
취약: 사용자 입력 값에 대한 필터링이 이루어지지 않으며, HTML 코드(또는 스크립트)를 입력하 여 실행되는경우 |
|
조치방법 | 사용자 입력 값에 대해 검증 로직 및 필터링 추가 적용 |
점검 및 조치 방법
1) 게시판과 같은 서버에 저장 가능한 입력폼에 CSRF 구문을 삽입 한다
<iframe
src="https://test.co.kr/mempber.do?method=getUdate&vo.name=&vo.email=&vo.login_i
d=admin&searchVO.menu_sn=06&vo.password=cert1234&vo.re_password=cert
1234&vo.sector=6&vo.idFindQuestion=1&vo.idFindAnswer=&vo.pwFindQuestion=1&vo.
pwFindAnswer=" scrolling=no name=ce width=0 height=0 frameborder=0
style="border-idth:0px;"></iframe>
2) 필터링되어 스크립트가 작동이 되지 않는 것을 확인할 수 있음
※보안설정방법
-사용자가 입력하는 값에 대한 검증 로직 구현
-정상적인 리퀘스트와 비정상적인 리퀘스트를 구분할 수 있도록 Form/URL 에서 임의의 토큰을 추가하고 이 토큰을 검
증하도록 설계
-HTML 이나 자바스크립트에 해당되는 태그 사용을 사전에 제한하고, 서버 단에서 사용자 입력 값에 대한 필터링 구현
-HTML Editor 사용으로 인한 상기사항 조치 불가 시, 서버 사이드/서블릿/DAO(Data Access Object) 영역에서 조치하도
록 설계
-XSS 조치 방안 참조
참고
www.kisa.or.kr/public/laws/laws3_View.jsp?cPage=6&mode=view&p_No=259&b_No=259&d_No=106&ST=T&SV=
기술안내서 가이드 < 관련법령·기술안내서 < 자료실 : 한국인터넷진흥원
기술안내서 가이드
www.kisa.or.kr