티스토리 뷰
가. 취약점 개요
- 악의적인 스크립트를 포함하여 웹페이지를 열람하는 접속자의 권한으로 부적절한 스크립트를 실행하여 정보유출 등을 유도하는 취약점
→ 크로스 사이트 스크립트 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 공격이 차단된다. |
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[설계보안] 입력데이터 검증 및 표현 07 - HTTP 프로토콜 유효성 검증 (0) | 2019.09.22 |
---|---|
[설계보안] 입력데이터 검증 및 표현 06 - 웹 기반 중요기능 수행요청 유효성 검증 (0) | 2019.09.22 |
[설계보안] 입력데이터 검증 및 표현 04 - 시스템 자원 접근 및 명령어 수행 입력값 검증 (0) | 2019.09.19 |
[설계보안] 입력데이터 검증 및 표현 03 - 디렉터리 서비스 조회 및 결과 검증 (0) | 2019.09.18 |
[설계보안] 입력데이터 검증 및 표현 02 - XML 조회 및 결과 검증 (0) | 2019.09.18 |
- Total
- Today
- Yesterday