| mygod 回复于:2003-05-23 09:29:54
|
您说的安全性可能是指数据的安全性吧,一般应当从两个方面来考虑:
第一,数据本身的安全性,主要是防止出现业务数据丢失,确保数据的一致性等方面,一般这些都是通过采用的软件和硬件平台来保障的,可能应用研发的人关心的较少。
第二,数据访问的安全性,系统要防止被攻击,防止越权的操作,防止个人的信息被盗窃等,这里面也需要依靠一些软件和硬件平台和标准来实现,但是应用要考虑的东西就相对要多,根据系统的大小和设计目标而定
|
| 人生五十年 回复于:2003-05-23 10:02:26
|
我说的不但如此,更有很多?例如功能安全,代码自己的安全性,安全审计,怎样杜绝后门等。。。
|
| mygod 回复于:2003-05-23 10:07:27
|
功能安全和代码的安全是什么?我指的是作企业级的应用,并且是从使用者的角度,主要还是围绕着数据的安全,能把这些作好已很不容易了。
|
| 人生五十年 回复于:2003-05-23 10:13:12
|
那我就问怎么防止用户越权操作或对用户的在软件中进行行为跟踪?
|
| mygod 回复于:2003-05-23 10:24:37
|
用户的权限管理是每个系统最基本必要的功能,这个很难说要软件来完成还是系统来完成,我觉得应用上考虑的比较简单,因为一般的越权操作都是靠伪造身份的方法,很多的身份的校验是需要一定平台支持的应用是无能为力的,但是软件设计的时候(特别是分层的设计模式)应当考虑防止饶过软件的安全校验的层直接访问应用逻辑的可能。
假如系统的安全需要较高,一般对系统的操作应当记录操作日志,而且能够由系统管理员监控,而且应当有类似于“总分核对”的东西。
|
| mygod 回复于:2003-05-23 10:27:33
|
我觉得应用主要还是应当考虑怎么确保业务上的安全性,即防止用户合理合法的使用系统违规操作,系统级的安全性需要相应的软件和硬件平台,应用需要作的是使用这些资源而已。
|
| 人生五十年 回复于:2003-05-23 10:29:35
|
我觉的用户的权限管理应该是由系统和软件来综合完成的,最好保持两者在用户上的统一性,实现双重的访问控制。
我想问一下,伪造身份的的方法一般会怎么实现?直接访问应用逻辑的可能性更有那些?
|
| 人生五十年 回复于:2003-05-23 10:30:33
|
[quote:12739beda2="mygod"]我觉得应用主要还是应当考虑怎么确保业务上的安全性,即防止用户合理合法的使用系统违规操作,系统级的安全性需要相应的软件和硬件平台,应用需要作的是使用这些资源而已。[/quote:12739beda2]
怎么理解?
|
| mygod 回复于:2003-05-23 11:02:08
|
[quote:16e4c98b2a="人生五十年"]我觉的用户的权限管理应该是由系统和软件来综合完成的,最好保持两者在用户上的统一性,实现双重的访问控制。
我想问一下,伪造身份的的方法一般会怎么实现?直接访问应用逻辑的可能性更有那些?[/quote:16e4c98b2a]
权限管理在应用的设计上不是个难题,一般您作过一个系统的权限管理,以后的基本上就改改就能够了,因为任何的组织都大体是相同的组织方法,当然“地下党”的单线联系除外 :lol:
直接访问业务逻辑,比如一个系统,系统客户端运行的时候开始需要登陆,登录以后就能够使用系统,假如系统只在登录的时候校验用户的身份可能就不是个安全的作法,因为对于正常使用系统的人来说当然没关系,但是假如有人直接发送应用请求的数据包给服务器,假如应用没有方法确保该请求是通过正常的登录来的可能就有问题。
|
| mygod 回复于:2003-05-23 11:03:30
|
至于身份怎么伪造,您是作安全的可能比我了解的更多吧。
|
| mygod 回复于:2003-05-23 11:06:23
|
[quote:e574711d1d="人生五十年"]
怎么理解?[/quote:e574711d1d]
就是具体的业务具体分析了,这些首先是要在业务流程上来确保,应用研发要作的是搞清楚业务的规则并在系统中体现出来,但是实际上应用研发人员会经常协助用户一起定制一些业务的规范,这个可能就脱离咱们讨论的“安全”的范围了,那是业务上的规范
|
| mygod 回复于:2003-05-23 11:10:49
|
举个例子,就拿系统中经常要作的数据通讯来说吧,假如自己写通讯程式来实现数据传送,为了确保业务数据的安全性,可能就需要加密,机密能够使用加密机,加密机本身会确保数据的安全,应用要作的就是使用加密机提供给应用的编程接口,假如没有加密机就只好自己通过程式来加密,可能安全性就降低一些。假如使用中间件来通讯,那应用要作的就是调用中间件的编程接口,数据传输的安全性由中间件来确保。
|
| e4gle 回复于:2003-05-23 11:25:02
|
从应用上去解决安全问题?是个思路,但不完全,应用必然假设在操作系统之上,假如操作系统被人窃取权限,应用再安全有啥用?再谈楼顶的老兄提的软件安全问题,其实就是安全编程,这是我们都应该注意的问题,非安全编程会导致:缓冲溢出,堆溢出,单字节溢出,整形溢出,逻辑错误等等许多问题,这都有可能使入侵者直接拿到权限,安全编程不是三言两语的,只是大家在编程的时候要多多考虑,最好先学会在内核中编程的严谨性再去编写应用程式就很容易了
|
| e4gle 回复于:2003-05-23 11:28:35
|
一切应用安全的基础在于操作系统的安全,操作系统安全的基础又在于硬件服务器的安全,据我所知,windows或unix本身的文档访问机制是自主访问只能达到国家2级安全标准,还是很不完善的,所以就需要先从操作系统入手解决安全问题,比如杜绝非法的系统调用,杜绝内核后门,从0层增强文档访问机制增加MAC,ACL等,在这个的基础上我们再谈上面的应用,否则一切都是空谈,现在公安部推行的国家5个等级的安全标准就是为了这个意思。
|
| 人生五十年 回复于:2003-05-23 11:39:54
|
我想实现软件的安全性能够从以下方面来做:
先要确定安全目标,然后做分布性平台对象、操作系统、认证技术的选择。检查代码的安全性(比如说代码是否模糊,密码的算法等),做软件稽核(体系结构的安全),怎样有效防止溢出,访问控制,信任的管理,密码学的应用,口令认证的方式和原则等
不知道是不是这样?
|
| mygod 回复于:2003-05-23 11:44:38
|
同意应当先指定一个安全目标,更有也应当考虑选用的硬件产品和平台软件(中间件、数据库等)的安全性。
其实和其说软件的安全性不如说系统的安全性要好些。
|
| 人生五十年 回复于:2003-05-23 11:46:26
|
两者本来就是不可分的,应用用于系统之上
|
| e4gle 回复于:2003-05-23 11:53:57
|
现在国家正在大力实施的就是操作系统的安全,服务器的安全,现在操作系统由于没有国产化,所以现在的状况只能是加固,这作为一个过渡阶段,服务器已国产化,比如曙光,浪潮等
等这两个做好了,再谈及数据库,中间件连同上面的应用安全。至于软件编写时的安全问题,我觉得主要还是人的因素,我觉得现在很多应用程式员盲目编程不求严谨,比如malloc分配的一段内存,在其中的一个程式分支就没有释放,这很容易导致安全问题,要先从人入手
|
| 人生五十年 回复于:2003-05-23 11:59:26
|
但是在验收软件的时候很难涉及的很深的?那应该怎么做呢
|
| e4gle 回复于:2003-05-23 12:17:59
|
做各种代码或二进制的安全检查工具,这已有很多现成的工具了,但是主要还是人,验收也只是个方面,并不能完全杜绝非安全编程,主要还是从程式员素质入手
|
| 无双 回复于:2003-05-23 12:28:53
|
想杜绝后门还是很难的
特别是大程式的话
想杜绝只能检查代码
并定制严格的惩罚制度
|
| 人生五十年 回复于:2003-05-23 12:31:01
|
斑竹是不是能加精置顶?让大家看看啊 :lol: :lol: :lol:
|
| 无双 回复于:2003-05-23 19:06:27
|
考察中.......
请多多表现
假如回帖能很有深度的话会加精华的
另外置顶我想就不用了
论坛现在的帖子又不是很多
|