티스토리 뷰

반응형

 

 

 

가. 취약점 개요

  - 악의적인 스크립트를 포함하여 웹페이지를 열람하는 접속자의 권한으로 부적절한 스크립트를 실행하여 정보유출 등을 유도하는 취약점

   → 크로스 사이트 스크립트 Reflected

 

  - 서버에 악의적인 스크립트를 포함한 정보를 저장 후 해당 정보를 조회하는 접속자의 권한으로 부적절한 스크립트를 실행하여 정보유출 등을 유도하는 취약점

   → 크로스 사이트 스크립트 Stored

 

 

나. 요구사항

1. 사용자 입력값을 동적으로 응답페이지에 사용할 경우, XSS 필터링 수행 후 사용

2. DB조회 결과를 동적으로 응답페이지에 사용할 경우, XSS 필터링 수행 후 사용

 

 

다. 요구사항 별 고려사항

1. 사용자 입력값을 동적으로 응답페이지에 사용할 경우, XSS 필터링 수행 후 사용

  - 필터를 이용한 입력값 검증

  - 인터셉트를 이용한 입력값 검증

  - 라이브러리/Validator를 이용한 입력값 검증

 

2. DB조회 결과를 동적으로 응답페이지에 사용할 경우, XSS 필터링 수행 후 사용

  - View 컴포넌트에서 출력값에 대해 HTML 인코딩 적용

  - DB조회 결과값에 대한 XSS 필터 적용

 

 

라. 요구사항 별 진단기준 및 방법

0. 공통내용

  - 요구사항 정의서에 보안요구항목에 대한 대책이 수립

  - 아키텍쳐 설계서에 보안요구항목 적용계획이 수립

  - 요구사항 추적표를 통해 요구사항 추적가능 여부

  - 외부 라이브러리 사용하는 경우, 안전한 필터링 가능여부 확인

  - XSS 필터 생성 시 안전한 화이트 리스트 정책이 적용되는지 확인

 

1. 사용자 입력값을 동적으로 응답페이지에 사용할 경우, XSS 필터링 수행 후 사용

  - Filter 사용하는 경우, 필터링 적용대상이 웹서버 설정파일에 정확하게 정의되어 있는지 확인

  - 개별 프로그램에서 필터링 시 필터링 코딩 규칙이 정의되어 있는지 확인

 

2. DB조회 결과를 동적으로 응답페이지에 사용할 경우, XSS 필터링 수행 후 사용

  - DB조회 결과를 XSS 필터 또는 HTML 인코딩을 적용하여 응답페이지를 만들고 있는지 확인

 

 

마. 진단기준

1. 사용자 입력값을 동적으로 응답페이지에 사용할 경우, XSS 필터링 수행 후 사용

  - 외부입력값에 포함된 XSS 공격코드를 안전하게 필터링할 수 있도록 보안설계 되었는지 확인

  - 입력값에 대한 XSS 필터링이 안전하게 적용되었는지의 테스트 계획 확인

 

2. DB조회 결과를 동적으로 응답페이지에 사용할 경우 ,XSS 필터링 수행 후 사용

  - DB조회 결과에 포함된 XSS 공격코드를 안전하게 필터링할 수 있도록 보안설계 되었는지 확인

  - DB조회 결과에 대한 XSS 필터링이 안전하게 적용되었는지의 테스트 계획 확인

 

 

바. 안전한 보안설계 예

No 요구사항 명 해결방안 검수기준
1 Reflected XSS 취약점 방어 서블릿 필터 컴포넌트에 XSS Filter 모듈을 추가한다. Reflected XSS 공격이 차단된다.
2 Stored XSS 취약점 방어 <c:out>을 이용하여 출력한다. Stored XSS 공격이 차단된다.
반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday