是否可以跟踪(记录)来自(第三方)Java 小程序的所有文件访问,该小程序已被授予对本地磁盘的访问权限?
只需记录访问了哪些文件。
我认为这不可能开箱即用 - 毕竟,它是一个没有安全限制的小程序。
如果您可以修改此小程序(或在您控制的某个环境中运行它),则可以安装一个安全管理器,其checkRead
和checkWrite
(也可能是checkDelete
和类似)方法执行日志记录。
除此之外,也许您可以使用一些调试功能。
通常,如果您的小程序不需要任意访问,则应使用 JNLP API 访问本地文件 - 然后用户可以控制它。
可能的(未经测试的)策略
文件日志记录小程序加载程序
- 创建您自己的(受信任的)小程序以加载执行文件访问的第三方小程序。
- 对新加载的小程序使用父小程序中的存根和小程序上下文。
- 安装自定义
SecurityManager
。 - 在
FileLoggingSecurityManager
中,覆盖 checkPermission(Permission) 以检查 FilePermission 的实例。 - 记录它们。