버퍼 오버플로 공격에 대한 설명으로 옳지 않은 것은? | [9급 국가직 정보시스템보안] 26년 1회차 기출문제 상세 페이지
1[9급 국가직 정보시스템보안] 26년 1회차
버퍼 오버플로 공격에 대한 설명으로 옳지 않은 것은?
1
realpath()는 버퍼 오버플로에 취약한 함수이다.
2
데이터 타입(data type)에 대한 불명확한 정의로 인해 발생한다.
3
할당된 버퍼 한계를 벗어나서 인근 메모리 위치에 데이터를 덮어쓰는 것이다.
4
대응 방법은 스택가드, 스택쉴드, ASLR 등이 있다.
해설
버퍼 오버플로는 데이터 타입 정의의 모호함이 아니라 입력 길이 검사 부재로 발생하므로 이 설명이 옳지 않다.
strcpy, gets처럼 경계 검사를 하지 않는 함수에 버퍼 크기보다 긴 입력이 들어가면 인접 메모리(복귀 주소 등)가 덮어써진다.
- realpath()는 경로 문자열을 고정 크기 버퍼에 담아 버퍼 오버플로 취약 함수로 분류된다.
- 할당된 버퍼 한계를 넘어 인근 메모리에 덮어쓴다는 설명은 버퍼 오버플로의 정의이다.
- 스택가드, 스택쉴드, ASLR은 대표적인 버퍼 오버플로 대응 기법이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.