文档库 最新最全的文档下载
当前位置:文档库 › 1.创新基金(能力建设类)-源代码安全检测与风险控制技术研究

1.创新基金(能力建设类)-源代码安全检测与风险控制技术研究

中国电力科学研究院科技创新

基金项目

可行性研究报告

(能力建设类)

智能电网应用系统代码级安全检测与风险项目名称:

控制技术研究

申请单位:中国电力科学研究院

起止时间:2013 年1月至2013 年12 月项目负责人:刘楠

联系电话:010-********-865

电子邮箱:Liunan2009@https://www.wendangku.net/doc/ea10183751.html,

申请日期:2012年7 月

一、需求分析

1. 需求环境和潜在客户分析

“十一五”末,国家电网公司(以下简称“公司”)信息化“SG186”工程建设顺利竣工,“SG-ERP”正逐步推进,信息化工作由建设向运行和深化应用转变。“十二五”期间,公司提出建设坚强智能电网、构建“三集五大”体系,深入推进“两个转变”、建设“一强三优”现代公司的战略目标,信息化作为推进公司实现发展战略目标的核心保障体系,作用日益突出。随着智能电网的建设,开发厂商服务能力和软件质量对国家电网公司及其下属电网省公司乃至整个电网系统的“信息化”建设都将会产生重大的影响。因此,全面推进智能电网信息系统的自主可控成为亟待开展的重要内容.

智能电网信息系统自主可控是指对自主研发信息系统全面掌握知识产权,对信息系统存在的风险和面临的问题做到可预知、可控制。为了做好智能电网安全运行保障工作,确保智能电网重要信息系统稳定、安全运行,需要开展对上线运行系统的安全自主可控进行总体评价。但目前代码安全检测在自主可控方面尚无法满足应用需求,主要表现在:

1.代码安全检测标准不统一,缺乏统一的支撑环境,无法实现缺陷的跟踪与可控

公司对信息系统的安全始终非常重视,目前已开展代码安全检测技术的研究,并建设公司的代码安全检测平台,但经过一年的代码缺陷检测技术研究,目前的检测手段仅停留在工具应用层面,在核心技术上依旧依赖于国外企业。而在检测方法上,虽然形成了代码编程规范,但在代码安全检测方法、代码缺陷定义、代码缺陷分类、代码缺陷风险等级等方面没有达到统一,特别是在支撑环境方面,仍停留在通用缺陷库的基础上,没有与公司

应用系统相结合,且无法对应用系统的不同版本之间进行代码缺陷的跟踪,无法对代码的安全可控做出有效支撑。

2.应用系统大量使用开源代码,且缺乏有效的评价机制,导致应用系统自主性无法得到有效的控制

随着软件业的不断发展,厂商在软件开发过程中越来越多的应用开源代码,特别是java 等语言的开放度较其他语言更为突出,随着“三集五大”工作的落实,应用系统的规模将更为壮大,引用开源代码的数量也急剧增加。这些开源代码不但会给公司造成潜在的知识产权纠纷,而且由于开源代码的使用缺少必要的技术支持而会带来额外的风险,难以保证软件正常的升级和维护,特别是开源代码中可能存在安全漏洞,将使得应用系统更容易受到攻击。为更好的落实公司软件著作权管理与保护工作的要求,保证智能电网关键系统的稳定运行,必须开展源代码同源性检测,并将其与代码缺陷检测进行必要的结合,确保代码的安全、完整、可用。

3.系统上线运行缺乏有效的管控技术手段,厂商将未经过安全测评的系统版本用于上线操作,导致上线系统存在安全隐患,无法达到可控的目的

智能电网应用系统全生命周期安全管控的目的是为了确保应用系统在研发、测试、上线、运维等各个环境都能够有效运行,充分发挥各阶段的技术优势,全面提高安全水平。然而应用系统的研发与测试,上线与运维之间的管控较为容易,因其主要发生在单方或者双方之间,如果出现不一致的情况将较容易发现,而在测试和上线两个环节之间,由于公司目前的机制设置,涉及到研发机构、测试机构和上线运维机构三方,在缺乏有力的技术手段的保障下,研发机构将有可能提供给测试机构和上线运维机构不同的系统版本导致问题的发生。目前公司软件著作权管理与保护工作提出了确保测试与上线系统一致的具体工作要求,但仅停留在制度层面,因此迫切需要技术手段支撑管理方面的要求。

综上所述,急需开展源代码安全检测与风险控制技术的研究,全面提高软件源代码的风险控制能力,提高软件源代码的安全性,有效规避软件知识产权风险,确保公司计算机软件开发应用风险“可控、能控、在控”。

本项目的预期成果将对公司第三方代码级安全测评能力进行进一步提升,全面支撑公司级第三方安全测评和公司软件著作权管理工作,为相关部门的检测工作提供有力的技术保障。

2. 任务来源

《信息系统安全等级保护测评准则》中1-4级应用安全中规定对代码安全进行测评,公司文件《Q/GDW 597-2011国家电网应用软件通用安全要求》中规定应对代码缺陷进行检测。

国网公司先后发布《国家电网公司计算机软件著作权管理与保护办法》和《2010年软件著作权管理与保护工作实施意见》,文件中明确要求加强软件著作权管理与保护,对软件著作权资料的提交、审核和使用作了明确的要求,确保提交的源代码的真实、完整、可用,并要求进行软件著作权资料审核和验证方法研究,为软件著作权管理与保护工作提供技术保障。

3. 目的和意义

源代码安全检测与风险控制技术的研究弥补了中国电科院(以下简称“我院”)在软件在代码层面研究上的不足,提升了我院源代码的检测能力,降低对外部技术的依存度。通过对开发人员与检测人员进行安全培训,可以提高电力行业开发人员及测试人员安全意识,指导开发实践,从根源上保障电力信息系统良性发展。

同时,本项目研究成果将对国家电力系统的信息安全建设工作提供有力的支撑,通过试点示范与推广应用紧密衔接的方式,实现技术研究成果的及时、有效转化,为今后电网应用系统提供体系化的保障,为国家重要行业和央企的信息安全防护工作率先示范。另外,研究成果的广泛应用也将会对源代码安全检测与风险控制的有关研究与建设提供参考,持续的完善和提升可以促进源代码检测业务的标准化与规范化,符合本单位信息系统发展的需要。

二、可行性分析

1. 竞争性技术分析

(1) 国外研究水平的现状和发展趋势

国外十分重视源代码安全检测与风险控制工作,各国纷纷开展了相关的研究项目和计划。在代码安全检测方面,2006年,美国国土安全部(DHS)为了检测开放原代码软件是否安全,于1月展开一项为期3年、总计124万美元的计划,通过斯坦福大学、厂商Coverity和赛门铁克共同合作,对开源软件进行安全性检测。欧盟也于2007年3月22日正式通过了关于建立欧洲信息安全社会战略的决议。在代码风险控制方面,目前已有诸如ORACLE、SAP、Intel 、Cisco 等大型企业把源代码同源性检测引入到本公司的所有开发部门,进行源代码检测和管理,以规避知识产权风险。代码搜索技术随着搜索引擎技术的发展而不断丰富,也形成了较为成熟的代码同源性多重匹配定位技术,如文件比对、文本比对、Token比对、语法比对、语义比对技术,这些技术都能够在不同程度上找到代码

文件相似性,越新出现的技术越能够在更深层次上识别出相似代码。基于以上技术,已经形成了几款成熟的商业的和开源的源代码同源性检测工具以及一些其他常用的开源组件知识产权检测产品。

(2) 国内研究水平的现状和发展趋势

在国内,源代码安全检测与风险控制工作缺乏相应的成熟工具,尚处在技术研究阶段。一些研究机构如华北计算技术研究所等开始着手一些技术研究,并利用商业检测工具开展源代码缺陷检测业务。中国信息安全测评中心为代表的测评机构也开始着手研究相关技术,目前尚不成熟,却不对外提供服务。而在代码风险控制方面,大多数软件开发企业特别是最终用户对软件同源性鉴别观念意识不强,因知识产权问题造成的安全风险近年内屡有发生。仅有少数几个研究机构对代码同源性分析技术作了一定的探索,如采用多种代码分析方式、在文本、Token、语法等层次上进行同源性分析,能够提供较为精确的同源性检测结果,也已形成为数不多的几款同源性检测工具。但精确快捷的定位分析和建立满足行业应用特殊性的基准数据库仍存在一定的不足和空白,更缺少了完备的源码基准数据库与高效精确的同源鉴别技术并存一体的兼备模式。

2. 项目承担单位的研究基础

(1) 项目承担单位研究水平的现状

中国电力科学研究院(简称中国电科院)成立于1951年,是国家电网公司直属科研单位,是中国电力行业多学科、综合性的科研机构。中国电科院主要从事发电、输配电、供用电技术研究,电力工程设计、施工、运行监测技术研究,以及新能源、新材料、能源转换、信息与通信等技术研究,研究范围涵盖电力科学及其相关领域的各个方面。

中国电科院目前拥有十一个研究所、十七个科技公司、一个输配电及节电技术国家工

程研究中心、一个(国家工程研究)电力建设技术服务中心、一个部级质量检测中心、一个研究生部、一个博士后流动站、一个博士后工作站和一个杂志社(出版中国电机工程学报、电网技术、电力建设杂志和中国电信息报纸),建有主要实验室二十八个,其中:电网安全与节能国家重点实验室、电力系统仿真国家工程实验室和特高压工程技术国家工程实验室(北京)为国家级实验室,电力系统电力电子实验室、电力系统仿真试验室、信息系统安全实验室、输电线路杆塔实验室、导线力学性能实验室和岩土工程实验室为国家电网公司重点实验室,继电保护及安全自动装置实验室为中关村开放实验室。

2000年至今,中国电科院先后承担国家973计划项目2项,国家863计划项目3项,国家重大科技攻关/科技支撑计划项目7项共47个课题,国家自然科学基金项目9项,国家发改委项目13项,国家科研院所技术开发研究专项项目7项,国家公益基金项目1项,电力工业重大项目200多项,为我国电网的建设和发展提供了坚强的技术支撑。

自建院以来,中国电科院荣获国家科技进步奖76项(其中一等奖6项)、国家技术发明二等奖1项、省部级科技进步奖360项(其中一等奖35项)、国家专利168项、第八届中国专利奖金奖1项,出版专著93部,发表学术论文2634篇,在我国电力工业发展的各个标志性阶段做出了重要贡献。

中国电科院信息与通信研究所下设的信息系统安全实验室是国家电网公司重点实验室,具有进行项目实验的基础网络环境、仪器和设备,率先开展了电力行业风险评估、等级保护、应用软件安全测评的研究与实践,承担了公司应用系统及自动化产品的安全测评、信息安全产品选型测评、国产化信息产品测评工作;为国家电网公司电网生产运行控制系统的建设提供了全面的信息安全标准制定、应用测评、安全监理等技术支持;承担过国家信息安全标准、十余项省部级以上重大科技本项目的研究工作;参与电力二次系统安全防护总体方案的起草,开发出逻辑强隔离装置、调度证书系统、纵向加密认证管理中心等软

硬件产品;为24个网省级电力公司、150余个地市级电力公司、50多个发电厂和变电站提供过信息安全评估、测评与等级保护服务。

作为本项目的重要基础条件,实验室自2005年起已经开展了可信计算技术的研究,具有一定的技术积累;实验室已经研发了多款操作系统安全性增强软件,并且主持了智能电网调度支持系统中安全操作系统的测评工作,具备研制安全操作系统的能力;实验室在密码技术方面开展了长期持续的研究,研发出加密设备、调度CA系统、加密认证装置等多款密码产品,具备信息安全可信计算平台技术产品研发的实力。

(2) 项目承担单位的人力资源

1) 项目负责人

刘楠,男,现任中国电力科学研究院信息与通信技术研究所信息安全与保密测评研究室测评部项目主管,在本项目中承担主要的组织和管理工作。

2) 核心研究人员

三、经济效益分析

本项目计划完成代码安全检测与风险控制技术支撑平台的建设,在此基础上,建立起一套代码安全检测和代码同源检测服务模式,在电力行业推广代码安全检测和代码同源检测业务。

本项目计算期3年,建设期为1年,运营期为2年。项目自2013年1月起开始建设,2013年12月完成建设,项目以人民币作为记帐本位币。项目建成后,服务范围将明显扩大,预计每年可承接20个项目的代码安全检测服务,项目计划自2014年建设完第一期后开始运行,按第一年对主要系统进行20系统次,第二20系统次预计建成后每年的服务销售数量和收入见下表3-1:

表3-1 预计建成后每年的服务销售数量和收入表(万元)

鉴于信息安全服务技术发展快速,第一年计划投资150万元用于能力建设,之后每年预计投入20万元用于完善服务支撑平台和相关工具的升级.2年的服务成本计算如下表3-2所示。

表3-2两年的服务成本计算(万元)

本项目无贷款,有上述分析可得,投入/产出比约为33.3%,收益率约为66.7%。

该项目具有很强的赢利能力,各项主要财务评价指标高于国家或同行业标准,经营期间可获得良好的经济效益,项目在财务上是可行的。

四、项目建设内容

1.建设内容

根据《国家电网公司计算机软件著作权管理与保护办法》【国家电网信息〔2010〕24号】和《2010年软件著作权管理与保护工作实施意见》【信息运安〔2010〕26号】要求,软件著作权管理与保护要进一步完善软件系统源代码审核和验证方法,为软件著作权管理与保护工作提供技术保障,确保软件系统源代码质量和上线系统运行安全。本项目从软件系统源代码中的安全缺陷和可能存在的开源代码法律风险方面研究源代码缺陷检测技术、源代码同源检测技术以及源代码一致性检测技术。形成检测工具,为软件源代码安全检测和风险控制提供了交互界面,为检测人员提供了检测分析的手段,为应用软件质量和安全提供技术支撑手段。

1.1源代码缺陷检测综合分析技术研究

目前,软件源代码缺陷检测技术参差不齐,缺陷分类标准不统一,缺陷描述不统一,在此基础上,急需开展源代码缺陷检测综合分析技术的研究,形成代码缺陷检测综合分析工具,实现代码缺陷检测结果的综合输出和反馈。研究国内外代码缺陷检测规范,结合电力系统内部检测实际需求,研究制定国网公司应用系统源代码级缺陷检测规范和方法,制定统一的符合行业特色的检测规范。

同时,研究国内外权威缺陷分类数据,结合电力行业实际形成具备行业特色的源代码缺陷定义及缺陷分类,研究缺陷样本及修复建议,形成缺陷知识库。缺陷知识库包括缺陷样本库、缺陷修复建议库、源代码开发案例库。通过调研CWE、NIST、OWASP等权威机构的缺陷分类及缺陷定义,研究商业工具Fortify、Coverity、CxSuite等工具的缺陷分类描述、定义及修复建议,提出公司源代码缺陷分类及定义标准,形成国际或国内标准建议,在缺陷分类标准的基础上,参考国际标准组织及成熟商业工具的缺陷样本建设本单位的缺陷知识库。

1.2源代码同源检测技术研究

随着智能电网的建设,开发厂商服务能力和软件质量对国家电网公司及其下属电网省公司乃至整个电网系统的“信息化”建设都将会产生重大的影响。为了更好的确认公司应用系统的代码来源,规避公司应用系统存在的法律风险,降低上线系统的安全隐患,全面提高公司对应用系统的整体把控度,本项目开展代码同源性测试服务,该工作为源代码层面的相似度检测。

源代码同源性检测技术主要包含基于特征属性、文本、token、抽象语法树的同源性比

对技术,通过研究不同的检测技术,从软件源代码的文本、语法、语义、逻辑结构等多方面实现源代码的同源性检测,满足不同需求的源代码检测分析,提高软件源代码同源性检测的准确度以及效率。

在研究代码同源性检测技术的基础上,研究开源基准数据库的建设,主要包括三个模块的内容:开源代码的搜索和收集,开源代码的分类导入,开源基准数据库的形成。基准数据库的建设为代码同源性检测提供比对数据源,定位软件源代码的来源。

本项目开展代码同源性检测技术的研究,形成代码同源性检测工具,形成代码同源性检测结果评价体系,加强软件质量的把控能力。

1.3代码一致性检测技术研究

国网公司开展软件著作权工作,要求对软件著作权移交系统和测试归档系统进行一致性验证,将第三方测试单位纳入到管理流程中,确保归档系统与完成测试系统的一致性。由于目前没有相关的技术手段,资料的审核以及代码验证大多以人工为主。因此,急需开展代码一致性检测技术的研究,提高代码一致性验证的准确性和效率,减少人工工作量。

代码一致性检测技术的研究通过比较上线系统与归档系统之间的差异,包括文件个数的差异、源代码内容的差异等,过滤完全一致的代码文件,自动记录发生差异的代码文件,生成差异报告。代码一致性检测技术的研究加强了上线系统与归档系统的一致性的管理控制,为软件著作权资料质量审核提供判定依据。

2.各研究内容之间的关联性分析

随着开源代码的大量使用,绝大多数电力信息系统在开发过程中引用了开源代码,数据显示,开源代码的安全问题十分严峻,其中近1/3的开源代码被证实存在已知安全漏洞,

并且这些漏洞的存在导致开源代码较商业代码更易受到攻击,且无人进行维护和修正。另一方面,开发人员在引用开源代码时,并未对代码的来源和安全性进行验证和分析,在可能产生产权纠纷的同时引入了了较为严重的安全隐患。因此,代码同源性检测技术和缺陷检测技术研究相结合,准确定位开源代码中的安全问题,有效控制电力信息系统源代码安全问题。

五、项目实施计划

1.实施方案

本项目主要由中国电科院信息系统安全实验室将提供单独的实验室作为研发场地并成立从事此服务的部门,固定的办公地点。

中国电科院信息系统安全实验室运行源代码安全检测与风险控制平台,最终将部署在国家电网公司的内网环境中,与信息外网隔离,将采用独立的信息机房进行部署,远离强震源和噪声源,远离无线电干扰源和强电力干扰。

为确保服务平台7×24小时的不间断运行机房配电采用三相五线制,多种电源(动力三相380V、普通220V和UPS输出220V)配电箱。此外,考虑机房抗静电的需求,对抗静电活动地板进行可靠的接地处理,以保证设备和工作人员的安全要求。

机房内配备天花板嵌入式分体空调,为机房提供恒温环境。新场地的环境要达标,要满足电压220V,零地电压小于1V,温度在22摄氏度正负2摄氏度之内,湿度在55正负10%之内。电源插座、机柜规格和地板承重要符合小型机、磁盘阵列等特殊重要设备的安装要求。

2.实施计划

本项目的建设期为一年(2013.1-2013.12),具体进度如图5-1所示:

3.关键环节

本项目主要研究源代码安全检测与风险控制技术,形成代码安全检测工具和相应的检测分析技术手段,通过前期技术调研和工具调研,结合国网公司信息系统的特点,制定电力行业特有的源代码安全检测与风险控制规范体系和结果评价体系,为源代码安全检测与风险控制提供理论依据和技术支撑。

六、预期目标和成果形式

1.预期功能

实验室将在原检测能力基础之上增加代码级检测能力。并组建代码检测工作组,开展代码级的缺陷、同源、一致性检测工作。以期达到结合现有代码缺陷检测技术的基础形成源代码安全自主可控技术手段、从代码源头及系统版本控制等方面对应用系统的自主可控做出整体评价、提升代码缺陷检测的整体服务水平、支撑公司应用系统软件著作权管理工

作,为智能电网应用系统安全上线运行提供全面安全保障的能力。组织机构图如下:

2.预期技术指标

项目预期应满足以下功能要求:

1. 检测分析功能

a) 可以对多种常见编程语言的源代码进行检测,检测语言至少支持Java, JSP,

C/C++等。

b) 要求工具能在Windows、Linux等多种操作系统上运行,且能够检测运行在

多种操作如Windows、Linux系统上的代码。

c) 可以直接检测代码行数在10万行规模以上的应用系统,且在推荐配置下每10

万行代码的检测时间在30分钟以内。

d) 要求工具的误报率在15%以下。

e) 支持多任务、多用户同时检测。

2. 报表功能

a) 提供多种格式的检测报告格式,至少包括PDF、Xml,Word等。

b) 能够针对客户的个性化需求定制报表中的内容,且支持报表模板自定义。

c) 要求工具能够对测试结果进行统计分析,并产生统计分析图表。

3.成果性能及功能验证的安排

根据项目周期安排,预定于2013年10月中旬开展测试验收工作。因本项目研究内技术难度大且项目周期短,要求工具等能满足预期功能要求,个别项如性能等待后期完善。且后续完善项目规范、作业指导书、业务表单等相关内容,并将检测项目纳入CNAS等认证体系。

七、项目经费预算

1. 预算表

单位:155万元

2.预算说明

附件1:仪器、设备购置预算明细表(单价5万元以上)

单位:万元

相关文档
相关文档 最新文档