버퍼 오버플로우(Buffer Overflow)
시스템 공격의 대표적 방법중 하나로 메모리에 할당된 공간보다 더 큰 데이터를 입력하여 데이터가 메모리 공간을 벗어나게 되는 취약점이다.
C 또는 C++을 사용해 프로그램을 개발할 때 메모리 공간을 제한하지 않는 함수(API)를 사용하여 발생하는 취약점이다.
취약한 함수는 다음과 같다.
strcpy, strcat, gets, fscanf, scanf, sprintf, sscanf, vfscanf, vsprintf, vscanf, vsscanf, streadd, strecpy, strtrns |
스택 버퍼 오버플로우 공격(Stack Buffer Overflow Attack)
스택에는 지역변수, 인자(argument), 함수 리턴 주소(RET 값)이 저장되어 있는데 바로 이 RET 값는 변조하여 명령을 실행시키는 것이다.
힙 버퍼 오버플로우 공격(Heap Buffer Overflow Attack)
힙에는 malloc, calloc 등의 함수를 이용, 동적인 공간할당이 이뤄지는데 이 곳에 저장된 데이터 또는 함수를 조작하여 원하는 결과를 얻어내는 것이다.
'Security > 취약점과 공격' 카테고리의 다른 글
크리덴셜 스터핑(Credential Stuffing) 공격 (0) | 2021.07.06 |
---|---|
타이포스쿼팅(Typosquatting Attack) 공격 (0) | 2021.06.29 |
SQL 주입 공격(SQL Injection Attack) (0) | 2020.02.08 |
분산 반사 서비스 거부 공격 :: DRDoS (0) | 2020.01.26 |
레이스 컨디션(Race Condition) 공격 (0) | 2020.01.25 |