常见代码审计工具,代码审计为什么不能只用工具?

news/2024/4/26 8:27:32/文章来源:https://blog.csdn.net/Uguardsec/article/details/129217673

代码审计是一种发现程序漏洞,安全分析为目标的程序源码分析方式。今天主要分享的是几款常用的代码审计工具,以及代码审计工具有哪些优缺点?

代码审计工具

seay代码审计工具,是一款开源的利用C#开发的一款代码审计工具。主要有SQL注入、xss跨站、命令执行、文件包含、文件上传、正则匹配、数据库执行监控等程序漏洞的监测。

frotify sca是惠普开发的一款商业性质的代码审计工具,主要包含了数据流、控制流、语义、配置、结构五大分析引擎。

rips是一款php开发,监测php程序漏洞的代码分析工具。该工具现目前的版本是0.5,并很早之前就已经停止更新。该工具能够发现SQL注入、xss跨站,文件包含,文件上传、代码执行、文件读取等漏洞。

findbugs是一款静态分析工具,属于eclipse的插件工具。

burp suite属于一款工具集成平台,主要包含了proxy(拦截http/s的代理服务器)、Spider(只能感应的网络爬虫)、Scanner(web应用漏洞)、Intruder(高度可配置工具)、Repeater(应用响应工具)、Sequencer(预测一些不可预知的漏洞,补发单独的http请求)、Decoder(程序的解码)、Comparer(反映请求和响应的差异)。该工具需要安装java环境。

Gerrit是一个基于 Web 的代码审查系统,适于采用 Git 版本控制系统开发的项目进行在线代码审查。

Phabricator是一个完整的开源软件应用程序,以Web基础,代码审查、计划、测试、浏览与审计评分、发现Bug等功能。

Review Assistant是Visual Studio的代码审查插件。可以创建审阅请求并在不离开Visual Studio的情况下对其进行响应。支持TFS,Subversion,Git,Mercurial和Perforce。

cobra:支持PHP、Jav等主要开发语言及其它数十种文件类型,支持检测多种漏洞类型,支持命令行模式和API模式。

VCG:它是一个基于字典的自动化源代码扫描工具,支持 C++, C#, VB, PHP, Java, PL/SQL and COBOL等多种语言,可以由用户自定义需要扫描的数据,可以对源代码中所有可能存在风险的函数和文本做一个快速定位和检索。

RIPS:PHP代码审计工具,支持跨平台部署,小巧强大。

SonarQube:SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等代码规则检测工具来检测代码,帮助发现代码漏洞。

代码审计工具优缺点

优点

1.降低人工成本

对于应用程序,扫描模式是通用的,计算机比人类更擅长这类扫描。在这种情况下,扫描器在扫描大型代码库漏洞时扮演着重要角色

2.发现漏洞的所有实例

扫描器可以非常有效地识别特定漏洞的所有实例及具体位置。跟踪大型代码库中所有文件的缺陷很难,扫描器对于这种情况很有帮助

3.源库分析

一些分析器通过源库分析的方式跟踪代码并识别漏洞。分析器识别可能的应用输入,并在所有源代码中彻底追踪输入,直到发现所有不符合安全代码模式的应用输入。源库分析能够帮助开发人员更好地理解代码缺陷和获得代码缺陷的根本原因

4.详细的报告格式

扫描器能够提供详细的分析报告,包括具体代码段的漏洞、漏洞的风险等级和详细描述。

缺点

1.未涉及业务逻辑缺陷

扫描器不能识别应用程序的业务逻辑、事务处理和敏感数据。通常,扫描器不能发现应用程序中需要实现的特定于某些功能和设计的安全控制。这些被认为是静态代码分析器的最大限制

2.范围有限

通常,静态代码分析器被设计用于特定的框架或语言,并且能够在一定范围内搜索特定漏洞模式的集合。在此范围之外,静态代码分析器并不能解决在搜索模式库中未涵盖的问题

3.不能发现设计缺陷

代码框架的设计缺陷没有固定模式,静态代码扫描器专注于代码层面。需要人工查看代码才能识别设计问题

4.误报

被扫描器标记的问题并非完全真实,需要有经验、了解安全编码的技术人员理解问题缺陷并对其进行分类。

总结

在源代码审计实际实施过程中,通常采用工具+人工的方式,首先使用源代码审计的扫描工具对源代码进行扫描,完成初步的信息收集,然后由人工的方式对源代码扫描结果进行人工的分析和确认。

根据收集的各类信息对客户要求的重要功能点进行人工源代码审计。

结合自动化源代码扫描和人工源代码审计两方的结果,源代码审计服务人员需整理源代码审计服务的输出结果并编制源代码审计报告,最终提交客户和对报告内容进行沟通。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_74111.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在外包公司熬了 3 年终于进了字节,竭尽全力....

其实两年前校招的时候就往字节投了一次简历,结果很明显凉了,随后这个理想就被暂时放下了,但是这个种子一直埋在心里这两年除了工作以外,也会坚持写博客,也因此结识了很多优秀的小伙伴,从他们身上学到了特别…

使用kubeadm 部署kubernetes 1.26.1集群 Calico ToR配置

目录 机器信息 升级内核 系统配置 部署容器运行时Containerd 安装crictl客户端命令 配置服务器支持开启ipvs的前提条件 安装 kubeadm、kubelet 和 kubectl 初始化集群 (master) 安装CNI Calico 集群加入node节点 机器信息 主机名集群角色IP内…

FreeRTOS的Delay函数

两个Delay函数有两个延时函数vTaskDelay:至少等待指定个数的Tick Interrupt才能变为就绪态xTaskDelayUtil:等待到指定的绝对时刻,才能变为就绪态个人感觉这两个延时函数就是,比如一个我等3个小时,一个是我等到下午3点的…

回归预测 | MATLAB实现BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆网络数据回归预测

回归预测 | MATLAB实现BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆网络数据回归预测 目录回归预测 | MATLAB实现BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆网络数据回归预测效果一览基本介绍模型搭建程序设计参考资料效果一览 基本介绍 基于贝叶斯优化卷积双向长短期记忆网络(…

会声会影2023专业版视频处理制作软件功能详细介绍

会声会影是一款专业的视频处理和制作软件,也是目前影楼制作结婚和一般视频特效制作的必备软件,他是一款专为个人及家庭所设计的数码影片编辑软件,可将数 字或模拟摄像机所拍下来的如成长写真、国外旅游、个人MTV、生日派对、毕业典礼等精彩生…

惠普m1136打印机驱动程序安装教程

惠普m113打印机是一款功能强大的多功能打印机,它能够打印、复印、扫描和传真等。如果你要使用这款打印机,你需要下载并安装驱动程序,以确保它能够在你的计算机上正常工作。在本文中,我们将介绍如何下载和安装惠普m1136打印机驱动程…

loki 日志管理的安装部署使用

loki介绍 Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。 不对日志进行…

STM32——窗口看门狗

什么是窗口看门狗? 窗口看门狗用于监测单片机程序运行时效是否精准,主要检测软件异常,一般用于需要精准检测 程序运行时间的场合。 窗口看门狗的本质是一个能产生系统复位信号和提前唤醒中断的6位计数器。 产生复位条件: 当递减…

关于死锁的一些基本知识

目录 死锁是什么? 死锁的三种经典情况 1.一个线程,一把锁,连续加锁两次,如果锁是不可重入锁就会死锁。 不可重入锁与可重入锁: 2.两个线程两把锁,t1和t2各自针对于锁A和锁B加锁,再尝试获取…

MongoDB-怎么将csv数据导入mongodb数据库的某张表中

背景介绍 背景就是开发突然问我能不能往数据库导数据,然后只需要某几列的数据。我的第一想法是:用python脚本读取csv文件,将内容拼接成json格式的文本,然后用脚本的方式导入。后来发现我用的GUI工具就可以直接导入数据到数据库中。…

OSS存储使用之centOS系统ossfs挂载

以CentOS7系统为例 下载CentOS系统支持的ossfs工具的版本,以下载CentOS 7.0 (x64)版本为例,可以通过wget命令进行安装包的下载 wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm 也可以通过yum命令来进行安装包的下载 sud…

操作系统权限提升(十三)之绕过UAC提权-MSF和CS绕过UAC提权

系列文章 操作系统权限提升(十二)之绕过UAC提权-Windows UAC概述 注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!! MSF和CS绕过UAC提权 CS绕过UAC提权 拿到一个普通管理员的SHELL,在CS中没有*号代表有…

排序基础之选择排序法

目录 前言 一、什么是选择排序 二、实现选择排序 三、使用泛型扩展 四、使用自定义类型测试 前言 今天天气不错,这么好的天气不干点啥实在是有点可惜了,于是乎,拿出键盘撸一把! 来,今天来学习一下排序算法中的选…

死磕Spring,什么是SPI机制,对SpringBoot自动装配有什么帮助

文章目录如果没时间看的话,在这里直接看总结一、Java SPI的概念和术语二、看看Java SPI是如何诞生的三、Java SPI应该如何应用四、从0开始,手撸一个SPI的应用实例五、SpringBoot自动装配六、Spring SPI机制与Spring Factories机制做对比七、这里是给我自…

你在公司混的差,可能和组织架构有关!

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,非公众号转载保留此声明。如果你接触过公司的面试工作,一定见过很多来自大公司的渣渣。这些人的薪资和职位,比你高出很多&#xff0…

利用steam搬砖信息差赚钱,单账号200+,小白也能轻松上手!

现在很多人在做互联网而且也赚到钱了,但还是有很多人赚不到钱,这是为什么? 这里我不得不说一个词叫做赛道,也就是选择,选择大于努力,项目本身大于一切,90%的人都觉得直播带货赚钱,但…

MySQL语法之DQL数据查询语言(数据库的查询)

Java知识点总结:想看的可以从这里进入 目录2.5.4、DQL数据查询1、简单查询2、模糊查询3、连表查询4、自连接5、UNION6、排序7、分页查询8、分组查询9、子查询in10、子查询EXISTS2.5.4、DQL数据查询 数据库的基本功能,对数据进行查询。关键字select&…

Python3+Selenium3自动化测试

此前对网页内容进行元素定位的操作,接下来就可以对已经定位的元素进行操作了,一般情况下定位好元素后通过IDE的提示就可以了解到有哪些方法 #coding utf-8 import time from selenium import webdriver from selenium.webdriver.common.by import By dr…

关于永中Office(永中办公软件)不认Windows系统安装的字体的解决办法

一位网友的电脑最近安装了永中Office软件,在使用过程中发现无法使用方正小标宋简体、仿宋GB2312等字体,这些字体在之前所用的微软Office中可以正常使用。他根据网上查到的一些的资料,将这些字体文件复制到C:\Program Files\Yozosoft\Yozo_Off…

【AcWing-Python-786】第k个数/快速选择算法

题目:https://www.acwing.com/problem/content/788/对应视频讲解:https://www.acwing.com/video/228/题目描述回顾快排【AcWing-Python-785】快速排序 - CSDN博客(一)步骤找到分界点x:可以是区间最左端点、区间最右端点…