加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

应用安全,代码先行

发布时间:2022-10-18 13:31:18 所属栏目:安全 来源:网络
导读: Part.1
根据最近统计数字显示,我国每年有数十万个互联网应用被成功攻击,其中75%是针对互联网服务的…被攻击的企业明明已经建立了非常完善的认证系统、网络安全系统、入侵检测等防范措施,

Part.1

根据最近统计数字显示,我国每年有数十万个互联网应用被成功攻击,其中75%是针对互联网服务的…被攻击的企业明明已经建立了非常完善的认证系统、网络安全系统、入侵检测等防范措施,为什么系统还是处在不安全的境地呢?

鼎赛科技为大家抽丝剥茧、层层深入,从企业安全开发的视角介绍时下企业信息安全的主要问题和解决方案。

安全的抓手

1.1.应用安全重要性

根据最近统计数字显示,多达70%的网站含有漏洞,75%的新的攻击是针对应用层的弱点进行窃取关键的财务和客户数据。而我国每年有数十万个互联网应用被成功攻击,其中75%是针对互联网服务得。每年中国大陆超过200万个网站被挂马,金融类网站攻击去年增加超过了100%。据IDC的统计,至少有75%的企业发现他们的系统被黑客成功地攻击过。我们已经建立了非常完善的认证系统、网络安全系统、入侵检测等防范措施,为什么我们的系统还是处在不安全的境地呢?通过全球的一些信息安全专家的调查和分析,他们得出这样一个结论:目前我们信息安全的主要问题:是应用软件安全问题,而不是我们通常所认为的网络问题,操作系统问题……根据Gartner Group和NIST的分析报告:超过75%的安全漏洞存在于应用层,而不是网络层。这不仅仅是操作系统或浏览器的问题而是各种类型的应用——特别是关键核心业务应用。

1.2.应用安全的痛点

近年来,应用软件随着信息系统的发展,功能随之增大,相应的,程序源代码的规模也加大了,容易被利用的安全漏洞和后门代码也不再局限于以往,这就使得用传统软件测试方法来检测源代码中的安全漏洞非常困难。

软件开发通常会引入缺陷,普通软件工程师的缺陷密度一般为 50~250 个缺陷/KLOC(缺陷/千行源代码)。由于有严格的软件开发质量管理机制和多重测试环节,成熟的软件公司的缺陷率要低得多,普通软件开发公司的缺陷密度为4~40个缺陷/KLOC;高水平的软件公司的缺陷密度为2~4个缺陷/KLOC。

根据源代码缺陷测试实践统计显示,国产软件平均的缺陷密度为 6 个缺陷/KLOC,假设 1%的安全缺陷是可被黑客恶意利用实施攻击的,则一个网银客户端大小的软件将可能存在 3-6 个可被利用的漏洞,由此可见国内源代码安全形势的严峻性。所以从源代码审计的角度,对源代码进行检测和分析,从而在根本是保护软件和信息系统的安全,杜绝了代码后门又能够避免潜在的漏洞安全危险,进一步保障了信息安全。

根据我们与客户的交流分析以及多年来在客户项目实施中取得的经验,目前客户遇到的代码检测审计的痛点主要集中在:

难与开发或测试流程融合

传统的软件开发和测试流程并未考虑源代码自身安全的需求,组织在已固化的流程中应用源代码安全检测产品会遇到各种细节问题,如源代码安全检测产品难与代码管理服务器进行融合,无法与已有的 BUG 管理系统融合等,这些问题如果不能有效解决,将会大大的增加组织开发和测试工作量,严重影响工作效率。

无法评估开源组件风险

开源组件存在的已知漏洞和授权协议会给软件带来风险,而个别研发人员为了贪图方便,直接引用来自互联网的开源组件进行编码,这些开源组件往往已经存在漏洞,这将降低开发软件的整体安全性;另外开源组件一般都有相关使用授权问题,直接引用这些开源模块可能会给组织带来法律风险。

个性化的需求支持不足

当前主流的商业源代码安全检测产品通常是根据通用需求开发,而很多组织由于各自业务的不同,对源代码安全有很多个性化的需求,例如组织内部安全编码规范的自动化合规检测等。目前的商业工具对这种个性化需求的支持不足,导致国内用户在应用源代码安全检测产品时无法完全满足组织自身的需求。

Part.2

新一代源代码安全检测系统

TopSek代码安全检测平台采用B/S架构专注于为各大企业、组织提供一套源代码安全分析解决方案,是鼎赛科技面向源代码安全需求开发的基于软件安全开发生命周期管理的新一代源代码安全检测系统。在不改变组织现有开发流程的前提下,与企业、组织的代码仓库(如GIT、SVN)、缺陷管理系统(如 Bugzilla、JIRA)以及持续集成工具(如Jenkins)进行无缝对接,实现开发过程中的源代码缺陷管理及合规管理,以最小代价帮助组织实现源代码安全目标设定、自动化检测、目标差距分析、Bug 修复跟踪等功能,实现源代码安全的可视化管理。

全景网站后台代码网站_网站安全代码_网站客服代码应该放到网站哪里

图2-1:TopSek代码安全检测平台工作模式

2.1产品架构

TopSek代码安全检测平台核心部件由代码综合管理平台、代码审计平台、各操作系统源代码扫描引擎等组成,产品架构如图2-2所示。代码综合管理平台负责源代码分析任务的统一管理、代码分析引擎的调度、综合报表展示、报告输出,以及与代码仓库、DevOps工具等集成,提供有用户管理、权限管理、部门管理、计费管理等服务;代码审计平台负责对审计结果进行分析、筛选,黑白盒关联分析,以及与缺陷管理平台、LDAP等集成;源代码扫描引擎负责源代码的安全分析,由引擎代理、缺陷检测引擎等组成,其中引擎代理负责与安全管理平台通信及引擎调度,缺陷检测引擎主要由配置流、结构、控制流、数据流和语义五大分析引擎组成,负责检查源代码安全缺陷,支持自定义检测模板、支持自定义扫描规则,并结合合规、PCI安全检测规则分析源代码与安全规范的符合性。

全景网站后台代码网站_网站安全代码_网站客服代码应该放到网站哪里

图2-2:TopSek代码安全检测平台架构

2.2.产品功能

TopSek代码安全检测平台专注于为组织提供整体的源代码安全风险控制解决方案,帮助组织从源代码级别控制和降低安全风险。本产品具有高可控性、高性能、高适用性等特点,可广泛应用于政府单位、软件开发厂商、第三方测评机构、软件最终用户等多种组织机构。

2.2.1代码综合管理审计平台

TopSek代码安全检测平台提供了丰富的仪表盘分析功能:源代码检测、合规检测、开源组件检测。

源代码检测主要展现了当前所有项目或者用户选定的项目的安全漏洞严重性分布情况。合规检测主要展现了安全漏洞在OWASP TOP 10, PCI/DSS, GDPR, NIST-SP, SANS标准下的对标检查项的违反情况。开源组件展现了项目(所有或选定)中使用的开源组件的统计, 开源组件的安全漏洞分布, 开源组件的许可证种类和风险分布。

全景网站后台代码网站_网站安全代码_网站客服代码应该放到网站哪里

图2-3:安全总览-源代码检测页面

网站安全代码_全景网站后台代码网站_网站客服代码应该放到网站哪里

图2-4:安全总览-合规检测页面

在定制模板中用户可以从用户、项目、任务、漏洞、引擎等多个维度通过点击模板进行分析。

从用户的维度可以展现用户使用系统的情况,譬如占据引擎时长最长的用户Top 10, 扫描项目对多的用户Top 10等等;从项目的维度可以分析项目的规模、项目扫描的时间、项目的漏洞密度等;从任务的维度可以查看任务的总数、成功以及失败的次数、任务的耗时、系统执行扫描任务的趋势等;从漏洞的维度可以查看高发漏洞的情况、漏洞在项目、用户、部分之间的分布、漏洞的总体趋势等;从引擎的维度可以迅速知晓引擎的使用率、引擎分布的合理性、引擎的投入产出、引擎的处理能力等。

网站客服代码应该放到网站哪里_网站安全代码_全景网站后台代码网站

图2-5:定制模板界面-示例1

全景网站后台代码网站_网站安全代码_网站客服代码应该放到网站哪里

图2-6:定制模板界面-示例2

2.2.2.丰富的安全检测规则

TopSek代码安全检测平台支持 Windows、Linux 等多种操作系统平台上软件源代码的缺陷检测。支持C / C++/ C#/ JAVA / JSP / JavaScript / Python / HTML / XML / Cobol 等主流编程语言。具有丰富的代码安全检测规则,可以对当前OWASP, SANS,CWE等在内的900多种安全漏洞进行检测;

2.2.3.详细的安全修复建议

TopSek代码安全检测平台支持详细的漏洞说明和修复建议;整个平台还支持规则库和系统的在线或者离线更新;

网站安全代码_全景网站后台代码网站_网站客服代码应该放到网站哪里

图2-7:详尽的中文缺陷修复建议

2.2.4.开发与测试流程整合

TopSek代码安全检测平台在设计过程中充分考虑了组织在应用源代码安全检测产品过程中遇到的各种实际问题,其基本理念是使组织以用最小的代价将源代码安全检测融入到已有开发和测试流程中,并提供灵活的定制化接口,满足组织的个性化定制需求。

全景网站后台代码网站_网站安全代码_网站客服代码应该放到网站哪里

图2-8:平台提供丰富的Restful API接口

可支持本地源代码检测,也可支持从SVN等代码管理系统中获取源代码进行检测。检测结果可与 Bugzilla 、JIRA等 Bug 管理系统进行整合。

网站安全代码_全景网站后台代码网站_网站客服代码应该放到网站哪里

图2-9:平台支持和当前主流的缺陷跟踪平台集成

支持定时自动检测,与代码库进行关联,配置好定时检测计划,系统将按照任务设置定期自动获取代码库中的源代码进行检测,最大限度的减少人工干预的工作量。

网站客服代码应该放到网站哪里_网站安全代码_全景网站后台代码网站

图2-10:平台支持计划扫描

2.3.产品特色

2.3.1.与开发和测试流程的无缝整合

2.3.2.代码预编译和安全扫描分离

为了提高项目安全扫描结果的精度,提高安全检测的深度和广度,安全扫描需要对代码以及程序的数据流进行深入和全面的理解,因此对进行安全检测项目代码需要有一个预编译的过程网站安全代码,经过预编译的项目代码转换成扫描引擎可以理解的中间语法树的形式。而预编译的过程依赖于项目编译构建的环境。

如果代码预编译和安全扫描是和代码扫描引擎捆绑在一起的话,那么有多少项目编译构建的环境在扫描引擎端就需要重构多少编译环境,极大地增加了实施的复杂性、困难度以及维护的成本。

我们的系统可以实现代码预编译和安全检测的解构,使得代码预编译完全在用户熟悉的开发桌面直接完成,或者是在用户的项目系统构建服务器上完成,将预编译好的代码自动上传到系统给到扫描引擎进行安全检测, 使得引擎不需要再额外地复制每个项目的编译环境,极大提高了项目安全检测的效率,降低了代码检测对项目编译环境的依赖,提高了项目纳入代码安全检测的速度。

同时,这个分离技术使得开发人员可以从自己的桌面电脑上直接发起自己的代码加测请求,降低了开发人员的学习成本, 方便了开发人员的使用习惯,提高了开发人员的使用效率,极大程度上符合了当今应用安全开发的“安全左移“的理念。

2.3.3.代码增量扫描

通过增量分析,您可以对项目运行完整分析,然后运行后续增量扫描以仅分析自初始完整扫描以来更改的代码。这减少了项目后续增量扫描的扫描时间。增量分析允许您对使用以下语言编写的项目运行增量分析:Java,C / C ++,C#和Visual Basic。

2.3.4.自定义检测规则和模板

支持自定义检测规则,用户可以根据自己需要自己定义检测规则;检测规则的类型分为配置型、结构型、控制流型、数据流型等。

利用XML自定义的检测规则可以用来:

2.3.5.开源组件检测分析

2.3.6.灵活扩展性及个性化定制

Part.3平台部署

3.1.通用类型部署

全景网站后台代码网站_网站客服代码应该放到网站哪里_网站安全代码

图3-1:TopSek代码安全检测平台典型部署

Part 4. 平台带给用户收益

4.1.让应用安全开发变成全员参予和充分左移

项目团队全体人员的参予变成可能, 无论是开发人员,测试人员,项目经理或是代码安全审计人员都可以在统一的审计页面上进行协同审计,完成代码安全缺陷的修订。同时整个平台可以让企业用户的安全左移进行的更加充分、彻底和高效。开发人员可以不用离开自己熟悉的开发桌面环境直接对自己负责的代码进行安全检测,让代码的安全问题在原始发生的地点和时间得以解决。

4.2.让代码安全检测实现持续化、长久化

BS平台的开放性提供了全功能的RESTful 的API接口,企业可以利用API接口和自己的SOC平台以及DevOps的自动化平台进行无缝集成。

譬如,企业可以利用自己的Jenkins工具通过API接口,实现对在建代码的安全检测,当安全检测通过预设安全基线的情况下才部署构建的项目到测试服务器进入测试阶段等,这样实现了安全检测的持续化、长久化、自动化。

4.3.实现代码安全的闭环式管理

平台可以和开源或商用的缺陷跟踪系统进行集成,当我们的代码安全检测结果经过审计后可以通过安全缺陷跟踪系统分配到相应的人员做缺陷修复, 同时可以从缺陷跟踪系统取回缺陷修复的状态, 进行验证性扫描。从而实现从缺陷的发现、审计、任务的分派、修复的状态跟踪、修复的结果验证和漏洞修复任务的关闭的一个漏洞生命周期的闭环式管理。

除了通过人工分派任务之外, 还可以系统自动根据漏洞的动态信任评分, 对高于一定阈值的漏洞实现自动化的分配。

4.4.保证项目的合规性

平台提供了发现的安全漏洞和不同合规标准的对照参考,譬如OWASP, SANS, PCI-DSS等合规标准,这使得使用平台进行代码安全检测得项目随时可以用项目需要符合得合规标准进行衡量当前的项目质量是否符合合规要求, 有问题的地方可以及时得到修复,由于平台的开放性,如果目前您企业的合规标准不在平台缺省支持的标准范围内, 我们也可以帮助企业进行快速地定制化。

4.5.有效降低软件安全问题修复成本

源代码安全检测是消除软件安全问题的根本,可从源头上杜绝代码注入、跨站脚本等高危安全问题,进而提升信息系统的安全级别。根据 Gartner 统计,在软件代码实现阶段发现并纠正安全问题所花费的成本,比软件交付后通过“上线安全评 估”发现问题再进行整改的成本要低50~1000 倍。越早发现源代码安全问题,其修复成本越低,TopSek代码安全检测平台可帮助组织在软件开发过程中“第一时间”发现安全问题,有效降低软件安全问题的修复成本。

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

软件源代码是组织机构的核心机密,源代码安全检测产品部署到开发和测试网络中之后,是否会引入其他的安全风险,如何保障源代码安全检测产品自身的安全可控,是组织机构关心的问题。代码安全检测分析管理平台是鼎赛科技自主研发的国产源代码安全检测产品,解决方案符合国家信息安全产品“自主、可控”的原则。

4.7.最小代价实现软件“基因”优化

如果将软件看作“虚拟人”,那么源代码安全检测就是可以解决软件“先天不良”的问题,做到“优生优育”。代码安全检测分析管理平台将信息安全作为软件的基础属性,将源代码安全检测点无缝集成于组织的开发和测试流程,组织无需改变原有流程,即可享有源代码安全检测带来的软件质量大幅提升的好处。

4.8.“一站式”代码安全解决方案

TopSek代码安全检测平台提供的源代码安全解决方案内容涵盖了建立代码安全保障体系、制定安全开发与测试规范、源代码安全检测平台搭建与整合集成、安全培训、高级代码分析服务等,贯穿整个软件安全开发生命周期。

网站安全代码_网站客服代码应该放到网站哪里_全景网站后台代码网站

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!