国家自然科学基金委员会
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家自然科学基金委员会
信息系统应用软件代码安全审计服务
项目技术招标文件
二零一三年九月
目录
1工程概述 (3)
2系统介绍 (3)
2.1系统建设目标 (3)
2.2系统介绍 (3)
3代码安全审计范围 (4)
4代码安全审计内容要求 (4)
4.1上下文环境分析 (4)
4.2静态代码审计 (6)
4.3动态安全检查 (7)
4.4风险分析和应对 (8)
4.5问题跟踪 (8)
5代码安全审计成果 (8)
5.1代码安全审计方案 (8)
5.2代码安全审计报告 (8)
5.3问题跟踪报告 (8)
6对审计方的资质要求 (9)
6.1资质要求 (9)
6.2技术要求 (9)
6.3进度要求 (10)
1 工程概述
在国家自然科学基金委“十二•五”信息化建设总体规划的指导下,规范流程,整合系统、强化基础、完善功能,到2012年,建设成以科学基金管理业务为核心,融合办公事务管理,提供信息资源共享和辅助决策支持的科学基金管理平台,实现统一系统,统一门户,统一编码,统一数据,统一共享的新一代信息化管理系统。为全面贯彻基金委“十二•五”信息化建设总战略,新一代基金委信息化管理系统将更好地服务于国家科学界,服务于科学基金的管理者、专家和广大科研人员,提高科学家和公众的认知度和满意度,有效降低行政成本,提高监管能力和公共服务水平。
2 系统介绍
2.1 系统建设目标
国家自然科学基金委信息系统建设工程以国家自然科学基金项目管理为核心,综合运用创新的管理理念和先进的信息技术,建立覆盖基金项目全过程生命周期的业务支撑和信息管理与服务平台。在实现业务管理信息化的同时,进一步推进内部办公的全程电子化和对外信息发布的网络化进程。通过国家自然科学基金信息系统的实施,初步建成网络化、数字化、安全、可靠、高效的国家自然科学基金信息共享环境和支撑服务体系,进一步提升信息化基础设施的建设水平,拓展和完善数据中心的服务能力,为科学基金资助管理提供深层次的信息化服务与支持,为基础科学研究提供信息共享服务支持。
2.2 系统介绍
国家自然科学基金委新一代信息系统的建设内容包括科学基金管理、电子政务办公、数据资源共享、辅助决策支持等内容的信息库,分别为项目基本信息库、项目拨款信息库、专家与人才信息库、依托单位信息库、学术和科研成果库、组织机构信息库、用户信息库、电子文档信息库、项目档案信息库和网站内容信息库。科学基金管理系统是基金委的核心业务系统,涵盖全过程项目管理子系统、
计划与财务管理子系统、依托单位和地区联络网管理子系统和专家人才管理子系统。
3 代码安全审计范围
本次代码安全审计范围包括国家自然科学基金委新一代信息系统的全部建设内容,代码文件共计17773个,文件大小约289M。
4 代码安全审计内容要求
4.1 上下文环境分析
以软件生命周期为主线,收集、整理并分析各种应用程序代码相关的资料(这些资料包括用户需求说明书、需求规格说明书、概要设计与详细设计、安全设计要求、测试方案等),对应用系统的上下文环境进行必要的分析,以攻击者视角识别出各种可能的潜在威胁。包含需求风险分析、架构风险分析以及设计风险分析等内容。
4.1.1 需求风险分析
利用已有的用户需求说明材料,并结合与相关方(用户及用户代表、开放方等)进行面对面访谈或者调查问卷的形式,收集安全相关信息(包含涉众分析、核心资产信息等)。通过分析用户的类型、业务诉求以及权限等信息确认用户信任等级,识别出攻击者可能利用的攻击场景,通过分析业务需求以及系统功能需求,识别出攻击者关注的信息资产(潜在攻击者的攻击目标)。
4.1.1.1 用户分析
按照系统的需求,将用户进行分类整理,并确认用户对系统安全的信任等级。细致的用户分析,可以为未来的风险应对措施提供参考,有效降低整个应用系统的安全管控成本。
4.1.1.2 资产分析
信息资产是潜在攻击者所关注的目标,在进行全面的代码安全审计工作之前,识别信息系统所涉及到的核心资产是必不可少的步骤。对于网站类信息资产主要有如下三个大的方面:
⏹系统使用者,包含系统使用者的登录凭据、个人信息等;
⏹应用系统,包括系统远程执行代码的能力,执行数据库的读写操作的能
力,以及系统本身的可用性和完整性;
⏹站点,包括系统使用者的会话信息、访问数据库(数据文件)的能力、
创建人员的能力以及安全审计日志等。
4.1.2 架构风险分析
利用已有的需求文档、架构设计(概要设计)文档,并结合访谈或问卷形式,收集关于系统出入点、操作用例、第三方程序使用情况的信息,识别出架构设计中存在的安全风险。
4.1.2.1 系统出入点
系统出入点是所有外部或内部对象访问系统的界面,同时也是攻击者对目标系统进行攻击的关键节点。出入点是联系攻击者与核心资产之间的重要通道,将所有识别出来的系统出入点组织在一起,就成为整个系统的暴露面。
同时结合其他上下文分析,分析出针对每一个出入点所对应的信任等级。如下为出入点信任等级的示例:
4.1.2.2 用例与数据流分析
根据已有需求文档中用户用例、数据流图等信息,确定系统内部的安全边界。核实这些安全边界是否符合用户(或对象)的角色定义要求,是否存在跨越边界的特权用户和特权代码。
4.1.2.3 外部依赖及组件分析
根据需求文档、设计文档等梳理系统的基础开发、运行等环境,并对这些内容进行安全分析。
主要包含如下内容:
⏹网站部署的位置
⏹主机的操作系统
⏹WEB服务平台
⏹采用的数据库系统
⏹任何第三方的组件等
4.1.3 设计风险分析
通过查看设计文档、代码开发规范、访谈或者问卷的形式,了解代码开发团