提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郑恭琳|2020-07-16 11:56:08.517|阅读 392 次
概述:有太多以安全性为重点的编码实践和标准(即CERT,OWASP,CWE,MISRA,AUTOSAR以及基于IEC 61508的整个标准系列)。您如何确定适用于您的特定项目的一组编码标准?本指南将带您开始前进。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
有太多以安全性为重点的编码实践和标准(即CERT,OWASP,CWE,MISRA,AUTOSAR以及基于IEC 61508的整个标准系列)。您如何确定适用于您的特定项目的一组编码标准?本指南将带您开始前进。
软件在我们的日常生活中越来越重要。日常设备中装有软件,例如汽车、电话、冰箱、手表、医疗设备或飞机。从银行或保险公司到能源工厂或交通控制系统,我们所依赖的组织都依赖可靠的软件。该软件的存在为我们提供了很多机会——居住在智能家居中,驾驶智能汽车以及我们的智能手机和智能手表为我们提供所需的一切,随着越来越多的这些元素相互联系,我们可以增加更多的收益和效率,让我们的生活变得更加轻松。
但是,所有这些都有风险。可以利用软件安全漏洞来获得对任何系统的特权访问。这可能意味着简单的黑客行为,例如在我们不期望的时候关掉灯,或者发出更多令人震惊的攻击,例如用摄像机监视我们,或者在我们不知情或未经许可的情况下清空我们的银行帐户。即使没有网络犯罪分子的参与,导致应用程序出现不良行为的软件错误也会引起类似的问题。由于这些原因,软件安全对于世界各地的公民而言已成为头等大事。
1999年,MITRE Corporation(一家由联邦政府赞助的运营研究与开发中心的美国非营利组织)开始在“常见漏洞和披露(CVE)”列表中记录已知的软件安全漏洞。最初的列表包含321个CVE条目,但增长迅速,目前(截至2018年9月),CVE列表包含100,000多个条目,并由92个CVE编号颁发机构(CNA)维护——来自世界各地的不同组织(漏洞研究人员、产品供应商和错误赏金计划),这些漏洞研究人员已被授权将CVE ID分配给检测到的问题。美国国家标准与技术研究院(NIST)、美国国防信息系统局(DISA)等推荐该清单,使用范围非常广泛。
MITRE公司希望使人们更容易理解最常见问题的根源,并采取适当的措施避免以后再出现类似的问题,因此他们根据问题的类型将CVE条目归类,最后以CVE的发布为准。研究人员漏洞示例初步列表(PLOVER)文件。将此工作与其他研究结合起来,可以定义通用弱点枚举(CWE)列表,它是软件弱点类型的正式列表。当前,CWE列表版本3.1包含大约800种弱点类型,分为300个类别和视图。由于这个数字可能不胜枚举,因此CWE与SANS Institute共同维护“Top 25最危险的软件错误”列表,以维护可能导致软件严重漏洞的最广泛和最严重的错误。例如,当前“Top 25”列表的顶部包括SQL注入、OS命令注入、缓冲区溢出和跨站点脚本。
对于安全性比其他行业更为重要的行业(例如,机载、汽车或医疗保健系统与电视或其他娱乐系统),国际电工委员会(IEC)开发了IEC 61508:电气/电子/可编程功能安全性电子安全相关系统。IEC 61508是用于各种行业的通用标准,但以下也是专用于特定行业的标准,例如:
这些标准考虑了给定领域的细节,但是它们的总体思想(至少从软件角度而言)非常相似。所有这些都需要(除其他验证技术之外)对已开发的代码执行静态分析,并且它们为需要执行的操作提供了一些高级指导,同时还留有很大的解释空间。它们通常不命名要使用的任何特定编码约定或编码标准,而是例如。ISO 26262提到MISRA C作为C编程语言的编码指南示例。
编写安全代码意味着编写不会受到攻击的代码,即不包含可能被利用的弱点的代码。这意味着编写符合某些“安全”模式的代码以及避免“不安全”模式的代码。对于不同的编程语言,这些模式也会有所不同。当然,没有任何一套可以遵循的规则来保证软件的安全性。一些广泛考虑安全性的编码标准包括:
MISRA C和MISRA C++标准是由汽车工业软件可靠性协会(MISRA)开发的。 AUTOSAR C++编码准则由AUTOSAR(汽车开放系统架构)开发合作伙伴关系开发。 JSF A V C++编码标准是由洛克希德·马丁公司开发的。SEI CERT C和C++编码标准包含旨在确保以C和C++编程语言开发的软件系统的安全性、可靠性和安全性的通用规则。
这些标准中的规则通常分为多个类别,以使导航更加容易,因为给定标准中的规则数量可能非常大,例如:
考虑到许多不同的功能安全标准,编码标准以及每种标准推荐或要求的指导原则的数量,在启动使代码安全的计划时,做出正确的选择很重要。
如果需要根据特定的功能安全标准(例如,汽车的ISO 26262或机载的DO-178C)对软件进行认证,则已经做出了初步决定。但是无论如何,都需要做出选择以确定要在开发的软件上实施的一个或多个编码标准或标准或该标准的子集。它可以但不一定是上述标准之一。
接下来,由于无法手动验证是否符合所有这些规则,因此需要选择适当的静态代码分析工具。有开源和商业静态分析工具。挑选一个好人很重要。应该考虑的一些因素是:
此外,CWE社区推动了CWE兼容性和有效性计划,该计划是对产品或服务的正式审查和评估过程。“与CWE官方兼容”的产品和服务列表当前包含55个条目。使用此列表中的工具可确保它已达到MITRE正式CWE兼容性计划的最后阶段。
选择编码标准和适当的工具后,对于从头开始的软件项目,应该容易做更多的工作——只需将工具与CI系统集成在一起,并确保没有任何缺陷。但是通常,编码标准需要在已经开发的软件上执行。
在这种情况下,在整个代码库上盲目执行分析可能会报告数百个缺陷,这些缺陷很难一起处理。幸运的是,可以使用多种技术来简化此过程。例如,您可以首先关注新编写或修改的代码,以确保从建立编码标准的那一刻起至少不引入新的缺陷。
另一个好的做法是对报告的缺陷进行优先级排序,以确保首先处理最严重的缺陷。例如,CERT C和C++规则具有与之关联的风险评估,从而可以轻松区分发现的缺陷的优先级。
完善的静态分析工具还可以帮助您首先关注具有最高严重性的规则,随着更严重的缺陷得到修复,可以增加正在关注的规则的数量。
最重要的部分是确保开发团队采取适当的措施来进行分析。如果开发人员不使用它们来修复代码,则静态分析的报告有多好无关紧要,从而可以提供更安全的软件产品。花时间选择正确的静态分析解决方案和编码标准将使您踏上成功之路。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
在 Microsoft Excel 中,复制行、列和单元格是日常数据处理中的常见操作。本文将介绍如何使用 Spire.XLS for Java 和 Java 在 Excel 中复制行、列和单元格数据并保留格式。
雷达图又称蜘蛛图,是一种显示二维多元数据的图形方法。图表上的每个辐条代表一个不同的变量,数据点沿着这些辐条绘制。雷达图尤其适用于比较不同实体在多个标准中的表现。本文将演示如何使用 Spire.XLS for Python 通过 Python 在 Excel 中创建雷达图。
本文将为大家介绍如何使用图表控件SciChart WPF实现WPF应用程序的DPI感知,欢迎下载最新版组件体验!
本文将演示如何使用DevExpress WPF Grid控件实现移动和调整列大小,欢迎下载最新版组件体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢