软件评测师-15.信息安全知识与安全测试

15.信息安全知识与安全测试

15.1数据安全策略

15.1.1数据安全的相关概念

15.1.1.1信息安全

信息安全从其本质上来讲就是网络传输处理过程中的信息安全。它涉及的领域相当广泛。这是因为在目前的公用通信网络中存在着各种各样的安全漏洞和威胁。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论,都是网络安全所要研究的领域。

下面给出网络安全的一个通用定义:

信息安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。

15.1.1.2数据安全

数据安全包括两方面的含义:

(1)一是数据本身的安全,主要是指采用现代密码算法对数据进行主动保护,如数据保密、数据完整性、双向强身份认证等,

(2)二是数据防护的安全,主要是采用现代信息存储手段对数据进行主动防护,如通过磁盘阵列、数据备份、异地容灾等手段保证数据的安全,数据安全是一种主动的包含措施,数据本身的安全必须基于可靠的加密算法与安全体系

15.1.2数据安全的防护措施

现在的计算机存储的信息越来越多,而且越来越重要,为防止计算机中的数据意外丢失,一般都采用许多重要的安全防护技术来确保数据的安全,下面简单的介绍常用和流行的数据安全防护技术:
(1)磁盘阵列
磁盘阵列是指将多个类型、容量、接口甚至品牌一直的专用磁盘或普通硬盘连成一个阵列,使其以更快的速度、准确、安全的方式读写磁盘数据,从而达到数据读取速度和安全性的一种手段。
(2)数据备份
备份管理包括备份的可计划性,自动化操作,历史记录的保存或日志记录
(3)双机容错
双机容错的目的在于保证系统数据和服务的在线性,即当某一系统发生故障时,仍然能够正常的向网络系统提供数据和服务,使得系统不至于停顿,双机容错的目的在于保证数据不丢失和系统不停机。
(4)网络附属存储(NAS)
网络附属存储NAS解决方案通常配置为作为文件服务的设备,由工作站或服务器通过网络协议和应用程序来进行文件访问,大多数NAS链接在工作站客户机和NAS文件共享设备之间进行。这些链接依赖于企业的网络基础设施来正常运行。
(5)数据迁移
由在线存储设备和离线存储设备共同构成一个协调工作的存储系统,该系统在在线存储和离线存储设备间动态的管理数据,使得访问频率高的数据存放于性能高的数据存放于性能较高的在线存储设备中,而访问频率低的数据存放于较为廉价的离线存储设备中。 
(6)异地容灾
以异地实时备份为基础的高效、可靠的远程数据存储,在各单位的IT系统中,必然有核心部分,通常称之为生产中心,往往给生产中心配备一个备份中心,改备份中心是远程的,并且在生产中心的内部已经实施了各种各样的数据保护。不管怎么保护,当火灾、地震这种灾难发生时,一旦生产中心瘫痪了,备份中心会接管生产,继续提供服务。
(7)存储域网络(SAN)
存储域网络SAN允许服务器在共享存储装置的同时仍能支持服务器和存储之间的任意点到点的连接,集中体现了功能分拆的思想,提高了系统的灵活性和数据的安全性

15.2用户认证机制

计算机及网络系统中常用的身份认证方式如下:

(1)用户名/密码方式            (2)智能卡认领              (3)数字证书

(4)基于USB Ley认证          (5)动态口令                 (6)生物识别技术

PS:SSL(安全套接字协议)不是用户认证机制,而是利用数据加密技术,保障数据在Internet上传输安全的协议。

15.3加密算法

15.3.1加密算法的定义

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

15.3.2加密算法的分类

加密技术通常分为两大类,即对称式和非对称式。

15.3.2.1对称式加密

对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56bits。

15.3.2.2非对称式加密

非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难不把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的“私钥”即可,这样就很好地避免了密钥的传输安全性问题。

15.3.3加密系统的数学描述

一个加密系统S可以用数学符号描述如下:S={P, C, K, E, D}       

其中:

P——明文空间,表示全体可能出现的明文集合,

C——密文空间,表示全体可能出现的密文集合,

K——密钥空间,密钥是加密算法中的可变参数,

E——加密算法,由一些公式、法则或程序构成,

D——解密算法,它是E的逆。

当给定密钥K时,各符号之间有如下关系:

C = Ek(P), 对明文P加密后得到密文C

P = Dk(C) = Dk(Ek(P)), 对密文C解密后得明文P

如用E-1 表示E的逆,D-1表示D的逆,则有:Ek = Dk-1且Dk = Ek-1

因此,加密设计主要是确定E,D,K。

 15.3.4常见的加密算法

常见的加密算法介绍如下:

(1) DES(Data Encryption Standard,数据加密标准):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;

(2) 3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;

(3) RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;

(4) IDEA(International Data Encryption Algorithm,国际数据加密算法):使用 128 位密钥提供非常强的安全性;

(5) RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;

(6) DSA(Digital Signature Algorithm,数字签名算法):它是一种标准的 DSS(数字签名标准),严格来说不算加密算法;

(7) AES(Advanced Encryption Standard,高级加密标准):对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法;

(8) ElGamal(公钥加密算法):是一种较为常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系。

(9) ECC(Elliptic Curves Cryptography,椭圆曲线密码编码学)同RSA(Ron Rivest,Adi Shamir,Len Adleman三位天才的名字)一样,也属于公开密钥算法。

(10)BLOWFISH:它使用变长的密钥,长度可达448位,运行速度很快;

(11) MD5:严格来说不算加密算法,只能说是摘要算法。MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

15.4网络安全解决方案

15.4.1计算机系统安全保护能力级别

中华人民共和国国家标准《计算机信息系统安全保护等级划分准则》GB 17859-1999,本标准规定了计算机系统安全保护能力的五个等级,即:

(1)第一级:用户自主保护级;

(2)第二级:系统审计保护级;

(3)第三级:安全标记保护级;

(4)第四级:结构化保护级;

(5)第五级:访问验证保护级。

本标准适用计算机信息系统安全保护技术能力等级的划分。计算机信息系统安全保护能力随着安全保护等级的增高,逐渐增强。

15.4.2风险分析原理

网络安全的评估内容如下:

(1)确定单位内部是否已经有了一套有关网络安全的方案,如果有的话,将所有有关的文档汇总;如果没有的话,应当尽快制订

(2)对已有的网络安全方案进行审查

(3)确定与网络安全方案有关的人员,并确定对网络资源可以直接存取的人或单位(部门)

(4)确保所需要的技术能使网络安全方案得以落实

(5)确定内部网络的类型。因为网络类型的不同直接影响到安全方案接口的选择

软件评测师-15.信息安全知识与安全测试_第1张图片

风险评估的意义和作用:

(1)风险评估是信息系统安全的基础性工作,它是观察过程的一个持续的工作。 

(2)风险评估是分级防护和突出重点的具体体现。前面讲了等级保护,他有一个重要的思想,等级保护的出发点就是要突出重点,要突出重点要害部位,分级负责,分层实施。 

(3)加强风险评估工作是当前信息安全工作的客观需要和紧迫需求。风险评估对信息系统生命周期的支持,生命周期有几个阶段,有规划和启动阶段,设计开发或采购阶段等等。信息系统在设计阶段的时候,现在大家很关注的还是在设计阶段,国家对这方面也做了很多的工作。 

可以采取的网络安全性措施有:

(1)选择性能优良的服务器。服务器是网络的核心;它的故障意味着整个网络的瘫痪,因此,要求的服务应具有:容错能力。带电热插拔技术,智能I/O技术,以及具有良好的扩展性

(2)采用服务器备份。服务器备份方式分为冷备份与热备份二种,热备份方式由于实时性好,可以保证数据的完整性和连续性,得以广泛采用的一种备份方式

(3)对重要网络设备、通信线路备份。通信故障就意味着正常工作无法进行。所以,对于交换机、路由器以及通信线路最好都要有相应的备份措施

15.5隔离区(DMZ)相关概念

15.5.1隔离区(DMZ)的定义

隔离区(DMZ)的定义如下:

DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。

 隔离区(DMZ)示意图如下:

软件评测师-15.信息安全知识与安全测试_第2张图片

15.5.2隔离区(DMZ)的配置要点

隔离区(DMZ)的配置要点如下:

15.5.2.1进行DMZ地址转换

DMZ区服务器与内网区、外网区的通信是经过网络地址转换(NAT)实现的。网络地址转换用于将一个地址域(如专用Intranet)映射到另一个地址域(如Internet),以达到隐藏专用网络的目的。DMZ区服务器对内服务时映射成内网地址,对外服务时映射成外网地址。

15.5.2.2制定DMZ安全规则

DMZ安全规则指定了非军事区内的某一主机(IP地址)对应的安全策略。由于DMZ区内放置的服务器主机将提供公共服务,其地址是公开的,可以被外部网的用户访问,所以正确设置DMZ区安全规则对保证网络安全是十分重要的

当规划一个拥有DMZ的网络时候,我们可以明确各个网络之间的访问关系,可以确定以下六条访问控制策略。

(1)内网可以访问外网

内网的用户显然需要自由地访问外网。在这一策略中,防火墙需要进行源地址转换。

(2)内网可以访问DMZ 

此策略是为了方便内网用户使用和管理DMZ中的服务器。

(3)外网不能访问内网

很显然,内网中存放的是公司内部数据,这些数据不允许外网的用户进行访问

(4)外网可以访问DMZ 

DMZ中的服务器本身就是要给外界提供服务的,所以外网必须可以访问DMZ.同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换

(5)DMZ不能访问内网

很明显,如果违背此策略,则当入侵者攻陷DMZ时,就可以进一步进攻到内网的重要数据。

(6)DMZ不能访问外网

此条策略也有例外,比如DMZ中放置邮件服务器时,就需要访问外网,否则不能正常工作。

15.6特洛伊木马

15.6.1特洛伊木马的概念

“特洛伊木马”(trojan horse)简称“木马”(wooden horse),名称来源于希腊神话《木马屠城记》,如今黑客程序借用其名,有“一经潜入,后患无穷”之意。特洛伊木马没有复制能力,它的特点是伪装成一个实用工具或者一个可爱的游戏,诱使用户将其安装在PC或者服务器上。

一个完整的特洛伊木马套装程序含了两部分:服务端(服务器部分)和客户端(控制器部分)。植入对方电脑的是服务端,而黑客正是利用客户端进入运行了服务端的电脑。运行了木马程序的服务端以后,会产生一个有着容易迷惑用户的名称的进程,暗中打开端口,向指定地点发送数据(如网络游戏的密码,实时通信软件密码和用户上网密码等),黑客甚至可以利用这些打开的端口进入电脑系统。这时你电脑上的各种文件、程序,以及在你电脑上使用的账号、密码无安全可言了。

15.6.2感染特洛伊木马的现象

对于特洛伊木马,被控制端就成为一台服务器,控制端则是一台客户机,即侵入被攻击主机的入侵程序属于服务程序,攻击者的控制程序属于客户程序。计算机感染特洛伊木马后,会受到特络伊木马程序的控制,有以下几种典型现象:

(1)有未知程序试图建立网络连接。

(2)系统中有可疑的进程在运行等现象。

(3)系统运行速度越来越慢,且CPU资源占用率高。

(4)任务表中有可疑的文件在运行。

(5)系统长时间读写硬盘或搜索软盘。

(6)系统经常死机或重启等。

特洛伊木马入侵程序会在用户每次启动计算机时自动装载于服务端。尤其是启动组、win.ini、system.ini、注册表等Windows系统启动时自动加载应用程序都可能是特洛伊木马藏身地。

 15.6.3防御特洛伊木马的措施

特洛伊木马的危害是显而易见的,对其进行防御的措施如下:

(1)提高防范意识,不随意下载安装来历不明的软件和接收电子邮件。

(2)端口扫描是检查远程机器有无特洛伊木马的最好办法。工作原理是扫描程序尝试连接某个端口,如果成功则说明端口开放,如果失败或超过某个特定的时间(超时)则说明端口关闭。

(3)运行实时网络连接监控程序查看本机的网络连接。例如,使用netstat-an命令。

(4)检查注册表中是否有特洛伊木马留下的痕迹。

(5)查找特络洛木马特征文件(kernl32.exe和sysexlpr.exe)

(6)由于作为服务器的特洛伊木马入侵程序会打开一个默认的端口并进行监听,因此对于已安装了防火墙软件的主机,则可以利用防火墙的包过滤功能有效地防止外部非法连接来拦截特洛伊木马。

 15.7渗透测试

15.7.1渗透测试的含义

渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。

 15.7.2渗透测试的内容

15.7.2.1信息收集

信息收集分析几乎是所有入侵攻击的前提/前奏/基础。通过对网络信息收集分析,可以相应地、有针对性地制定模拟黑客入侵攻击的计划,以提高入侵的成功率、减小暴露或被发现的几率。

信息收集的方法包括主机网络扫描、操作类型判别、应用判别、账号扫描、配置判别等。模拟入侵攻击常用的工具有Nmap、Nessus、X-Scan等,操作系统中内置的许多工具(例如telnet)也可以成为非常有效的模拟攻击入侵武器。

15.7.2.2端口扫描

通过对目标地址的TCP/UDP端口扫描,确定其所开放的服务的数量和类型,这是所有渗透测试的基础。通过端口扫描,可以基本确定一个系统的基本信息,结合测试人员的经验可以确定其可能存在,以及被利用的安全弱点,为进行深层次的渗透提供依据。

15.7.2.3权限提升

通过收集信息和分析,存在两种可能性,其一是目标系统存在重大弱点:测试人员可以直接控制目标系统,然后直接调查目标系统中的弱点分布、原因,形成最终的测试报告;其二是目标系统没有远程重大弱点,但是可以获得远程普通权限,这时测试人员可以通过该普通权限进一步收集目标系统信息。接下来,尽最大努力获取本地权限,收集本地资料信息,寻求本地权限升级的机会。这些不停的信息收集分析、权限升级的结果将构成此次项目整个渗透测试过程的输出。

15.7.2.4不同网段/Vlan之间的渗透

这种渗透方式是从某内/外部网段,尝试对另一网段/Vlan进行渗透。这类测试通常可能用到的技术包括:对网络设备和无线设备的远程攻击;对防火墙的远程攻击或规则探测、规避尝试。 信息的收集和分析伴随着每一个渗透测试步骤,每一个步骤又有三个组成部分:操作、响应和结果分析。

15.7.2.5溢出测试

当测试人员无法直接利用帐户口令登陆系统时,也会采用系统溢出的方法直接获得系统控制权限,此方法有时会导致系统死机或从新启动,但不会导致系统数据丢失,如出现死机等故障,只要将系统从新启动并开启原有服务即可。

15.7.2.6恶意SQL注入攻击

SQL注入常见于应用了SQL 数据库后端的网站服务器,入侵者通过提交某些特殊SQL语句,最终可能获取、篡改、控制网站服务器端数据库中的内容。此类漏洞是入侵者最常用的入侵方式之一。

15.7.2.7检测页面隐藏字段

网站应用系统常采用隐藏字段存储信息。许多基于网站的电子商务应用程序用隐藏字段来存储商品价格、用户名、密码等敏感内容。恶意用户通过操作隐藏字段内容达到恶意交易和窃取信息等行为,是一种非常危险的漏洞。

15.7.2.8跨站攻击

入侵者可以借助网站来攻击访问此网站的终端用户,来获得用户口令或使用站点挂马来控制客户端。

15.7.2.9篡改Cookie

网站应用系统常使用cookies 机制在客户端主机上保存某些信息,例如用户ID、口令、时戳等。入侵者可能通过篡改cookies 内容,获取用户的账号,导致严重的后果。

15.8入侵检测

15.8.1入侵检测的概念

入侵检测,是对入侵行为的发觉。对企图入侵、正在进行的入侵或已经发生的入侵进行识别的过程。它通过从计算机网络或系统中的若干关键点收集信息,并对这些信息进行分析,从而发现网络或系统中是否有违反安全策略的行为和遭到袭击的现象。

15.8.2入侵检测采用的技术分类

对各种事件进行分析,从中发现违反安全策略的行为是入侵检测系统的核心功能。从技术上,入侵检测分为两类:一种基于特征(signature-based),另一种基于异常情况(anomaly-based)。

(1)特征检测(signature-based detection)

对于基于标识的检测技术来说,首先要定义违背安全策略的事件的特征,如网络数据包的某些头信息。检测主要判别这类特征是否在所收集到的数据中出现。此方法非常类似杀毒软件。

(2)异常情况(anomaly-based detection)

而基于异常的检测技术则是先定义一组系统“正常”情况的数值,如CPU利用率、内存利用率、文件校验和等(这类数据可以人为定义,也可以通过观察系统、并用统计的办法得出),然后将系统运行时的数值与所定义的“正常”情况比较,得出是否有被攻击的迹象。这种检测方式的核心在于如何定义所谓的“正常”情况。

15.8.3入侵检测的一般工作流程

入侵检测的一般工作流程如下:

(1)黑客们首先确定目标并且收集相关信息(包括邮件地址、相关IP地址、漏洞等等),他们将使用各种漏洞扫描器进行操作; 
(2)根据得到的信息可能进行渗透,也就是“入侵”,总的说来入侵者就是要尽可能获得足够的权限,而从多数入侵事件分析看出,“工具黑客”仅仅对常见而且操作简单的漏洞感兴趣;
(3)接着就做他们愿意做的事情,获得机密、进行破坏等等; 
(4)做到“尽可能”地清除自己留下的痕迹,包括修改、删除系统日志等; 
(5)最后按照他们的期望(是否再来),安装后门(木马、添加帐号等等)方便以后进入,有更深度入侵打算的入侵者,还会安装网络嗅探器,以便捕获到更多可用的帐号密码等。 

你可能感兴趣的:(软件评测师,软件测试)