본문 바로가기

보안/시큐어코딩

[CERT JAVA 시큐어코딩표준-05] 객체지향(OBJ)

규칙


오브젝트에 대한 접근방식이나 객체의 생성과 소멸에 대한 정확한 이해가 없으면 안전하지 않은 프로그램을 작성할 수 있다.

OBJ00-J.  신뢰하는 하위 클래스만 불변 성질을 가진 클래스나 메서드를 상속할 수 있게 한다

OBJ01-J.  데이터 멤버는 private로 선언하고 접근 메서드를 제공한다.

OBJ02-J.  상위 클래스를 수정할 때 하위 클래슥 위존하는 불변 성질을 유지한다.

OBJ03-J.  신규 코드에서 제너릭클래스와 비제너릭 클래스를 함께 사용하지 않는다.

OBJ04-J.  신뢰하지 않는 코드에 안전하게 객체를 전달 할 수 있게 가변 클래스의 복사 기능을 제공한다.

OBJ05-J.  반환하기 전에 클래스의 가변 private 멤버를 복사해 보호한다.

OBJ06-J.  가변 입력가 가변 내부 컴포넌트를 복사해 보호한다.

OBJ07-J.  기밀 클래스는 복제되지 않아야 한다.

OBJ08-J.  중첩된 클래스를 통해 private 멤버를 노출하면 안된다.

OBJ09-J.  클래스를 비교할 때 클래스 이름으로 비교하면 안된다.

OBJ10-J.  final이 아닌 public static 변수를 사용하지 않는다.

OBJ11-J.  생성자가 예외를 발생시킬수 있게 할때는 주의한다.




작성중...