java.lang.Object
java.security.Permission
java.security.BasicPermission
java.awt.AWTPermission
- 所有已实现的接口:
-
Serializable
,Guard
这个类用于AWT权限。一个
AWTPermission
包含一个目标名称,但没有操作列表;你要么有命名的权限,要么没有。
目标名称是AWT权限的名称(见下文)。命名约定遵循分层属性命名约定。此外,星号可以用来表示所有AWT权限。
以下表格列出了所有可能的AWTPermission
目标名称,对于每个目标名称,提供了权限允许的描述以及授予代码该权限的风险讨论。
权限目标名称 | 权限允许的内容 | 允许此权限的风险 |
---|---|---|
accessClipboard | 向AWT剪贴板发布和检索信息 | 这将允许恶意代码共享可能包含敏感或机密信息的信息。 |
accessEventQueue | 访问AWT事件队列 | 在检索AWT事件队列后,恶意代码可能窥视并甚至删除其事件队列中的现有事件,以及发布虚假事件,可能故意导致应用程序或小程序以不安全的方式运行不正常。 |
accessSystemTray | 访问AWT SystemTray实例 | 这将允许恶意代码向系统托盘添加托盘图标。首先,这样的图标可能看起来像某个已知应用程序的图标(如防火墙或防病毒),并要求用户执行不安全的操作(通过气球消息的帮助)。其次,系统托盘可能被大量托盘图标淹没,以至于再也无法添加托盘图标。 |
createRobot | 创建java.awt.Robot对象 | java.awt.Robot对象允许代码生成本机级别的鼠标和键盘事件,以及读取屏幕。它可能允许恶意代码控制系统,运行其他程序,读取显示内容,并拒绝用户的鼠标和键盘访问。 |
fullScreenExclusive | 进入全屏独占模式 | 进入全屏独占模式允许直接访问低级别的图形卡内存。这可能被用于欺骗系统,因为程序直接控制渲染。根据实现方式,可能不会为用于进入全屏独占模式的窗口显示安全警告(假设已向此应用程序授予fullScreenExclusive 权限)。请注意,此行为并不意味着将自动向具有fullScreenExclusive 权限的应用程序授予showWindowWithoutWarningBanner 权限:非全屏窗口将继续显示带有安全警告的窗口。 |
listenToAllAWTEvents | 监听所有AWT事件,系统范围内 | 添加AWT事件监听器后,恶意代码可能扫描系统中分派的所有AWT事件,从而允许其读取所有用户输入(如密码)。每个AWT事件监听器都是从该事件队列的EventDispatchThread上下文中调用的,因此如果启用了accessEventQueue权限,恶意代码可能修改系统范围内的AWT事件队列的内容,导致应用程序或小程序以不安全的方式运行不正常。 |
readDisplayPixels | 从显示屏读取像素 | 诸如java.awt.Composite接口或java.awt.Robot类等接口允许任意代码检查显示屏上的像素,使恶意代码能够窥探用户活动。 |
replaceKeyboardFocusManager | 为特定线程设置KeyboardFocusManager |
当安装了SecurityManager 时,调用线程必须被授予此权限才能替换当前的KeyboardFocusManager 。如果未授予权限,将抛出SecurityException 。 |
setAppletStub | 设置实现小程序容器服务的存根 | 恶意代码可能设置小程序的存根,并导致意外行为或拒绝为小程序提供服务。 |
setWindowAlwaysOnTop | 设置窗口的始终置顶属性:Window.setAlwaysOnTop(boolean) |
恶意窗口可能使自身看起来和行为像真正的完整桌面,以便捕获无意中输入的信息并随后被滥用。 |
showWindowWithoutWarningBanner | 显示窗口而不显示警告横幅,指示窗口是由小程序创建的 | 没有此警告,小程序可能弹出窗口,而用户并不知道它们属于小程序。由于用户可能根据窗口是否属于小程序(例如,输入用户名和密码到对话框中)做出涉及安全的决定,禁用此警告横幅可能允许小程序欺骗用户输入此类信息。 |
toolkitModality | 创建TOOLKIT_MODAL 对话框并设置TOOLKIT_EXCLUDE 窗口属性。 |
当从小程序显示工具包模态对话框时,它会阻止浏览器中的所有其他小程序。从Java Web Start启动应用程序时,其窗口(如安全对话框)也可能被从这些应用程序显示的工具包模态对话框阻止。 |
watchMousePointer | 随时获取鼠标指针位置信息 | 持续监视鼠标指针,小程序可以猜测用户正在做什么,例如,将鼠标移动到屏幕左下角很可能意味着用户即将启动应用程序。如果使用虚拟键盘以便使用鼠标模拟键盘,小程序可能猜测正在输入什么。 |
- 参见:
-
Constructor Summary
ConstructorDescriptionAWTPermission
(String name) 使用指定的名称创建一个新的AWTPermission
。AWTPermission
(String name, String actions) 使用指定的名称创建一个新的AWTPermission
对象。 -
Method Summary
Methods declared in class java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
Methods declared in class java.security.Permission
checkGuard, getName, toString
-
Constructor Details
-
AWTPermission
使用指定的名称创建一个新的AWTPermission
。名称是AWTPermission
的符号名称,例如"topLevelWindow"、"systemClipboard"等。星号可以用来表示所有AWT权限。- 参数:
-
name
- AWTPermission的名称 - 抛出:
-
NullPointerException
- 如果name
为null
。 -
IllegalArgumentException
- 如果name
为空。
-
AWTPermission
使用指定的名称创建一个新的AWTPermission
对象。名称是AWTPermission
的符号名称,操作字符串当前未使用,应为null
。- 参数:
-
name
-AWTPermission
的名称 -
actions
- 应为null
- 抛出:
-
NullPointerException
- 如果name
为null
。 -
IllegalArgumentException
- 如果name
为空。
-