编译器安全

在供应链安全中,大家一直关注采用SCA工具分析开源组件中的安全漏洞以及许可证的合规性。但是对于底层软件开发使用的编译器、链接器等安全却容易被忽视,其中有没有安全漏洞、有没有运行时缺陷、有没有被植入漏洞、木马等,似乎并没有引起多少人注意。今天我正好拿到了库博静态分析工具,利用它检测一下gcc编译器,看看这款编译器质量怎么样?

网络上百度了一下,国内C/C++常用的编译器GCC 4.8.1版本比较多,我从官网网站(GCC Releases)下载了源代码,注意我们使用编译器等软件最好从官方网站下载呦。整个代码我一次性加载检测,达到了700多万行,这需要128G内存,明显笔记本是很少有128G内存,只能从其中找最重要的gcc目录下文件进行检测,大家可以看到就有310多万行源代码,其中C语言程序文件29232个,还有少量Fortran语言、Objective-C等程序文件。人家代码注释率还是满足一般企业标准的啊,将近20%的注释率。

        有的小伙伴可能看到了检测结果,有21148个缺陷,8156个安全漏洞,还有3518个违反编码标准的问题,程序员看了直接大喊,这不活了,这些问题,要修改到我死啊。哈哈,不要着急,我们看看他们使用了那些规则检测的。

      可以看到使用了C/C++常见安全漏洞检测规则、CWE通用缺陷和OWASP C安全漏洞,看看里面都是啥规则呢?

       我噻,C /C++语言常见的运行时缺陷全包括了,规则真是很全面。

            再打开一个规则详细看看呢?里面还有5个子类。

打开一个规则看看,描述怎么样?还是很详细的信息。还能导入规则。

        说了这么多,我们看看检测结果咋样?  

        打开运行时缺陷,打开内存泄露这个规则,右侧会列出检测结果。

    

我们打开一个检测结果看看,如下图。对于缺陷的描述非常清晰,包括了缺陷的名称、级别、爆发点在多少行,整个缺陷的source、sink等缺陷跟踪路径非常清晰。在某个节点上,还可以丰富的右键功能,查看变量、函数的定义,调用图等,好逆天的功能啊,这种逆向工程功能对于我们分析缺陷,非常有帮助。

        gcc编译器中这么多问题,对于我们很多企业只是使用gcc做编译来说,可能并不台关心这些编译器的缺陷或漏洞是否对于我们被编译的代码产生影响。因为代码可能是在物理隔离的环境上去使用,例如上,车载软件,船载软件等,但是这些缺陷可能被利用的难度很大,但是是否有被利用的风险呢,肯定是有的。只要有通讯,有与其它软件进行交互,就可能存在风险。但是对于运行时缺陷,利用内存泄露、数据越界等不一定需要外界触发引起问题,程序自身存在问题就会导致异常、Crash等,如果不是下载地址被恶意攻击了,产生的是供应链安全攻击,前几年出现的苹果开发套件被植入木马的事件也曾经发生过。所以要保证供应链的安全,不仅仅使用SCA工具去检测开源组件,而开源软件本身的风险可能更加严重,其攻击目的和带来的损失不是使用钱来衡量的。

       由于时间关系,我今天分析到这里,下次继续啊。

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

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

相关文章

nodejs+vue线上生活超市购物商城系统w2c42

超市管理系统的开发流程包括对超市管理系统的需求分析,软件的设计建模以及编写程序实现系统所需功能这三个阶段。对超市管理系统的需求分析。在这个阶段,通过查阅书籍,走访商场搜集相关资料,了解经营者对软件功能的具体所需和建议…

【计算机毕业设计】Node.js商城APP-97200,免费送源码,【开题选题+程序定制+论文书写+答辩ppt书写-原创定制程序】

Node.js商城APP的开发 摘 要 在传统的商业模式中,对于日常各类商品,人们习惯于到各种商家店铺购买。然而在快节奏的新时代中,人们不一定能为购买各类商品腾出时间,更不会耐心挑选自己想要的商品。所以设计一个商城APP&#xff0c…

【Java源码】智慧工地云平台:工地管理专家

智慧工地是目前建筑行业的热门话题之一,它代表了未来建筑施工的发展趋势。那么,智慧工地的未来,你看好吗? 从技术角度来看,智慧工地无疑是未来发展的趋势。随着人工智能、大数据、云计算等技术的飞速发展,智…

RESTful API 设计指南——开篇词

引言 十年后的今天,我终于学会了RESTful API。 以上,就是我最近一个月的心路历程。入职新公司不到2周,自己都还没完全理解RESTful API就要求给校招应届生培训,着实压力山大。培训结束后也感觉收获颇丰,遂总结分享出来&…

cpupower命令

Linux 内部共有五种对频率的管理策略 userspace , conservative , ondemand , powersave(省电模式) 和 performance(性能模式)。 performance: 顾名思义只注重效率,将CPU频率固定…

【AI实用技巧】GPT写sql统计语句

编写sql的统计语句是一项复杂的任务,特别是涉及多表的情况下。但有了GPT的帮助,一切变得轻松愉快。 AI7号 - 最强人工智能(GPT)中文版https://ai7.pro/s/9v2um 举例说明 有表结构如下: users(user_id, name) bills(…

CRM系统的客户细分有什么作用?

我们常常说,企业想要开展有针对性的营销活动,就需要进行客户细分。通过特定条件,将客户分为几类,从而对不同类型的客户提供不同的产品和服务。下面我们就针对这里来详细说说,CRM中客户细分是什么?如何细分客…

ADB安装及使用介绍

一、ADB简介 1、什么是adb ADB 全称为 Android Debug Bridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是 Android 设备。 ADB 也是 Android SDK 中的一个工具,可以直接操作管理 Android …

Linux安全之AIDE系统入侵检测工具安装和使用

一、AIDE 系统入侵检测工具简介 AIDE,全称为Advanced Intrusion Detection Environment,是一个主要用于检测文件完整性的入侵检测工具。它能够构建一个指定文件的数据库,并使用aide.conf作为其配置文件。AIDE数据库能够保存文件的各种属性&am…

出版级柱状图绘制,轻松拿捏(初学者友好的R包ggpubr在线版)

工具地址 Galaxy中国(UseGalaxy.cn) > Graph/Display Data > 柱状图 功能描述 这个工具可以绘制出版级柱状图,是 ggpubr 包的 barplot 工具的在线版。 条形图通过垂直或水平的条形展示分类变量的分布(频数)。横坐…

九宫格 图片 自定义 路径

<image :src" ../../static/img/ item.urlname .png " class"u-w-82 u-h-82 u-p-t-36"></image>使用场景&#xff1a;九宫格里含有多张图片 html <view class"u-p-b-46 u-p-x-35"><u-grid :border"false" c…

element表格分页+数据过滤筛选

目录 前言效果展示分页效果展示搜索效果展示 代码分析分页功能过滤数据功能 全部代码 前言 在el-element的标签里的tableData数据过多时&#xff0c;会导致表格页面操作卡顿。为解决这一问题&#xff0c;有以下解决方法&#xff1a; 分页加载&#xff1a; 将大量数据进行分页&…

Django 入门学习总结8-管理页面的生成

修改polls/admin.py文件为&#xff1a; from django.contrib import admin from .models import Choice, Question class ChoiceInline(admin.StackedInline): model Choice extra 3 class QuestionAdmin(admin.ModelAdmin): fieldsets [ (None, {&q…

系列十四、异步回调

一、概述 二、案例代码 /*** Author : 一叶浮萍归大海* Date: 2023/11/21 10:45* Description: 异步任务案例代码*/ public class CompletableFutureMainApp {public static void main(String[] args) throws ExecutionException, InterruptedException {CompletableFuture<…

WMS仓库管理系统的应用场景有哪些?

“WMS仓库管理系统的应用场景有哪些&#xff1f;” WMS&#xff08;仓库管理系统&#xff09;作为一种强大的工具&#xff0c;它在提升仓库操作效率、优化库存管理以及改善供应链可视性方面发挥着关键作用。那么&#xff0c;WMS究竟在哪些场景下展现出强大的应用价值呢&#x…

【HarmonyOS】低代码平台组件拖拽使用技巧之列表

【关键字】 HarmonyOS、低代码平台、组件拖拽、列表、列表项 1、写在前面 我们在日常开发中使用最多的组件可能就是列表组件了&#xff0c;现在几乎所有的应用都离不开列表&#xff0c;那么今天我们就来介绍一下如何利用低代码平台来实现列表的展示&#xff0c;列表实际上也是…

react重要知识点(面经)

react重要知识点&#xff08;面经&#xff09; react生命周期classhooks reduxredux 核心概念redux 计数器案例 react页面加载卡顿使用懒加载异步加载JavaScript压缩和缓存静态资源使用React.memo() PubSub使用方式1.1 react导入库1.2 react 页面引入pubsubjs1.3 pubsubjs使用2…

高斯分布。

(5 封私信 / 80 条消息) 正态分布 - 搜索结果 - 知乎 (zhihu.com)https://www.zhihu.com/search?typecontent&q%E6%AD%A3%E6%80%81%E5%88%86%E5%B8%83正态分布&#xff08;Normal Distribution&#xff09;&#xff0c;也称常态分布&#xff0c;又名高斯分布&#xff08;G…

(影视源码)最新苹果CMS海螺影视V20模板源码/影视网站程序源码/后台全修复版+广告代码添加与优化

源码简介&#xff1a; 这个是2023最新苹果CMS海螺影视程序模板源码&#xff0c;V20电影影视网站源码&#xff0c;它后台全修复版广告代码添加与优化。海螺模板一直是苹果cms比较好看的模板。苹果CMS就是影视解析的PHP源码&#xff0c;站长朋友可以拿去搭建一个影视站引流&…

Python运维监控系统之架构设计

说起Python这门编程语言的作用&#xff0c;可以列举很多方面&#xff0c;其实每一门流行的编程语言都可以列举很多方面&#xff0c;但是要说起Python的主要领域&#xff0c;莫过于运维监控方面&#xff0c;在这方面有大量优秀的开源运维系统。 虽然有很多优秀的开源运维监控系统…