과도하게 허용된 파일 권한 설정 (Overly Permissive File Permissions)
Incorrect Permission Assignment for Critical Resource
설명
애플리케이션이 파일 또는 디렉터리의 권한을 과도하게 허용하면, 공격자가 중요 파일을 읽거나 수정할 수 있는 보안 취약점이 발생할 수 있습니다.
특히, java.nio.file.Files.setPosixFilePermissions() 메서드를 사용할 때 적절한 권한을 설정하지 않으면 민감한 데이터가 노출될 수 있습니다.
잠재적 영향
민감한 정보 노출: 공격자가 파일을 읽을 수 있으면 암호, API 키, 사용자 정보 등의 중요 데이터가 유출될 수 있습니다.
파일 조작 및 삭제: 과도한 쓰기 권한(
rw-rw-rw-등)이 설정되면 공격자가 임의로 파일을 변경하거나 삭제할 수 있습니다.권한 상승: 악의적인 사용자가 중요한 실행 파일을 수정하여 악성 코드를 삽입할 수 있습니다.
해결 방법
최소 권한 원칙 적용
파일 및 디렉터리에는 필요한 최소한의 권한만 부여합니다.
기본적으로 파일 소유자만 접근 가능하도록 설정합니다(
rw-------).
파일 권한을 명확하게 제한
java.nio.file.attribute.PosixFilePermissions.fromString("rw-------")를 사용하여 소유자만 읽고 쓸 수 있도록 설정합니다.
민감한 데이터가 포함된 파일 보호
설정 파일, 로그 파일, 임시 파일 등이 외부에 노출되지 않도록 주의합니다.
취약한 코드 및 안전한 코드 예시
취약한 코드
안전한 코드
설명:
취약한 코드:
rw-rw-rw-권한을 설정하여 모든 사용자가 파일을 읽고 쓸 수 있도록 허용.
안전한 코드:
rw-------권한을 설정하여 소유자만 접근 가능하도록 제한.
참조
Last updated