Integer
Integer 자료형
- 보통 OS의 기본 연산 단위를 사용 (16bit : 2byte, 2bit/64bit : 4byte)
- signed int 범위 : -2 31승 ~ +2 31승 -1
- unsigned int 범위 : 0 ~ +2 32승 -1 (=4,294,967,295)
Integer Overflow
Integer Overflow 관련 CVE
CVE-2022-36934
- 전 세계적으로 인기 있는 모바일 메신저 WhatsApp에서 발견된 취약점
- Integer Overflow로 인해, 화상 통화에서 원격 코드 실행(RCE)을 유발할 수 있다고 발표
- 공격자가 화상 통화 중에 사용자 상호 작용 없이 특수하게 조작된 임의 코드 실행이 가능
Integet Overflow
- 정수형 자료형의 정해진 범위보다 크거나 작은 수를 저장할 때 발생하는 문제
- 오류 발생 유무를 쉽게 알아차릴 수 없어 연산 결과가 옳은 값인지 확인하기 어려움
Integet Overflow Attack 기법 예시
- 조건문에서 사용되는 변수에 값 입력 시, Integet Overflow를 발생시켜 조건문의 분기를 우회
- 코드 내 중요 변수에 잘못된 값이 저장되면, Buffer Overflow 등 다른 bug들을 초래할 가능성 높음
보안 대책
- Integer Overflow는 오류나 경고가 없어 에측하거나 발견하기 어려움
- 정수형 변수의 입력값을 동적 할당 사용 시, 결과값의 범위를 체크하는 모듈 필요
'Pwnable' 카테고리의 다른 글
| Heap Exploitation (0) | 2025.11.19 |
|---|---|
| Heap Basic (0) | 2025.11.19 |
| Format String Bug (0) | 2025.11.19 |
| Buffer Overflow (0) | 2025.11.19 |
| Pwnable Tools (0) | 2025.11.19 |