※ 아래 내용은 필자의 주관적인 의견이 포함되어 있으므로 참고 자료로 활용하되, 공식적인 매뉴얼을 참조해 주시기 바랍니다. |
취약점 개요
웹 서비스 시 불필요한 정보가 노출되는지 여부를 점검하는 항목입니다.
이를 방지함으로써 2차 공격에 활용 될 수 있는 정보 노출을 차단하는데 목적이 있습니다.
보안 위협으로는 중요정보(개인정보, 계정정보, 금융정보 등)가 노출되거나 에러 발생 시 과도한 정보(애플리케이션 정보, DB 정보, 웹 서버 구성정보, 개발과정의 코멘트 등)가 노출될 경우 공격자들의 2차 공격을 위한 정보로 활용 될 수 있습니다.
점검대상 및 판단기준
웹 애플리케이션 소스코드, 웹 서버가 점검대상이며, 웹 사이트에 중요정보가 노출되거나, 에러 발생 시 과도한 정보가 노출되는 경우에는 취약하다고 판단될 수 있습니다.
조치방법으로는 웹 사이트에 노출되는 중요정보는 마스킹을 적용하여야하며, 발생 가능한 에러에 대해 최소한의 정보 또는 사전에 준비된 메시지(커스텀 에러페이지)을 출력해야합니다.
점검 및 조치 사례
ㅇ 점검
- 응답 패킷 내 서버, 애플리케이션 정보 등 노출
- 소스코드 내 IP 정보 등 노출
- 에러페이지 내 서버 정보 등 노출
- 임의의 계정으로 로그인을 시도하여 반환되는 에러메시지를 통해 특정 ID의 가입 여부를 식별
ㅇ 조치
- 중요 정보 마스킹 처리
- 로그인 실패 시 반환되는 에러 메시지는 특정 ID의 가입 여부를 식별 할 수 없게 동일한 문구로 노출되도록 구현
- 일반적으로 발생하는 400, 500번대의 에러코드에 대해 별도의 에러페이지로 Redirect 하거나 적절한 에러처리 루틴을 설정하여 처리 (통합 에러페이지 작성 후 모든 에러코드에 대해 Redirect 되도록 설정)
- 웹 서버 설정 파일 내 서버 버전 정보 숨김
- php.ini expose_php = off 를 통한 PHP 버전 정보 숨김
- 소스코드 내 IP주소를 환경변수 또는 설정파일에 저장해서 이를 동적으로 로드하도록 조치 (또는 IP주소 난독화 및 자바스크립트 난독화를 통해 식별되지 않도록 조치)
Reference
https://guleum-zone.tistory.com/162
'WEB' 카테고리의 다른 글
주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드 (2021-03) (0) | 2022.12.12 |
---|