Я надеялся, что кто-то может помочь мне со следующим:
Мое понимание интроспекции Java-стека (может быть, здесь немного упрощено) заключается в том, что процесс генерирует кадр стека, который затем добавляется в стек. Теперь, когда процессу необходимо выполнить системный вызов, алгоритм самоанализа стека проверяет, разрешено ли принципалу (то есть процессу, который пытается получить доступ к ресурсу) использовать конкретный ресурс, и затем соответствующим образом аннотирует фрейм (предоставление или запрещение доступа). ).
Мои вопросы:
- Правильно ли это или я что-то упустил?
- Как JVM решает, предоставлять или ограничивать доступ? Вовлечен ли пользователь в это решение?
- В в этом исследовании приведен пример (рисунок 2), в котором кадр наследует / получает "набор верований" предыдущего кадра! Что мешает выполнению вредоносного кода в этом примере (т.е. получить доступ к ресурсу, к которому не должно быть доступа)?