2013-01-09 3 views
0

나는 자바 프로그램을 가지고 있으며 사용자 홈 디렉토리를 얻기 위해 user.home 시스템 속성을 사용한다. 이 프로그램은 명령 줄에서 user.home 속성을 허용하지 않아야합니다. 사용자가 user.home (java -Duser.home)에 대한 명령 줄에서 잘못된 디렉토리를 전달하면 내 프로그램에 보안 구멍이 생깁니다.명령 행에서 Java 시스템 특성을 피하는 방법은 무엇입니까?

그래서 내가 어떻게 명령 줄에서 user.home의를 제한 할 수 있으며해야에만 프로그램을 통해 사용?

+5

, 프로그램에 관계없이 사용자가 명령 행의 속성으로 지정할 수 있는지 여부의 안전하지 않은 것입니다. –

+2

사용자가 다른 사용자의 홈 디렉토리에 액세스 할 수 있으면 Java를 실행하지 않고도 잠재적 인 보안 문제가 발생할 수 있습니다. –

+0

'user.home'이 유스 케이스에서 보안에 민감한 이유를 자세히 설명하는 것이 좋습니다. –

답변

3

user.home가 올바르게 설정되어 있는지 보장 할 수 없습니다.

user.home$HOME 환경 변수에서 JVM으로 직접 전달되지 않으면 초기화됩니다.

자신의 환경을 수정하는 사용자를 방지 할 수 없습니다. 당신의 디자인은 보안을 위해 올바른 될`user.home`에 의존하는 경우

관련 문제