永利网址-新萄京娱乐网址668866-首页

济南App开发之App安全

2015-09-15 09:50:09

    在做应用App开发中,在App安全和数据安全方面会采取那些措施呢?安全性可能是指数据的安全性吧,一般应当从两个方面来考虑: 
    第一,数据本身的安全性,主要是防止出现业务数据丢失,保证数据的一致性等方面,一般这些都是通过采用的软硬件平台来保障的,可能应用开发的人关心的较少。 
    第二,数据访问的安全性,系统要防止被攻击,防止越权的操作,防止个人的信息被盗窃等,这里面也需要依靠一些软硬件平台和标准来实现,但是应用要考虑的东西就相对要多,根据系统的大小和设计目标而定。
    用户的权限管理是每个系统最基本必要的功能,这个很难说要App来完成还是系统来完成,我觉得应用上考虑的比较简单,因为一般的越权操作都是靠伪造身份的方法,很多的身份的校验是需要一定平台支撑的应用是无能为力的,不过App设计的时候应当考虑防止饶过App的安全校验的层直接访问应用逻辑的可能。
    如果系统的安全要求较高,一般对系统的操作应当记录操作日志,而且可以由系统管理员监控,而且应当有类似于“总分核对”的东西。
    应用主要还是应当考虑怎么保证业务上的安全性,即防止用户合理合法的使用系统违规操作,系统级的安全性需要相应的软硬件平台,应用需要作的是使用这些资源而已。
    用户的权限管理应该是由系统和App来综合完成的,最好保持两者在用户上的统一性,实现双重的访问控制。 
    应用主要还是应当考虑怎么保证业务上的安全性,即防止用户合理合法的使用系统违规操作,系统级的安全性需要相应的软硬件平台,应用需要作的是使用这些资源而已。[/quote:12739beda2] 
    用户的权限管理应该是由系统和App来综合完成的,最好保持两者在用户上的统一性,实现双重的访问控制。
    权限管理在应用的设计上不是个难题,一般你作过一个系统的权限管理,以后的基本上就改改就可以了,因为所有的组织都大体是一样的组织方法,当然“地下党”的单线联系除外。直接访问业务逻辑,比如一个系统,系统客户端运行的时候开始需要登陆,登录以后就可以使用系统,如果系统只在登录的时候校验用户的身份可能就不是个安全的作法,因为对于正常使用系统的人来说当然没关系,但是如果有人直接发送应用请求的数据包给服务器,如果应用没有方法保证该请求是通过正常的登录来的可能就有问题。
    就是具体的业务具体分析了,这些首先是要在业务流程上来保证,应用开发要作的是搞清楚业务的规则并在系统中体现出来,但是实际上应用开发人员会经常协助用户一起制定一些业务的规范,这个可能就脱离咱们讨论的“安全”的范围了,那是业务上的规范
    从应用上去解决安全问题?是个思路,但不彻底,应用必然假设在操作系统之上,如果操作系统被人窃取权限,应用再安全有啥用?再谈楼顶的老兄提的App安全问题,其实就是安全编程,这是大家都应该注意的问题,非安全编程会导致:缓冲溢出,堆溢出,单字节溢出,整形溢出,逻辑错误等等许多问题,这都有可能使入侵者直接拿到权限,安全编程不是三言两语的,只是大家在编程的时候要多多考虑,最好先学会在内核中编程的严谨性再去编写应用程序就很容易了
    一切应用安全的基础在于操作系统的安全,操作系统安全的基础又在于硬件服务器的安全,windows或者unix本身的文件访问机制是自主访问只能达到国家2级安全标准,还是非常不完善的,所以就需要先从操作系统入手解决安全问题,比如杜绝非法的系统调用,杜绝内核后门,从0层增强文件访问机制增加MAC,ACL等,在这个的基础上大家再谈上面的应用,否则一切都是空谈,目前公安部推行的国家5个等级的安全标准就是为了这个意思。
    实现App的安全性可以从以下方面来做: 
    先要确定安全目标,然后做分布性平台对象、操作系统、认证技术的选择。检查代码的安全性(比如说代码是否模糊,密码的算法等),做App稽核(体系结构的安全),如何有效防止溢出,访问控制,信任的管理,密码学的应用,口令认证的方式和原则等。
    应当先指定一个安全目标,还有也应当考虑选用的硬件产品和平台App(中间件、数据库等)的安全性。其实与其说App的安全性不如说系统的安全性要好些。
    目前国家正在大力实施的就是操作系统的安全,服务器的安全,目前操作系统由于没有国产化,所以目前的状况只能是加固,这作为一个过渡阶段,服务器已经国产化,比如曙光,浪潮。等这两个做好了,再谈及数据库,中间件以及上面的应用安全。至于App编写时的安全问题,我觉得主要还是人的因素,我觉得现在很多应用程序员盲目编程不求严谨,比如malloc分配的一段内存,在其中的一个程序分支就没有释放,这很容易导致安全问题,要先从人入手。
    做各种代码或者二进制的安全检查工具,这已经有很多现成的工具了,不过主要还是人,验收也只是一个方面,并不能完全杜绝非安全编程,主要还是从程序员素质入手。

永利网址|新萄京娱乐网址668866

XML 地图 | Sitemap 地图