경계 검사의 미비로 버퍼 오버플로우를 발생시킬 우려가 있어 사용하지 않도록 권고되는 C 라이브러리 함수에 포함되지 않는 것은?
1
strcpy( )
오답 이유오답 보기입니다. ‘strcpy( )’은(는) 이 문항의 판단 기준인 ‘fgets( )’과 구별해야 합니다. 취약점이 발생하는 위치·입력 처리·세션 흐름 또는 대응 기법이 정답 조건과 다릅니다.
2
fgets( )
정답 근거정답 보기입니다. fgets( ) 함수는 읽어들일 버퍼의 크기를 인자로 지정하여 입력받기 때문에, 지정된 크기를 초과하여 데이터를 쓰지 않아 버퍼 오버플로우 발생 가능성이 낮아 안전한 함수로 권고됩니다.오답 노트strcpy( ), sscanf( ), gethostbyname( ): 입력 길이에 대한 검증이나 제한이 없어 버퍼 오버플로우 위험이 큼
3
sscanf( )
오답 이유오답 보기입니다. ‘sscanf( )’은(는) 이 문항의 판단 기준인 ‘fgets( )’과 구별해야 합니다. 취약점이 발생하는 위치·입력 처리·세션 흐름 또는 대응 기법이 정답 조건과 다릅니다.
4
gethostbyname( )
오답 이유오답 보기입니다. ‘gethostbyname( )’은(는) 이 문항의 판단 기준인 ‘fgets( )’과 구별해야 합니다. 취약점이 발생하는 위치·입력 처리·세션 흐름 또는 대응 기법이 정답 조건과 다릅니다.
ANSWER & EXPLANATION
정답 2번
fgets( ) 함수는 읽어들일 버퍼의 크기를 인자로 지정하여 입력받기 때문에, 지정된 크기를 초과하여 데이터를 쓰지 않아 버퍼 오버플로우 발생 가능성이 낮아 안전한 함수로 권고됩니다.오답 노트strcpy( ), sscanf( ), gethostbyname( ): 입력 길이에 대한 검증이나 제한이 없어 버퍼 오버플로우 위험이 큼
RELATED CONCEPT
어플리케이션 보안 핵심개념
정답 용어만 외우지 말고 각 보기의 적용 대상·기능·전제 조건을 비교하세요. 같은 분야 기출을 묶어서 풀면 표현이 달라져도 판단 기준을 유지할 수 있습니다.