Xamarin.ios MonoTouch有多安全?

Xamarin.ios MonoTouch有多安全?,xamarin.ios,Xamarin.ios,由于MonoTouch在实际应用程序中使用dll,这种方法的安全性如何?例如,如果有人正在使用Mono.Security.dll,难道有人不能将该dll与实现该方法并对应用程序执行代码注入攻击的dll交换吗 这种方法有多安全 正如我所知道的任何现有的一样:-) 有人不能换掉那个dll吗 不,有几个原因 无法更改应用程序文件。这会破坏数字签名,iOS不会执行它。仅此一项就可以消除MitM攻击 来自every.dll的代码已经编译为本机代码(由AOT编译器编译),并且是主可执行二进制文件的一部分。

由于MonoTouch在实际应用程序中使用dll,这种方法的安全性如何?例如,如果有人正在使用Mono.Security.dll,难道有人不能将该dll与实现该方法并对应用程序执行代码注入攻击的dll交换吗

这种方法有多安全

正如我所知道的任何现有的一样:-)

有人不能换掉那个dll吗

不,有几个原因

  • 无法更改应用程序文件。这会破坏数字签名,iOS不会执行它。仅此一项就可以消除MitM攻击

  • 来自every.dll的代码已经编译为本机代码(由AOT编译器编译),并且是主可执行二进制文件的一部分。交换一个新的.dll不会改变执行的代码

  • 部署在设备上的.dll被剥离(用于发布版本)。它里面没有IL(代码),因为它没有用处(我们不能在iOS上使用JIT)。即使您添加了一个带有IL代码的.dll(例如调试构建),它也不会被执行(同样需要JITting)

为什么部署.dll?用于元数据(例如,如果使用反射)


最后一点注意:MonoTouch像Objective-C一样生产本机ARM可执行文件。

签名程序集应该有助于实现这一点吗?如果您拥有有效的开发人员或企业许可证,您可以使用任何IPA并重新签署整个thingPoint 1,尽管如我所说,如果您拥有有效的开发人员或企业证书,您可以退出整个IPA,然后可以在设备上运行该证书。感谢您提供的关于无法交换dll的信息:-)如果您能说服人们安装您所做/签署的任何东西,那么MitM攻击不是您最担心的;-)这也是一个普遍的iOS问题,如果你是从恶意软件的角度来看的话,没有什么特定于MonoTouch的。如果你把它看作是危害企业安全的一种方式,你就不会这么做。我认为@poupou的观点是,它与Obj-c应用程序一样安全(而且同样容易受到攻击)。