Класс AWTPermission
- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- java.awt.AWTPermission
- Все реализованные интерфейсы:
- Serializable, Guard
public final class AWTPermission extends BasicPermission
Этот класс предназначен для разрешений AWT. Разрешение AWT содержит имя целевого объекта, но не список действий; у вас есть разрешение на указанный объект или нет.
Имя целевого объекта — это имя разрешения AWT (см. ниже). Имена следуют соглашению об именовании иерархических свойств. Также может использоваться символ звёздочка для обозначения всех разрешений AWT.
В следующей таблице перечислены все возможные целевые имена разрешений, а для каждого из них приведено описание того, что разрешение позволяет, и обсуждение рисков предоставления коду этого разрешения.
| Имя целевого разрешения | Что разрешает разрешение | Риски предоставления разрешения |
|---|---|---|
| accessClipboard | Публикация и извлечение информации в буфер обмена AWT и из него | Это позволит вредоносному коду обмениваться потенциально конфиденциальной информацией. |
| accessEventQueue | Доступ к очереди событий AWT | После получения очереди событий AWT вредоносный код может просмотреть и даже удалить существующие события из своей очереди, а также опубликовать ложные события, которые могут намеренно вызвать неправильное поведение приложения или аплета в небезопасном режиме. |
| accessSystemTray | Доступ к экземпляру системного трея AWT | Это позволит вредоносному коду добавлять значки в системный трей. Во-первых, такой значок может выглядеть как значок какой-либо известной программы (например, брандмауэра или антивируса) и предложить пользователю выполнить небезопасные действия (с помощью всплывающих сообщений). Во-вторых, системный трей может переполниться значками, так что никто больше не сможет добавить значок. |
| createRobot | Создание объектов java.awt.Robot | Объект java.awt.Robot позволяет коду генерировать события мыши и клавиатуры на уровне ядра, а также считывать экран. Это может позволить вредоносному коду контролировать систему, запускать другие программы, считывать экран и блокировать доступ пользователя к мыши и клавиатуре. |
| fullScreenExclusive | Переход в полноэкранный режим | Переход в полноэкранный режим позволяет получить прямой доступ к памяти видеокарты низкого уровня. Это может использоваться для подделки системы, так как программа имеет прямой контроль над отрисовкой. В зависимости от реализации, предупреждение о безопасности может не отображаться для окон, используемых для перехода в полноэкранный режим (при условии, что разрешение fullScreenExclusive было предоставлено этому приложению). Обратите внимание, что это поведение не означает, что разрешение showWindowWithoutWarningBanner будет автоматически предоставлено приложению, имеющему разрешение fullScreenExclusive: окна, не находящиеся в полноэкранном режиме, по-прежнему будут отображаться с предупреждением о безопасности. |
| listenToAllAWTEvents | Прослушивание всех событий AWT, во всей системе | После добавления слушателя событий AWT вредоносный код может сканировать все события AWT, рассылаемые в системе, что позволяет ему считывать все пользовательские вводы (например, пароли). Каждый слушатель событий AWT вызывается в контексте потока обработки событий этой очереди, поэтому, если разрешение 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 | Получение информации о позиции указателя мыши в любое время | Постоянно наблюдая за указателем мыши, аплет может делать предположения о том, что делает пользователь, т. е. перемещение мыши в нижний левый угол экрана, скорее всего, означает, что пользователь собирается запустить приложение. Если используется виртуальная клавиатура, чтобы эмулировать клавиатуру с помощью мыши, аплет может предсказать, что набирается. |
- См. также:
-
BasicPermission,Permission,Permissions,PermissionCollection,SecurityManager, Сериализованная форма
Конструкторы
| Конструктор и описание |
|---|
AWTPermission(String name) Создаёт новый объект |
AWTPermission(String name,
String actions) Создаёт новый объект |
Методы
Методы, унаследованные от класса java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection Методы, унаследованные от класса java.security.Permission
checkGuard, getName, toString Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Конструкторы
AWTPermission
public AWTPermission(String name)
Создаёт новый объект AWTPermission со заданным именем. Имя — символическое имя AWTPermission, например, "topLevelWindow", "systemClipboard" и т. д. Звёздочка может использоваться для обозначения всех разрешений AWT.
- Параметры:
-
name- имя AWTPermission - Исключения:
-
NullPointerException- еслиnameравноnull. -
IllegalArgumentException- еслиnameпустое.
AWTPermission
public AWTPermission(String name,
String actions) Создаёт новый объект AWTPermission со заданным именем. Имя — символическое имя AWTPermission, а строка действий в настоящее время не используется и должна быть null.
- Параметры:
-
name- имяAWTPermission -
actions- должно бытьnull - Исключения:
-
NullPointerException- еслиnameравноnull. -
IllegalArgumentException- еслиnameпустое.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.