[C언어] 버퍼 오버플로우(Buffer overflow) 예방법/ 스택 버퍼 오버플로우/ 힙 버퍼 오버플로우
버퍼 오버플로우 개념 버퍼 오버플로우는 버퍼에 할당된 저장 영역보다, 더 많은 자료를 입력하여 데이터를 변경 할 수 있는 조건이다. 공격자는 조건을 이용해 시스템 먹통으로 만들거나 코드를 삽입해서 시스템의 제어를 가진다. 버퍼 오버플로우는 스택 버퍼 오버플로우, 힙 버퍼 오버플로우 두 가지가 있다. 버퍼 오버플로우는 버퍼 오버런(buffer overrun), 버퍼 오버라이트(buffer overwrite)라고도 불린다. 버퍼 오버플로우 예제 아래 c언어 코드를 실행 해보자. strcpy_s(buffer, 20, input); 함수에서 문자열을 복사하는 예제다. #include #include void vulnerableFunction(char* input) { char buffer[10]; strcpy_..