系统安全性测试

系统的安全测试

1.      安全测试,什么是安全测试。安全性测试(Security test)它是指:在测试软件系统中对程序的危险防止和危险处理进行的测试,以验证其是否有效。

2.      安全性测试我们要做哪些工作呢?

 a.全面检验软件在软件需求规格说明中规定的防止危险状态措施的有效性和在每一个危险状态下的处理反应情况;

b.对软件设计中用于提高安全性的逻辑结构、处理方案,进行针对性测试;

c.在异常条件下测试软件,以表明不会因可能的单个或多个输入错误而导致不安全状态

d.用错误的安全性关键操作进行测试,以验证系统对这些操作错误的反应;

e.对安全性关键的软件单元功能模块要单独进行加强的测试以确认其满足安全性需求。

3. 安全性测试方法

1.功能验证

功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的

软件功能,如:用户管理模块,权限管理,加密系统,认证系

统等进行测试,主要验证上述功能是否有效。

   2.漏洞扫描

安全漏洞扫描主要是借助于特定的漏洞扫描器完成的。通过使

用漏洞扫描器,系统管理员能够发现系统存在的安全漏洞,

从而在系统安全中及时修补漏洞的措施。一般漏洞扫描分为

两种类型:主机漏洞扫描器是指在系统本地运行检测系统漏

洞的程序。网络漏洞扫描器是指基于网络远程检测目标网络

和主机系统漏洞的程序。

   3.模拟攻击

对于安全测试来说,模拟攻击测试是一组特殊的极端的测试方

法,我们以模拟攻击来验证软件系统的安全防护能力。

刚才我们主要讲了两个内容:1.系统安全测试要我们做的哪些工作。

2.系统安全测试的方法。

下面我们切入主题讲系统的安全测试,都要测试哪些东西

1.      系统安全测试的内容:它主要包括

1.应用程序安全测试

2.操作系统安全测试

3.数据库安全测试

4.IIS服务器安全测试

5.网络环境安全测试

当然在这里我主要讲的是我做过的项目系统中需要测试的内容,对不同的系统安全性测试的内容也不一样,这个需要结合项目本身的情况和用户使用环境来确定测试的内容。

第一部分

应用程序的安全性:

   包括对数据或业务功能的访问,在预期的安全性情况下,操作者只能访问应用程序的特定功能、有限的数据。其测试是核实操作者只能访问其所属用户类型已被授权访问的那些功能或数据。测试时,确定有不同权限的用户类型,创建各用户类型并用各用户类型所特有的事务来核实其权限,最后修改用户类型并为相同的用户重新运行测试。

 

应用程序的安全性问题:

我主要是结合我们刚才讲的安全性测试方法中,对于不同的安全性测试策略列举了不同的问题,当然我列的不全,在这里我主要是告诉大家一个测试的思路,因为对于不同的安全性问题大家有或许有不同的看法,所以我只列举了部分问题给大家参考。

功能验证

1.有效的密码是否接受,无效的密码是否拒绝。

2.系统对于无效用户或密码登陆是否有提示。

3.用户是否会自动超时退出,超时的时间是否合理。

4.各级用户权限划分是否合理。

漏洞扫描

       

模拟攻击

1.系统是否允许极端或不正常的登陆方式访问。(如

拷贝软件系统中的某个功能点的url地址,然后直接

通过IE访问看是否成功)

第二部分

系统安全性:

注意(这里的系统指的是操作系统也就是应用程序所运行的操作系统)

系统安全测试

 可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问,包括对系统的登录或远程访问。其测试是核实只有具备系统和应用程序访问权限的操作者才能访问系统和应用程序。

操作系统安全测试

l      帐号和口令

l      网络与服务

l      文件系统

l      日志审核

l      其它安全设置

帐号和口令

1、 对主机或域上用户强制进行口令复杂度。

2、 检查系统是否使用默认管理员帐号。

3、 检查在系统中是否存在可疑或与系统无关的帐号。

4、 检查系统用户是否有口令最短和口令长度要求。

5、 检查系统用户是否有密码过期策略。

6、

网络与服务

1、 查看主机开放的共享,关掉不必要的共享和系统默认的共享服务。

2、 查看主机进程信息。(不允许系统中安装有与应用服务无关的应用程序)

3、 查看系统启动的服务列表。

4、 查看系统启用的端口号。

5、 查看系统是否制定操作系统的备份恢复策略服务

文件系统

文件系统的安全主要是检查主机磁盘分区类型和某些特定目录的权限。

注意:服务器应使用具有安全特性的NTFS格式,而不应该使用FAT或FAT32分区(上述描述的内容主要是针对windows操作系统)。

日志审核

日志的审核主要是检查主机日志的审核情况。

它主要包括:

1.应用程序日志。(运行在操作系统上的程序产生的)

2.安全日志。(用户登录系统的日志)

3.系统日志。

其它安全设置

1、 系统补丁漏洞。

2、 登陆系统操作的用户的权限。

3、 病毒防治。

4、 系统日志是否有备份功能。

5、 数据的备份与恢复。

6、 系统上卸载与无关组件或应用程序。

第三部分

数据库安全测试

数据库安全

在管理和维护数据库的过程中为了保障数据库安全我们从以下几方面限制数据库访问安全:

1、限制能访问Oracle数据库的客户端,指定的IP才可以访问,防止恶意的用户登陆。

2、即使有访问Oracle数据库的机会,帐户的密码使用强口令和其他登陆策略,恶意用户也无法轻松进入。

3、为每个登陆帐户设置了合适的权限,执行改变数据库状态的权限需要得到管理员的授权,确保了系统合法帐户对数据库的操作安全。

解决办法

1.无关IP禁止访问

方法一:在Oracle服务器的SQLNet.Ora文件中设置允许访问的IP地址,或不允许访问的IP地址;

方法二:在Oracle服务器上使用NetManager工具设置;

2.用户密码为强口令

锁定不用的默认帐户,如scott;

更改使用的默认帐户的口令,这些帐户的密码是公开的,安装时自动建立,如帐户system密码manager为确保安全默认帐户必须修改密码;

密码使用强口令,即数字、特殊字符、字母组成的至少8未的密码;

设置密码失效的策略文件profile,可在控制台中设置。

3.用户赋予适当的权限

不要每个帐户都设置DBA权限,把系统所有操作暴露给每个用户;

每个帐户仅赋予它完成操作所需要的权限;不要轻易为帐户赋予delete或delete any权限,确保数据不会被误删除;

数据库安全(sql server

1、关闭服务器端的tcp/ip协议服务。

2、数据库用户登录方式选择sql server身份认证。

3、设置用户访问指定的数据库。

4、设置用户对数据库中的对象有指定的操作权限。

5、查看数据是否有定期自动备份的操作。

第四部分

IIS服务器安全测试

1、IIS基础服务组件安装情况。(根据系统情况合理的安装,减少安装不必要的服务控件)

2、查看IIS日志是否启用,日志存储路径以及日志记录选项

3、IIS主目录路径和目录访问权限的设置。

(注意:1.目录建议不要和系统盘符设置在同一路径下,

2.目录访问权限根据所在项目系统的实际情况来设置,通常只启用”读取”权限,记录访问和索引资料权限跟系统的安全无关都默认启用,因为所用的internet用户访问的目录就是IIS设定主目录)

4、默认文档的启用。

5、访问控制的身份验证。

6、连接超时功能的设置(可以根据项目的安全要求具体的可参考系统需求规格说明书来进行合理的设置)。

7、安全补丁的更新和安装情况

 

第五部分

网络环境安全测试

主要检测的是系统所在局域网内的网络环境的的安全设置,根据情况可以忽略。

1.备份和升级情况

2.访问控制情况

3.网络服务情况

4.路由协议情况

原文地址:https://www.cnblogs.com/yanyx/p/11847127.html

时间: 2024-10-31 10:39:41

系统安全性测试的相关文章

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

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

WEB安全性测试

WEB的安全性测试主要从以下方面考虑   1.SQL Injection(SQL注入) (1)如何进行SQL注入测试? 首先找到带有参数传递的URL页面,如 搜索页面,登录页面,提交评论页面等等. 注1:对 于未明显标识在URL中传递参数的,可以通过查看HTML源代码中的"FORM"标签来辨别是否还有参数传递.在<FORM> 和</FORM>的标签中间的每一个参数传递都有可能被利用. <form id="form_search" act

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

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

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

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

分享:关于安全性测试工具小要点

有一篇关于安全性测试工具的文章:<Gunfight at The OK Button>. 文中列出了安全测试工具的15个要点: 1.针对源代码,测试出任何类型的弱点. 2.针对二进制文件,例如可执行文件,测试出任何类型的弱点. 3.检测实时系统的问题,像死锁检测.异步行为的问题等. 4.对任何类型的补丁创建基线并进行回归测试,防止引入新的弱点. 5.提供一个机制,确保已经过检查.校验的源代码一旦构建成为可执行文件后,没有被更改. 6.帮助测试人员找到可能触发或隐含恶意代码的地方. 7.提供关于

移动互联网安全性测试技术简介

我们在讲"移动互联网安全性测试技术"之前,先来了解下移动互联网安全测评服务!它的整个生命周期包含安全检测.安全评估.安全加固和APP发布渠道监测. 安全检测 对象:所有待上线的APP 目标:防止恶意软件流入应用市场 内容:对APP进行安全性检测,检测APP是否存在病毒.木马等恶意代码 安全评估 对象:对安全性要求较高的APP 目标:发现通过APP给业务带来的安全风险 内容:对APP进行安全性评测,评测APP和业务流程是否存在安全风险和漏洞 安全加固 对象:所有待上线的APP 目标:对A

安全性测试:OWASP ZAP使用入门指南

免责声明: 本文意在讨论使用工具来应对软件研发领域中,日益增长的安全性质量测试需求.本文涉及到的工具不可被用于攻击目的. 1. 安全性测试 前些天,一则12306用户账号泄露的新闻迅速发酵,引起了购票用户的一片恐慌. 且不论这次账号泄露的漏洞究竟是发生在哪里,网络安全性这个话题再次引起了我们的关注. 做为IT从业人员,我们的研发产品是否具有足够的安全性,是不是能够在亿万用户的?我们是不是应该更多的关注产品安全性,投入更多的安全性测试资源? 从行业发展的趋势来看,答案是肯定的. 2. OWASP

安全性测试入门(二):Command Injection命令行注入攻击和防御

安全性测试入门(二):Command Injection命令行注入攻击和防御 本篇继续对于安全性测试话题,结合DVWA进行研习. Command Injection:命令注入攻击. 1. Command Injection命令注入 命令注入是通过在应用中执行宿主操作系统的命令,来达到破坏目的的一种攻击方式.如果我们的应用程序将不安全的用户输入传递给了系统命令解析器(shell),那么命令攻击就有可能发生. 通常来说,由应用程序传递操作系统命令会赋有和应用一样的权限,所以如果没有合理防御机制会给系

安全性测试入门 (三):CSRF 跨站请求伪造攻击和防御

安全性测试入门 (三):CSRF 跨站请求伪造攻击和防御 本篇继续对于安全性测试话题,结合DVWA进行研习. CSRF(Cross-site request forgery):跨站请求伪造 1. 跨站请求伪造攻击 CSRF则通过伪装成受信任用户的请求来利用受信任的网站,诱使用户使用攻击性网站,从而达到直接劫持用户会话的目的. 由于现在的主流浏览器比如火狐和谷歌,都倾向于使用单个进程来管理用户会话(比如我们在FF和Chrome中,当要访问一个新页面时,通常是通过新增浏览器页面来达到的,而不是新开一