Класс 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 SystemTray | Это позволит вредоносному коду добавлять значки в системный трей. Во-первых, такой значок может выглядеть как значок известного приложения (например, брандмауэра или антивируса) и попросить пользователя выполнить небезопасные действия (с помощью всплывающих сообщений). Во-вторых, системный трей может быть переполнен значками, так что больше никто не сможет добавить значок. |
| 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. | Когда диалоговое окно с модальностью toolkit отображается из апплета, оно блокирует все другие апплеты в браузере. При запуске приложений с помощью Java Web Start его окна (например, диалоговое окно безопасности) также могут быть заблокированы диалоговыми окнами с модальностью toolkit, отображаемыми из этих приложений. |
| 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/AWTPermission.html