주요정보통신기반기설 기술적 취약점 분석 평가 방법 상세가이드/WEB 진단

1. 버퍼 오버플로우 WEB [BO] - 주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드

재민스 2021. 10. 31. 10:21

가. 취약점 개요

 

    내용 : 사용자가 입력한 파라미터 값의 문자열 길이 제한 확인

    목적 : 웹 사이트에서 사용자가 입력한 파라미터 값의 문자열 길이 제한 여부를 점검하여 비정상적 오류 발생을 차단하기 위함

    보안 위협

-      웹 사이트에서 사용자가 입력한 파라미터 값의 문자열 길이를 제한하지 않는 경우 개발 시에 할당된 저장 공간보다 더 큰 값의 입력이 가능하고 이로 인한 오류 발생 시 의도되지 않은 정보 노출, 프로그램에 대한 비인가 접근 및 사용 등이 발생할 수 있음

    참고

-      소스코드 및 취약점 점검 필요

 

나. 점검 방법

    대상 : 웹 애플리케이션 소스코드

    판단기준

-      양호 : 파라미터 값에 다량의 다양한 포맷 문자열 입력 시 에러 페이지나 오류가 발생하지 않는 경우

-      취약 : 파라미터 값에 대한 검증 미흡으로 에러 페이지나 오류가 발생하는 경우

    점검방법

    Step1) 로그인 페이지에서 계정 정보 입력 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검

    Step 2) 로그인 후 정보변경 페이지에서 가입 정보 수정 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검

     Step 3) 검색어 입력 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검

    Step 4) 게시글 작성 시 대량의 문자열을 입력하여 에러 페이지나 오류가 발생하는지 점검

    Step 5) URL 파라미터 값에 대량의 문자열 입력 시 에러 페이지나 오류가 발생하는지 점검

        ※ 텍스트 필드에 입력 값 검증(특수문자 제한, maxlength )이 설정된 경우 우회 시도 필요 (: 로컬 프록시를 사용하여 요청 시 파라미터 값에 대량의 문자열 직접 입력 등)

 

다. 조치 방법

    파라미터 값을 외부에서 입력받아 사용하는 경우 입력 범위를 제한하며, 허용 범위를 벗어나는 경우 에러 페이지가 반환되지 않도록 조치

    -      웹 서버, 웹 애플리케이션 서버 버전을 안정성이 검증된 최신 버전으로 패치

    -      웹 애플리케이션에 전달되는 파라미터 값을 필요한 크기만큼만 받을 수 있도록 변경하고 입력 값 범위를 초과한 경우에도 에러 페이지를 반환하지 않도록 설정

    -      동적 메모리 할당을 위해 크기를 사용하는 경우 그 값이 음수가 아닌지 검사하여 버퍼 오버플로우를 예방하는 형태로 소스 코드 변경

    -      버퍼 오버플로우를 점검하는 웹 스캐닝 툴을 이용하여 주기적으로 점검

 

라.  조치시 영향 

■    일반적인 경우 영향 없음