使用openssl动态库与静态库安全分析

dungeonsnd 2011-05-02 01:08:17
我们知道openssl提供了动态库(libcrypto.so)和静态库(libcrypto.a)。
现在一个对安全性要求非常高的系统中多个模块要使用openssl提供的众多加密算法,请问使用动态库和静态库(从安全性角度分析)有哪些优缺点。


以下是个人浅点,欢迎大家一起讨论:
以下讨论假定攻击者获取了替换和修改部分目录的权限,并且攻击者的目的不是使系统停止工作,而是在管理员不知情的情况下获取敏感信息。

使用静态库可以防止生产环境下的库文件被非法替换,但是linux下的静态度竟达2.6M,link到可最终可执行程序中将使其体积变得很大。 但是如果root权限已经被攻破的话另当别论了(那么直接把系统的可执行文件删除或替换也是可以的)。

使用动态库有点不安全,假如生产环境的机器被入侵,相对而言动态库比静态库更容易被窜改和替换。但是动态库对于软件系统的升级有很大方便,不用重新编译整个系统;另外动态库可以减少运行内存及物理存储空间;再者动态库可以减少最终的可执行文件大小。


选择发贴位置时似乎没有哪个是安全的版面,所以就发到这边来了。
...全文
382 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dungeonsnd 2011-05-02
  • 打赏
  • 举报
回复
貌似 fips 140-2是解决这个问题的一个办法。
有兴趣的可以一起研究啊?
因为文档比较少,只有官方的纯英文指南,读起来有点晦涩。

官方文档资料可以从这里开始,欢迎大家一起讨论。

http://www.openssl.org/docs/fips/fipsnotes.html
dungeonsnd 2011-05-02
  • 打赏
  • 举报
回复
使用动态库的话还有个办法,还有个办法就是在每次调用该库中函数之前都检查一次该动态库文件的sha1值,和默认的(对称加密存储在调用者中)进行对比,不一致就不调用,及时通知管理员系统可能被入侵了。

但是对称加密的密码因为明文存在于调用者中,还是有可能被分析并被获取。
dungeonsnd 2011-05-02
  • 打赏
  • 举报
回复
请大家多多指教!

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧