정보처리기사 실기보안SQL Injection 방어난이도 2DESCRIPTIVE

정보처리기사 실기 SQL Injection 방어 기출문제 #3158

문제

버퍼 오버플로우(Buffer Overflow) 공격의 원리를 설명하고, 이를 방어하기 위한 기술적 대응 방안을 3가지 이상 서술하시오.

정답

버퍼 오버플로우는 프로그램이 할당된 메모리 경계를 넘어서 데이터를 쓸 때 발생하며, 공격자가 이를 악용해 스택의 반환 주소를 조작하여 임의 코드를 실행하는 공격이다. 대응으로는 1) 스택 카나리(Stack Canary)로 스택 변조 탐지, 2) ASLR(주소 공간 배치 무작위화)로 메모리 주소 예측 차단, 3) NX bit(실행 방지)로 데이터 영역의 코드 실행 금지, 4) 안전한 함수 사용(strcpy 대신 strncpy) 등이 있다.

메모리 경계 침범스택 카나리ASLRNX bit안전한 함수

해설

버퍼 오버플로우는 C/C++의 경계 검사 부재로 인한 대표적 메모리 손상 공격이다. 스택 카나리는 함수 호출 시 스택에 특별한 값을 삽입하여 반환 전 검사하고, ASLR은 메모리 레이아웃을 무작위화하여 공격자의 주소 예측을 방해한다. NX bit는 하드웨어 차원에서 데이터 영역의 실행을 차단한다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] SQL Injection 방어 보안 기출 #3158 | sqldpass