본문 바로가기

보안/시큐어코딩

[CERT JAVA 시큐어코딩표준-13] 입출력(FIO)

규칙


파일에 대한 입출력을 처리하기 위한 클래스나 메서드를 정확하게 이해하고 프로그램에 적용해야 안전한 프로그램을 작성할 수 있다.

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.  신뢰하지 않는 파일 링크상에서 오퍼레이트 하지 않는다.






작성중..