규칙
파일에 대한 입출력을 처리하기 위한 클래스나 메서드를 정확하게 이해하고 프로그램에 적용해야 안전한 프로그램을 작성할 수 있다.
FIO00-J. 공유 디렉토리에 있는 파일에 작업하지 않는다.
FIO01-J. 파일 생성시 적절한 접근 권한을 부여한다.
FIO02-J. 파일 관련 에러를 탐지하고 처리한다.
FIO03-J. 작업을 종료하기 전에 임시 파일을 삭제한다.
FIO04-J. 필요없어진 리소스는 닫는다.
FIO05-J. 신뢰하지 않는 코드에 wrap()이나 duplicate() 메서드로 생성한 버퍼를 노출하지 않는다.
FIO06-J. 한 InputStream에 여러 버퍼 래퍼를 만들지 않는다.
FIO07-J. 외부 프로세스가 입출력 스트림을 기다리게 하지 않는다.
FIO08-J. 글자나 바이트를 읽는 메서드의 반환값을 저장하려면 int형을 사용한다.
FIO09-J. 0부터 255 이외의 정수를 출력할 때 write() 메서드를 사용하면 안된다.
FIO10-J. read()로 배열을 채울 때 배열이 제대로 채워졌음을 확인한다.
FIO11-J. 이진 데이터를 문자 데이터로 읽지 않는다.
FIO12-J. 리틀-엔디안 데이터를 읽고 쓰는 메서드를 제공한다.
FIO13-J. 신뢰경계 외부에 기밀 정보 로그를 남기지 않는다.
FIO14-J. 프로그램을 종료할 때 적절히 정리한다.
FIO15-J. 신뢰하지 않는 파일 링크상에서 오퍼레이트 하지 않는다.작성중..
'보안 > 시큐어코딩' 카테고리의 다른 글
[CERT JAVA 시큐어코딩표준-15] 플랫폼보안(SEC) (0) | 2013.12.10 |
---|---|
[CERT JAVA 시큐어코딩표준-14] 직렬화(SER) (0) | 2013.12.10 |
[CERT JAVA 시큐어코딩표준-12] 그외 스레드 안전(TSM) (0) | 2013.12.10 |
[CERT JAVA 시큐어코딩표준-11] 스레드 풀(TPS) (0) | 2013.12.10 |
[CERT JAVA 시큐어코딩표준-10] 스레드 API(THI) (0) | 2013.12.10 |