규칙
수치형 데이터의 정확한 이해와 부적절한 연산은 안전하지 않은 프로그램을 작성할 수 있게 한다.
NUM00-J. 정수오버플로우를 탐지하거나 예방한다.
NUM01-J. 동일 데이터에 비트 연산과 수리 연산을 수행하지 않는다.
NUM02-J. 나눗셈과 모듈로 연산할 때 0으로 나누지 않게 보장한다.
NUM03-J. unsigned형을 저장하는 정수형 변수는 가능한 모든 값을 표현할 수 있어야 한다.
NUM04-J. 정확히 계산해야 할 때는 부동 소수점형을 사용하지 않는다.
NUM05-J. 비정규화된 부동 소수점을 사용하지 않는다.
NUM06-J. 플랫폼 간 부동소수점 연산의 결과를 동일하게 하려면 strictfp 지시자를 사용한다.
NUM07-J. NaN과 값을 비교하지 않는다.
NUM08-J. 부동소수점 입력시 예외적인 값을 확인한다.
NUM09-J. 루프카운터 로 부동소수점을 사용하지 않는다.
NUM10-J. 부동소수점 상수를 사용해서 BigDecimal 객체를 만들지 않는다.
NUM11-J. 부동소수점을 나타내는 문자열을 비교하거나 검사하지 않는다.
NUM12-J. 수치형 값을 더 작은 형으로 변환할 때 데이터가 손실되거나 잘못 변환되지 않게 확인한다.
NUM13-J. 기본 정수형을 부동 소수점형으로 변환할 때 정밀도 손실을 피한다.
작성중....
'보안 > 시큐어코딩' 카테고리의 다른 글
[CERT JAVA 시큐어코딩표준-06] 메서드(MET) (0) | 2013.12.10 |
---|---|
[CERT JAVA 시큐어코딩표준-05] 객체지향(OBJ) (0) | 2013.12.10 |
[CERT JAVA 시큐어코딩표준-03] 표현식(EXP) (0) | 2013.12.10 |
[CERT JAVA 시큐어코딩표준-02] 선언과 초기화(DCL) (0) | 2013.12.10 |
[CERT JAVA 시큐어코딩표준-01] 입력 검증및 데이터 새니타이즈(IDS) (0) | 2013.12.10 |