규칙
각 메서드의 정확한 용도와 사용방법을 숙지하여 사용하지 않으면 취약한 프로그램을 작성할 수 있다.
MET00-J. 메서드 인자를 검증한다.
MET01-J. 메서드 인자를 검증할 때 절대로 assert를 사용하지 않는다.
MET02-J. 폐지되거나 폐지 예정인 클래스나 메서드를 사용하지 않는다.
MET03-J. 보안 검사하는 메서드는 반드시 private 나 final로 선언해야 한다.
MET04-J. 숨기거나 오버라이드한 메서드의 접근성을 확대하지 않는다.
MET05-J. 오버라이드될 수 있는 메서드를 생성자가 호출하지 않게 보장한다.
MET06-J. clone()메서드가 오버라이드될 수 있는 메서드를 호출하면 안된다.
MET07-J. 상위 클래스나 인터페이스의 메서드를 가리는 클래스 메서드를 선언하지 않는다.
MET08-J. 동등비교하는 객체는 동등비교할 수 있게 보장한다.
MET09-J. equals()메서드를 정의하는 클래스는 반드시 hashCode()도 정의해야 한다.
MET10-J. compareTo()메서드를 구현할 때 일반적인 용법을 지원한다.
MET11-J. 비교연산에 사용하는 키는 불변형이어야 한다.
MET12-J. finalize() 메서드를 사용하지 않는다.
'보안 > 시큐어코딩' 카테고리의 다른 글
[CERT JAVA 시큐어코딩표준-08] 가시성과 원시성(VNA) (0) | 2013.12.10 |
---|---|
[CERT JAVA 시큐어코딩표준-07] 예외처리(ERR) (0) | 2013.12.10 |
[CERT JAVA 시큐어코딩표준-05] 객체지향(OBJ) (0) | 2013.12.10 |
[CERT JAVA 시큐어코딩표준-04] 수치형과 연산(NUM) (0) | 2013.12.10 |
[CERT JAVA 시큐어코딩표준-03] 표현식(EXP) (0) | 2013.12.10 |