admin 管理员组

文章数量: 887021


2023年12月18日发(作者:textarea标签的效果是什么)

源代码安全检测服务投标

技术方案

目录

一、 项目技术方案 ............................................................................................. 1

1.1、 代码安全检测服务 .................................................................................. 1

1.1.1、 服务内容 ....................................................................................... 1

1.1.2、 服务方法 ....................................................................................... 2

1.1.3、 交付成果 ....................................................................................... 5

1.1.4、 服务优势 ....................................................................................... 5

1.2、 有效降低软件安全问题修复成本 .......................................................... 5

1.3、 自主可控的源代码安全解决方案 .......................................................... 6

I

一、项目技术方案

1.1、代码安全检测服务

1.1.1、服务内容

应用系统软件自身的安全性是确保应用系统安全稳定运行的关键。但通常应用系统在开发的过程中会引入安全缺陷而造成应用系统自身存在安全漏洞,如被外部威胁所利用会产生安全风险,造成不良的安全影响。需要通过采用应用系统源代码安全审计的方式,来减少和降低开发过程中的安全缺陷和安全漏洞。

因此,通过开展应用系统源代码审计工作,减少客户应用系统的安全漏洞和缺陷隐患,有效降低客户应用系统安全风险,保障应用系统安全稳定运行。

网神源代码审计服务的实施过程包括前期准备、代码审查、出具报告、协助整改和回归审计(复查)几个阶段。

图 1.1 源代码审计流程图

首先客户提出代码审计要求,内容包括测试范围和时间,在提交《代码审计申请》与源代码时,附带《免责声明》一起给客户,客户收到申请与免责声明之后,确认审计范围与时间无误之后。客户提交给网神项目接口人,网神接口人进行工作量台账记录,然后由项目负责人进行工作安排,开始编写代码审计方案,经过客户方面认可代码审计方案后,开始实施代码审计工作,在审计

过程中通过代码审计设备进行详细审计记录,通过信息收集、漏洞分析和成果整理编写出《代码审计报告》,并提交给客户,并协助完成漏洞修复。

在漏洞修复工作之后,网神项目组进行代码审计复测,并输出《代码审计复测报告》,在客户方确认之后,单个系统代码审计工作完成。

具体包括如下阶段:

➢ 准备阶段

➢ 审核阶段

➢ 出具报告

➢ 安全整改回归审计

1.1.2、服务方法

源代码安全检测主要对象包括并不限于对Windows和Linux系统环境下的以下语言进行审核:C、C++、OC、C#、Java、PHP、JSP、ASPX、JavaScript、Python、Cobol、Go等进行全面测试。

源代码安全检测的主要内容包括但不限于:

 OWASP WEB TOP 10漏洞

 WEB应用程序的权限架构

 WEB应用通信安全

 数据库的配置规范

 SQL语句的编写规范

 WEB应用框架安全性

1.1.2.1、准备阶段

在代码审计前期准备阶段,项目组将根据业务系统的实际情况定制访谈材料,采用文档审核和访谈方式对业务软件功能、架构、运行环境和编程语言等实际情况进行调研。了解业务系统的开发环境、架构、安全现状以及运行环境

等可能对业务系统安全性产生影响的各种因素。同时会准备代码审计工具、务系统测试系统等环境,为代码审查工作的开展提供必要条件。

1.1.2.2、审核阶段

前期准备工作完成后将进入代码审核阶段,这是整个过程中最重要的阶段。网神项目组的实施人员均是有着丰富代码编写和安全性审核经验的资深员工。实施人员依据安全编码规范,通过源代码静态审查以发现安全缺陷。对审查过程中发现的安全漏洞,项目组会定位到具体的代码并给出整改的建议。在本阶段的工作中,我们主要采用人工审核为主和自动化审计工具辅助的方式进行安全审计。下图是我们的技术模型:

图 1.2 源代码审计技术模型。

 人工审核:

人工审核是代码审核的关键因素,也是最准确和最高效的解决方案。人工审核依托于技术人员的安全编码经验、渗透测试经验以及最新的知识库,能够有效的发现深层次的高风险安全漏洞,包括业务逻辑安全漏洞。在网上待测系统重要的业务场景中,很多高风险的安全漏洞都隐藏的比较深,只有通过经验丰富的安全人员进行人工审计才能发现相关的问题。同时,在人工审核的的过程中实施人员在集中发现安全缺陷的同时也会关注目标系统的合规性问题。通过对目标系统的源代码进行人工审核,可以有效的降低安全风险,提高系统安

全性、健壮性和合规性。在开发阶段就发现安全问题,而不是将安全问题带入生产系统后才被发现并解决,课余有效的控制系统的研发成本。

 自动化工具审核:

采用自动化的代码审计工具辅助审核,依赖于自动化工具的强大的安全编码规则集。能够快速的对常规的安全漏洞进行发现和定位,有助于提高代码审计的工作效率和覆盖度,是一种常用的辅助手段。

1.1.2.3、出具报告

对于审计发现的问题,我们会对发现的问题进行相关分析并出具报告。针对具体的漏洞,我们会出如下的内容:

 指出该安全漏洞可能对目标系统产生的影响

 对致漏洞的具体代码进行定位,分析形成漏洞的具体原因

 对漏洞利用方式进行阐述,可以在客户提供的测试系统中进行验证测试

 对漏洞的可利用行和风险等级进行评定

 给出修复该漏洞的正确方案

其中,对于漏洞风险等级和可利用性的评定标注如下:

表 1.1 漏洞风险等级评定

风险等级 漏洞类型

直接获取目标核心数据的漏洞

越权控制重要业务逻辑的漏洞

高风险 在一定条件下可影响客户资金安全的漏洞

较为严重的合规性问题

突破系统原有安全控制措施的漏洞

越权控制部分非核心业务逻辑

中风险 一般的合规性问题

利用难度较大的客户端安全漏洞(如反射型XSS)

低风险

非常苛刻条件下才能够获取控制权的漏洞

不能直接造成危害的信息泄露漏洞

表 1.2 漏洞可利用性评价标准

可利用性分析 定性标准(具备如下条件之一即可)

有公开的利用工具和攻击代码

容易

无需登录手机XXX系统即可利用

无需和被攻击用户交互即可利用

本地修改数据封包或客户端程序即可利用

一般

需要和目标用户交互才能够利用

通过网络远程抓取目标用户数据包才能够利用

需要控制被攻击用户的手机才能利用的漏洞

需要知道被攻击用户的账号密码才能利用的漏洞

困难

1.1.2.4、安全整改和回归审计

代码审核报告制中对代码中存在的安全问题进行了全面的阐述,包括漏洞形成原因、威胁分析等,对于可以整改的漏洞我们会依据项目组成员多年的安全编码实践给出整改和加固建议。我们会协助开发人员整改安全漏洞并复查漏洞的整改情况,确保产品上线后安全稳定的运行。

1.1.3、交付成果

 工作输入

➢ 《客户审计系统源代码》

➢ 《客户业务系统研发需求文档》

➢ 《客户业务系统研发设计文档》

➢ 《测试环境》

➢ …

 工作输出

服务成果为:

➢ 《XX系统代码安全检测报告》

1.1.4、服务优势

1.2、有效降低软件安全问题修复成本

源代码安全检测是缓解软件安全问题的有效途径,可从源头上大量减少代码

注入、跨站脚本等高危安全问题,进而提升信息系统的安全性。根据Gartner统计,在软件代码实现阶段发现并纠正安全问题所花费的成本,比软件交付后通过“上线安全评估”发现问题再进行整改的成本要低50~1000倍。越早发现源代码安全问题,其修复成本越低,代码卫士可帮助组织在软件开发过程中“尽早尽快”发现安全问题,有效降低软件修复成本。

1.3、自主可控的源代码安全解决方案

软件源代码是组织机构的核心信息化资产,源代码安全检测产品部署到开发和测试网络之后,是否会引入其他的安全风险,如何保障源代码安全检测产品自身的安全可控,是组织机构关心的问题。代码卫士是我司集团自主研发的国产源代码安全检测产品,解决方案符合国家对信息安全产品“自主、可控”的要求。


本文标签: 代码 审计 系统 进行 漏洞