安全性测试

简介:
安全性测试(security testing)是有关验证应用程序的安全服务和识别潜在安全性缺陷的过程。

注意:安全性测试并不最终证明应用程序是安全的,而是用于验证所设立策略的有效性,这些对策是基于威胁分析阶段所做的假设而选择的。


以下是我读<<软件评测试教程>>中的Web安全性测试章节内容,并进行修改的笔记,前面看了好多朋友写的,不过不是很全,希望对大家有所帮助,建议大家还是买本<<软件评测试教程>>此书绝对物超所值^_^

WEB安全性测试
一个完整的WEB安全性测试可以从部署与基础结构、输入验证、身份验证、授权、 配置管理 、敏感数据、会话管理、加密。参数操作、异常管理、审核和 日志 记录等几个方面入手。
1.        安全体系测试
1)        部署与基础结构
l        网络是否提供了安全的通信
l        部署拓扑结构是否包括内部的防火墙
l        部署拓扑结构中是否包括远程应用程序服务器
l        基础结构安全性需求的限制是什么
l        目标环境支持怎样的信任级别
2)        输入验证
l        如何验证输入
A.        是否清楚入口点
B.        是否清楚信任边界
C.        是否验证Web页输入
D.        是否对传递到组件或Web服务的参数进行验证
E.        是否验证从 数据库 中检索的数据
F.        是否将方法集中起来
G.        是否依赖客户端的验证
H.       应用程序是否易受 SQL 注入攻击
I.        应用程序是否易受XSS攻击
l        如何处理输入
3)        身份验证
l        是否区分公共访问和受限访问
l        是否明确服务帐户要求
l        如何验证调用者身份
l        如何验证数据库的身份
l        是否强制试用帐户管理措施
4)        授权
l        如何向最终用户授权
l        如何在数据库中授权应用程序
l        如何将访问限定于系统级资源
5)        配置管理
l        是否支持远程管理
l        是否保证配置存储的安全
l        是否隔离管理员特权
6)        敏感数据
l        是否存储机密信息
l        如何存储敏感数据
l        是否在网络中传递敏感数据
l        是否记录敏感数据
7)        会话管理
l        如何交换会话标识符
l        是否限制会话生存期
l        如何确保会话存储状态的安全
8)        加密
l        为何使用特定的算法
l        如何确保加密密钥的安全性
9)        参数操作
l        是否验证所有的输入参数
l        是否在参数过程中传递敏感数据
l        是否为了安全问题而使用HTTP头数据
10)        异常管理
l        是否使用结构化的异常处理
l        是否向客户端公开了太多的信息
 11)        审核和日志记录
l        是否明确了要审核的活动
l        是否考虑如何流动原始调用这身份
2.        应用及传输安全
WEB应用系统的安全性从使用角度可以分为应用级的安全与传输级的安全,安全性测试也可以从这两方面入手。
应用级的 安全测试 的主要目的是查找Web系统自身程序设计中存在的安全隐患,主要测试区域如下。
l        注册与登陆:现在的Web应用系统基本采用先注册,后登录的方式。
A.        必须测试有效和无效的用户名和密码
B.        要注意是否存在大小写敏感,
C.        可以尝试多少次的限制
D.        是否可以不登录而直接浏览某个页面等。
l        在线超时:Web应用系统是否有超时的限制,也就是说,用户登陆一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。
l        操作留痕:为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进入了日志文件,是否可追踪。
l        备份与恢复:为了防范系统的意外崩溃造成的数据丢失,备份与恢复手段是一个Web系统的必备功能。备份与恢复根据Web系统对安全性的要求可以采用多种手段,如数据库增量备份、数据库完全备份、系统完全备份等。出于更高的安全性要求,某些实时系统经常会采用双机热备或多级热备。除了对于这些备份与恢复方式进行验证测试以外,还要评估这种备份与恢复方式是否满足Web系统的安全性需求。
传输级的安全测试是考虑到Web系统的传输的特殊性,重点测试数据经客户端传送到服务器端可能存在的安全漏洞,以及服务器防范非法访问的能力。一般测试项目包括以下几个方面。
l        HTTPS和SSL测试:默认的情况下,安全HTTP(Soure HTTP)通过安全套接字SSL(Source Socket Layer)协议在端口443上使用普通的HTTP。HTTPS使用的公共密钥的加密长度决定的HTTPS的安全级别,但从某种意义上来说,安全性的保证是以损失性能为代价的。除了还要测试加密是否正确,检查信息的完整性和确认HTTPS的安全级别外,还要注意在此安全级别下,其性能是否达到要求。
l        服务器端的脚本漏洞检查:存在于服务器端的脚本常常构成安全漏洞,这些漏洞又往往被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
l        防火墙测试:防火墙是一种主要用于防护非法访问的路由器,在Web系统中是很常用的一种安全系统。防火墙测试是一个很大很专业的课题。这里所涉及的只是对防火墙功能、设置进行测试,以判断本Web系统的安全需求。

另推荐安全性测试工具:
Watchfire AppScan:商业网页漏洞扫描器 ( 此工具好像被IBM收购了,所以推荐在第一位 )
AppScan按照应用程序开发生命周期进行安全测试,早在开发阶段就进行 单元测试 和安全保证。Appscan能够扫描多种常见漏洞,例如跨网站脚本、HTTP应答切开、参数篡改、隐藏值篡改、后门/调试选项和缓冲区溢出等等。


Acunetix Web Vulnerability Scanner:商业漏洞扫描器( 目前用的比较多,不过这东东N占内存 )

Acunetix WVS自动检查您的网页程序漏洞,例如SQL注入、跨网站脚本和验证页面弱密码破解。Acunetix WVS有着非常友好的用户界面,还可以生成个性化的网站安全评估报告。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
存储 编解码 Cloud Native
C++ Qt关于多屏幕窗口处理
C++ Qt关于多屏幕窗口处理
|
8月前
|
存储 监控 搜索推荐
淘宝数据分析API:用户行为洞察,精准营销决策!
在电商竞争中,淘宝数据分析API助力商家深度洞察用户行为,实现精准营销。通过追踪浏览、加购、转化等数据,构建用户画像,优化运营策略,提升转化与复购,驱动业务增长。(239字)
|
8月前
|
算法 数据可视化 API
AR眼镜仓储物流分拣技术应用与落地方案
本方案聚焦仓储分拣痛点,推出轻量化AR眼镜及智能系统,集成高清摄像头、UWB厘米级定位与自研算法,实现“所见即识别”与最优路径导航。通过开放API无缝对接WMS,提升拣货效率30%以上,错误率低于0.5%,整机重量≤50克,支持全天候作业,助力仓储物流智能化升级。(238字)
|
SQL 存储 关系型数据库
PolarDB 开源基础教程系列 4 日常运维
PolarDB日常运维指南涵盖了多个关键操作,包括读写节点故障切换、增加只读节点、配置WAL日志归档、备份与恢复、创建容灾实例以及排查CPU负载高等。通过详细的步骤和代码示例,本文档帮助用户在本地环境中体验和学习PolarDB的高级功能,如共享存储架构下的集群管理。特别地,文档提供了如何使用`polar_basebackup`工具进行备份和恢复,确保数据安全;并通过`pg_stat_statements`插件定位慢查询,优化数据库性能。此外,还介绍了常见问题的排查方法,如业务量上涨或长时间执行的SQL语句导致的CPU高负载。更多内容和进阶课程可参考提供的GitHub链接和官方文档。
942 2
|
运维 网络协议
IP地址与子网划分:IPv4与IPv6地址规划及子网掩码计算详解
IP地址与子网划分:IPv4与IPv6地址规划及子网掩码计算详解
7297 3
|
Go API 数据库
Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
本文介绍了 Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
1673 4
|
存储
二维数组在物理上以及逻辑上的数组维度理解
C 语言中,二维数组在物理上按行优先连续存储,可视为一维数组的数组;逻辑上呈现行和列的结构,支持通过双下标访问元素,适用于矩阵和表格等数据结构的表示与操作。
|
数据采集 分布式计算 监控
深入调查研究 Kettle
【10月更文挑战第20天】
544 0
|
小程序 前端开发 JavaScript
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。开发者运用Service Worker等实现资源缓存与实时推送,利用Web App Manifest添加快捷方式至桌面,通过CSS3和JavaScript打造流畅动画与手势操作,需注意兼容性与性能优化,为用户创造更佳体验。
979 0
|
安全 测试技术 Linux
常见安全测试工具
常见安全测试工具
711 1