ManagementPermission
ManagementPermission (관리 권한)
Security Manager로 실행 중인 코드가 Java 플랫폼의 관리 인터페이스에 정의된 메서드를 호출할 때 검사되는 권한(permission)이에요.
본문
이 권한은 BasicPermission을 상속하며, 대상 이름(target name)에 따라 두 가지 동작이 있어요:
control— Java 가상 머신의 런타임 특성을 제어할 수 있어요. 예를 들어 클래스 로딩/메모리 시스템의 verbose 출력을 켜고 끄거나, 메모리 풀의 임계값을 설정하거나, 스레드 경합 모니터링 지원을 활성화/비활성화하는 것 등이에요. 이 권한을 부여하면 공격자가 VM의 런타임 특성을 제어해 시스템을 오작동시킬 수 있고, 실행 중인 애플리케이션에 대한 일부 정보를 얻을 수 있어요.monitor— 스레드 스택 트레이스, 로드된 클래스 이름 목록, VM 입력 인자 같은 Java 가상 머신의 런타임 정보를 검색할 수 있어요. 이 권한을 주면 악성 코드가 런타임 정보를 감시하고 취약점을 찾을 수 있어요.
프로그래머가 ManagementPermission 객체를 직접 만들 일은 보통 없어요. 대신 보안 정책 파일을 읽는 보안 정책 코드가 생성해요. Java 1.5부터 제공돼요.