본문 바로가기

카테고리 없음

1.8 허용된 범위내 메모리 접근

1.8 허용된 범위내 메모리 접근

1. 보안약점 항목

  • 메모리 버퍼 오버플로우
  • 포맷 스트링 삽입

2. 설명

  • 해당 프로세스에 허용된 범위의 메모리 버퍼에만 접근하여 읽기 또는 쓰기 기능을 하도록 검증 방법 설계 및 메모리 접근요청이 허용범위를 벗어났을 때 처리방법을 설계해야 한다.

3. 보안대책

  • C나 C++ 같이 메모리를 프로그래머가 관리하는 플랫폼을 사용하는 경우 메모리 버퍼의 경계값을 넘어서 메모리를 읽거나 저장하지 않도록 경계설정 또는 검사를 반드시 수행해야 한다.
  • 개발시, 메모리 버퍼오버플로우를 발생시킬 수 있는 취약한 API를 사용하지 않도록 해야 한다.

 

사례1 : 버퍼 오버플로우
스택(Stack)이나 힙(Heap)에 할당되는 메모리에 문자열 등이 저장될 때 최초 정의된 메모리의 크기를
초과하여 문자열을 저장하는 경우 버퍼 오버플로우가 발생한다.