1、应用系统安全测评11. 背景介绍2. 应用测评的特点和方法3. 主 要 测 评 内 容4. 结果整理和分析2o 开发商和用户对应用安全重视程度不够n开发商安全意识普遍淡薄,开发中留有安全隐患n用户普遍对应用安全不重视,系统上线前把关不严o 应用系统存在的漏洞较多3NIST的报告显示,超过90%的安全漏洞是应用层漏洞,它已经远远超过网络、操作系统和浏览器的漏洞数量,这个比例还有上升的趋势。o 针对应用系统的攻击手段越来越多,面临的威胁在不断增大n针对口令的攻击,如口令破解等n非授权获取敏感信息,如信息窃听、系统管理员非授权获取敏感业务数据(如用户的密码等信息)等n针对WEB应用的攻击,如跨站脚本
2、攻击、SQL注入、缓冲区溢出、拒绝服务攻击、改变网页内容等4o 在基本要求中的位置数据库安全是主机安全的一个部分,数据库的测评指标是从“主机安全”和“数据安全及备份恢复”中根据数据库的特点映射得到的。5o 在基本要求中的位置n“应用安全”的所有指标,对于应用平台软件等则从中选择部分指标;n“数据安全及备份恢复”中的部分指标,对于三级信息系统,在应用安全中,主要检查“数据完整性”、“数据保密性”和“备份和恢复”第一和第二项;n应结合管理的要求,如“应根据开发需求检测软件质量”、“应要求开发单位提供软件源代码,并审查软件中可能存在的后门”,加强应用系统的源代码安全性。61. 背景介绍2. 应用测评
3、的特点和方法3. 主 要 测 评 内 容4. 结果整理和分析7o 安全功能和配置检查并重n和数据库、操作系统等成熟产品不同,应用系统现场测评除检查安全配置外,还需验证相关安全功能是否正确o 应用测评中不确定因素较多n业务和数据流程不同,需根据业务和数据特点确定范围n应用系统安全漏洞发现困难,很难消除代码级的安全隐患o 测评范围较广,分析较为困难n应用系统测评包括应用平台(如IIS等)的测评,且和其他层面关联较大8o 通过访谈,了解安全措施的实施情况9n和其他成熟产品不同,应用系统只有在充分了解其部署情况后,才能明确测评的范围和对象,分析其系统的脆弱性和面临的主要安全威胁,有针对性的进行检查和测
4、试。-右图是一个手机支付系统的流程示意图,通过网页和手机可以完成冲值、查询等业务。o 通过检查,查看其是否进行了正确的配置n有的安全功能(如口令长度限制、错误登录尝试次数等)需要在应用系统上进行配置,则查看其是否进行了正确的配置,与安全策略是否一致。n无需进行配置的,则应查看其部署情况是否与访谈一致。o 如果条件允许,需进行测试n可通过测试验证安全功能是否正确,配置是否生效。n代码级的安全漏洞在现场查验比较困难,则可进行漏洞扫描和渗透测试。101. 背景介绍2. 应用测评的特点和方法3. 主 要 测 评 内 容4. 结果整理和分析11o 要求项(一)n应提供专用的登录控制模块对登录用户进行身份
5、标识和鉴别;n应对同一用户采用两种或两种以上组合的鉴别技术实现用户身份鉴别;n应提供用户身份标识唯一和鉴别信息复杂度检查功能,保证应用系统中不存在重复用户身份标识,身份鉴别信息不易被冒用;12o 要求项(二)n应提供登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施;n应启用身份鉴别、用户身份标识唯一性检查、用户身份鉴别信息复杂度检查以及登录失败处理功能,并根据安全策略配置相关参数。13o 条款理解n提供专用的登录控制模块对用户身份的合法性进行核实,只有通过验证的用户才能在系统规定的权限内进行操作,这是防止非法入侵最基本的一种保护措施;n三级或三级以上系统要求必须提供两种(两次
6、口令鉴别不属于这种情况)或两种以上组合的鉴别技术进行身份鉴别(口令+CA证书),在身份鉴别强度上有了更大的提高;14o 条款理解n为每一个登录用户提供唯一的标识,这样应用系统就能对每一个用户的行为进行审计;同时,为了增加非授权用户使用暴力猜测等手段破解用户鉴别信息的难度,应保证用户的鉴别信息具有一定的复杂性,如用户的密码的长度至少为8位、密码是字母和数字的组合等;n应用系统应提供登录失败处理功能,如限制非法登录次数等,登录失败次数应能根据用户根据实际情况进行调整;n另外,要求应用启用这些功能,并配置不许的参数。15o 检查方法n询问系统管理员,了解身份鉴别措施的部署和实施情况。n根据了解的情况
7、,检查应用系统是否按照策略要求进行了相应的配置,在条件允许的情况下,验证功能(包括应用口令暴力破解等测试手段)是否正确。-测试应用系统(如首先以正确的密码登录系统,然后再以错误的密码重新登录,查看是否成功),验证其登录控制模块功能是否正确;扫描应用系统,检查应用系统是否存在弱口令和空口令用户;用暴力破解工具对口令进行破解。16o 要求项(一)n应提供访问控制功能,依据安全策略控制用户对文件、数据库表等客体的访问;n访问控制的覆盖范围应包括与资源访问相关的主体、客体及它们之间的操作;n应由授权主体配置访问控制策略,并严格限制默认帐户的访问权限;17o 要求项(二)n应授予不同帐户为完成各自承担任
8、务所需的最小权限,并在它们之间形成相互制约的关系;n应具有对重要信息资源设置敏感标记的功能;n应依据安全策略严格控制用户对有敏感标记重要信息资源的操作。18o 条款理解n三级系统要求访问控制的粒度达到文件、数据库表级,权限之间具有制约关系(如三权分离),并利用敏感标记控制用户对重要信息资源的操作;n在应用系统中应严格限制默认用户的访问权限,默认用户一般指应用系统的公共帐户或测试帐户;n应用系统授予帐户所承担任务所需的最小权限,如领导只需进行查询操作,则无需为其分配业务操作权限;同时,该项要求明确规定应在不同帐户之间形成相互制约关系;19o 条款理解n敏感标记表示主体/客体安全级别和安全范畴的一
9、组信息,通过比较标记来控制是否允许主体对客体的访问,标记不允许其他用户进行修改,包括资源的拥有者,在可信计算基中把敏感标记作为强制访问控制决策的依据;在三级系统中,要求应用系统应提供设置敏感标记的功能,通过敏感标记控制用户对重要信息资源的访问。20o 检查方法n询问系统管理员,了解访问控制措施的部署和实施情况。n根据了解的情况,检查应用系统是否按照策略要求进行了相应的配置,在条件允许的情况下,验证功能是否正确。-以管理员身份进行审计操作,查看是否成功;以审计员身份进行删除/增加用户、设定用户权限的操作(也可进行一些其他管理员进行的操作),查看是否成功。21o 要求项n应提供覆盖到每个用户的安全
10、审计功能,对应用系统重要安全事件进行审计;n应保证无法单独中断审计进程,无法删除、修改或覆盖审计记录;n审计记录的内容至少应包括事件的日期、时间、发起者信息、类型、描述和结果等;n应提供对审计记录数据进行统计、查询、分析及生成审计报表的功能。22o 条款理解n三级系统强调对每个用户的重要操作进行审计,重要操作一般包括登录/退出、改变访问控制策略、增加/删除用户、改变用户权限和增加/删除/查询数据等;n应用系统应对审计进程或功能进行保护,如果处理审计的事务是一个单独的进程,那么应用系统应对审计进程进行保护,不允许非授权用户对进城进行中断;如果审计是一个独立的功能,则应用系统应防止非授权用户关闭审
11、计功能;另外,应用系统应对审计记录进行保护。 23o 检查方法n询问系统管理员,了解安全审计措施的部署和实施情况。n重点检查应用系统是否对每个用户的重要操作进行了审计,同时可通过进行一些操作(如用户登录/退出、改变访问控制策略、增加/删除用户、改变用户权限和增加/删除/查询数据等),查看应用系统是否进行了正确的审计。24o 要求项n应保证用户鉴别信息所在的存储空间被释放或再分配给其他用户前得到完全清除,无论这些信息是存放在硬盘上还是在内存中;n应保证系统内的文件、目录和数据库记录等资源所在的存储空间被释放或重新分配给其他用户前得到完全清除。25o 条款理解n该项要求是为了防止某个用户非授权获取
12、其他用户的鉴别信息、文件、目录和数据库记录等资源,应用系统应加强内存和其他资源管理。o 检查方法n询问系统管理员,了解剩余信息保护方面采取的措施。n根据了解的情况,测试其采取的措施是否有效,如以某个用户进行操作,操作完成退出系统后系统是否保留有未被删除的文件等。26o 要求项n应采用密码技术保证通信过程中数据的完整性。27o 条款理解n该项要求强调采取密码技术来保证通信过程中的数据完整性,普通加密技术无法保证密件在传输过程中不被替换,还需利用Hash函数(如MD5、SHA和MAC)用于完整性校验,但不能利用CRC生成的校验码来进行完整性校验。o 检查方法n询问系统管理员,了解通信完整性方面采取
13、的措施。n可通过查看文档或源代码等方法来验证措施是否落实;如果条件允许,则可设计测试用例进行测试。28o 要求项n在通信双方建立连接之前,应用系统应利用密码技术进行会话初始化验证;n应对通信过程中的整个报文或会话过程进行加密。29o 条款理解n该项要求强调整个报文或会话过程进行加密,同时,如果在加密隧道建立之前需要传递密码等信息,则应采取密码技术来保证这些信息的安全。o 检查方法n询问系统管理员,了解通信保密性方面采取的措施。n可通过抓包工具(如Sniffer pro)获取通信双方的内容,查看系统是否对通信双方的内容进行了加密。30o 要求项n应具有在请求的情况下为数据原发者或接收者提供数据原
14、发证据的功能;n应具有在请求的情况下为数据原发者或接收者提供数据接收证据的功能。31o 条款理解n该项要求强调应用系统提供抗抵赖措施(如数字签名、流水记录、日志等),从而保证发送和接收方都是真实存在的用户。o 检查方法n询问系统管理员,了解抗抵赖方面采取的措施。n可通过查看文档或源代码等方法来验证措施是否落实。n条件允许,可进行测试,如通过双方进行通信,查看系统是否能提供在请求的情况下为数据原发者提供原发证据。32o 要求项n应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的数据格式或长度符合系统设定要求;n应提供自动保护功能,当故障发生时自动保护当前所有状态,保证系统能够进行
15、恢复。33o 条款理解n为了防止SQL注入等攻击,软件应对用户输入数据的长度和格式等进行限制。o 检查方法n询问系统管理员,了解软件容错方面采取的措施。n可通过查看文档或源代码等方法来验证措施是否落实,并在界面上输入超过长度或不符合要求格式(如hi or 1=1-)的数据,验证其功能是否正确。34o 要求项(一)n当应用系统的通信双方中的一方在一段时间内未作任何响应,另一方应能够自动结束会话;n应能够对系统的最大并发会话连接数进行限制;n应能够对单个帐户的多重并发会话进行限制;n应能够对一个时间段内可能的并发会话连接数进行限制;35o 要求项(二)n应能够对一个访问帐户或一个请求进程占用的资源
16、分配最大限额和最小限额;n应能够对系统服务水平降低到预先规定的最小值进行检测和报警;n应提供服务优先级设定功能,并在安装后根据安全策略设定访问帐户或请求进程的优先级,根据优先级分配系统资源。36o 条款理解n资源控制是为了保证大多数用户能够正常的使用资源,防止服务中断,应用系统应采取限制最大并发连接数、请求帐户的最大资源限制等措施。o 检查方法n询问系统管理员,了解资源控制措施的部署和实施情况。n根据了解的情况,检查应用系统是否配备了相应的功能,在条件允许的情况下,验证功能是否正确。37o 要求项n应能够检测到系统管理数据、鉴别信息和重要业务数据在传输过程中完整性受到破坏,并在检测到完整性错误
17、时采取必要的恢复措施;n应能够检测到系统管理数据、鉴别信息和重要业务数据在存储过程中完整性受到破坏,并在检测到完整性错误时采取必要的恢复措施。38o 条款理解n该项要求强调不仅要保证管理数据、鉴别信息和重要业务数据传输数据的完整性,而且要保证存储过程中的完整性并且在检测到完整性受到破坏时采取恢复措施。o 检查方法n询问系统管理员,了解数据完整性措施部署和实施情况。n根据了解的情况,检查应用系统是否配备了相应的功能,在条件允许的情况下,验证功能是否正确。39o 要求项n应采用加密或其他有效措施实现系统管理数据、鉴别信息和重要业务数据传输保密性;n应采用加密或其他保护措施实现系统管理数据、鉴别信息
18、和重要业务数据存储保密性。40o 条款理解n该项要求强调不仅要保证管理数据、鉴别信息和重要业务数据传输数据的保密性,而且要保证存储过程中的保密性并且在检测到完整性受到破坏时采取恢复措施。o 检查方法n询问系统管理员,了解数据保密性措施部署和实施情况。n根据了解的情况,检查应用系统是否配备了相应的功能,在条件允许的情况下,验证功能是否正确。41o 要求项n应提供本地数据备份与恢复功能,完全数据备份至少每天一次,备份介质场外存放;n应提供异地数据备份功能,利用通信网络将关键数据定时批量传送至备用场地。42o 条款理解n该项要求对备份策略进行了明确的要求,即“完全数据备份至少每天一次,备份介质场外存
19、放 ”,并且强调应提供异地数据备份功能。n这部分主要检查文件型数据的备份和恢复方式。o 检查方法n询问系统管理员,了解备份和恢复方面采取的措施。n根据了解的情况,检查相应措施是否落实,如果条件允许,则验证其是否有效。431. 背景介绍2. 应用测评的特点和方法3. 主 要 测 评 内 容4. 结果整理和分析44o 结果整理n通过对测评结果的整理,并与预期结果进行比较,初步判定各个应用系统的单项符合情况,在判定时需结合业务和数据流程进行分析,不能从单点结果进行判断。o 综合分析n在单项判定后,需要结果其他层面的测评结果进行综合分析,从整体上分析其他层面的安全措施能否弥补应用层面的安全弱点,如并发连接数的限制,在应用系统上很难实现,往往在应用平台(如IIS等)上进行配置。4546序号类型描述1安全控制间如果代码安全没有做好,很可能会使应用系统的访问控制被绕过、被旁路。2层面间对于通过网络访问控制、隔离等措施限定在特定区域(物理和网络)范围内才能访问的应用程序,可以适当降低身份鉴别等安全控制的要求【网络安全与应用安全】。对只能通过特定主机才能访问的应用程序,可以通过主机系统的身份鉴别等增强其身份鉴别功能【主机安全与应用安全】。3区域间主要考虑不同区域间存在的安全功能增强、补充和削弱等关系。4系统结构主要考虑信息系统整体结构的安全性和整体安全防范的合理性。