免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lunight
打印 上一主题 下一主题

如何确保程序的配置文件的安全?.. [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-02-12 14:42 |只看该作者
原帖由 flw2 于 2007-2-12 12:26 发表
要不你在open判断权限的时候如果第一个参数是你的文件则检查一些你第二个参数,检查一个不可能的值,这个值在你的程序中传递过来.


这个其实跟我新建一个系统调用是一个问题了,用2进制分析就知道了,所以这种方法不是太完美

论坛徽章:
0
12 [报告]
发表于 2007-02-12 14:46 |只看该作者
原帖由 mingyanguo 于 2007-2-12 13:15 发表
如果你的程序能通过syscall1修改文件,其他的程序为什么不能呢?
1.只允许特定的PID修改,或者特定标识的进程修改。
2.这个文件在文件系统中不可见,那么别人就无法修改。
BTW 我觉得这个目的不好,限制用户的 ...


但是如果我这个程序是一个服务程序,装到服务器上,那我就应该防止服务器上的系统用户来修改我的配置文件 啊,再说如果一个黑客攻击了服务器,取得了root权限,我希望这个黑客对我的服务程序造成最小的伤害

论坛徽章:
0
13 [报告]
发表于 2007-02-12 15:12 |只看该作者
原帖由 lunight 于 2007-2-12 14:46 发表


但是如果我这个程序是一个服务程序,装到服务器上,那我就应该防止服务器上的系统用户来修改我的配置文件 啊,再说如果一个黑客攻击了服务器,取得了root权限,我希望这个黑客对我的服务程序造成最小的伤害



根本不需要考虑这么远, 黑客攻下来, 想干什么就干什么了....搞两下文件系统, 就全死了.

你可以考虑自己搞裸设备, 自己管理, 和NTFS一样, 这样人家就不知道你存储方案了. 破解就困难了. 但是值得不兴师动众...

安全总是讲一些情况的...

论坛徽章:
0
14 [报告]
发表于 2007-02-12 15:15 |只看该作者
裸设备指的是?

论坛徽章:
0
15 [报告]
发表于 2007-02-12 15:21 |只看该作者
原帖由 lunight 于 2007-2-12 15:15 发表
裸设备指的是?



我描述的不够清楚. 裸设备是指ORACLE的一种技术, 处于性能原因, 自己管理文件系统. NTFS就是说学M$一样自己设计个文件系统格式. 别人就难破解了.

安全其实总是相对的. Kerberos依赖KDC的真实可靠. 如果黑客攻破了KDC, Kerberos也没有什么安全可言了. 信任有时候是安全依赖的.

论坛徽章:
0
16 [报告]
发表于 2007-02-12 15:29 |只看该作者
原帖由 Edengundam 于 2007-2-12 15:21 发表



我描述的不够清楚. 裸设备是指ORACLE的一种技术, 处于性能原因, 自己管理文件系统. NTFS就是说学M$一样自己设计个文件系统格式. 别人就难破解了.

安全其实总是相对的. Kerberos依赖KDC的真实可靠. 如果 ...


谢谢..不过这种方法动作真大..呵呵

现在想的是在管理程序 进程的session结构中添加一个标志,调用open 的时候检查标志,如果没有这个标志就不能打开指定的配置文件..恩..不知道有什么弊端,还得想想

论坛徽章:
0
17 [报告]
发表于 2007-02-12 15:41 |只看该作者
这取决于需要吧……
可以不使用文件而是存在内存中,需要修改配置的进程通过系统调用来修改配置。关机时加密并md5存盘。
等等……

忽然想到,想对root隐瞒什么似乎挺难,因为现在root是可以直接读ram的,实在不行还可以自己加载需要的kld,总之root想操纵内核还是轻而易举的。

论坛徽章:
0
18 [报告]
发表于 2007-02-12 16:01 |只看该作者
原帖由 lunight 于 2007-2-12 15:29 发表


谢谢..不过这种方法动作真大..呵呵

现在想的是在管理程序 进程的session结构中添加一个标志,调用open 的时候检查标志,如果没有这个标志就不能打开指定的配置文件..恩..不知道有什么弊端,还得想想



修改这个session要用什么权限???任何权限还不都是id控制??su - ***一下就取得这些权限了...想怎么玩就怎么玩...


id == 0最大...

论坛徽章:
0
19 [报告]
发表于 2007-02-12 16:06 |只看该作者
原帖由 mingyanguo 于 2007-2-12 15:41 发表
这取决于需要吧……
可以不使用文件而是存在内存中,需要修改配置的进程通过系统调用来修改配置。关机时加密并md5存盘。
等等……

忽然想到,想对root隐瞒什么似乎挺难,因为现在root是可以直接读ram的,实在 ...



md5是单向的, 反向是得不出信息的. 配置文件可以考虑密钥的, 譬如根据文件inode编号生成加密密钥.

论坛徽章:
0
20 [报告]
发表于 2007-02-12 16:12 |只看该作者
原帖由 Edengundam 于 2007-2-12 16:06 发表



md5是单向的, 反向是得不出信息的. 配置文件可以考虑密钥的, 譬如根据文件inode编号生成加密密钥.

md5是确保没被修改过……所以是加密并md5
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP