提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:郑恭琳|2021-01-25 14:02:04.383|阅读 135 次
概述:我们需要开始在代码中构建安全性。这是真正加固它的最佳方法,而不仅仅是修补已知的孔。将来自编码,构建和测试的所有软件开发结果集成到中央存储库中,即可提供控制,度量和可跟踪性。这是未来改进的基础。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
最近,我在LinkedIn上阅读了一篇帖子,其中有人问了几个静态分析安全厂商之间的区别。一个人,毫无疑问是供应商,回答说他们的解决方案更好,因为尽管其他公司专注于质量和安全性,但他们严格执行安全性。
当然,这是一个荒谬的说法。也许这种想法表明了当前行业中应用程序安全的猖ramp问题。例如,尝试运行其安全组的组织与SDLC的其余部分完全分开(包括开发和测试工作)。在此模型中,安全团队运行自己的测试,主要是尝试破坏软件,然后将安全错误反馈给开发团队。换句话说,尝试在其代码中测试安全性。我可以向您保证,这仅比测试代码质量有效。
当然,这种安全测试是必要的,但仅仅是不够的。虽然破坏软件确实很有用,但是依靠它作为提高安全性的方法会导致在太晚的时候发现错误,并最终将其抑制。尤其是,诸如日程安排之类的根源问题,如不适当的框架和算法,已被扫地出门,因为日程安排赢得了重写代码和发布版本之间的冲突。
在上面我提到的Linkedin评论中,供应商声称自己的软件更好,但却没有说出任何关于如何更好的理由,这实际上是在误导一个毫无戒心的潜在客户。我并不是要选择任何特定的工具供应商,尤其是因为我为一个供应商工作。但是,我对这种稻草人的论点感到沮丧,这些论点给人以卖蛇油的感觉。在这种情况下,供应商的产品确实可能具有有趣的独特功能,但给我们留下的印象是安全性与质量在某种程度上有着神奇的区别,这降低了我们对应用程序安全性的理解,使我们所有人的安全性降低了一点。
必须将安全性视为质量,并且质量必须基于成熟的工程实践,因为事实是,如果您遇到质量问题,那么您就会遇到安全问题。研究表明,安全缺陷的50-70%都是质量缺陷。换句话说,良好的老式质量漏洞正在变成入侵者/黑客/不良行为者用来渗透您的应用程序的漏洞(我们称为“零日”)。
“研究人员一致认为,至少有一半(也许多达70%)的常见软件漏洞是基本的代码质量问题,可以通过编写更好的软件来避免。马虎的编码。”
– Jim Bird“构建真实软件”
如果您仍然不确定质量和安全性如何重叠,请查看CWE Top 25中的几个示例。以下可能的安全结果来自CWE技术影响工作:
#3 CWE 120 –未经检查输入大小的缓冲区复制(“经典缓冲区溢出”)–可能导致执行未授权的代码或命令,可能的未授权数据访问,可能的拒绝服务(DoS)
#20 CWE 131 –缓冲区大小的错误计算(导致缓冲区溢出)–可能的DoS,执行未授权的代码或命令,可能的未授权读取/修改内存
#25 CWE 190 –整数溢出或环绕(导致未定义的行为并因此崩溃)–可能的DoS,可能的内存修改,可能的未授权代码或命令执行,可能的任意代码执行
如果您进一步进入完整的CWE列表(超过800个项目),则会发现许多其他问题,即各种形式的上溢/下溢,初始化,不受控制的递归等。这些都是常见的安全攻击以及明显的质量问题。
软件系统的复杂性增长非常迅速。试图快速测试每种可能的变化几乎变得不可能。正如理查德·本德(Richard Bender)所说,“潜在测试的数量超过了宇宙中分子的数量”,这只是一种有趣的说法,说您将永远无法完成它。或者从吉姆·伯德(Jim Bird)那里,“对于一个大型系统,您需要在无数个键盘上使用无数个笔测试器,并且它们需要工作数小时才能找到所有的错误。”
因此,必须同时设计和设计安全性和可靠性。您无法对其进行测试。只要安全性是“额外”的东西,它就会遭受损失。
您可以采取以下几项措施来开始同时提高软件质量和安全性。
培训开发人员进行安全开发。对您的开发人员进行安全的开发实践培训,意味着他们可以预防(或至少找到并解决)安全问题。
在设计和构建系统时要特别关注质量和安全性。避免使用“有效”的代码,因为它存在潜在的安全问题,因此并不是一个很好的选择。 (或者安全问题。)静态分析将通过检查代码中的错误,以及是否符合已知的最佳做法来帮助您完成此任务。
不再依赖边缘工具。识别您的实际暴露和攻击面。防火墙和防病毒软件无法弥补不安全的代码-您必须加固您的应用程序。
收集/测量缺陷数据,并将其用于评估和改进您的开发实践。哪些代码或组件产生最多的问题?什么代码是最好的?他们是如何测试的?重复好主意,然后冲洗坏主意。
使用严格的静态分析。不要仅仅接受某人对已报告的缺陷不是重要问题或误报的评估。获得包括检测和预防在内的一系列良好规则,并遵守这些规则。最好的方法是采用围绕最佳实践的工程方法(诸如CWE,CERT和OWASP等编码标准的作用)。静态分析是确保遵循最佳实践的方法。
使用运行时分析。它会发现实际的问题(尤其是令人讨厌的内存问题),并且可以准确地向您显示出错误的出处,没有任何误报。
因此,我们需要开始在代码中构建安全性。这是真正加固它的最佳方法,而不仅仅是修补已知的孔。将来自编码,构建和测试的所有软件开发结果集成到中央存储库中,即可提供控制,度量和可跟踪性。这是未来改进的基础。
请记住,可靠防护的成本低于处理不良或不安全软件的成本。因此,实际上没有任何借口再不重视测试了。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
针对 C/C++ 软件开发提供统一、完全集成的测试解决方案。
Parasoft Jtest用于应用软件开发的集成Java测试工具
Parasoft dotTEST降低C#和VB.NET开发风险,有效地实现符合C#和.NET开发的测试工具的要求
Parasoft Insure++针对C和C++应用程序的运行时内存泄漏检测和内存调试
Parasoft SOAtest人工智能和机器学习赋能 API 和 Web 服务测试
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢