代码静态分析

2023-11-13

1、简介

        静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。代码检查代码检查包括代码走查、桌面检查、代码审查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面;可以发现违背程序编写标准的问题,程序中不安全、不明确和模糊的部分,找出程序中不可移植部分、违背程序编程风格的问题,包括变量检查、命名和类型审查、程序逻辑审查、程序语法检查和程序结构检查等内容。

       静态代码扫描工具,和编译器的某些功能其实是很相似的,他们也需要词法分析,语法分析,语意分析...但和编译器不一样的是他们可以自定义各种各样的复杂的规则去对代码进行分析。

2、开源工具

Cppcheck

cpplint

Klocwork

PC-lint

Fority

3、Fority SCA

目前Fortify SCA可以扫描出约350种漏洞,Fortify将所有安全漏洞整理分类,根据开发语言分项目,再细分为8个大类,约350个子类,具体信息可登录Fortify 官方网http://www.fortify.com/vulncat/ 进行查询。

regex,rule

web php代码扫描:A1 注入 7个 A3 xss 37个 A4 不安全的直接对象引用 35个 A6 敏感数据暴露 4个 A10 未验证的重定向和转发 2个

1)分析引擎:内置五大分析引擎与规则包配合工作,从五个侧面全面地分析程序源代码中的安全漏洞。

2)安全编码规则包:由多位顶级的软件安全专家,多年研究出来的数十万条软件安全漏洞特征的集合。目前能查找出来约350多种安全漏洞,内置在SCA中与分析引擎配合工作。

3)审计工作台:一个用来查看,审计SCA分析出来的漏洞结果的综合的平台,它包含大量的丰富的软件漏洞的信息,如下图2 所示,它包括了漏洞的分级,漏洞产生的全过程,漏洞所在的源代码行数定位,以及漏洞的解释说明和推荐的修复建议等内容,极大地方便地用户对SCA的查看,审计等工作。

4)规则自定义向导/编辑器:Fortify SCA的规则支持自定义功能,方便用户来扩展SCA对漏洞的分析能力,所以SCA提供了一个用户自定义的向导和编辑器。

5)IDE插件:为了方便用户使用SCA对程序源代码进行安全扫描,它提供了多种IDE工具的插件,如Eclipse, Visual Studio,RAD, WSAD等。

参考链接:

https://www.cnblogs.com/hejing-swust/p/9451512.html

https://blog.csdn.net/ghoulvspol/article/details/6131055

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

代码静态分析 的相关文章

  • Redis基础学习

    目录 第一章 Redis数据库的下载和安装 1 1 nosql数据库和 Redis 介绍 1 2 Windows中下载安装Redis数据库 1 3 Linux中安装Redis数据库 1 4 Linux中启动redis 1 5 Linux中关
  • Vue中关于收集表单数据

    收集表单数据 若
  • JDBC连接数据库 超时问题

    JDBC连接数据库 同样是基于SOCKET连接 至于说为什么要设置超时时间 想必你懂得 OK 没时间废话 直接上代码 Properties info new Properties 连接超时时间 单位 毫秒ms info put oracle
  • unity - 重置Animator组件状态

    问题 动画给的Animation更改了物体的很多属性 如Active Alpha Scale Position等等 物体本身需要重复利用 因此使用对象池技术不直接销毁而是隐藏等需要时再显示 但是在隐藏后发现再次显示的时候有些属性不会自动复原
  • 数字电路延时

    文章目录 名词定义 RC延时模型 Elmore延时 线性延时模型 路径逻辑努力 小结 附录 DC综合 作为一名数字电路设计工程师 为了避免设计一些垃圾出来 应该深入理解为什么一个电路具有延时以及如何修改这个电路以改善延时 设计者还必须有一些
  • 如何查看IntelliJ IDEA的版本信息

    作者 13 GitHub https github com ZHENFENG13 版权声明 本文为原创文章 未经允许不得转载 IDEA的版本信息问题 额 说实在的 这篇文章十三一开始也不是很想整理的 因为这并不是个很大的问题 不仅仅不是个大
  • Django高级扩展之文件上传

    文件上传是一个比较常用的网站功能 在服务器端 Django会使用一个叫作request FILES的对象来处理上传的文件 目录 存储路径 创建存储目录 配置settings py 上传单文件 配置url 上传文件模板 视图方法 显示上传页面
  • typora插件_Typora+zotero搞定Markdown随写随引

    使用工具及简要安装 Typora 超级好用的免费Markdown编辑器 在尝试了多款Markdown软件之后 我选择了它 下载链接 Typora官网 https www typora io Zotero 文献管理软件 插件Better Bi
  • char与signed char, unsigned char的区别

    一 开始 今天有一个困扰的问题 就是char与signed char unsigned char这三者的区别 二 三者之间 1 ANSI C 提供了3种字符类型 分别是char signed char unsigned char 而不是像s

随机推荐

  • matlab中的mod和rem的异同

    rem和mod是求余的 但是算法不同 差异在哪呢 就在于分别使用了fix和floor 函数fix和floor都是圆整用的 fix是向0的方向圆整 如fix 1 5 1 fix 1 5 1 而floor是向下圆整 如floor 1 5 2 f
  • Maven下Junit的使用

    创建Maven项目 在pom xml中添加引用包Junit
  • 示波器的原理和使用

    1 示波器简介 示波器是一种用来测量交流电或脉冲电流波的形状的仪器 由电子管放大器 扫描振荡器 阴极射线管等组成 除观测电流的波形外 还可以测定频率 电压强度等 凡可以变为电效应的周期性物理过程都可以用示波器进行观测 2 示波器的分类 模拟
  • 前端html后端java_前端html向后端java传递数据的几种方式(暂时使用到)

    注 data 类型可按照具体场景 具体定义 不仅仅只有下面的传递方式 1 删除 前段传递方式为dataType JSON type DELETE 前段 ajax url interfaces deleteAccessRule id type
  • win10 Face_recognition教程

    文章目录 1 pip加速下载 更改pip镜像源 2 face recognition配置 1 安装dlib 2 安装face recognition modules 3 安装face recognition 4 人脸识别开源项目集锦 htt
  • HashMap的使用

    put方法 Hashmap的put方法放值 可以单次向HashMap中添加一个键值对 没有顺序 HashMap
  • 微信小程序开发笔记一

    微信小程序开发笔记 一 微信小程序的结构 1 初识小程序 2 快捷键 3 查阅文档 二 常用组件 1 input组件 2 button组件 三 小程序中的函数 1 函数的两种定义方法 2 带参函数 3 js中的默认函数 4 其它常用函数 四
  • vue在原有的类名上,动态渲染添加新类名

    vue在原有的类名上 动态渲染添加新类名
  • Redis相关-03

    Redis相关 03 Redis配置文件详解 持久化 RDB操作 持久化 AOF操作 Redis订阅发布 Redis集群环境搭建 主从复制 宕机手动配置主机 哨兵模式 缓存穿透以及雪崩 一 Redis配置文件详解 1 单位说明 Note o
  • S7-1500系列博途中使用SCL语言编程方法简介

    SCL Structured Contorl Language 结构化控制语言 在TIA博途软件中 默认支持SCL语言 在建立程序块时可以直接选择SCL语言 SCL语言类似计算机高级语言 如果你有C Java C Python这种高级语言的
  • gradle 历史版本下载链接

    https gradle org releases
  • 阿里云解决外网不能访问

    开发十年 就只剩下这套Java开发体系了 gt gt gt 1 未配置该端口安全策略 配置如下后 所有ip都可以访问 全部端口都可以使用了 如果只需要特定ip或端口开放也可以进行设置 2 防火墙的原因 我写了关于centos开启防火墙和开放
  • C# 1. 介绍

    1 介绍 C 读作 See Sharp 是一种简洁 现代 面向对象且类型安全的编程语言 C 起源于 C 语言家族 因此 对于 C C 和 Java 程序员 可以很快熟悉这种新的语言 C 已经分别由 ECMA International 和
  • 启动VMware虚拟机时出现黑屏解决办法

    以管理员身份运行 命令提示符 gt 输入命令 netsh winsock reset gt 运行后重启电脑 gt Enjoy it 上述命令作用 重置winsock网络规范
  • linux etc下的profile和/etc/bashrc

    etc profile的设置方法对所有登录的用户都有效 bashrc只对当前用户有效 上面两个都是配置文件 开机后 系统会先读取 etc profile 再读 bashrc 不同的用户 bashrc文件可以有不同的设置 而 etc prof
  • GitHub使用--上传一个文件

    上传文件到GitHub需要用到两个软件 分别是GitHub TortoiseGit 创建步骤如下 1 选择文件夹 2 右键选择 代码仓库 3 如果上传的文件根目录是这个 就不勾选 反之勾选 4 确认 5 文件右击选择commit 6 填写M
  • 扩展阿里p3c实现自定义代码规范检查

    前段时间fastjson报出了漏洞 只要打开setAutoType特性就会存在风险 自己测试环境的一个项目被揪出来了 虽然改动很小 但就是觉得憋屈 fastjson还是挺好的 想着禁用的话太可惜 用的话又要注意安全 就想着找款工具提示下在用
  • Node.js基础——模块

    文章目录 在Vscode上使用node js运行js代码 法一 终端运行 法二 右键Run Code Vsode设置node代码提示 CommonJS规范 模块化规范 JS标准的缺陷 没有模块化系统带来的影响 CommonJS的模块化规范
  • Flutter运行在Android上卡Running Gradle task ‘assembleDebug...

    Flutter运行在Android上卡Running Gradle task assembleDebug 是因为无法访问官方源 下面进行换源 1 修改配置文件 buildscript repositories google mavenCen
  • 代码静态分析

    1 简介 静态测试包括代码检查 静态结构分析 代码质量度量等 它可以由人工进行 充分发挥人的逻辑思维优势 也可以借助软件工具自动进行 代码检查代码检查包括代码走查 桌面检查 代码审查等 主要检查代码和设计的一致性 代码对标准的遵循 可读性