浅谈安全漏洞

一、安全漏洞简介

      安全漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。

      具体举例来说,比如在Intel Pentium芯片中存在的逻辑错误,在Sendmail早期版本中的编程错误,在NFS协议中认证方式上的弱点,在Unix系统管理员设置匿名Ftp服务时配置不当的问题都可能被攻击者使用,威胁到系统的安全。因而这些都可以认为是系统中存在的安全漏洞。

二、漏洞与具体系统环境之间的关系及其时间相关特性

      漏洞会影响到很大范围的软硬件设备,包括作系统本身及其支撑软件,网络客户和服务器软件,网络路由器和安全防火墙等。换而言之,在这些不同的软硬件设备中都可能存在不同的安全漏洞问题。在不同种类的软、硬件设备,同种设备的不同版本之间,由不同设备构成的不同系统之间,以及同种系统在不同的设置条件下,都会存在各自不同的安全漏洞问题。

      漏洞问题是与时间紧密相关的。一个系统从发布的那一天起,随着用户的深入使用,系统中存在的漏洞会被不断暴露出来,这些早先被发现的漏洞也会不断被系统供应商发布的补丁软件修补,或在以后发布的新版系统中得以纠正。而在新版系统纠正了旧版本中具有漏洞的同时,也会引入一些新的漏洞和错误。因而随着时间的推移,旧的漏洞会不断消失,新的漏洞会不断出现。漏洞问题也会长期存在。

      因此脱离具体的时间和具体的系统环境来讨论漏洞问题是毫无意义的。只能针对目标系统的作系统版本、其上运行的软件版本以及服务运行设置等实际环境来具体谈论其中可能存在的漏洞及其可行的解决办法。

      同时应该看到,对漏洞问题的研究必须要跟踪当前最新的计算机系统及其安全问题的最新发展动态。这一点如同对计算机病毒发展问题的研究相似。如果在工作中不能保持对新技术的跟踪,就没有谈论系统安全漏洞问题的发言权,即使是以前所作的工作也会逐渐失去价值。  

三、常见的安全漏洞

1. 缓存溢出

      这个问题一般出现在用较早的编程语言、如C语言编写的程序中,这种编程错误其实也是由于没有很好地确定输入内容在内存中的位置所致。

2. 注入式攻击

       如果没有成功地阻止带有语法含义的输入内容,有可能导致对数据库信息的非法访问,在Web表单中输入的内容应该保持简单,并且不应包含可被执行的代码。

3. 异常错误处理

      当错误发生时,向用户提交错误提示是很正常的事情,但是如果提交的错误提示中包含了太多的内容,就有可能会被攻击者分析出网络环境的结构或配置。

4. 不安全的存储

      对于Web应用程序来说,妥善保存密码、用户名及其他与身份验证有关的信息是非常重要的工作,对这些信息进行加密则是非常有效的方式,但是一些企业会采用那些未经实践验证的加密解决方案,其中就可能存在安全漏洞。

5. 程序拒绝服务攻击

       与拒绝服务攻击 (DoS)类似,应用程序的DoS攻击会利用大量非法用户抢占应用程序资源,导致合法用户无法使用该Web应用程序。

6. 不安全的配置管理

     有效的配置管理过程可以为Web应用程序和企业的网络架构提供良好的保护。

四、漏洞权威平台的发布

      漏洞发布平台有很多,权威的也不少,本文只针对软件研发人员介绍国际上权威的两个漏洞发布平台。

1. CWE(Common Weakness Enumeration ,通用缺陷枚举

      CWE是由美国国家安全局首先倡议的战略行动。在CWE站点上列有800多个编程、设计和架构上的错误,CWE文档首先列举的是针对程序员最重要的25项(Top 25),同时也是软件最容易受到攻击的点,从而帮助他们编写更安全的代码。同时文档还适用于软件设计师、架构师、甚至CIO,他们应该了解这些可能出现的弱点,并采取恰当的措施。

2. OWASP(Open Web Application Security Project ,开源web应用安全项目)

      OWASP是由一个开放性社区倡议的项目,致力于帮助各组织开发、购买和维护可信任的应用程序。Top10项目的目标是通过确定企业面临的最严重的威胁来提高人们对应用安全的关注度。使用OWASPTop10可以让企业了解到应用安全。开发人员可以从其他组织的错误中学习。执行人员能开始思考如何管理企业中软件应用程序产生的风险。

五、安全漏洞扫描工具

1. Coverity

      官网地址:Coverity SAST Software | Synopsys

      Coverity是一款快速、准确且高度可扩展的静态分析 (SAST) 工具,提供全面广泛的安全漏洞和质量缺陷检查规则,涵盖22种编程语言,超过70余种应用框架及常用的架构即代码(infrastructure-as-code)平台和文件格式,并支持云部署,并通过 CI、SCM、问题跟踪集成和 REST API,将 SAST 嵌入 DevOps 流水线。

2. Veracode

      官网地址:Industry-Leading Application Security Testing Solutions | Checkmarx

      Veracode静态分析工具能为为IDE和CI/CD管道中的开发人员提供快速、自动的反馈,在部署前执行完整的策略扫描,并就如何快速查找、确定优先级和修复问题提供明确的指导,而且误报率低。

3. Checkmarx

      官网地址:Industry-Leading Application Security Testing Solutions | Checkmarx

     Checkmarx能提供较完整的软件安全测试及其解决方案,将应用安全与DevOps文化结合起来,使得开发人员能够更快地交付安全应用。其中CxSAST是高度准确和灵活的源代码分析产品,能够让组织自动扫描未经编译/构建的代码,识别最流行的编码语言中的数百个安全漏洞。

4. Fortify

      官网地址:Static Code Analyzer | Static Code Analysis Security | CyberRes

      Fortify目的是让开发人员创建无错误的安全代码,开发团队和安全团队都能使用。可以让开发团队和安全团队共同发现并修复安全相关的问题,在扫描代码的同时,它会对发现的问题进行排序,从而可以确保首先修复最关键的问题。有完整的SDLC集成,广泛的语言支持,支持复杂的场景的部署。

5. NTT

      官网地址:Static Application Security Testing | NTT Application Security

      NTT在 DevOps 周期的早期,跨开发、运营和安全团队自动执行和扩展应用程序安全性,并提供安全代码。提高修复率,缩短修复时间,并节省宝贵的资源。高速和全自动测试,用于扫描最常用编程语言和框架的源代码。

6. 悟空

      官方网站:『悟空』软件源代码漏洞检测_静态代码安全扫描工具-中科天齐

      悟空是一款静态代码分析工具,为客户在软件开发过程中查找、识别、追踪绝大部分主流编码中的技术漏洞和逻辑漏洞,帮助用户提升抵御网络攻击、防止数据泄露等安全问题的能力。

7. CodeSense

      官方网站:国内基础软件领导者,程序分析专家

      CodeSense 是泛联新安新一代的软件源代码缺陷分析平台。经过清华大学与国防科技大学的专家团队对代码静态分析技术的深度理论研究。支持WINDOWS、LINUX、银河麒麟等主流操作系统,通过了银河麒麟飞腾 OS 系统兼容性认证;支持的编程语言:C/C++、C#、JAVA、PHP、PYTHON、JAVASCRIPT、LUA、XML等;支持的主流开发框架:SPRINGMVC、SPRINGBOOT、SSM、STRUTS2、THINKPHP、FLASK等;支持的构建工具:CMAKE、MAVEN;支持的SCM工具:GITLAB、GITHUB、SVN;支持的构建系统:JENKINS、GITLAB-CI;支持的BUG跟踪系统:禅道;REST API集成,可由第三方系统集成并DevOps。 覆盖CWE 7PK、OWASP TOP 10、GJB-8114、GJB-5369、MISRA等行业标准与规范。

8. CodePecker

     官方网站:CodePecker北京酷德啄木鸟信息技术有限公司

      对源代码进行检测,可支持多种语言,具有检出率高,覆盖度广,侵入性小,风险程度低等优势。在对目标软件代码进行语法、语义分析的技术上,辅以数据流分析、控制流分析和特有的缺陷分析算法等高级静态分析手段,能够及时准确检测出源代码各种缺陷漏洞,消除漏洞。提高应用系统自身安全防护能力。

9. Cobot

      官方网站:北大软件-打造富有生命力的软件

     支持C、C++、JAVA、C#、Scala、Groovy、Kotlin、.net等多种语言,支持多种文件导入方式及检测规则,自动识别语义缺陷、安全漏洞和编码规则等问题。

10. 鸿渐

     官方网站:鸿渐科技-自主可控代码安全分析引领者

      鸿渐源代码静态检测工具(简称鸿渐SAST)是基于北大和中科院等高校优秀毕业生多年的研究成果,应用多种国际先进代码分析、深度学习技术,研发的源代码检测工具,面向组织的源代码检测需求,在不改变组织现有开发、测试流程的前提下,与源代码管理系统(Git、SVN等)、缺陷管理系统(如Jira、Bugzilla、禅道等)、 持续集成工具(如Jenkins、禅道)无缝对接,将源代码检测融入企业的研发流程,实现了源代码编码规则检测、运行时缺陷检测、安全漏洞检测、度量统计、克隆检测、编译不通过检测逆向架构图自动生成,并提供了检测器自主研发接口等功能,帮助组织快速构建源代码安全自主检测体系和能力。

六、总结

      安全漏洞往往会给组织带来极大的麻烦。攻击者会利用它们去攻击普通用户、管理员以及那些连接和使用此类应用的用户。超过50%的安全漏洞是由错误的编码产生的,开发人员一般安全开发意识和安全开发技能不足,更加关注业务功能的实现。想从源头上治理漏洞就需要制定代码检测机制,在开发阶段对源代码进行安全测试发现安全漏洞的测试方案。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网络安全漏洞标识与描述规范,是一个针对网站、服务器、应用程序等进行漏洞标识与描述的指南,旨在统一网络安全行业的术语与描述,提高漏洞识别与修复的效率。 该规范的主要内容包括以下几个方面: 1. 漏洞编码规范:给每个漏洞分配一个唯一的标识码,便于快速识别和查找漏洞。标识码一般由数字和字母组成,具备一定的逻辑顺序,便于分类与管理。 2. 漏洞描述规范:对漏洞进行详细的描述,包括漏洞的原理、影响范围、攻击难度、修复建议等信息,以便安全专家和开发人员更好地理解和处理漏洞。 3. 漏洞等级划分:根据漏洞的严重程度和危害等级,将漏洞划分为不同的等级,例如:低、中、高、紧急等级。这有助于优先处理高危漏洞,减少对系统的影响。 4. 漏洞报告模板:规定了漏洞报告应包含的必要信息,如漏洞名称、漏洞编号、漏洞描述、漏洞修复方案等,以便于信息的传递和处理。 5. 漏洞修复验证标准:定义了漏洞修复完成后的验证标准,确保漏洞修复工作有效实施,并对修复后的系统进行一定的验证和测试。 通过遵守网络安全漏洞标识与描述规范,我们可以更好地提高漏洞的识别和分析能力,加强漏洞的修复与管理工作,从而提升我们的网络安全防护水平。同时,规范的使用也方便了安全专家之间的沟通和交流,共同促进整个网络安全行业的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值