출처 : 수제비 카페
다음은 정해진 메모리의 범위를 넘치게 해서 원래 리턴 주소를 변경시켜 임의의 프로그램이나 함수를 실행시키는 시스템 해킹 기법의 버퍼 오버플로우 공격에 대한 대응방안이다.
[버퍼 오버플로우 대응 방안]
1. 운영체제의 주기적 최신 패치 적용
2. 입력값 검증이 가능한 안전한 함수 사용 ( Strncpy() 등 )
3. 스택가드(Stackguard)
카나리(canary)라고 불리는 무결성 체크용 값을 복귀주소와 변수 사이에 삽입해두고 버퍼오버플로우 시 카나리 값이 변하게 되면 복귀주소를 호출하지 않는 방법
4. ( )
함수 시작 시 복귀주소를 Global RET 라는 특수 스택에 저장해두고 함수 종료 시 저장된 값과 스택의 RET 값을 비교해서 다를 경우 오버플로우로 간주하고 프로그램 실행을 중단하는 방법
5. ( )
메모리 공격을 방어하기 위해 주소공간 배치를 난수화하고, 실행 시 마다 메모리 주소를 변경시켜 버퍼 오버플로우를 통한 특정주소 호출을 차단하는 방법
스택쉴드 ( Stack Shield )
ASLR ( Address Space Layout Randomization )
'정보처리기사 Daily 문제' 카테고리의 다른 글
정보처리기사 실기 Daily 문제 12 (0) | 2021.05.26 |
---|---|
정보처리기사 실기 Daily 문제 11 (0) | 2021.05.25 |
정보처리기사 실기 Daily 문제 9 (0) | 2021.05.23 |
정보처리기사 실기 Daily 문제 8 (0) | 2021.05.22 |
정보처리기사 실기 Daily 문제 7 (0) | 2021.05.21 |