✏️ Java 코드 에디터
취약한 코드
public int add(int a, int b) {
// [취약한 코드] 입력값에 대한 검증 없이 덧셈 수행
// a=2147483647, b=1 일 때 오버플로우 발생 -> -2147483648
return a + b;
}
💡 수정 가이드 (KISA 가이드)
1. 연산 전 범위 확인
덧셈 연산 결과가 Integer의 최대값을 초과할지 미리 검사합니다.
if (b > 0 && a > Integer.MAX_VALUE - b) {
throw new ArithmeticException("Overflow");
}
return a + b;
📊 분석 결과 및 설명
🎯 목표
정수 연산 시 결과값이 자료형의 허용 범위를 벗어나 의도치 않은 작은 값(또는 음수)이 되는 것을 방지해야 합니다.
⚠️ 현재 취약점
Integer Overflow
오버플로우는 재고 수량 조작, 버퍼 크기 오계산 등 심각한 논리적 오류를 유발할 수 있습니다.