Класс AWTPermission
- Все реализованные интерфейсы:
-
Serializable,Guard
public final class AWTPermission extends BasicPermission
Имя целевого объекта — это имя разрешения AWT (см. ниже). Имена следуют соглашению об именовании иерархических свойств. Кроме того, звёздочка может использоваться для представления всех разрешений AWT.
В следующей таблице перечислены все возможные целевые имена разрешений AWT, для каждого из них приведено описание того, что разрешение позволяет, и обсуждение рисков предоставления коду данного разрешения.
| Имя целевого разрешения | Что разрешение позволяет | Риски предоставления данного разрешения |
|---|---|---|
| accessClipboard | Операции записи и чтения в буфер обмена AWT | Это позволит злонамеренному коду обмениваться потенциально конфиденциальной информацией. |
| accessEventQueue | Доступ к очереди событий AWT | После получения доступа к очереди событий AWT вредоносный код может просматривать и даже удалять существующие события из очереди, а также отправлять ложные события, которые могут преднамеренно заставить приложение или апплет неправильно работать в небезопасном режиме. |
| accessSystemTray | Доступ к экземпляру AWT SystemTray | Это позволит злонамеренному коду добавлять значки в системный трей. Во-первых, такой значок может выглядеть как значок какого-либо известного приложения (например, фаервола или антивируса) и предложить пользователю выполнить небезопасное действие (с помощью всплывающих сообщений). Во-вторых, системный трей может быть переполнен значками трея, так что больше никто не сможет добавить значок трея. |
| createRobot | Создание объектов java.awt.Robot | Объект java.awt.Robot позволяет коду генерировать события мыши и клавиатуры на уровне ОС, а также считывать содержимое экрана. Это может позволить злонамеренному коду контролировать систему, запускать другие программы, считывать отображение и блокировать доступ пользователя к мыши и клавиатуре. |
| fullScreenExclusive | Переход в режим полноэкранного эксклюзивного режима | Переход в полноэкранный режим позволяет получить прямой доступ к памяти графического адаптера низкого уровня. Это можно использовать для подделки системы, так как программа напрямую контролирует отрисовку. В зависимости от реализации, предупреждение о безопасности может не отображаться для окон, используемых для перехода в режим полноэкранного эксклюзивного режима (предполагается, что разрешение fullScreenExclusive предоставлено этому приложению). Обратите внимание, что это не означает, что разрешение showWindowWithoutWarningBanner будет автоматически предоставлено приложению, имеющему разрешение fullScreenExclusive: окна, не в полноэкранном режиме, продолжат отображаться с предупреждением о безопасности. |
| listenToAllAWTEvents | Прослушивание всех событий AWT во всей системе | После добавления слушателя событий AWT злонамеренный код может сканировать все события AWT, отправляемые в системе, что позволит ему читать все пользовательский ввод (например, пароли). Каждый слушатель событий AWT вызывается в контексте EventDispatchThread этой очереди событий, поэтому если разрешение accessEventQueue также включено, злонамеренный код может изменять содержимое очереди событий AWT во всей системе, что может привести к неправильной работе приложения или апплета в небезопасном режиме. |
| readDisplayPixels | Чтение пикселей с экрана | Интерфейсы, такие как java.awt.Composite или java.awt.Robot, позволяют произвольному коду исследовать пиксели на экране, что может позволить злонамеренному коду следить за действиями пользователя. |
| replaceKeyboardFocusManager | Устанавливает KeyboardFocusManager для определённого потока. |
При установке SecurityManager, вызывающему потоку необходимо предоставить данное разрешение для замены текущего KeyboardFocusManager. Если разрешение не предоставлено, будет выброшено исключение SecurityException. |
| setAppletStub | Установка подпрограммы, реализующей сервисы контейнера Applet | Злонамеренный код может установить подпрограмму апплета, что приведёт к непредвиденному поведению или отказу в обслуживании апплета. |
| setWindowAlwaysOnTop | Установка свойства "всегда сверху" окна: Window.setAlwaysOnTop(boolean) |
Злонамеренное окно может замаскироваться под реальную полную рабочую область, чтобы информация, введённая неосторожным пользователем, была захвачена и использована ненадлежащим образом |
| showWindowWithoutWarningBanner | Отображение окна без отображения баннера с предупреждением о том, что окно создано апплетом | Без этого предупреждения апплет может отображать окна, не информируя пользователя о том, что они принадлежат апплету. Поскольку пользователи могут принимать решения, связанные с безопасностью, основываясь на том, принадлежит ли окно апплету (например, ввод имени пользователя и пароля в диалоговое окно), отключение этого баннера предупреждения может позволить апплетам обмануть пользователя, заставив его ввести такую информацию. |
| toolkitModality | Создание диалоговых окон TOOLKIT_MODAL и установка свойства окна TOOLKIT_EXCLUDE. |
Когда диалоговое окно в режиме "modal" отображается из апплета, оно блокирует все другие апплеты в браузере. При запуске приложений из Java Web Start его окна (например, диалоговое окно безопасности) также могут быть заблокированы диалоговыми окнами "modal", отображаемыми из этих приложений. |
| watchMousePointer | Получение информации о позиции указателя мыши в любое время | Постоянно отслеживая указатель мыши, апплет может делать предположения о действиях пользователя, например, перемещение мыши в нижний левый угол экрана, скорее всего, означает, что пользователь собирается запустить приложение. Если используется виртуальная клавиатура, эмулирующая клавиатуру с помощью мыши, апплет может угадать, что набирается. |
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
AWTPermission |
Создаёт новый объект AWTPermission с указанным именем. |
AWTPermission |
Создаёт новый объект AWTPermission с указанным именем. |
Краткое описание методов
Методы, объявленные в классе java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
Методы, объявленные в классе java.security.Permission
checkGuard, getName, toString
Подробное описание конструкторов
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, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/AWTPermission.html