安全测试及B/S C/S安全性比较

一、用户认证安全的测试要考虑问题:

  1.        明确区分系统中不同用户权限

  2.        系统中会不会出现用户冲突

  3.        系统会不会因用户的权限的改变造成混乱

  4.        用户登陆密码是否是可见、可复制

  5.        是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)

  6.        用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统

7.        登陆失败次数的限制,防止暴力破解

8.        输入的账户密码不能有含特殊意义的符号或命令语句

9.        设置新密码之后,旧密码是否有效

10.      cookie中是否保存用户名密码,如果保存要加密

11.      防止SQL注入

12.      密码不能明文传输

13.      日志和数据库中是否记录明文密码

14.      网页出错时,不泄露敏感资料

15       页面超时机制的验证

二、系统网络安全的测试要考虑问题:

  1.        测试采取的防护措施是否正确装配好,有关系统的补丁是否打上

  2.        模拟非授权攻击,看防护系统是否坚固

  3.        采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是NBSI系列和IPhacker IP)

  4.        采用各种木马检查工具检查系统木马情况

  5.        采用各种防外挂工具检查系统各组程序的客外挂漏洞

三、数据库安全考虑问题:

  1.        系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)

  2.        系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)

  3.        系统数据可管理性

  4.        系统数据的独立性

  5.        系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

B/S与C/S安全性比较

很多用户在提到B/S架构设计的系统后, 第一个疑惑就是,.这个软件安全吗?为什么用户会有这样的疑惑,因为B/S架构放在internet上后,只要有IE浏览器的电脑都可以访问这个系统.而C/S架构只有安装了特定Client软件的用户才可以使用本系统,所以一直以来我们的用户都在担心着B/S的安全问题.而业内一些C/S的支持者也一直把B/S的安全问题作为一个不休的话题一直在讨论着.只能说这样的讨论非常无聊,我并不反对C/S有很多优点.但是从安全角度分析,B/S远远高于C/S

1 前面我们讲到"C/S架构只有安装了特定Client软件的用户才可以使用本系统",正因为在用户的电脑上安装了Client所以这个系统就面临着程序被分析,数据被截取的安全隐患,因为所有的数据必须从SERVER读到CLIENT然后进行操作,而B/S所有的数据操作全部在SERVER上进行在CLIENT只是POST一个HTML代码

2 目前很多传统的C/S系统还是采用2层结构也就是说所有的CLIENT直接读取SERVER中的数据,在CLIENT端包括了数据的用户名\密码等致命的信息,难道这样的系统安全吗?如果这样的系统放在INTERNET上,那么这个SERVER面向任何连接上INTERNET的用户都是开放的,而B/S架构的系统,在CLIENT上没有任何信息.面向用户开放的也只是WEBSERBER,而真正保存我们数据的信息全部在DATASERVER上,这个DATASERVER完全可以不放在INTERNET上,也只能让我们指定的WEBSERVER来访问.

3 当然现在也流行一种3层架构的C/S系统,但是我想问的是,你做的中间件要比microsoft 写的iis 更安全吗?目前有很多截数据包分析的各种手段,bs 可以使用https 加密来解决。但是你的C/S 服务器有考虑过这问题吗?你说你加密了数据,你加密的比https 还好吗? 你没有加密,那就是明文的,随便找一个sniff 监听软件就可以把数据截下来。

还有一个观点:B/S不如C/S

  C/S:可以使用多种网络协议,甚至可以自定义协议,从这个角度来看,C/S的安全性是有保障的。又因为它是基于客服端的,不容易被病毒攻击,但C/S太不方便(主要是不便于数据共享)不便于随时与用户交流,这也是C/S的一个致命缺点。并且C/S结构软件在保护数据的安全性方面有着先天的弊端。由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒等都将成为可怕的数据杀手。

  B/S:B/S相对C/S而言更容易被病毒光顾,使用http协议,虽然最新的https协议在安全性方面有所提升,但还是弱于C/S。

对比之后,觉得这是无谓之争。。。先扫门前雪,把自己的产品安全性高最重要。

时间: 2024-10-23 13:27:46

安全测试及B/S C/S安全性比较的相关文章

代码审计:安全性测试方案

安全性测试方案 一.静态代码测试 主要通过对源代码进行安全扫描,根据程序中数据流.控制流.语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞.   代码审计工具RIPS:   介绍:RIPS是一个用php编写的源代码分析工具,它使用了静态分析技术,能够自动化地挖掘PHP源代码潜在的安全漏洞.渗透测试人员可以直接容易的审阅分析结果,而不用审阅整个程序代码.由于静态源代码分析的限制,漏洞是否真正存在,仍然需要代码审阅者确认.RIPS能够检测XSS, SQL注入, 文件泄露,Hea

代码审核:安全性测试方案

安全性测试方案 一.静态代码测试 主要通过对源代码进行安全扫描,根据程序中数据流.控制流.语义等信息与其特有软件安全规则库进行匹对,从中找出代码中潜在的安全漏洞.   代码审计工具RIPS:   介绍:RIPS是一个用php编写的源代码分析工具,它使用了静态分析技术,能够自动化地挖掘PHP源代码潜在的安全漏洞.渗透测试人员可以直接容易的审阅分析结果,而不用审阅整个程序代码.由于静态源代码分析的限制,漏洞是否真正存在,仍然需要代码审阅者确认.RIPS能够检测XSS, SQL注入, 文件泄露,Hea

软件测试·系统测试·安全性测试

软件测试主要是为了测试发现软件系统中的BUG,并进行改正,以保证在软件交付给客户是能够保证客户需求达到实现.但在交付之后,并不意味着软件就不会再出现错误,哪怕软件的运行BUG已经完全被解决,而病毒及非法黑客的入侵往往造成的损失比软件自身的BUG还大.因此在软件测试中进行安全性的测试成为一个不可缺少的环节.在实现安全性的测试时,软件工程师则把其放在了系统测试这一环节中,因为系统测试是为了软件能够在与其他程序配合使用时的稳定性,也就是说系统测试更加接近我们软件运行的日常环境.大家都知道病毒的载入往往

全程软件测试之测试需求分析与计划

全程软件测试之测试需求分析与计划 在项目启动之后,就要着手软件项目的计划,包括软件测试计划.软件测试计划是整个开发计划的组成部分,同时,它又依赖于软件组织过程.项目的总体计划.质量文化和方针.在测试计划活动中,首先要确认测试目标.范围和需求,其中"测试需求分析"是关键任务,然后在测试需求基础上制定测试策略,并对测试任务.时间.资源.成本和风险等进行估算或评估. 无论何时进行估算,我们都是在预测未来,并会接受某种程度的不确定性.软件项目计划的目标是提供一个框架,不断收集信息,对不确定性进

测试员,敢问路在何方

1  第一部分 - 成为资深软件测试员的四条进阶之路 在这篇文章中,我认为我们的软件测试员有四条潜在的进阶道路.它们是: 1)成为专业的QA.知道如何使用不同类型的测试工具开展网络测试,性能测试,负载测试和压力测试: 2)成为领域专家.可以像最终用户一样来使用你正在测试的产品: 3)成为测试架构师.可以领导整个团队和整个公司的测试以及质量保证: 4)成为工具和框架的开发人员.可以开发出世界一流的测试工具: 我还将讨论工程师的其他进价道路,比如转行去开发人员或PM,改变你的工作领域. 1.1 成为

《java并发编程实战》读书笔记9--并发程序的测试

第12章 并发程序的测试 大致分为两类:安全性测试和活跃性测试 12.1 正确性测试 找出需要检查的不变性条件和后验条件.接下来将构建一组测试用例来测试一个有界缓存.程序清单12-1给出了BoundedBuffer的实现,其中使用Semaphore来实现缓存的有界属性和阻塞行为. BoundedBuffer实现了一个固定长度的队列,其中定义了可阻塞的put和take方法,并通过两个计数信号量进行控制.(实际情况中如果需要一个有界缓存,应该直接使用ArrayBlockingQueue或者Linke

Kali Linux渗透测试五步曲

Kali Linux的设计目的是渗透测试.不管渗透测试者的起点是白盒测试.黑盒测试,还是灰盒测试,在用Kali或其它工具进行渗透测试时,总要遵循一些步骤. 第一步:侦察阶段 在发动攻击之前,渗透测试者应当尽量多地了解目标环境和系统的特点.渗透测试者找到的目标信息越多,就越有更好的机会确认最容易和最快的成功方法.与白盒测试相比,黑盒测试要求进行更多的侦察,因为测试者并没有获得太多的数据.侦察服务可能包括调查目标的互联网足迹.监视资源.监视人员.过程等,扫描网络信息(如IP地址和系统类型),社会工程

【转载】App测试中的那些不可遗忘的基础知识

App测试是一项批判性的工作,目的就是找出软件中的缺陷.这里暂时不去深究为什么要进行App测试,以及App测试带来的好处.只介绍App测试中一些基本的测试方法.根据是否查看代码程序分为黑盒测试和白盒测试:根据是否运行软件又可分为静态测试和动态测试. 黑盒测试:又叫功能测试或行为测试,只需考虑各个功能,不需要考虑整个软件的内部结构及代码. 白盒测试:访问代码,通过检查代码的线索来协助测试. 静态测试:测试软件不运行的部分,只是检查和审核. 动态测试:使用和运行软件进行测试. 1.静态黑盒测试:检查

每周一书-《模糊测试-强制发掘安全漏洞的利器》

  首先说明,本周活动有效时间为2016年9月26日到2016年10月9日.本周为大家送出的书是由电子工业出版社出版,段念,赵勇翻译的<模糊测试-强制发掘安全漏洞的利器>.   目在介绍这本书之前,首先要感谢微信号为:631682315(FEIYU)同学赠送给玄魂工作室的内容读者的. 前言/序言 在图上可以看到,FEIYU同学正在招聘代码审计,感兴趣的读者可以直接加他的微信号,了解招聘需求. 下面我们来看看,这本书的简介. <模糊测试:强制发掘安全漏洞的利器>是一本系统性描述模糊测