본문 바로가기
Web Security/SecureCoding

정수 오버플로우

by KkingKkang 2022. 11. 17.

- 정수형 변수의 오버플로우는 정수값이 증가하면서, Java에서 허용된 가장 큰 값보다 더 커져서 실제 저장되는 값은 의도하지 않게 아주 작은 수이거나 음수가 될 수 있다.

- 특히 반목문 제어, 메모리 할당, 메모리 복사 등을 위한 조건에서 발생하면 보안상 문제를 유발할 수 있다.

- 언어/플래폼 별 정수타입의 범위를 확인하여 사용한다. 

ex)

1. 배열의 크기 값이 음수값이 아닌지 검사한다.

if (size < 0) return;

2. 최대값 체크 

if((dataIndex < 0 ) || (dataIndex > Integer.MAX_VALUE / DATA_SIZE)){

return;

}

 

 

반응형

댓글