广告

重一步逻辑验证,省百步漏洞补缺

时间:2021-04-12 作者:李隆博士 阅读:
一款软件从设计到实现,往往会被拆分成许多小的功能模块,分别实现后再组装整合。大量简单的业务逻辑被用于构建复杂而又丰富的业务逻辑,设计或实现上的偏差或缺陷都会导致漏洞的产生。
广告
电子工程专辑 EE Times China -提供有关电子工程及电子设计的最新资讯和科技趋势

近年来,随着人工智能和物联网等新兴科技的广泛应用,各种“智能”、“自动”的科技服务已经渗透到人们生活的方方面面。在这些服务的背后,是无数个应运而生的软件和应用程序在支撑。遗憾的是,软件行业的大繁荣并没有带来软件代码质量的明显提升。Forrester研究数据显示,82%的漏洞来源于应用程序。与软件规模、数量的井喷一同出现的,是软件漏洞的大爆发,以及随之而来的隐私泄漏、网络欺诈等漏洞“后遗症”。

面对如此巨大的风险,企业内部的软件开发团队通过践行代码审查、各种测试以及代码分析以期减少代码中的漏洞从而提高代码质量。然而,这些方法往往也只能确保“砖块”可用,由这些“砖块”搭建起来的建筑是否符合设计、是否安全可靠就很难验证了。由此,用以检测软件设计或功能实现上的缺陷或偏差的“业务逻辑验证”就应运而生了。

偏差是漏洞

一款软件从设计到实现,往往会被拆分成许多小的功能模块,分别实现后再组装整合。大量简单的业务逻辑被用于构建复杂而又丰富的业务逻辑,设计或实现上的偏差或缺陷都会导致漏洞的产生。实践中,团队在拆解实现时,即使顶层描述十分清晰,将文字表达翻译为编程语言,将笼统的语言描述到细节的代码实现,其中可能产生的偏差不是代码审查、各种测试和代码分析能够轻易发现的。同时,如果开发团队在不同模块接口之间的功能描述不够清晰、实现存在偏差,程序一旦运行,问题就会浮出水面。尤其是在增强软件功能、对原有功能改造以及新加入开发人员时,发生类似状况的风险也会上升。

此外,开发人员对第三方或者库函数的理解偏差,也会导致漏洞的发生。如谷歌浏览器Chrome的0day漏洞cve-2019-5786就是由于开发者对std::move()的理解不全面而造成的。对新标准、新接口的尝鲜心理普遍存在于软件开发者中,但在真正使用这些新事物之前,开发者自身需要投入时间精力,去学习并真正理解它。而且,并不是所有的新标准、新接口的设计都合理,如std::move(),其功能在一个编译器的优化流程中就能自动实现。通过开放一个接口,让开发者来尝试实现编译器优化未能完成的工作,同时提供了一个可能导致大量漏洞的来源,其目的和意义让人费解。

业务逻辑验证的重要性

业务逻辑验证,这个步骤可以帮助企业在被认可的合理范围内交付软件,而不是提供一个拥有过多或过少功能的半成品。功能过少的弥补方法相对简单,延长交付时间进行添加即可;而功能过多,则有可能提供了通往用户隐私数据的入口,从而导致不可挽回的严重后果,这类例子比比皆是。

图: 国家信息安全漏洞共享平台收集整理信息系统高危漏洞数量

在智能家居普及的今天,黑客利用监控设备的漏洞将监控片段上传至互联网,造成用户隐私泄露,甚至财产损失的事件屡见不鲜。据CNCERT披露的《中国互联网络发展状况统计报告》显示,2020年信息系统的高位漏洞数量同比2019年增长52.2%。诸多例子都在警醒我们软件安全问题就潜伏在身边。

验证业务逻辑,就是从语言描述转换成扫描工具能够认识的检测原语,并证明其成立的一个过程。传统的验证方法是将语言描述转换为严谨的数学表达,证明过程繁复且困难,不仅用人门槛极高,且费时费力。而且一旦顶层的语言描述发生变化,整个推导过程又需要从头开始。在传统形式化方法的实践中,为了验证一行软件源代码,验证过程中需要写17行的代码去验证。此外,传统形式化方法在证明失败的地点分析问题的症结所在并不容易,往往需要沿证明路径倒推检查。一般的开发者并不具备轻易掌握传统方法的能力。

为提供高效的业务逻辑验证服务,最好的方法是在静态代码扫码工具上提供接口,让用户将其业务逻辑映射到对应的开发语言上,再由机器快速高效的完成验证工作。即,如果有某语言编写的一段程序,又有它的一段语言描述,只要代码扫码工具提供了相同编程语言的接口,就可将语言描述的业务逻辑映射到的验证引擎可以识别的接口函数上,对软件进行扫描,查看真正的实现是否符合了语言描述中所要实现的功能。全程由机器执行的工具不仅拥有更快的速度、更高的效率,其对使用者的水平要求也更低,更能直观地帮助客户了解软件开发的具体症结所在。在实践中,80%的客户的定制化验证需求是可以通过有限的扫描引擎描述接口由客户自行实现的,而另外20%的客户的特定的需求,则需要花费大量精力去帮助解决。

左移已是开发标配

软件生命周期包括:设计、实现、测试以及交付使用。早发现问题早解决,弥补的成本也随之而下降。在用户开始使用时才暴露出来的错误,其修复的人力和时间成本最高,远超过开发时就发现并修复的成本。与其在用户使用后才报错,不如在内部开发的早期就践行业务逻辑验证,确保 “我做的是客户想要的”,因为一个软件到实现功能之后再重新设计改造,其时间、人力成本都会很高。

关于作者

李隆博士专注于代码验证基础架构,现任鉴释科技首席科学家。李隆于2008年在中科大获得计算机软件和理论博士学位。其学术研究集中在应用基于程序设计语言理论的技术构建可靠高效的软件上,并发表了数篇期刊和会议论文。毕业后,李隆博士加入了三星电子,从事高级技术小组的统计机器翻译工作。并于2010年加入HP编译器团队,从事HP Non-Stop编译器后端和SDK。

责编:Luffy Liu

电子工程专辑 EE Times China -提供有关电子工程及电子设计的最新资讯和科技趋势
本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 软件吞噬世界,开源吞噬软件,解读2021年OSSRA报告 新思科技(Synopsys)发布的《2021年开源安全和风险分析》报告(OSSRA),重点介绍了在商业应用程序中开源应用的趋势,并且提供了见解,以帮助企业和开源开发者更好地了解他们所处的互联软件生态系统。同时,这份报告也详细地介绍了非托管开源所带来的安全隐患,包括安全漏洞、过期或废弃的组件以及许可证合规性问题。
  • 密歇根大学的无敌CPU在美国防部DARPA组织的强大硬件漏 美国国防部高级研究计划局组织了580名网络安全的专家总共花费了13000个小时来攻克代号“墨菲斯(Morpheus)”的处理器,然而并没有攻克。号称完美的无敌CPU究竟有何魔力,本文带你一探究竟。
  • 未来工厂你不可不知的五大趋势 MathWorks工业自动化和机械领域行业经理Philipp Wallner将未来的工厂称之为“柔性(Flexible)”的,认为市场驱动力源自商品的个性化,并导致系统复杂性显著增加。这样,就需要越来越多的仿真模型去进行参数的调优和设计,需要AI和数字孪生技术用于运行优化,或是对设备进行健康预测。
  • Wind River Studio:重新定义关键任务智能系统 Wind River Studio是风河公司近期推出的云原生平台,用于关键任务智能系统的开发、部署、运作和服务,能够满足信息安全性、功能安全性和可靠性等方面特别严苛的要求。
  • 硅指纹听说过吗?或为新型的个人隐私保护手段 今年的央视“3·15”晚会,隐私保护成了最大“亮点”。继食品安全、环境安全和健康安全之后,“隐私安全”首次成了央视315的焦点话题。而现如今个人隐私数据受到黑客入侵的新闻报道日渐增多,传统密钥方式也存在着一定风险。于是一项新的技术PUF应运而生,而这项技术的实现难度和前景又如何呢?
  • 2021年,电动、连网汽车与车用软件路在何方? 笔者在前一篇专栏文章中探讨了《2021年自驾车产业发展大势》,在这篇文章中,让我们来看看在汽车电子领域的其他关键技术与商业趋势,包括电池动力电动车(battery electric vehicles,BEV)、连网车辆以及车用软件。
  • Intel 11代酷睿1处理器正式发布:10 今晚,Intel发布的11带酷睿处理器采用10nm制程,面向高性能移动桌面版。同时发布的还有同样架构的至强W-11000系列,面向高性能移动工作站。
  • AMD RX 6600系列或配备8GB显存 MD的RX 6600系列可能配备的不是之前传闻的6或12GB显存,二是8GB。可能包含64MB的内置Infinity Cache。
  • Qorvo® Biotechnologies公司赢得 移动应用、基础设施与航空航天、国防应用中RF创新解决方案的领先供应商 Qorvo®, Inc.(纳斯达克代码:QRVO)凭借“快速诊断提速” (RADxSM) 计划中标,赢得美国国立卫生研究院 (NIH) 的 2440 万美元合同。Qorvo Biotechnologies(Qorvo 的全资子公司)公司赢得此合同有助于推动 Qorvo Omnia™ 诊断测试平台的生产,加快市场投放进程。
  • 美光发布第六次年度可持续发展报告 内存和存储解决方案领先供应商Micron Technology Inc.近日发布《快步前行:美光 2021 年可持续发展报告》(Fast Forward: Micron’s 2021 Sustainability Report),凸显美光在特殊时期不但体现出企业韧性,更在促进创新、人、社区和制造等方面取得长足进展。
  • 传特斯拉暂停扩建上海工厂!  中国半导体论坛 振兴国产半导体产业!    5月12日,据外媒报道,知情人士透露,由于中美紧张局势带来的不确定性,特斯拉已经暂停扩建上海工厂计划!3月份曾有传言称,特斯
  • 美国将小米移出“黑名单”?中方回应 ▲ 了解更多精彩内容 点击上方蓝字关注我们5月12日,外交部发言人华春莹主持例行记者会。有记者就美国政府将小米公司移出“黑名单”一事提问。华春莹表示,你提到的有关情况我不了解,建议
  • 常用电子产品接口大全(很全,值得收藏) 视频接口:在我们的生活中,电视机、电脑、投影设备、各种播放器上,视频会议产品和监控产品的编解码器的视频输入输出接口上看到很多视频接口,尤其在显卡上面,通常会出现3种甚至更多的接口。这些视频接口哪些是模
  • 高通或转单台积电!  中国半导体论坛 振兴国产半导体产业!    当前主要安卓厂商每年的出货主力都少不了搭载高通旗舰芯片的手机,去年12月,骁龙888隆重登场,并且改用三星5nm代工。不过,
  • 深度丨智能驾驶的“两面派”竞争:激光雷达VS视觉算法 ·聚焦:人工智能、芯片等行业欢迎各位客官关注、转发前言:当下,汽车行业开始迈入智能化、网联化的新时代,作为定义汽车智能网联进程的核心维度,自动驾驶技术已然成为衡量进程的关键指标,这对汽车感知系统就提出
  • 漫画:到底什么是耦合? 在电路中,将前级电路(信号源)的能量递至后级电路(负载)称为耦合,常见的耦合介质有导线、电容器,变压器、光电耦合器。根据不同耦合介质常见有以下耦合方式,这几种耦合方式各有特点,在不同哪种比较好?END
  • 突发!小米被美国移出“黑名单”!  中国半导体论坛 振兴国产半导体产业!    5月12日消息,据彭博报道,根据当地时间周二提交给美国法院的一份文件,小米公司和美国政府达成协议,将搁置特朗普政府将该公司列
  • 内存、SSD的好日子都没了 对于PC电脑来说,2021也许是可以载入史册的红火年头。因为疫情、缺芯、数字货币火爆等多重因素,不仅仅指的是整机(台机、笔记本等),主要组件同样火爆异常,显卡的局面已经是有目共睹。日前,TrendFo
  • 【CMR联盟】AGV/AMR行业一季度报告 产品、市场、行业和整体发展态势全方面分析。文|彭晴2021年开年,我国经济持续稳定恢复,开局良好,在大环境持续向好的情况下,一季度移动机器人产业发展走向如何?在企业走访及市场调研的基础上,新战略移动机
  • 芯报丨总投资20亿元!士兰微新增年产量技术提升及扩产项目启动 聚焦:人工智能、芯片等行业欢迎各位客官关注、转发每日芯报0512期❶总投资20亿元!士兰微新增年产量技术提升及扩产项目启动士兰微发布公告称,士兰集科于近日启动了第一条12吋芯片生产线“新增年产24万片
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
广告
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了