硬核国产代码审计工具Pinpoint介绍

简介

Pinpoint是由国内源伞科技所研制的一款静态代码审计工具,源伞科技公司是香港科技大学安全实验室的众多博士创建的,产品集成了实验室多年的研究成果,在众多国际顶级学术会议上都发表了成果论文,在学术界有很大的影响。近几年源伞科技将静态代码检测产品Pinpoint成功商业化,目前产品已经比较成熟,能够方便的集成各种安全开发流程,操作界面流畅。能够直接扫描JAVA的二进制文件,在Java和c/c++两种语言上的分析能力十分强大,扫描速度普遍快于市面上现有的产品,且拥有众多国内一线互联网以及金融公司的安全开发实例经验,不仅能够输出工具产品,也能够提供安全开发的解决方案,在国内静态代码分析领域处于领先地位。

高精度高性能的定理证明分析器

众所周知,传统的静态代码扫描技术中,主要有以下四种分析和检查原理

  • 缺陷模式匹配
    事先从代码分析经验中收集足够多的共性缺陷模式,将待分析代码与已有的共性缺陷模式进行匹配,从而完成软件安全分析。优点:简单方便;缺点:需要内置足够多的缺陷模式,容易产生误报。

  • 类型推断/类型推断
    类型推断技术是指通过对代码中运算对象类型进行推理,从而保证代码中每条语句都针对正确的类型执行。

  • 模型检查
    建立于有限状态自动机的概念基础上。将每条语句产生的影响抽象为有限状态自动机的一个状态,再通过分析有限状态机达到分析代码目的。校验程序并发等时序特性。

  • 数据流分析
    从程序代码中收集程序语义信息,抽象成控制流图,可以通过控制流图,不必真实的运行程序,可以分析发现程序运行时的行为。

而Pinpoint在这些基础上进行了科研创新,研发出了新一代的定理证明技术,该技术在众多的国际顶级学术会议上都发表了论文并且得到了国内外该领域专家的一致认可和好评。

那么什么是定理证明技术呢?我们可以举一个例子来说明。
以上这段程序,如果我们想检测其中是否存在空指针引用的情况,我们将采用一定方法对其进行分析。
传统的方法主要有几种:

  1. 将所有的分支结果枚举一遍,如果结果中存在空指针引用的情况,那么判断该段代码存在空指针引用的问题,该方法需要读取代码的所有内容,因此效率极差。
  2. 仅判断a指针是否可能为空,若可能的情况下,在引用前未加判断则直接判断该段代码存在空指针引用的问题,该方法无需花费太多时间,但准确性极低,误报较高。

而Pinpoint采用了自主研发的稀疏定理证明技术,可以同时做到准确且高效。

  1. 首先判断空指针引用的条件为:flag=true且a为空
  2. 接着向上搜索所有存在flag以及a的地方
  3. 发现若flag=true,那么x必须满足为true;a=null那么x必须满足为false
  4. 所以两个成立条件是互相矛盾的,因此该段程序并没有空指针引用的问题存在

这样的定理证明技术做到了在判断问题时不仅高效且十分的准确。

Java系语言的二进制扫描

当前许多的静态分析工具还无法对java系语言的二进制文件进行扫描分析,而仅仅分析源代码会造成十分庞大数量的误报,对于开发以及质量监管人员来说都是一个十分头疼的问题。对编译后的二进制文件分析,得出的结果往往更加准确,相当于直接理解了代码在做什么样的行为,那么这些行为所产生的后果也就能够推理分析出来。Pinpoint很早便自主研发出了java、android的二进制扫描分析,在该类语言的扫描结果上,准确率以及效率普遍高于其他同类产品。

在使用Pinpoint的过程中,将源码以及编译后的结果一起上传分析,程序将会首先分析二进制的结果文件,再结合源码,准确的将出错的位置标注并且展示,让使用者一目了然,同时,Pinpoint支持跨多编译单元追踪多级函数调用链,拥有自动学习函数库,能够建立应用安全分析所需模型。

针对企业的高并发CI/CD场景定制高可用部署方案

我们都知道,在安全开发建设的过程中,其实工具并不是一个特别让管理者头疼的点,最头疼的是一个合适自己企业开发场景的高可用部署方案,有了一个完整的、适用的、高效安全的方案,下面的建设就不再是无的放矢。源伞Pinpoint这款静态代码扫描工具,作为国内该领域的先行者,在为大大小小的企业进行服务的同时,也不断的学习和思考,形成了有着自己特色的针对不同企业的不同的高可用部署方案。在提供技术工具的同时,也能够输出这样的经验和解决方案,能够解决大部分企业所面临的安全开发建设方面的问题!

国产代码审计工具Pinpoint介绍相关推荐

  1. 应用性能管理工具PinPoint介绍

    概述 下面给大家介绍一个开源的 APM (Application Performance Management/应用性能管理)工具 - Pinpoint.一个分布式事务跟踪系统的平台,思路基于goog ...

  2. 第43篇:国内商用代码审计工具CodePecker啄木鸟的使用教程

     Part1 前言  最近感染了新冠,大病初愈,没有气力写复杂的文章了,就抽空把<代码审计工具系列教程>写完吧,前面几期介绍了商用代码审计工具Fortify.Checkmarx.Cover ...

  3. license 验证服务器唯一机器码_代码审计工具Fortify 17.10及Mac平台license版本

    介绍17.10版本安装指导工具使用云端试用价值 介绍 Fortify SCA是一个静态源代码安全测试工具.它通过内置的五大主要分析引擎对源代码进行静态的分析和检测,分析的过程中与其特有的软件安全漏洞规 ...

  4. PHP代码审计工具——rips

    一.代码审计工具介绍 代码审计工具可以辅助我们进行白盒测试,大大提高漏洞分析和代码挖掘的效率. 在源代码的静态安全审计中,使用自动化工具辅助人工漏洞挖掘,一款好的代码审计软件,可以显著提高审计工作的效 ...

  5. Fine BI、Smart BI、永洪BI、瓴羊Quick BI这些国产BI工具,都擅长哪些功能?

    近几年,随着国内大数据的火热,商业智能BI工具市场也迎来了大爆发,市面上涌现出了各种各样的BI工具,让很多企业在选择BI工具的时候遇上了"选择困难症". 在最初,大多数企业都会选择 ...

  6. 国产设计软件都有哪些,国产设计工具推荐

    许多人开始使用 Figma ,是因为 2020 年的疫情导致的居家隔离办公,作为在线设计工具的 Figma 在团队协作方面的出色表现,让它一举超越 Sketch,成为当下最流行的设计软件. ​不过,对 ...

  7. 【代码审计篇】 代码审计工具Fortify基本用法详解

    文章目录 前言 一.工具介绍 二.安装过程 三.升级中文规则库 四.代码审计过程 五.代码审计结果 六.中文乱码解决 前言 本篇文章讲解代码审计工具Fortify的基本用法,感兴趣的小伙伴可以研究学习 ...

  8. 第37篇:fortify代码审计工具的使用技巧(1)-审计java代码过程

     Part1 前言  在正式文章之前,插播一下:恭喜梅西圆梦,获得世界杯冠军,加冕球王,一场精彩绝伦的球赛.开心之后,还是要静下心学习的,我们也要继续努力. Fortify全名叫Fortify SCA ...

  9. Labview的国产测试工具神器ATECLOUD智能云测试平台技术特点

    ATECLOUD智能云测试平台作为近年来崛起的自动化测试测量工具,已经成为了国人心中属于中国人自己的"Labview".从传统的代码编码到Labview的图形化编程,再到ATECL ...

  10. Pinpoint介绍

    Pinpoint介绍 Pinpoint 是用 Java 编写的 APM(应用性能管理)工具,用于大规模分布式系统.在 Dapper 之后,Pinpoint 提供了一个解决方案,以帮助分析系统的总体结构 ...

最新文章

  1. 安防企业如何应对市场发展新机遇
  2. 自动化 专业 与行业
  3. react ui框架_顶级React组件库推荐
  4. 音视频技术开发周刊 | 205
  5. oracle listagg方法,Oracle实现字符串拼接和分离功能的方法(LISTAGG函数),oraclelistagg...
  6. 分数线划定(洛谷-P1068)
  7. Don't Make Me Think
  8. Bootstrap手风琴菜单
  9. OD调试初体验—关闭x86版winrar广告弹窗
  10. 旋风加速浏览器安卓android,旋风加速浏览器免费两个小时
  11. 计算机二级office学习之Excel操作题考点整理
  12. 世界上第一台二进制电子计算机,世界上公认第一台电子计算机.doc
  13. BZOJ3993[SDOI2015]星际战争 【最大流+二分答案】
  14. windows主机测评
  15. 习题:求1-n的阶乘之和,用一个非递归函数fac(n)求n!,n的值由主函数输入,最终得到的结果在主函数中输出。
  16. 订阅新闻联播文字标题到邮箱
  17. mysql重复数据只取一条数据_sql不重复的查找统计数据(经典)
  18. C# winform抽拉式菜单栏设计的一种方法
  19. Maven文件重命名
  20. 计算机基本配置要求,BIM软件的电脑硬件配置要求

热门文章

  1. 关于机械振动以及故障诊断
  2. Altera系列板子没有办法sudo,问题解决
  3. 以过来人身份给新手博主站长的几点小建议
  4. openGL编程指南第一章
  5. Kali-工具-crunch(字典生成)
  6. 美媒:马斯克已掌管推特 立即开除CEO、CFO,新CEO据传是曾经卖牛肉的中国人
  7. 滑动门套滑动门css,CSS 实现滑动门的实例代码
  8. 动易 转 html5,动易系统所有标签解释5
  9. win10下使用mklink命令给C盘软件搬家
  10. android签名命令行,Android系统签名位置及命令