我正在使用 MAF 为用户/客户提供增强我们软件的可能性。加载项将以有限的权限运行,并且对于我们以及客户来说可能是不受信任的代码,以防他们从第 3 方开发人员那里购买了加载项。
在我们的例子中,Host 和 Host-Side Adapter 在主 AppDomain 中以完全权限运行,而 Add-In 和 Add-In Side Adapter 在几乎没有权限的情况下运行。
当我通过 AddInStore.FindAddIns 获得插件令牌时,我只能验证插件程序集本身是否来自应有的供应商。如果攻击者交换插件程序集,那么我们会发现它并且不会激活该程序集。但无论如何,由于几乎没有权限运行,攻击者无法真正损害应用程序和环境(主机、内部网等)。
但也有可能的是,攻击者替换了主机端适配器组件。攻击者只需在正确的文件夹中放置一个新程序集。由于它以完全权限运行,因此攻击者代码可能真的会损害应用程序和环境。由于攻击者在主机和加载项之间(或多或少是中间人),它也可以更改两者之间交换的数据。
当我调试我的代码并在调试器中检查加载项令牌时,我可以看到不同程序集的所有路径,加载项存储用于构建管道:
不幸的是,关于所采取的组件的重要信息是私人的,我无法访问它们。
是否有解决方法来访问此信息?