0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

您的代码有多容易受到攻击

星星科技指导员 来源:嵌入式计算设计 作者:Jay Thomas 2022-10-20 11:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在编写代码时,大多数人都知道他们在做什么 - 至少在当时 - 但以后会有多清楚,以及其他人如何理解它?是否过于复杂?它是否遵循规定的编码标准?是否有微妙的错误可能使其容易受到黑客攻击?除非你检查,否则你不知道,这意味着静态分析。

软件质量的基础(通常需要资格认证或认证)是静态分析:对源代码的解析和检查。静态分析提供了对代码编写情况的深刻见解,特别是参考质量指标和遵守编码标准;它为进一步的评估提供了基础,包括控制和数据流分析以及结构覆盖分析;它为工件提供了基础,这些工件既是可接受的认证文件,也是质量的有形证据。

静态分析在源代码级别工作,方法是像编译器一样解析代码,同时识别与控制和数据流相关的信息,例如条件分支的下落。它整理的数据为指标提供了基础,这些指标可帮助开发人员更好地了解正在开发的代码的清晰度、复杂性甚至可测试性。在最简单的形式中,它可以标记看似微小的事情,例如拼写错误,这些事情可能会导致数小时的延迟,然后才被发现。更复杂的静态分析工具还可以计算诸如循环复杂性之类的指标,循环复杂度是通过程序或代码段的唯一路径数的度量,例如可能由过高的循环密度(嵌套在循环中的条件数)导致的。静态分析工具可以为程序的不同部分提供密度分数,可以指导开发人员提供更简单,更清晰的路径。这也带来了更好的可理解性和改进的可测试性。

静态分析的另一个功能是确保符合编码标准,无论是行业定义的、用户定义的还是两者的组合。MISRA C、CERT C、CWE 等标准源自开发安全可靠的软件的研究和行业最佳实践。静态分析提供保护,防止在某些情况下可能导致问题的细微错误和疏忽,例如最近因未检查变量长度而导致的臭名昭着的“心脏出血”漏洞。许多行业功能安全标准,如汽车行业的ISO 26262和医疗设备的IEC 62304,也要求通过静态分析进行检查,确保(例如)没有隐藏的数据流,也没有为了代码质量和安全性而无条件的跳跃。

静态分析有助于“映射”未来分析

静态分析为代码系统开发了一种“大脑图谱”,可以用作动态分析技术的基础,例如详细的结构覆盖分析以及自动化单元和集成测试。反过来,这些生成自己的相关指标,以加强高质量开发过程的证据。这些测试及其生成的工件与需求可追溯性工具结合使用,通过将功能、安全性和安保要求链接到代码、分析结果以及测试用例和结果,建立了透明的开发生命周期。实际上,这种双向可追溯性不仅为忠实和完整地实施要求提供了证据。它还支持对整个生命周期中发生的需求更改或失败测试的影响分析,突出显示受影响的软件系统的所有部分,从而突出显示需要重复的任何分析和测试。

静态分析数据提供额外的好处

静态分析对单元测试的有用性始于对代码结构的理解。通过静态分析,可以分析应用程序的数据和控制方面,理解接口,并推导出测试用例工具的基础。这些线束对于与需求相关的测试非常宝贵,可节省时间和费用。

从这个派生的数据集中,还可以自动生成测试用例本身来执行大部分代码,并通过结构覆盖率分析提供证据。这些自动生成的测试提供了一种理想的机制来增强基于需求的测试,以得出一组强大的测试用例,这些用例可以满足功能、安全和安保要求。同样,需求可追溯性可以从需求链接到验证软件组件和验证应用程序的测试用例。

在整个软件开发生命周期中使用静态分析时,可以防止潜在错误持续到需要更多的精力和费用来纠正的程度。来自静态分析的数据和依赖它的分析工具对于制作越来越多的政府和工业组织认证所需的测试证明和文档至关重要。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 源代码
    +关注

    关注

    96

    文章

    2953

    浏览量

    70861
  • 编译器
    +关注

    关注

    1

    文章

    1673

    浏览量

    52074
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电路里的“光学魔法”:光耦到底神奇?

    电路里的“光学魔法”:光耦到底神奇?
    的头像 发表于 05-08 17:34 448次阅读
    电路里的“光学魔法”:光耦到底<b class='flag-5'>有</b><b class='flag-5'>多</b>神奇?

    面向红队渗透测试的隐蔽式门禁攻击硬件开源项目介绍

    专为红队渗透、安全审计打造的门禁攻击硬件开源分享!这是一款可执行中间人攻击的门禁植入设备,能静默拦截、记录、重放 RFID 门禁凭证,兼容 Wiegand、OSDP 等协议,支持 BLE+WiFi 双无线远程控制,相比同类工具
    的头像 发表于 04-22 14:00 266次阅读
    面向红队渗透测试的隐蔽式门禁<b class='flag-5'>攻击</b>硬件开源项目介绍

    硅到底小?

    想知道硅到底小;CPU 并不比 Wii 上的百老汇芯片大,但功能却无限强大,哈哈。
    发表于 03-25 06:51

    SonarQube代码质量管理平台详解

    代码质量问题是技术债务的主要来源。一个未被发现的空指针异常可能在生产环境导致服务崩溃,一段存在SQL注入漏洞的代码可能让整个数据库暴露在攻击者面前。传统的Code Review依赖人工审查,效率低下且
    的头像 发表于 03-11 09:40 503次阅读

    模光缆型号字母代码及其含义

    模光缆的型号字母代码通常遵循国际和行业标准,用于标识光缆的类型、结构、护套材料等关键特性。以下是一些常见的模光缆型号字母代码及其含义: 一、
    的头像 发表于 03-06 09:38 832次阅读

    请问内部RC振荡器的频率受到温度和电压的影响哪些?

    内部RC振荡器的频率受到温度和电压的影响哪些?
    发表于 12-29 06:41

    分析嵌入式软件代码的漏洞-代码注入

    随着互联网的发展,嵌入式设备正分布在一个充满可以被攻击者利用的源代码级安全漏洞的环境中。 因此,嵌入式软件开发人员应该了解不同类型的安全漏洞——特别是代码注入。 术语“代码注入”意味着
    发表于 12-22 12:53

    国内哪些生成式 AI 工具最容易上手?企业真正看重的是“能马上用起来”

    自动回复、工程团队做代码辅助,大家都遇到同一痛点——工具,但真正“落地顺畅”的不多。这也是为什么“容易上手”正在成为企业选择 AI 工具的首要标准。 一、“容易上手”的标准已经发生变
    的头像 发表于 12-08 10:55 523次阅读

    HarmonyOS应用代码混淆技术方案

    代码混淆技术可以增加代码的复杂性和模糊性,从而提高攻击者分析代码的难度。
    的头像 发表于 11-21 16:17 5781次阅读
    HarmonyOS应用<b class='flag-5'>代码</b>混淆技术方案

    为什么360°镜头容易“踩坑”?

    核心参数一:焦距与视场角-解决“看广”与“看清”的矛盾这是第一个,也是最容易选错的参数。误区:认为360°镜头的焦距和普通镜头一样。真相:360°镜头的焦距极短(通常为1-2mm左右),我们用
    的头像 发表于 11-18 11:29 784次阅读
    为什么360°镜头<b class='flag-5'>容易</b>“踩坑”?

    攻击逃逸测试:深度验证网络安全设备的真实防护能力

    攻击逃逸测试通过主动模拟协议混淆、流量分割、时间延迟等高级规避技术,能够深度验证网络安全设备的真实防护能力。这种测试方法不仅能精准暴露检测引擎的解析盲区和策略缺陷,还能有效评估防御体系在面对隐蔽攻击
    发表于 11-17 16:17

    工业物联网平台哪些低代码应用

    在工业物联网领域,低代码平台通过可视化开发、模块化组件和预置模板,显著降低了开发门槛和周期,同时支持灵活扩展与集成。以下是工业物联网平台中低代码应用的核心场景与典型案例分析: 设备快速接入与协议兼容
    的头像 发表于 09-24 14:49 814次阅读

    k230运行容易卡死,怎么删除闪存的代码

    k230运行容易卡死,可以请教各位大佬怎么删除闪存的代码
    发表于 07-23 07:21

    模光纤和单模光纤哪个更容易部署

    模光缆通常比单模光缆更容易部署,这主要归因于其在光源、连接技术、安装容错性以及成本等方面的优势。以下是具体分析: 一、光源与连接技术 模光缆: 使用LED或VCSEL(垂直腔面发射激光器)作为
    的头像 发表于 07-08 11:14 862次阅读

    TCP攻击是什么?什么防护方式?

    出DDoS高防产品、CC防御产品,但是对于TCP攻击的防护不是特别的理想。那么, TCP攻击是什么?什么防护方式? TCP攻击是什么? TCP攻击
    的头像 发表于 06-12 17:33 1257次阅读