《质量全面管控》读书笔记——安全测试与安全管理

一、安全测试
安全测试首先会对被测试系统做系统分析,分析其架构、软件体系及程序部署等,再对被测试系统做系统安全分析,然后对系统进行安全建模,明确本系统可能存在的各个潜在威胁,接着剖析系统,确认有哪些攻击界面,根据测试方案进行测试。

安全测试是在软件产品开发基本完成时,验证产品符合安全需求定义和产品质量标准的过程。
安全测试是检查系统对非法侵入渗透的防范能力,系统安全设计的准则是使非法侵入的代价超过被保护信息的价值。

二、几种常见安全事故
DDoS攻击:对生产环境进行拒绝服务攻击,造成服务不可用等。
ARP欺骗攻击:对生产环境网络中的核心交换机造成CPU负载过高等。
账户入侵渗透:客户账户的资金被窃取。
论坛被渗透:利用论坛挂载木马控制服务器,进一步渗透生产网络。
交易敏感信息被窃取:相关资金等信息以明文方式传输时被外部窃取使用。
生产程序信息泄露:生产环境的相关资料信息被外部知悉,从而被渗透利用。
程序版本存在安全隐患:导致生产环境的系统被远程控制。

三、安全开发生命周期
1)培训:安全技术培训、安全意识培训,制定安全规范;
2)需求阶段:评审安全需求并建立质量标准,识别安全风险;
3)设计阶段:采用安全架构来设计系统,分析攻击面,并实行威胁建模;
4)构建阶段:选取安全开发工具,将安全规范落实到位,使用安全API,尽量减少非安全代码的引入;
5)验证阶段:进行代码审查,进行渗透测试,降低产品上线的安全事故风险;
6)发布:在产品发布之前,制定应急响应方案和安全运维规范,并对集成环境进行安全检查,确保上线后产品平滑地运行;
7)响应:当有安全事故发生时,执行应急响应方案,快速解决事故问题,同时结合人工巡检和漏洞扫描、安全情报系统,一旦出现安全问题,立即警报,争取时间。

四、安全测试流程
提交申请——>准备测试环境——>收集基础信息——>渗透测试——>渗透测试——>分析结果——>编写报告。

五、常见安全测试工具
1)IBM AppScan
是一个领先的Web应用安全测试工具,可以自动化进行安全漏洞评估工作,能扫描和检测常见的Web应用安全漏洞,如SQL注入、跨站点脚本攻击、缓冲区溢出、最新的Flash/Flex应用及Web2.0应用暴露等。
2)Burp Suite
是用于攻击web 应用程序的集成平台,包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。它支持在整个测试过程中,分析应用攻击界面,结合手工和自动化技术,更快、有效地找到安全漏洞。
3)Metasploit
是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。
4)Wireshark
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。
5)Kail Linux
Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统。由Offensive Security Ltd维护和资助。最先由Offensive Security的Mati Aharoni和Devon Kearns通过重写BackTrack来完成,BackTrack是他们之前写的用于取证的Linux发行版 。Kali Linux预装了许多渗透测试软件,包括nmap 、Wireshark 、John the Ripper,以及Aircrack-ng。 用户可通过硬盘、live CD或live USB运行Kali Linux。Kali Linux有32位和64位的镜像。可用于x86 指令集。同时还有基于ARM架构的镜像,可用于树莓派和三星的ARM Chromebook

六、开发安全规范
1)跨站脚本安全规范(Cross-site Scripting,XSS)
有三种攻击形式:反射型XSS或非持久XSS(是指服务器直接从HTTP请求读取数据,并将其反正在HTTP响应中)、存储型XSS或持久XSS(是指应用程序在数据库、消息论坛、访客日志或其他可信的数据存储中存储危险数据)、基于DOM的XSS(客户端将XSS代码注入到页面中)
为防范XSS,在开发产品时应遵循以下三个基本原则
A、假定一切的输入和输出都是有害的,不要信任任何输入数据和输出数据;
B、所有传递过程都不能保证无侵入,故在执行前、存储前、显示前都要进行“数据清洁”;
C、所有的数据校验、处理工作尽量在服务器端进行。
2)SQL注入安全规范
是黑客对数据库攻击的常用手段,主要是开发人员在编写代码时没有对用户输入的数据进行合法性判断,使应用程序存在安全隐患。当应用程序将用户输入的内容拼接到SQL语句中,一起提交给数据库执行时,就会产生SQL注入威胁。
方法SQL注入,要坚持三个基本原则:
A、所有的用户输入都进行合法性校验;
B、所有的数据库SQL操作必须参数化;
C、数据库实现Schema分离,从设计角度上最大程度地减少SQL注入造成的危害。
3)页面组件和敏感数据的安全规范
在进行Web页面组件开发时,需要注意提交方式、编码方式和属性设置等。
不能随意在Cookie、Session和ServletContext中存放数据,在这些对象中存放的数据必须有统一的定义说明和声明周期的管理等。
敏感信息要保证其私密性。
4)Java安全规范
A、Cookie的安全规范;
B、必须设置Session的超时时间;
C、必须构建统一的错误处理页面;
D、多线程中线程安全的规范;
E、增加Referer的检查,防止非法访问;
F、构建页面流的访问控制,建议使用Spring Web Flow。
5)应用集成安全规范
各个应用之间不应有内在的信任关系,应用相互访问时,被访问的系统要对访问的系统进行确认和授权验证。

七、HTTP响应头分裂
将未经验证的数据写入HTTP Header会使攻击者窃取服务器端返回的所有HTTP Response。当HTTP Request中包含意外CR和LF字符时,就会出现HTTP响应头分裂的情况。服务器可能被解释为两种不同的HTTP响应输出流来进行回应。攻击者可以控制第二个回应,从而发动攻击,如跨站点脚本攻击和缓存中毒攻击。
为修复此类问题,要谨慎地构筑HTTP Header,避免使用未经验证的输入数据。应假设所有输入数据都是恶意的,使用黑名单和白名单的合适组合来确保系统只对有效的和预计的输入数据进行处理。

八、安全漏洞
1、信息收集
1)信息收集是渗透测试的基础,在制定渗透测试策略之前,通过主机探测手段收集主机信息,通过收集的信息制定攻击路线,为后期的渗透测试提供参考。在信息收集中,主要使用Nmap工具来收集主机信息。
2)对前面收集的信息进行汇总,并按照可能的攻击路径对其进行分类。
3)根据主机探测和探测结果分析,可以确定所攻击路线,进行后期的渗透测试。
2、口令入侵
口令入侵是指使用某些合法的账号和口令登录到目标主机,然后实施攻击活动。账号和口令可以通过网络监听和口令猜测(暴力破解)两种途径获取。
1)网络监听
监听者采用中途截击的方法,这也是获取用户账号和密码的一条有效途径。目前,很多协议并没有采用任何加密或身份认证技术,如在Telnet、FTP、HTTP、SMTP等传输协议中,用户账号和密码信息都是以明文格式传输的。
还有一种中途截击的攻击方法,它在同服务器完成“三次握手”并建立连接之后,在通信过程中扮演“第三者”的角色,假冒服务器身份欺骗用户,再假冒用户向服务器发出恶意请求,其造成的后果不堪设想。
另外,攻击者有时还会利用软件和硬件工具时刻监视系统主机的工作,等待并记录用户登录信息(如Wireshark)。
2)口令猜测
口令猜测攻击是攻击者根据口令规则编写口令字典库,然后根据该字典库通过猜测获取用户的口令。通常,攻击者根据口令的长度、口令的特征和各种字符组合方式选择某个口令进行攻击注入。常见的口令破解工具有:Burp Suite(Web口令破解)、NAT(NetBIOS Auditing Tool)(SMB服务器口令破解工具)、Brutus(Telnet远程密码破解工具)、SQLdict(远程破解数据库口令工具)、EmailCrack(POP3协议的口令破解)
3、心脏滴血漏洞
OpenSSL的“Heartbleed”安全漏洞的原理是:OpenSSL引入了心跳机制来维持TLS连接,心跳机制是作为TLS的扩展实现,代码中包括TLS(TCP)和DTLS(UDP)都没有做边界检测,导致攻击者可以利用这个漏洞来获取服务器内存中的一些数据,每次至少可以获得16KB数据(理论上最大为64KB)。用户利用TLS连接,发起client hello 询问,测试服务器是否正常在线,服务器返回server hello响应,表明正常建立SSL通信。每次询问都会附加一个询问的字符长度pad length,此时若pad length大于实际的长度,则服务器返回和pad length同样规模的字符信息,于是造成了内存中信息的越界访问。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值