《信息安全技术网络安全等级保护测试评估技术指南(GB-T 36627-2018).docx》由会员分享,可在线阅读,更多相关《信息安全技术网络安全等级保护测试评估技术指南(GB-T 36627-2018).docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ICS35.040L 80中华人民共和国国家标准GB/T XXXXXXXXX信息安全技术 网络安全等级保护测试评估技术指南Information security technologyTesting and evaluation technology guide for classified cybersecurity protection(本稿完成日期:2017年11月27日)XXXX - XX - XX发布XXXX - XX - XX实施GB/T XXXXXXXXX目次前言II引言III1 范围12 规范性引用文件13 术语和定义14 缩略语25 等级测评技术概述25.1 技术分类25.2
2、 技术选择26 等级测评技术36.1 检查技术36.2 识别和分析技术56.3 漏洞验证技术67 测试评估77.1 测试结果分析87.2 提出改进建议87.3 报告8附录A9A.1 综述9A.2 渗透测试阶段9A.3 渗透测试方案10A.4 渗透测试风险11A.5 渗透测试风险规避11参考文献13前言本标准按照GB/T 1.1-2009标准化工作导则 第1部分:标准的结构和编写给出的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本标准主要起草单位:公安部第三研究所(国家网络与信息系统
3、安全产品质量监督检验中心)、中国信息安全研究院有限公司、上海市信息安全测评认证中心、中国电子技术标准化研究院、中国信息安全认证中心。本标准主要起草人:张艳、陆臻、杨晨、顾健、沈亮、徐御、俞优、张笑笑、金铭彦、高志新、邹春明、陈妍、胡亚兰、赵戈、何勇亮、李晨、李曦、冯婷婷、刘继顺、吴其聪。引言本标准为实现信息系统的网络安全等级保护测评提供技术指导。目前网络安全等级保护相关的测评标准主要有GB/T 22239信息安全技术 网络安全等级保护基本要求(以下简称基本要求)、GB/T 28448信息安全技术 网络安全等级保护测评要求(以下简称测评要求)和GB/T 28449信息安全技术 网络安全等级保护测
4、评过程指南(以下简称测评过程指南)等。其中GB/T 22239是系统等级保护测评的基础性标准,GB/T 28448针对GB/T 22239中的要求,提出了不同安全等级信息系统的测评要求;GB/T 28449主要规定了信息系统安全等级保护测评工作的测评过程。 本标准与测评要求和测评过程指南的区别在于:测评要求主要描述了各级信息系统单元测评的具体测评要求和测评流程,测评过程指南则主要对等级测评的活动、工作任务以及每项任务的输入/输出产品等提出指导性建议,二者均不涉及安全测评中具体的测试方法和技术。 本标准对网络安全等级保护测评中的相关测评技术进行明确的分类和定义,系统地归纳并阐述系统测评的技术方法
5、,概述技术性安全测试和评估的关键要素,重点放在具体技术的实现功能、原则等,并提出建议供使用。因此本标准在应用于网络安全等级保护测评时可作为对测评要求和测评过程指南的补充。 IIIGB/T XXXXXXXXX信息安全技术 网络安全等级保护测试评估技术指南1 范围本标准规定了网络安全等级测评过程中现场测评阶段涉及的相关技术。本标准适用于测评机构、信息系统的主管部门及运营使用单位对信息系统的网络安全等级测评,为网络安全等级测评工作的技术规范性提供方法依据。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括
6、所有的修改单)适用于本文件。GB 178591999 计算机信息系统安全保护等级划分准则3 术语和定义GB/T 178591999、GB/T 250692010界定的以及下列术语和定义适用于本文件。3.1字典式攻击 dictionary attack在破解口令时,逐一尝试用户自定义词典中的单词或短语的攻击方式。3.2文件完整性检查 file integrity checking通过建立文件校验数据库,计算、存储每一个保留文件的校验,将已存储的校验重新计算以比较当前值和存储值,从而识别文件是否被修改。3.3网络嗅探 network sniffer一种监视网络通信、解码协议,并对关注的信息头部和有
7、效载荷进行检查的被动技术,同时也是一种目标识别和分析技术。3.4生产系统 production system在正常情况下支持单位日常业务运作的信息系统。3.5规则集 rule set一种用于比较网络流量或系统活动以决定响应措施(如发送或拒绝一个数据包,创建一个告警,或允许一个系统事件)的规则的集合。3.6测评对象 testing object等级保护测评实施的对象,即测评过程中涉及到的信息系统、制度文档、网络基础设施及其安全配置和相关人员等。4 缩略语下列缩略语适用于本文件。CNVD:国家信息安全漏洞共享平台(China National Vulnerability Database)DNS:
8、域名系统(Domain Name System)DoS:拒绝服务(Denial of Service)DDoS:分布式拒绝服务(Distributed Denial of Service)ICMP:Internet控制报文协议(Internet Control Message Protocol)IDS:入侵检测系统(Intrusion Detection Systems)IPS:入侵防御系统(Intrusion Prevention System)MAC:介质访问控制(Media Access Control)P2P:对等网络(Peer-to-Peer)SSH:安全外壳协议(Secure Sh
9、ell)SSID:服务集标识(Service Set Identifier)SQL:结构化查询语言(Structured Query Language) VPN:虚拟专用网络(Virtual Private Network)5 等级测评技术概述5.1 技术分类可用于信息系统网络安全等级保护测评的安全测试和验证技术分成以下三类:a) 检查技术:检查系统、应用软件、网络、策略和规程,并发现安全漏洞的检验技术。通常采用手动方式,主要包括文档检查、日志检查、规则集检查、系统配置检查、文件完整性检查、密码检查等; b) 识别和分析技术:识别系统、端口、服务以及潜在安全性漏洞的测试技术。这些技术可以手动执
10、行,也可使用自动化的工具,主要包括网络嗅探、网络端口和服务识别、漏洞扫描、无线扫描等;c) 漏洞验证技术:验证漏洞存在性的测试技术。基于核查、目标识别和分析结果,针对性地采取手动执行或使用自动化的工具,主要包括口令破解、渗透测试、远程访问测试等,对可能存在的安全漏洞进行验证确认,获得证据。 5.2 技术选择当选择和确定用于网络安全等级测评活动的技术时,考虑的因素主要包括但不限于测试对象、测试技术适用性、测试技术对评估对象可能引入的安全风险、技术评估的角度(例如,内部与外部),以使得相应的技术可供选择。宜优先考虑对与生产系统相同配置的非生产系统进行测试,在非业务运营时间进行测试或在业务运营时间使
11、用非限制技术,以尽量减少对生产系统业务的影响。6 等级测评技术6.1 检查技术6.1.1 文档检查文档检查应确定策略和规程在技术上覆盖以下方面:a) 被测方为网络安全等级测评的评估者提供适当的文档,为了解系统的安全态势提供基础,确保检查的全面性;b) 检查对象包括安全策略、体系结构和要求、标准作业程序、系统安全计划和授权许可、系统互连的技术规范、事件响应计划,确保技术的准确性和完整性;c) 检查安全策略、体系结构和要求、标准作业程序、系统安全计划和授权许可、系统互连的技术规范、事件响应计划等文档的完整性,通过检查执行记录和相应表单,确认被测方安全措施的实施与制度文档的一致性;d) 发现可能导致
12、遗漏或不恰当地实施安全控制措施的缺陷和弱点;e) 评估者验证被测系统的文档是否与网络安全等级保护标准法规相符合,查找有缺陷或已过时的策略;f) 文档检查的结果可用于调整其他的测试技术,例如,当口令管理策略规定了最小口令长度和复杂度要求的时候,该信息应可用于配置口令破解工具,以提高口令破解效率。6.1.2 日志检查应对信息系统中的以下日志信息进行检查:a) 认证服务器或系统日志,包括成功或失败的认证尝试;b) 操作系统日志,包括系统和服务的启动、关闭,未授权软件的安装,文件访问,安全策略变更,账户变更(例如账户创建和删除、账户权限分配)以及权限使用等信息;c) IDS/IPS日志,包括恶意行为和
13、不恰当使用;d) 防火墙、交换机和路由器日志,包括影响内部设备的出站连接(如僵尸程序、木马、间谍软件等),以及未授权连接的尝试和不恰当使用;e) 应用日志,包括未授权的连接尝试、账号变更、权限使用,以及应用程序或数据库的使用信息等;f) 防病毒日志,包括病毒查杀、感染日志,以及升级失败、软件过期等其他事件;g) 其他安全日志,如补丁管理等,应记录已知漏洞的服务和应用等信息;h) 网络运行状态、网络安全事件相关日志,留存时间不少于6个月。6.1.3 规则集检查规则集检查对象应包括如防火墙、IDS/IPS等网络设备以及部署在操作系统或主机集群中软件的访问控制列表、规则集,以及重要信息系统中数据库、
14、操作系统和应用系统的强制访问控制机制,具体包括:a) 访问控制列表1) 每一条规则都应是有效的(例如,因临时需求而设定的规则,在不需要的时候应立刻移除);2) 应只允许策略授权的流量通过,其他所有的流量默认禁止。b) 规则集1) 应采用默认禁止策略;2) 规则应实施最小权限访问,例如限定可信的IP地址或端口;3) 特定规则应在一般规则之前被触发;4) 任何不必要的开放端口应关闭,以增强周边安全;5) 规则集不应允许流量绕过其他安全防御措施。c) 强制访问控制机制1) 强制访问控制策略应具有一致性,系统中各个安全子集应具有一致的主、客体标记和相同的访问规则;2) 以文件形式存储和操作的用户数据,
15、在操作系统的支持下,应实现文件级粒度的强制访问控制;3) 以数据库形式存储和操作的用户数据,在数据库管理系统的支持下,应实现表/记录、字段级粒度的强制访问控制;4) 检查强制访问控制的范围,应限定在已定义的主体与客体中。6.1.4 系统配置检查应通过检查操作系统的安全策略设置和安全配置文件,标识安全配置控制的弱点,包括:a) 未依据安全策略进行加固或配置;b) 不必要的服务和应用;c) 不当的用户帐号和口令设置;d) 不正确的审计策略配置,以及备份设置;e) 不正确的操作系统文件访问权限设置;f) 重要信息系统中主、客体的敏感标记:1) 由系统安全员创建的用户敏感标记、客体(如数据)敏感标记;
16、2) 实施相同强制访问控制安全策略的主、客体,应以相同的敏感信息进行标记;3) 检查标记的范围,应扩展到系统中的所有主体与客体;4) 实施相同强制访问控制安全策略的各个场地的主、客体,应以相同的敏感信息进行标记,保证系统中标记的一致性。6.1.5 文件完整性检查实施文件完整性检查时应采取以下技术措施:a) 将一个已知安全的系统作为基准样本,用于系统文件的比对;b) 基准样本应采用离线存储,防止攻击者通过修改基准样本来破坏系统并隐藏踪迹;c) 校验数据库应通过补丁和其他升级更新文件保持最新状态;d) 采用哈希或签名等手段,保证校验数据库所存储的数据的完整性。6.1.6 密码检查应对系统采用的密码
17、技术或产品进行检查,保证其所提供的密码算法相关功能符合国家密码主管部门的有关规定。6.2 识别和分析技术 6.2.1 网络嗅探实施网络嗅探要求如下:a) 应对以下内容进行网络发现:1) 监控网络流量,记录活动主机的IP地址,并报告正在使用的端口、在网络中发现的操作系统信息;2) 识别主机之间的联系,包括哪些主机相互通信,其通信的频率和所产生的流量的协议类型;3) 通过自动化工具向常用的端口号发送多种类型的网络数据包(如ICMP pings),分析网络主机的响应,并与特定操作系统和网络服务的数据包的已知特征相比较,识别主机所运行的操作系统、端口及端口的状态。b) 宜在以下测评需求中采用网络嗅探技
18、术:1) 捕捉和重放网络流量;2) 实施被动的网络发现(例如,在网络中识别活动设备);3) 识别操作系统、应用程序、服务和协议,包括不安全协议(如telnet)和未授权协议(如P2P文件共享);4) 识别未授权和不恰当的行为(例如敏感信息的非加密传输);5) 收集信息(例如未加密的用户名和口令)。c) 宜在以下位置部署网络嗅探器,包括:1) 网络边界处,用以评估进出网络的流量;2) 防火墙后端,用以评估准确过滤流量的规则集;3) IDS/IPS后端,用以确定特征码是否被触发并得到适当的响应;4) 关键系统和应用程序前端,用以评估用户活动;5) 具体网段上,用以验证加密协议的有效性。6.2.2
19、网络端口和服务识别实施网络端口和服务识别要求如下:a) 应对主机及存在潜在漏洞的端口进行识别,并用于确定渗透性测试的目标;b) 宜优先推荐使用外部扫描,以在内部测试之前和期间,对日志进行检查、比对;c) 在执行外部扫描时,应使用含分离、复制、重叠、乱序和定时技术的工具,并利用工具改变数据包,让数据包融入正常流量中,使数据包避开IDS/IPS检测的同时穿越防火墙;d) 应尽量减少扫描软件对网络运行的干扰,如选择端口扫描的时间。6.2.3 漏洞扫描实施漏洞扫描要求如下:a) 应检查主机应用程序的使用和安全策略的兼容性;b) 应提供渗透性测试的目标的相关信息;c) 应提供关于如何减少被发现漏洞的相关
20、信息;d) 应识别主机的操作系统和应用的错误配置与漏洞(包括网络可利用的和本地可利用的);e) 应识别漏洞的风险等级;f) 使用漏洞扫描设备时应限制使用DoS攻击测试,以降低测试对扫描对象产生的风险;g) 若扫描安全性较弱的系统时,评估者应谨慎选择扫描类型,防止引起系统故障。6.2.4 无线扫描实施无线安全评估要求如下,a) 应考虑下列因素:1) 被扫描设备的位置和范围。物理位置如果接近公共区域,如街道、公众场所,或位于繁忙的中心城区,可能增加无线威胁的风险;2) 使用无线技术进行数据传输的系统安全等级和数据重要性;3) 扫描环境中无线设备连接和断开的频繁程度以及该无线设备的常用通信方式(如偶
21、然性活动和经常性活动);4) 可参考利用系统中已有的无线IDS/IPS中所收集的信息。b) 扫描工具应遵循如下要求:1) 应使用安装配置无线分析软件的移动设备,如笔记本电脑、手持设备或专业设备;2) 应允许评估者为具体扫描进行设备配置,以找出与该被测系统的无线安全配置要求的偏差;3) 应适当配置扫描工具的扫描间隔时间,既能捕获数据包,又能有效地扫描每个频段;4) 应允许用户导入平面图或地图,以协助定位被发现设备的物理位置;5) 应能捕获其天线范围内正在传送的无线流量。就所发现的无线设备而言,大多数工具可提供几个关键属性,包括服务集标识符(SSID)、设备类型、频道、媒体访问控制(MAC)地址、
22、信号强度及传送包的数目;6) 应能够对捕获的数据包进行分析,从而确定是否有任何操作上的异常或威胁;7) 扫描工具应能对系统中的无线设备进行渗透测试,提供攻击脚本调用功能。c) 实施蓝牙扫描应遵循如下要求: 1) 在确定测试类型的范围时,应考虑对范围的限制;2) 机构应扫描部署的支持蓝牙的所有基础设施,如蓝牙接入点;3) 机构应根据其既定的策略和过程对非法接入点进行处理。6.3 漏洞验证技术6.3.1 口令破解实施口令破解应遵循如下要求:a) 采用字典式攻击方法生成哈希值;b) 采用混合攻击方法生成哈希值,以字典式攻击的方法为基础,在字典中增加数字、符号字符等,如使用字符和数字来代替字母,在单词
23、的词首或词尾上添加字符;c) 采用彩虹表的方法,使用预先计算好的哈希值查找表。6.3.2 渗透测试渗透测试要求如下:a) 宜侧重找出在应用程序、系统或网络中设计并实施的缺陷;b) 应充分考虑并模拟内部攻击、外部攻击;c) 尽可能采用远程访问测试方法;d) 如果内部和外部测试都要执行,则应优先进行外部测试;e) 应在评估者达到当其行为会造成损害的时间点时即停止渗透测试;f) 通过渗透测试的攻击阶段,应能确认以下几类漏洞的存在:1) 系统/服务类漏洞。由于操作系统、数据库、中间件等为应用系统提供服务或支撑的环境存在缺陷,所导致的安全漏洞。如缓冲区溢出漏洞、堆/栈溢出、内存泄露等,可能造成程序运行失
24、败、系统宕机、重新启动等后果,更为严重的,可以导致程序执行非授权指令,甚至取得系统特权,进而进行各种非法操作;2) 应用代码类漏洞。由于开发人员编写代码不规范或缺少必要的校验措施,导致应用系统存在安全漏洞,包括SQL注入、跨站脚本、任意上传文件等漏洞;攻击者可利用这些漏洞,对应用系统发起攻击,从而获得数据库中的敏感信息,更为严重的,可以导致服务器被控制;3) 权限旁路类漏洞。由于对数据访问、功能模块访问控制规则不严或存在缺失,导致攻击者可非授权访问这些数据及功能模块。权限旁路类漏洞通常可分为越权访问及平行权限,越权访问是指低权限用户非授权访问高权限用户的功能模块或数据信息;平行权限是指攻击者利
25、用自身权限的功能模块,非授权访问或操作他人的数据信息;4) 配置不当类漏洞。由于未对配置文件进行安全加固,仅使用默认配置或配置不合理,所导致的安全风险。如中间件配置支持PUT方法,可能导致攻击者利用PUT方法上传木马文件,从而获得服务器控制权;5) 信息泄露类漏洞。由于系统未对重要数据及信息进行必要的保护,导致攻击者可从泄露的内容中获得有用的信息,从而未进一步攻击提供线索。如源代码泄露、默认错误信息中含有服务器信息/SQL语句等均属于信息泄露类漏洞;6) 业务逻辑缺陷类漏洞。由于程序逻辑不严或逻辑太复杂,导致一些逻辑分支不能够正常处理或处理错误。如果出现这种情况,则用户可以根据业务功能的不同进
26、行任意密码修改、越权访问、非正常金额交易等攻。注:有关渗透测试阶段、渗透测试方案、渗透测试风险及渗透测试风险规避参见附录A。 6.3.3 远程访问测试远程访问测试应遵循如下要求:a) 发现除VPN、SSH、远程桌面应用、拨号调制解调器之外是否存在其他的非授权的接入方式;b) 发现未授权的远程访问服务。评估者可通过端口扫描定位经常用于进行远程访问的公开的端口,通过查看运行的进程和安装的应用来手工检测远程访问服务;c) 检测规则集来查找非法的远程访问路径。评估者应检测远程访问规则集,如VPN网关的规则集,查看其是否存在漏洞或错误的配置,从而导致非授权的访问;d) 测试远程访问认证机制。评估者应在访
27、问前确认是否需要获得认证授权。评估者可尝试默认的账户和密码或暴力攻击(使用社会工程学的方法重设密码来进行访问),或尝试通过自助的服务认证程序来重设密码从而获得访问权限;e) 监视远程访问通信。评估者可以通过网络嗅探器监视远程访问通信。如果通信没有被保护,那么评估者可能利用这些数据作为远程访问的认证信息,或者将这些数据作为远程访问用户发送或接收的数据;f) 主动或入侵性远程访问测试,应尽量放在对远程访问系统产生干扰较少的时间段进行。7 测试评估7.1 测试结果分析测试结果分析的主要目标是确定和排除误报,对漏洞进行分类,并确定产生漏洞的原因,此外,应找出在整个测试中,需要立即处理的严重漏洞。以下列
28、举了常见的造成漏洞的根本原因,包括:a) 补丁管理不足,如未能及时的应用补丁程序,或未能将补丁程序应用到所有有漏洞的系统中;b) 威胁管理不足,如未及时更新防病毒特征库,无效的垃圾邮件过滤以及不符合系统运营单位安全策略的防火墙策略等;c) 缺乏安全基准,同类的系统使用了不一致的安全配置策略;d) 在系统开发中缺乏对安全性的整合,如系统开发不满足安全要求,甚至未考虑安全要求或系统应用程序代码中存在漏洞;e) 安全体系结构存在缺陷,如安全技术未能有效地集成至系统中(例如,安全防护设施、设备放置位置不合理,覆盖面不足,或采用过时的技术);f) 安全事件响应措施不足,如对渗透测试活动反应迟钝;g) 对
29、最终用户(例如,对社会工程学、钓鱼攻击等缺乏防范意识,使用了非授权无线接入点)或对网络、系统管理员(例如,缺乏安全运维)的人员培训不足;h) 缺乏安全策略或未执行安全策略,如开放的端口,启动的服务,不安全的协议,非授权主机以及弱口令等。7.2 提出改进建议 针对每个测试结果中出现的安全问题,都应有相应的改进建议;改进建议中应包括问题根源分析结果。改进建议通常包括技术性建议(例如,应用特定的补丁程序)和非技术性建议(例如,更新补丁管理制度)。改进措施的包括:制度修改、流程修改、策略修改、安全体系架构变更、应用新的安全技术以及部署操作系统和应用的补丁程序等。7.3 报告 在测试结果分析完成之后,应
30、生成包括系统安全问题、漏洞及其改进建议的报告。安全测试结果可用于以下几个方面:a) 作为实施改正措施的参考;b) 制定改进措施以修补确认的漏洞;c) 作为测评系统运营单位为使系统满足安全要求而采取改进措施的基准;d) 用以测评系统安全要求的实现状况;e) 为改进系统的安全而进行的成本效益分析;f) 用来加强其他生命周期活动,如风险评估等;g) 用来满足网络安全等级保护测评的报告要求。附录A(资料性附录)渗透测试的有关概念说明A.1 综述渗透测试是一种安全性测试,在该类测试中,攻击者模拟现实世界中的方法对应用程序、信息系统或者网络的安全功能进行攻击。它通常利用攻击者常用的工具和技术来对真实的系统
31、和数据发动真实的攻击。相对于单一的漏洞,大多数渗透测试试图寻找一组安全漏洞,从而获得更多能够进入系统的机会。渗透测试也可用于确定:a) 系统对现实世界的攻击模式的容忍度如何;b) 攻击者需要成功破坏系统所面对的大体复杂程度;c) 可减少系统威胁的其他对策;d) 防御者能够检测攻击并且做出正确反应的能力。渗透测试是一种非常重要的安全测试,但它是劳动密集型的,并且需要丰富的专业知识以尽量减少对目标系统产生的风险。尽管相关机构很清楚的了解一个入侵者将如何导致一个信息系统无法使用,但是在渗透测试的实施过程中,系统往往会受到影响或破坏。尽管有经验的测试人员可降低这种风险,但不能完全避免风险,因此渗透检测
32、应经过深思熟虑和认真规划。渗透测试通常包括非技术攻击方法。例如,一个渗透测试人员可以通过破坏物理安全控制机制的手段连接到网络,以窃取设备、捕获敏感信息(可能是通过安装键盘记录设备)或者破坏网络通信。在执行物理安全渗透测试时应谨慎行事,安保人员应该清楚如何验证测试人员入侵活动的有效性,如通过接入点或者文档。另一种非技术攻击手段是通过社会工程学,如伪装成客服坐席人员打电话询问用户的密码,或者伪装成用户打电话给客服坐席人员要求重置密码。更多关于物理安全测试、社会工程学技术以及其他非技术手段的渗透攻击测试,不在本标准的讨论范围。A.2 渗透测试阶段图A.1代表渗透测试的四个阶段。额外的发现攻击发现规划
33、报告图A.1 渗透测试的四个阶段在规划阶段,确定规则,管理层审批定稿,记录在案,并设定测试目标。规划阶段为一个成功的渗透测试奠定基础,在该阶段不发生实际的测试。渗透测试的发现阶段包括两个部分:第一部分是实际测试的开始,包括信息收集和扫描。网络端口和服务标识用于进行潜在目标的确定。除端口及服务标识外,还有以下技术也被用于收集网络信息目标:a) 通过DNS、InterNIC(WHOIS)查询和网络监听等多种方法获取主机名和IP地址信息;b) 通过搜索系统Web服务器或目录服务器来获得系统内部用户姓名、联系方式等;c) 通过诸如NetBIOS枚举方法和网络信息系统获取系统名称、共享目录等系统信息;d
34、) 通过标识提取得到应用程序和服务的相关信息,如版本号。第二部分是脆弱性分析,其中包括将被扫描主机开放的服务、应用程序、操作系统和漏洞数据库进行比对。评估者可以使用他们自己的数据库,或者CNVD等公共数据库来手动找出漏洞。 执行攻击是渗透测试的核心。攻击阶段是一个通过对原先确定的漏洞进一步探查,进而核实潜在漏洞的过程。如果攻击成功,说明漏洞得到验证,确定相应的保障措施就能够减轻相关的安全风险。在大多数情况下,执行探查并不能让攻击者获得潜在的最大入口,反而会使评估者了解更多目标网络和其潜在漏洞的内容,或诱发对目标网络的安全状态的改变。一些漏洞可能会使评估者能够提升对于系统或网络的权限,从而获得更
35、多的资源;若发生上述情况,则需要额外的分析和测试来确定网络安全情况和实际的风险级别。比如说,识别可从系统上被搜集、改变或删除的信息的类型。倘若利用一个特定漏洞的攻击被证明行不通,评估者应尝试利用另一个已发现的漏洞。如果评估者能够利用漏洞,可在目标系统或网络中安装部署更多的工具,以方便测试过程。这些工具用于访问网络上的其他系统或资源,并获得有关网络或组织的信息。在进行渗透测试的过程中,需要对多个系统实施测试和分析,以确定对手可能获得的访问级别。虽然漏洞扫描器仅对可能存在的漏洞进行检查,但渗透测试的攻击阶段会利用这些漏洞来确认其存在性。渗透测试的报告阶段与其他三个阶段同时发生(见图A.1)。在规划
36、阶段,评估计划被开发;在发现和攻击阶段,通常是保存书面记录并定期向系统管理员和/或管理部门报告。在测试结束后,报告通常是用来描述被发现的漏洞、目前的风险等级,并就如何弥补发现的薄弱环节提供建议和指导。A.3 渗透测试方案渗透测试方案应侧重于在应用程序、系统或网络中的设计和实现中,定位和挖掘出可利用的漏洞缺陷。测试应该重现最可能的和最具破坏性的攻击模式,包括最坏的情况,诸如管理员的恶意行为。由于渗透测试场景可以设计以模拟内部攻击、外部攻击,或两者兼而有之,因此外部和内部安全测试方法均要考虑到。如果内部和外部测试都要执行,则通常优先执行外部测试。外部脚本模拟那些假设具备很少或根本没有具体目标信息的
37、外部攻击者。模拟一个外部攻击,评估者不知道任何关于目标环境以外的其他特别IP地址或地址范围情况的真实信息。他们可通过公共网页、新闻页面以及类似的网站收集目标信息,进行开源分析;使用端口扫描器和漏洞扫描器,以识别目标主机。由于评估者的流量往往需要穿越防火墙,因此通过扫描获取的信息量远远少于内部角度测试所获得的信息。在识别可以从外部到达的网络上主机后,评估者尝试将其作为跳板机,并使用此访问权限去危及那些通常不能从外部网络访问的其他主机。渗透测试是一个迭代的过程,利用最小的访问权限取得更大的访问。内部脚本模拟内部的恶意行为。除了评估者位于内部网络(即防火墙后面),并已授予对网络或特定系统一定程度的访
38、问权限(通常是作为一个用户,但有时层次更高)之外,内部渗透测试与外部测试类似。渗透测试评估者可以通过权限提升获得更大程度的网络及系统的访问权限。渗透测试对确定一个信息系统的脆弱性以及如果网络受到破坏所可能发生的损害程度非常重要。渗透测试对网络和系统也可能引入高风险,因为它使用真正的资源并对生产系统和数据进行攻击,应指定策略,限制测试人员可能使用的特定工具或技术,或者仅限于在一天的某些时间或一周中的某些时间使用它们。因此,渗透测试应在评估者达到当其他行为会造成损害的时间点时即停止。应重视渗透测试的结果,当结果可用时,应提交给该系统的管理者。 A.4 渗透测试风险 在渗透测试过程中,测试人员通常会
39、利用攻击者常用的工具和技术来对被测系统和数据发动真实的攻击,必然会对被测系统带来安全风险,在极端情况或应用系统存在某些特定安全漏洞时可能会产生如下安全风险: a) 在使用Web漏洞扫描工具进行漏洞扫描时,可能会对Web服务器及Web应用程序带来一定的负载,占用一定的资源,在极端情况下可能会造成Web服务器宕机或服务停止;b) 如Web应用程序某功能模块提供对数据库、文件写操作的功能(包括执行Insert、Delete、Update等命令),且未对该功能模块实施数据有效性校验、验证码机制、访问控制等措施,则在进行Web漏洞扫描时有可能会对数据库、文件产生误操作,如在数据库中插入垃圾数据、删除记录
40、/文件、修改数据/文件等;c) 在进行特定漏洞验证时,可能会根据该漏洞的特性对主机或Web应用程序造成宕机、服务停止等风险;d) 在对Web应用程序/操作系统/数据库等进行口令暴力破解时,可能触发其设置的安全机制,导致Web应用程序/操作系统/数据库的账号被锁定,暂时无法使用;e) 在进行主机远程漏洞扫描及进行主机/数据库溢出类攻击测试,极端情况下可能导致被测试服务器操作系统/数据库出现死机或重启现象。A.5 渗透测试风险规避 针对渗透测试过程中可能出现的测试风险,测评人员应向用户详细介绍渗透测试方案中的内容,并对测试过程中可能出现的风险进行提示,并与用户就测试时间、测试策略、备份策略、应急策
41、略、沟通机制等内容进行协商,做好渗透测试的风险管控。a) 测试时间:为减轻渗透测试造成的压力和预备风险排除时间,应尽可能选择访问量不大、业务不繁忙的时间窗口,测试前可在应用系统上发布相应的公告;b) 测试策略:为了防范测试导致业务的中断,测试人员在进行带有渗透、破坏、不可控性质的高风险测试前(如主机/数据库溢出类验证测试、DDOS等),应与应用系统管理人员进行充分沟通,在应用系统管理人员确认后方可进行测试;应优先考虑对与生产系统相同配置的非生产系统进行测试,在非业务运营时间进行测试或在业务运营时间使用非限制技术,以尽量减少对生产系统业务的影响;对于非常重要的生产系统,不建议进行拒绝服务等风险不
42、可控的测试,以避免意外崩溃而造成不可挽回的损失;c) 备份策略:为防范渗透过程中的异常问题,建议在测试前管理员对系统进行备份(包括网页文件、数据库等),以便在出现误操作时能及时恢复;如果条件允许,也可以采取对目标副本进行渗透的方式加以实施;d) 应急策略:测试过程中,如果被测系统出现无响应、中断或者崩溃等异常情况,测试人员应立即中止渗透测试,并配合用户进行修复处理;在确认问题并恢复系统后,经用户同意方可继续进行其余的测试;e) 沟通机制:在测试前,应确定测试人员和用户配合人员的联系方式,用户方应在测试期间安排专人职守,与测试人员保持沟通,如发生异常情况,可及时响应;测试人员应在测试结束后要求用户检查系统是否正常,以确保系统的正常运行。参考文献1GB/T 20269-2006 信息安全技术 信息系统安全管理要求2GB/T 20270-2006 信息安全技术 网络基础安全技术要求3GB/T 20282-2006 信息安全技术 信息系统安全工程管理要求4GB/T 22239 信息安全技术 网络安全等级保护基本要求5GB/T 28448 信息安全技术 网络安全等级保护测评要求6GB/T 28449 信息安全技术 网络安全等级保护测评过程指南 _13