IT/영어 공부노트

[Web 보안] 버퍼 오버플로우 본문

🛡️ security/주통기

[Web 보안] 버퍼 오버플로우

소저어엉 2023. 8. 29. 17:33
반응형

주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드 - 웹보안

1. 버퍼 오버플로우

 

버퍼 오버플로우란?

버퍼 - 데이터가 목적지로 이동되기 전에 보관되는 임시 저장소
데이터의 처리속도가 다른 두 장치가 있을 때, 이 둘 사이에 오가는 데이터를 임시로 저장해두는 일종의 완충작용을 한다. 

버퍼 오버플로우는 문자 그대로 버퍼가 넘치는 것을 의미한다.
일반적으로 버퍼는 메모리상에 연속해서 할당되어 있으므로, 어떤 버퍼에서 오버플로우가 발생하면, 뒤에 있는 버퍼들의 값이 조작될 위험이 있다. 


취약점 분석

취약점 개요
점검내용 - 사용자가 입력한 파라미터 값의 문자열 길이 제한 확인
점검목적  - 웹 사이트에서 사용자가 입력한 파라미터 값의 문자열 길이 제한 여부를 점검하여 비정상적 오류 발생을 차단하기 위함
보안위협 - 웹 사이트에서 사용자가 입력한 파라미터 값의 문자열 길이를 제한하지 않는 경우 개발 시에 할당된 저장 공간보다 더 큰 값의 입력이 가능하고 이로 인한 오류 발생 시 의도되지 않은 정보노출, 프로그램에 대한 비인가 접근 및 사용 등이 발생할 수 있음 

 

점검대상 및 판단기준
대상 - 웹 애플리케이션 소스코드
판단기준 - 양호: 파라미터 값에 다량의 다양한 포맷 문자열 입력 시 에러 페이지나 오류가 발생하지 않는 경우
- 취약: 파라미터 값에 대한 검증 미흡으로 에러 페이지나 오류가 발생하는 경우
조치방법 - 파라미터 값을 외부에서 입력받아 사용하는 경우 입력 값 범위를 제한하여, 허용 범위를 벗어나는 경우 에러 페이지가 반환되지 않도록 조치 

점검방법

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

 

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

 

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

 

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

 

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


보안설정방법

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

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

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

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


참고

주요정보통신기반시설 기술적 취약점 분석 평가 방법 상세가이드 p.646-656

반응형