Класс AWTPermission
- Все реализованные интерфейсы:
-
Serializable,Guard
public final class AWTPermission extends BasicPermission
Имя цели — это имя разрешения AWT (см. ниже). Конвенция именования следует соглашениям именования иерархических свойств. Также может использоваться символ звёздочки для обозначения всех разрешений AWT.
В следующей таблице перечислены все возможные имена целевых разрешений AWT, и для каждого из них приводится описание того, что разрешение позволяет, а также обсуждаются риски предоставления коду этого разрешения.
| Имя целевого разрешения | Что позволяет разрешение | Риски предоставления этого разрешения |
|---|---|---|
| accessClipboard | Операции размещения и извлечения информации в буфер обмена AWT | Это позволит вредоносному коду обмениваться потенциально конфиденциальной или секретной информацией. |
| accessEventQueue | Доступ к очереди событий AWT | Получив доступ к очереди событий AWT, вредоносный код может просматривать и даже удалять существующие события из очереди, а также размещать поддельные события, которые могут намеренно вызвать неправильную работу приложения или апплета в небезопасном режиме. |
| accessSystemTray | Доступ к экземпляру SystemTray AWT | Это позволит вредоносному коду добавлять значки в системный трей. Во-первых, такой значок может выглядеть как значок какой-либо известной программы (например, брандмауэра или антивируса) и потребовать от пользователя выполнения небезопасного действия (с помощью всплывающих сообщений). Во-вторых, системный трей может быть переполнен значками, так что никто больше не сможет добавить значок в трей. |
| 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 | Установка объекта-заглушки, который реализует сервисы контейнера апплетов | Вредоносный код может установить заглушку апплета и привести к непредсказуемому поведению или отказу в обслуживании апплета. |
| setWindowAlwaysOnTop | Установка свойства окна «всегда сверху»: Window.setAlwaysOnTop(boolean) |
Вредоносное окно может замаскироваться под настоящее полноэкранное рабочее пространство, чтобы информация, вводимая неосмотрительным пользователем, была захвачена и впоследствии использована. |
| showWindowWithoutWarningBanner | Отображение окна без отображения баннера с предупреждением о том, что окно было создано апплетом | Без этого предупреждения апплет может открывать окна, не сообщая пользователю, что они принадлежат апплету. Поскольку пользователи могут принимать решения, зависящие от безопасности, в зависимости от принадлежности окна апплету (ввод имени пользователя и пароля в диалоговом окне, например), отключение этого баннера с предупреждением может позволить апплетам обмануть пользователя, заставив его ввести такую информацию. |
| toolkitModality | Создание диалоговых окон TOOLKIT_MODAL и установка свойства окна TOOLKIT_EXCLUDE. |
При отображении диалогового окна toolkit-modal из апплета блокируются все остальные апплеты в браузере. При запуске приложений из Java Web Start, окна (такие как диалоговое окно безопасности) также могут быть заблокированы диалоговыми окнами toolkit-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, 2021, 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/17/docs/api/java.desktop/java/awt/AWTPermission.html