- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
代码版一致性技术保障方案
代码版本一致性技术保障方案 [摘要]软件系统开发建设过程中存在多个环节,需确保每个环节处理源代码版本的一致性,杜绝因为人因素或非人为因素导致代码被篡改情况发生,最终保证编译后运行的目标程序与源代码版本的一致性。 中国论文网 /1/viewhtm [关键词]代码版本一致性;代码审计;代码编译;系统部署 1 引言 软件系统从设计开发到上线运行,中间需要经多个版本的迭代,多个环节的流程,包括代码开发、代码审计、代码编译、系统测试、部署上线等。需确保每个环节处理的源代码版本的一致性,杜绝因为人因素或非人为因素导致代码被篡改情况发生,最终保证编译后运行的目标程序与源代码的一致性。 2 现状 综合分析公司内部当前多个软件系统开发建设项目,系统规模均比较大,均需要多个开发人员与其他工作人员配合分工合作,同时通过SVN进行代码管理与版本控制。 代码通过SVN或FTP等方式在多个环节流转,流转过程缺乏流程与技术手段保证代码版本的一致性、完整性,存在流转过程代码版本混淆、被篡改、被掉包的可能性。 通过对各项目代码管理现状的分析与总结相关经验,初步形成代码版本一致性技术保障方案。 3 方案 根据项目经验总结,对项目进行阶段划分,梳理出代码流转路径,在流转路径设置控制点,通过相应的控制措施技术手段来在每一个控制点验证代码版本的一致性、完整性,形成验证链条,最终保证生产环境上运行的系统程序的一致性、完整性。 3.1 划分阶段 根据各环节工作内容的分类,可分为几个阶段:(1)代码开发阶段,主要负责系统的源代码开发;(2)代码审计阶段。主要负责对源代码的审计,重点审计代码安全性;代码编译阶段,主要负责将源代码编译成目标程序;(3)系统测试阶段,主要负责对系统进行功能测试与安全测试;(4)系统部署阶段,主要负责将系统部署到生产环境上。 通过对各阶段代码流转路径的分析,主要存在几条流转需求与流转路径:(1)代码开发阶段流转到代码审计阶段;(2)代码开发阶段流转到代码编译阶段;(3)代码编译阶段流转到系统测试阶段;(4)代码编译阶段流转到系统部署阶段。 3.2 职责分离 为确保各阶段工作能够相互牵制、相互监督,将各阶段工作进行明确分工,落实职责分离,每个岗位不能互相兼任。 通过对各阶段工作内容的分析总结,大致可分为几个岗位:(1)代码开发岗,由代码开发人员担任,负责代码开发阶段系统源代码的开发;(2)代码审计岗,由代码审计人员担任,负责代码审计阶段对系统源代码开展审计工作,重点审计代码安全性;(3)代码编译岗,由代码编译人员担任。负责代码编译阶段将系统源代码编译成目标程序;(4)系统测试岗,由系统测试人员担任,负责系统测试阶段开展系统程序的测试工作;(5)系统部署岗。由系统部署人员担任,负责系统部署阶段将系统程序部署到生产系统上。 每个岗位互相独立,根据各阶段工作顺序,下一阶段的岗位负责对上一阶段的岗的输入进行代码版本一致性、完整性进行验证。 3.3 控制点与控制措施 在各个阶段的控制点采用单向散列算法(如MD5、SHA)等措施计算出代码文件的指纹信息,通过对指纹信息的比较,确定代码的一致性与完整性。 代码开发阶段:在完成代码开发封版后,由代码开发岗位人员将源代码与编译脚本一起打包,再用单向散列算法(如MD5、SHA)计算出代码包的指纹信息。 代码审计阶段:源代码包从代码开发阶段流转至代码审计阶段,为防止该流转过程中代码包被篡改,代码审计人员收到代码后须校验指纹信息。由代码审计人员使用单向散列算法(如MD5、SHA)计算出代码包的指纹信息,并与开发阶段打包时计算出来的指纹信息进行比较,如果指纹一致即说明代码包没有被篡改。 代码编译阶段:当通过代码审计确认源代码不存在安全问题后,可进入代码编译阶段。代码包从代码开发阶段流转至代码编译阶段,为防止该流转过程中代码包被篡改,代码编译人员收到代码后须校验指纹信息。由代码编译人员使用单向散列算法(如MD5、SHA)计算出代码包的指纹信息,并与开发阶段打包时计算出来的指纹信息进行比较,如果指纹一致即说明代码包没有被篡改。 为防止代码编译过程中代码编译人员对代码的篡改,需对代码编译服务器进行管控,编译服务器接入管控平台(如堡垒机、4A系统等),通过在可控制的环境下对源代码进行编译,记录编译过程日志并录屏,同时可安排第三方人员旁站监控整个编译过程。 编译完成后,由代码编译人员将目标程序打包,再用单向散列算法(如MD5、SHA)计算出程序包的指纹信息。 系统测试阶段:程序包从代码编译阶段流转到系统测试阶段,由系统测试人员对代码编译过程进行审计,通过管控平台(如堡垒机、4A系统等)调出编译过程的日志与录屏。确认编译
您可能关注的文档
最近下载
- 蒸压加气混凝土砌块施工技术课件.ppt VIP
- 沥青路面再生利用项目可行性研究报告项目建议书.docx
- 医学课件-老年卧床患者压力性损伤的预防和护理进展.pptx
- 电力系统经济学原理习题解答 全.doc VIP
- 数据中心机房工程施工组织设计方案.pptx VIP
- 传统文化与修身(鲁东大学)知到智慧树章节答案.docx VIP
- 湖南文艺出版社(2024)新教材小学二年级音乐上册第五课《草原就是我的家》精品课件.pptx VIP
- 益智课堂数字华容道教学课件.pptx VIP
- (2025秋新版)部编版二年级道德与法治上册《第8课 我为班级作贡献》教案.docx VIP
- 尼科尔森《微观经济理论-基本原理与扩展》(第9版)课后习题详解(第18章--不确定性和风险厌恶).doc VIP
文档评论(0)