信息系统代码安全审计报告模板_第1页
信息系统代码安全审计报告模板_第2页
信息系统代码安全审计报告模板_第3页
信息系统代码安全审计报告模板_第4页
信息系统代码安全审计报告模板_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息系统代码安全审计报告模板页项目概述项目背景随着XX单位信息化的发展,XX单位对信息系统的依赖程度越来越高,信息安全的问题越来越突出,对计算机信息安全保障工作提出了更高的要求。为确保XX单位业务系统持续、稳定的运行,确保重要业务操作行为的可审计,抵御黑客、恶意代码、病毒等对XX单位信息系统的攻击与破坏,防止对信息系统的非法、非授权访问,本次源代码安全审计,是由XX单位委托XXX公司对XX信息系统进行源代码安全审计,以评估XXX系统所面临的风险,进而完善信息系统建设、运营和管理,加强风险防范,保障信息系统的安全运行。测试目的本次代码安全审计任务主要是,通过使用源代码安全审查工具对系统进行扫描,结合后期的人工分析审计,对XX信息系统进行源代码安全审计,发现系统在软件设计和编码实现过程中存在的软件安全问题和缺陷,分析系统面临的威胁,检测系统自身的脆弱性,验证系统已有安全措施的有效性,找出系统的安全风险,并给出有针对性的加固建议。测试介绍源代码审计工作通过分析当前应用系统的源代码,熟悉业务系统,从应用系统结构方面检查其各模块和功能之间的关联、权限验证等内容;从安全性方面检查其脆弱性和缺陷。在明确当前安全现状和需求的情况下,对下一步的编码安全规范性建设有重大的意义。源代码审计工作利用一定的编程规范和标准,针对应用程序源代码,从结构、脆弱性以及缺陷等方面进行审查,以发现当前应用程序中存在的安全缺陷以及代码的规范性缺陷。审核目的本次源代码审计工作是通过对当前系统各模块的源代码进行审查,以检查代码在程序编写上可能引起的安全性和脆弱性问题。审核依据本次源代码审计工作主要突出代码编写的缺陷和脆弱性,以OWASPTOP10为检查依据,针对OWASP统计的问题作重点检查。审计范围根据给出的源代码,对其WEB应用作脆弱性和缺陷、以及结构上的检查。通过了解业务系统,确定重点检查模块以及重要文件,提供可行性的解决方法。测试流程代码审计流程如下:环境的搭建和基本信息的收集基本信息的收集开发环境信息。开发语言以及版本。使用的第三方框架技术以及具体版本。使用的第三方组件以及具体版本。使用的编译器以及具体版本,编译器配置参数。使用的数据库类型以及具体版本,使用到系统的存储过程,函数,包信息。使用的安全验证机制。开发人员的编码规范。使用的测试工具以及具体版本,测试用例。提供应用系统相关使用说明文档。环境的搭建开发商协助搭建完整的开发和测试环境,并提供相关测试数据和部署文档。开发商协调相关接口人员,做好后期审核过程中的交流工作。代码的工具测试和人工检查确定测试范围根据前一阶段获取的基本信息和业务需求,划定代码审计边界和深度,确定代码审计安全策略。代码的工具测试导入应用系统源码到测试环境按预定代码安全策略对应用系统源码进行审计过滤代码审计结果将安全漏洞进行分组(按漏洞类型,按功能模块)人工检查根据工具测试的结果进行分析,撰写相应的测试代码结合人工检查找出工具发现的安全漏洞中不确定和存在误报的漏洞确认问题代码覆盖的范围,深入分析发现的安全漏洞分析漏洞在当前系统中的严重等级(也可按不同的安全标准如:OWASP,PCI等)分析代码引用的资源文件。代码安全整改方案和报告的撰写撰写代码安全漏洞整改方案分析代码引用的资源文件根据前面发现代码漏洞,撰写代码安全漏洞整改方案测试代码安全漏洞整改方案的有效性报告的撰写将整改代码审计过程,代码审计测试边界范围和对象,发现安全漏洞,安全整改建议等信息撰写代码安全审计报告。参考资料评估工作主要有三类评估依据:金融行业规范、安全方法论、被评估单位提供的材料。金融行业规范:《电子银行安全评估指引》、《网上银行系统信息安全通用规范(JR682012)》安全技术规范、支付卡行业数据库安全标准(PCIDSS)安全方法论:《信息安全等级保护基本要求》、信息安全管理体系要求(IDTISO/IEC27001:2005)、开放式Web应用程序安全项目(OpenWebApplicationSecurityProject,OWASP)十大Web应用风险、ASP/ASP.NET/PHP/JSP安全编码规范、开源安全测试方法(OpenSourceSecurityTestingMethodologyManual,OSSTMM)被评估单位现场提供的材料风险等级风险等级划分标准如下:风险等级等级划分依据高风险可通过漏洞,获得管理员权限,完全控制机器和应用系统;利用该漏洞能够实现文件上传建立目录,从中获取大量的数据库表结构信息或利用该漏洞发起的攻击直接引起应用系统服务器故障、响应异常或资金损失。或者导致访问该网站的用户信息外泄的。中风险可通过漏洞,获取部分访问权限,造成内存泄露,利用该漏洞能够实现提取应用系统上相关信息,下载文件,但暂时无法实现文件上传或者建立目录。利用该漏洞攻击间接影响应用系统运行或引起客户敏感信息外泄。低风险不安全的Cookie设置、无效的代码这些风险等级较低,不会对系统造成大的影响和危害的漏洞。工作原则本次技术检测严格遵照以下原则开展工作:(1)标准性原则:代码审计方案的设计和实施应依据行业、国家、国际的相关标准进行;(2)规范性原则:以提供的源代码为依据,结合行业内的相关安全标准,规范工作工程和文档;(3)可控性原则:在保证测试质量的前提下,按计划进度执行,需要保证对代码审计工作的可控性。代码审计的工具、方法和过程要在双方认可的范围之内合法进行;(4)整体性及有限性原则:源代码安全审查工作的内容应包括用户等各个层面,源代码安全审查工作的对象应包括和仅限于用户所指定的具体系统,未经用户授权不得减小或扩大测试的范围和对象;(5)最小影响原则:源代码安全审查工作在模拟系统开发环境的测试机上进行,不能对正常运行的系统构成破坏和停止;(6)保密性原则:源代码安全审查的过程和结果应严格保密,不能泄露测试项目所涉及的任何打印和电子形式的有效数据和文件。安全管理为做好全过程的安全保密工作,在检测前、检测中、检测后三个阶段都要做好安全保密工作。检测前:(1)对工作组成员要进行安全保密教育,制定安全保密措施;(2)配置安全保密设备,签订安全保密协定。检测中:(1)对被检测单位的性质、网络与系统、应用与服务、数据与备份、人员与管理等方面的信息进行严格的安全保密管理;(2)评估工具应经过严格测试和检验,确保不对被检测系统造成损失;(3)对被检测单位的系统源代码、检测发现的脆弱性和发生过的安全事件等情况要控制知情范围;(4)对检测设备、介质进行严格的保密管理;(5)检测过程中对人员要实施封闭式集中管理;(6)对进场人员遵照被检测方相关人员管理制度进行管理。检测后:(1)认真清退各种文件、数据和记录并予以销毁,确保检测过程中敏感数据不被泄漏;(2)在其它项目或宣传材料中不涉及被检测单位的秘密、敏感情况。

代码审计的技术方法代码检查技术代码检查是代码审计工作中最常使用的一种技术手段。代码检查可以由人工进行,也可以借助代码检查工具自动进行。在实际应用中,通常采用“自动分析+人工验证”的方式进行。代码检查的目的在于发现代码本身存在的问题,如代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面。通过分析,可以发现各种违背程序编写标准的问题,主要包括以下几类。源代码设计源代码设计问题通常来源于程序设计之初,例如代码编写工具的使用等。在这方面的审计主要是分析代码的系统性和约束范围,主要从下面的几个方面进行:不安全的域不安全的方法不安全的类修饰符未使用的外部引用未使用的代码错误处理不当这类问题的检查主要是通过分析源代码了解程序在管理错误、异常、日志记录以及敏感信息等方面是否存在缺陷。如果程序处理这类问题不当,最可能的问题是将敏感信息泄露给攻击者,从而可能导致危害性后果。这类问题主要体现在以下几个方面:程序异常处理返回值用法空指针日志记录直接对象引用直接对象引用意指在引用对象时没有进行必要的校验,从而可能导致被攻击者利用。通过代码检查,审计人员可以分析出程序是否存在直接对象引用以及相应的对象引用是否安全。直接独享引用问题主要有以下几类:直接引用数据库中的数据直接引用文件系统直接引用内存空间资源滥用资源滥用是指程序对文件系统对象、CPU、内存、网络带宽等资源的不恰当使用。资源使用不当可能导致程序效率降低,遭受拒绝服务攻击的影响。代码检查中,审计人员将会根据编码规范分析代码中对各种资源的引用方法进行分析,发现其中可能导致资源过度占用方面的问题。资源占用方面的问题主要有以下几类:不安全的文件创建、修改和删除竞争冲突内存泄露不安全的过程创建API滥用API滥用是指由系统或程序开发框架提供的API被恶意使用,导致出现无法预知的安全问题。检查过程中,审计人员将会针对此类问题来对源代码进行分析以发现此类问题。API滥用主要有下面几种类型:不安全的数据库调用不安全的随机数创建不恰当的内存管理调用不全的字符串操作危险的系统方法调用对于Web应用来说不安全的HTTP会话句柄也是API滥用的一种。代码审计关注要素跨站脚本漏洞漏洞:对用户的输入没有采用有效的安全控制手段就将用户输入插入到返回页面中。影响:攻击者可以利用存在XSS漏洞的Web网站攻击浏览相关网页的用户,窃取用户会话中诸如用户名和口令(可能包含在Cookie里)等敏感信息、通过插入恶意代码对用户执行挂马攻击、XSS漏洞还可能被攻击者用于网页篡改。跨站请求伪装漏洞漏洞:提交表单中没有用户特有的标识。影响:攻击者可利用跨站请求伪装(CSRF)漏洞假冒另一用户发出未经授权的请求,即恶意用户盗用其他用户的身份使用特定资源。SQL注入漏洞漏洞:对访问数据库的SQL语句没有进行任何过滤,可能导致SQL注入。影响:如果SQL注入成功,攻击者可以获取网站数据库的信息,可以修改删除数据库,还可能获取执行命令的权限,进而完全控制服务器。命令执行漏洞漏洞:系统中使用了一些调用操作系统函数的命令,在调用过程中,如果命令的来源不可信,系统可能执行恶意命令。影响:攻击者有可能把要执行的命令替换成恶意命令,如删除系统文件。日志伪造漏洞漏洞:将未经验证的用户输入写入日志。影响:攻击者可以利用该漏洞伪造日志条目或将恶意内容注入日志。参数篡改漏洞:一些重要参数可能会被篡改。影响:攻击者能够通过篡改重要参数或方法对系统进行攻击。密码明文存储漏洞:配置文件中存储明文密码。影响:在配置文件中存储明文密码可能会危及系统安全,攻击者可以轻易获取到系统密码。配置文件缺陷漏洞:配置文件内容存在缺陷,例如未设置统一的错误响应页面。影响:攻击者能够利用配置文件的缺陷对系统进行攻击。路径操作错误漏洞:用户输入没有有效的安全控制手段就直接对文件进行操作。影响:攻击者可以控制路径参数,访问或修改其他受保护的文件。资源管理漏洞:使用完资源后没有关闭,或者可能关闭不成功。影响:攻击者有可能通过耗尽资源池的方式发起拒绝服务攻击,导致服务器性能降低,甚至宕机。不安全的Ajax调用漏洞:系统存在不安全的Ajax调用。影响:攻击者能够利用该漏洞绕过验证程序或直接编写脚本调用Ajax方法实现越权操作。系统信息泄露漏洞:异常捕获泄露系统信息。影响:攻击者可以从泄露的信息中找到有用信息,发起有针对性的攻击。调试程序残留漏洞:代码包含调试程序,如:主函数。影响:调试程序会在应用程序中建立一些意想不到的入口点被攻击者利用。

代码审计对象情况系统基本情况被测系统基本情况如下:编号基本项描述1代码行数(大约)____行2源代码文件大小XxMB3设计语言和组件ASP.Net,C#,JavaScript4开发软件环境VirtualStudio20085系统架构D6编译器.NET3.57系统类库.netframework3.58系统服务器IIS6.09系统数据库SQLServer2008测试环境测试时间20xx年xx月xx日—20xx年xx月xx日测试地点XXX公司信息安全实验室测试环境WIN2008R264位主要工具FortifySCA、SSWCodeAuditor、FindBugs、JavaDecompiler等

代码审计结果XXX系统SQLInjection(高)SQLInjection(xx个)描述:危害性:说明:修复建议:注释:NewsDal.cs,linexx(SQLInjection)威胁分类:分类:Abstract:Source:xxx(中)

审计结论本次通过对XXX的XXX系统进行代码安全审计,发现底层平台采用了较为成熟的用户管理、权限控制、模块动态加载及访问控制技术,代码的编写基本符合编码规范的要求。但在部分功能模块上还存在一些问题,需要加于改进,主要发现代码中可能存在如下问题。编号发现问题缺陷数量风险级别1SQLInjection:MyBatisMapper2高危2Cross-SiteScripting:Reflected2高危3XMLExternalEntityInjection3高危4Cross-SiteScripting:Dom1中危5WeakEncryption1低危6HardcodedPassword3低危7OpenRedirect2低危由于代码安全审计工具是以静态的方式在程序中查找所有可能存在的安全缺陷特征,这些风险点从特征表面上分析属于不安全的编码方式或不安全的编程习惯,但这些风险点可能还无法在web应用层面上被利用,因此上述风险点能否对系统安全性造成直接影响还需结合渗透测试的方式进行核查。综上,XXXXXX系统代码整体上呈现高危风险状态。本次对XX信息系统源代码安全审计包括初测和复测两个阶段。初测阶段发现…………等安全问题。经XX整改修复,测试组在复测阶段发现,………………。经对XX信息系统的检测和复测,测试组认为:XX信息系统接口架构设计合理,业务逻辑清晰,安全可靠性高,可以进行生产实施。

审计建议脆弱性和缺陷编程意见经过本次代码审计,也发现了被检测WEB应用存在的一些问题或缺陷,在本节我们会根据我们的经验来提出一些改进意见或建议,供WEB应用开发、管理人员参考。这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论