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

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

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Jay Thomas 2022-10-20 11:50 次阅读

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

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

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

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

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

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

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

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

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

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

审核编辑:郭婷

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

    关注

    94

    文章

    2923

    浏览量

    66047
  • 编译器
    +关注

    关注

    1

    文章

    1570

    浏览量

    48598
收藏 人收藏

    评论

    相关推荐

    MotorControl Workbench生成的代码是开环的吗,为什么电机跑起来很容易受到外力导致停机?

    请问各位高手 MotorControl Workbench 生成的代码是开环的吗?为什么我的电机跑起来很容易受到外力导致停机,我想让它不停机,请问什么好的办法吗 ?
    发表于 03-21 07:12

    随机通信下多智能体系统的干扰攻击影响研究

    网络控制系统可能会受到不同类型的网络攻击威胁[10-12],主要包括拒绝服务(denial of service, DoS)攻击[7]、欺骗攻击[8]、干扰
    发表于 03-01 11:00 132次阅读
    随机通信下多智能体系统的干扰<b class='flag-5'>攻击</b>影响研究

    传感器容易受到干扰,该怎么处理?有哪些办法?

    模拟传感器容易受到干扰,该怎么处理?有哪些办法? 传感器是现代科技应用中不可或缺的部分,它们通过感知环境中的物理量并将其转换为可用的电信号。然而,传感器容易受到干扰,这可能会导致数据的
    的头像 发表于 01-15 14:43 1066次阅读

    单圈和多圈绝对值编码器哪个容易受到断电的影响呢?

    在断电情况下,单圈绝对值编码器相比多圈绝对值编码器更容易受到影响。
    的头像 发表于 01-09 09:07 177次阅读

    【虹科干货】Linux越来越容易受到攻击,怎么防御?

    随着网络攻击手段的不断进化,传统的安全机制(如基于签名的防病毒程序和机器学习防御)已不足以应对高级网络攻击。本文探讨了Linux服务器的安全漏洞,特别是针对企业和云服务的威胁,并提出了基于移动目标防御技术的解决方案,旨在提高Linux服务器在不断变化的威胁环境中的安全性和
    的头像 发表于 12-25 15:33 274次阅读
    【虹科干货】Linux越来越<b class='flag-5'>容易</b><b class='flag-5'>受到</b><b class='flag-5'>攻击</b>,怎么防御?

    Linux越来越容易受到攻击,怎么防御?

    在数字化时代,网络安全已成为企业不可忽视的重要议题。尤其是对于依赖Linux服务器的组织,面对日益复杂的网络攻击,传统安全措施已显不足。Linux服务器面临着哪些新型网络威胁,有哪些有效的防御策略
    的头像 发表于 12-23 08:04 611次阅读
    Linux越来越<b class='flag-5'>容易</b><b class='flag-5'>受到</b><b class='flag-5'>攻击</b>,怎么防御?

    ad7689电源隔离了还是容易受到干扰是为什么?

    (PT100)直接接在电路板上的读数(采样间隔5ms): 用30cm左右的导线接电阻箱时的读数: 为什么电源隔离了还是这么容易受到干扰?试过电源加共模电感,没有效果,但是电源接地干扰就没有了。除了接地什么办法能处理掉干扰
    发表于 11-17 11:33

    印刷电路板容易受到攻击的几个部分?

    检查完原理图和布局设计图后,布局设计图将被转换为一组文件。最常见的文件格式为“Gerber”,或RS-274X。它由ASCII格式的命令组成,表明电路板上的图形。
    发表于 11-09 11:10 155次阅读
    印刷电路板<b class='flag-5'>容易</b><b class='flag-5'>受到</b><b class='flag-5'>攻击</b>的几个部分?

    预防跨站脚本攻击(XSS)的方法

    跨站脚本攻击(XSS),是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达
    的头像 发表于 09-30 10:05 662次阅读

    M2351常见的故障注入攻击方式及原理

    的方式运作,这样的特性,经常被恶意攻击者,运用做为寻找系统漏洞的工具,藉此绕过预设的安全机制或取得受保护的资料。这方法之所以被攻击者经常使用,其根本原因不外乎相关攻击设备简单、容易取得
    发表于 08-25 08:23

    GPU发起的Rowhammer攻击常见问题

    以下信息提供了有关GPU发起的“Rowhammer”攻击的一些常见问题的答案。 你能用外行的话解释这个问题吗? 安全研究人员已经证明了GPU通过WebGL程序发起的微体系结构攻击,使他们能够构建指向
    发表于 08-25 06:41

    新唐对应四大物联网安全攻击的保护措施

    没预先设想好可能存在的风险,建立威胁模型分析评估,就容易造成使用上出现漏洞进而遭受有心人士攻击导致损失。工业设备受到攻击可能造成人员危险或者机密数据外泄,智能电网若遭黑客控制则会影响民
    发表于 08-21 08:14

    什么是 DDoS 攻击及如何防护DDOS攻击

    什么是DDoS攻击?当多台机器一起攻击一个目标,通过大量互联网流量淹没目标或其周围基础设施,从而破坏目标服务器、服务或网络的正常流量时,就会发生分布式拒绝服务(DDoS)攻击。DDoS允许向目标发送
    的头像 发表于 07-31 23:58 768次阅读
    什么是 DDoS <b class='flag-5'>攻击</b>及如何防护DDOS<b class='flag-5'>攻击</b>

    什么是DDOS攻击?怎么抵抗DDOS攻击

    随着Internet互联网络带宽的增加和多种DDOS黑客工具的不断发布,DDOS拒绝服务攻击的实施越来越容易,DDOS攻击事件正在成上升趋势。出于商业竞争、打击报复和网络敲诈等多种因素,导致很多
    的头像 发表于 07-31 17:39 784次阅读
    什么是DDOS<b class='flag-5'>攻击</b>?怎么抵抗DDOS<b class='flag-5'>攻击</b>

    网络攻击者将物联网设备作为攻击目标的原因

    物联网设备受到网络攻击是因为它们很容易成为目标,在正常运行时间对生存至关重要的行业中,它们可以迅速导致大量的勒索软件攻击。制造业受到的打击尤
    发表于 06-14 14:46 379次阅读