我开发了一个Android应用程序,一个安全团队实现了安全测试,并向我发送了一个没有" -fstack-protector"选择Realm库。 原始消息: "堆栈金丝雀可以大大增加利用堆栈缓冲区溢出的难度,因为它迫使攻击者通过一些非传统的方法来控制指令指针,例如破坏堆栈上的其他重要变量。 使用选项-fstack-protector"
构建ib / x86_64 / libtool-checker.so lib / x86_64 / librealm-jni.so lib / x86 / libcrashlytics-envelope.so lib / x86 / librealm-jni.so lib / armeabi / librealm-jni.so lib / armeabi-v7a / librealm-jni.so lib / arm64-v8a / librealm-jni.so lib / mips / librealm-jni.so
我的问题是,如果它没有原因吗?或者我该怎么办?或者如果 存在风险?
答案 0 :(得分:1)
复制粘贴:https://github.com/realm/realm-java/issues/4553
作为一个通用项目,我们必须不断评估性能和安全之间的权衡。在这种情况下,您正在谈论在移动设备上运行的程序,因此如果攻击者具有使用Realm攻击应用程序的访问级别,则他们已经可以使用普通API修改/查看Realm文件。没有任何Java API可以允许这种攻击向量。
尽管如此,我们还没有真正尝试启用此设置,我们需要测试它对二进制大小和性能的影响,然后才能提交任何内容。
Realm Java和Realm Core都是开源的,所以如果你愿意,你可以将这个标志添加到这两个地方,以便构建你自己的Realm版本