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

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

3天内不再提示

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

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

扫码添加小助手

加入工程师交流群

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

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

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

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

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

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

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

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

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

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

审核编辑:郭婷

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

    关注

    96

    文章

    2953

    浏览量

    69647
  • 编译器
    +关注

    关注

    1

    文章

    1669

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HarmonyOS应用代码混淆技术方案

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

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

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

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

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

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

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

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

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

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

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

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

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

    TPS99000S-Q1 PMIC_TIA_PD1容易受到EMS干扰怎么解决?

    PMIC_TIA_PD1在测试RS或手持干扰时 画面会出现颜色改变或黑屏 请问能否在PMIC_TIA_PD1上加抗干扰元件 或是避免或减少PMIC_TIA_PD1受到干扰的方式?
    发表于 02-17 08:06

    ADS1248使用热电偶测试时,很容易受到干扰的影响,怎么解决?

    我在使用ADS1248的过程中遇到这样的问题: 使用热电偶测试时,很容易受到干扰的影响,比如在大功率设备工作时,测量值出现不准的情况。 不知道这种情况是否跟我使用的是单极性供电有关。
    发表于 02-13 08:04

    伺服故障代码哪些?哪些处理方法?

    伺服故障代码哪些?哪些处理方法?以三菱伺服驱动器为例,下面为故障代码分类及处理方法如下: 一、电源及连接类故障       1. AL.E6/ALE6.1 - 伺服紧急停止       故障现象
    的头像 发表于 02-06 14:06 1.4w次阅读
    伺服故障<b class='flag-5'>代码</b><b class='flag-5'>有</b>哪些?哪些处理方法?

    什么样的代码会被编译器优化

    现在的编译器智能,可能你辛辛苦苦写的代码,在编译器看来就是几句废话,直接被删除掉。
    的头像 发表于 01-16 16:38 929次阅读

    用DSP28335后接DAC7724产生三相正弦波信号,随负载加重DAC7724的输出受到干扰怎么解决?

    也都是可以的,只有A相工作才会产生此现象。 同事说DA芯片容易受到干扰。请问有没有人遇到过类似现象?怎么解决?
    发表于 01-15 08:27

    网线股的吗

    是的,网线确实有股的类型。股网线,也被称为绞合导体网线,其特点是由根细导体绞合而成。以下是对股网线的详细解释: 一、构造特点 导体材料:
    的头像 发表于 01-07 11:30 978次阅读

    携手同行,感恩!2024年终感谢函

    携手同行,感恩!2024年终感谢函
    的头像 发表于 12-31 08:02 627次阅读
    携手同行,感恩<b class='flag-5'>有</b><b class='flag-5'>您</b>!2024年终感谢函

    网络攻击中常见的掩盖真实IP的攻击方式

    在各类网络攻击中,掩盖真实IP进行攻击是常见的手段,因为攻击者会通过这样的手段来逃脱追踪和法律监管。我们需要对这类攻击做出判断,进而做出有效有力的防范措施。 虚假IP地址的替换 首先,
    的头像 发表于 12-12 10:24 763次阅读