多样类型应用中联接设备数目的捏续爆炸性增长加大了开发安全软件的迫切性。每个设备王人靠近不同的风险,因此,必须为每个新状貌精明评估软件安全条件。云筹谋的等闲使用也催生了新的抨击序论,使软件安全变得越来越复杂和难以兑现。零信任已成为软件安全的新理论禅。
本文援用地址:http://www.eepw.com.cn/article/202111/429354.htm图片起首:Gorodenkoff/Shutterstock.com
安全软件的开发永远是一个遍及挑战,况兼从来王人不是一项冒失无缺完成的任务。在开发安全软件的运行,需要了解您要保护的对象、尽量逃避的对象、以及多样抨击的潜在影响。威迫的不断变化意味着在状貌运行常常时无法完全服气安全条件,在开发过程中,可能会出现屡次革新。一朝系统或设备参加使用,多样采集威迫和威迫序论也会不断演变。面对不断变化的威迫,越来越多地使用无线更新和补丁来爱戴安全性。
不平稳的是,软件缝隙是一种永远存在的动态风险(图 1)。因此,必须确保您的代码安全且受到相应保护,不安全的应用会导致黑客入侵,它们不错胜利收敛一个设备,或者提供入侵另一个设备的看望旅途。软件安全是一个多方面的挑战,包括安全通讯、安全操作系统、安全启动、安全静态和传输数据、摒除缝隙的安全编码圭表和推行、老成性测试等。底下将探讨什么是安全编码,并为您提供安全编码资源示例,包括行业圭表、指南、礼貌以及公认的测试和考证公约。
图1 软件安全是一个多方面且不断变化的挑战(起首:buffaloboy/Shutterstock.com)
安全编码
安全编码是指通过筹谋机软件开发以注重随机引入安全缝隙。通过识别不安全的编码推行,您不错在部署之前遴荐主动次序来减少或摒除软件中的缝隙。安全软件开发是一个复杂的过程,包括好多国度和国外准则、礼貌和圭表。安全软件开发从威迫建模运行。
威迫建模
威迫建模和了解所需的安全级别是在新状貌运行阶段为服气安全代码开发方针而遴荐的迫切要领(图 2)。要保证安全需要一定时间和元气心灵,但这些并不全王人。多个圭表和指南接收安全级别、评分或等第来界说安全软件的功能。因此,您需要了了了解每个状貌的特定安全需乞降方针。每种威迫建模理论中的常见元素包括:
● 纪录数据流以识别系统易受抨击的位置。
● 系统地识别尽可能多的潜在威迫。
● 服气用于缩小每个潜在威迫的可能性或影响的收敛次序。
图2 威迫建模是安全软件开发中复杂而关节的第一步(起首:Panchenko Vladimir/Shutterstock.com)
一些常用的威迫建模理论包括:
● Microsoft 安全开发人命周期 (SDL) 是一种工程技艺,可用于匡助识别会影响您应用的威迫、抨击、缝隙和对策。
● 抨击仿真和威迫分析经过 (PASTA) 是一种以风险为中心的七步理论。它冒失提供一个配合业务方针和技艺条件的过程,同期沟通了合规性问题和业务分析。
● 通用缝隙评分系统 (CVSS) 是一个绽开框架,用于传达软件缝隙的特征和严重性。 CVSS 由三个度量圭表组组成:Base、Temporal 和 Environmental。
● 夹杂威迫建模理论 (hTMM) 由卡内基梅隆大学软件工程辩论所于 2018 年开发。它由 SQUARE(安全质地需求工程理论)、Security Cards(由华盛顿大学开发)和 Persona non Grata (PnG,在 DePaul 大学开发)的组合组成。
指引原则和王法
技艺表率 ISO/IEC TS 17961 是 C 编程言语的一组编码王法。该表率界说了确保用 C 言语编写软件的安全性、可靠性、安全性和完整性最好推行,器见解是使用软件代码的静态分析,缩小合规资本。 ISO 的两个出书物对其进行了界说:
● ISO/IEC TS 17961:2013:信息技艺——编程言语、它们的环境和系统软件接口——C言语安全编码王法
● ISO/IEC TS 17961:2013/Cor 1:2016:信息技艺——编程言语、它们的环境和系统软件接口——C言语安全编码王法,技艺正误表 1
MISRA C 是一组由汽车工业软件可靠性协会 (MISRA) 开发的 C 编程言语软件开发指南,它旨在促进代码的安全性、可移植性和可靠性,十分是那些在 ISO C/C90/C99 中编程的系统。还有一套 MISRA C++ 指南,MISRA C 已发展成为被汽车、航空航天、电信、医疗设备、国防、铁路等行业的进步开发商等闲吸收的最好推行模子。为了使MISRA合规更具特意旨,有必要服气:
● 使用严格的软件开发经过。
● 准确地应用了哪些准则。
● 扩充理论的灵验性。
● 任何偏离准则的进度。
● 在状貌以外开发的任何软件组件气象。
安全编码圭表
安全启动或运行前进行代码考证是安全编码越来越迫切的方面,这在抨击风险或潜在影响很高的应用中尤为迫切,举例航空电子设备、自动驾驶汽车、医疗和工业系统等。此外,APP开发业务欧洲电信圭表协会 (ETSI) (TS 103 645) 和好意思国国度圭表与技艺协会 (NIST) (SP 800-193) 的新物联网设备安全圭表也包括运行前进行代码考证。
ISA/IEC 62443 系列圭表由国外自动化协会 ISA99 委员会制定,并被国外电工委员会 (IEC) 接收,它提供了一个生动的框架来科罚和减少工业自动化和收敛系统中面前和畴昔的安全缝隙。 ISA/IEC 62443-3-2,专注安全风险评估、系统分区和安全级别,该圭表正在开发中。
IEC 62443 条件使用静态代码分析器来扩充安全编码圭表,包括:
● Common Weakness Enumeration (CWE™),这是一个社区开发的软件和硬件瑕疵类型列表。它可动作一种通用言语,一种安全用具的推断圭表,亦然瑕疵识别、缓解和看护使命的基准。
● 卡内基梅隆大学软件工程辩论所(Carnegie Mellon University Software Engineering Institute)的 CERT 包括常用编程言语(如 C、C++、Java、Perl 和 Android™ 平台)的编码圭表。
● Open Web Application Security Project® (OWASP®) 是一个勤奋于擢升软件安全性的非谋利基金会。
● 好意思国国防信息系统局 (DISA) 提供与国防部状貌十分联系的安全技艺实施指南 (STIG)。
一些迥殊的安全编码资源是:
● 常见缝隙和后门(CVE) 是在特定软件居品中发现的采集安全缝隙和后门列表。该列表汇聚到来自多个不同缝隙数据库的信息,用户不错更爽朗地相比安全用具和工作。
● NIST 的国度缝隙数据库 (NVD) 是好意思国政府基于圭表的缝隙管制数据存储库,它与 CVE 列表联系联并提供附加本色,包括如何斥地缝隙、严重性评分和影响评级。要筹谋严重性级别,必须使用通用缝隙评分系统 (CVSS),这是用于评估软件缝隙严重性的绽开行业圭表。
● 支付应用圭表数据安全圭表(Payment Application Data Security Standard)是一项公共安全圭表,适用于支付应用软件的开发,它昔日被称为支付应用圭表最好推行 (PABP)。
● NIST 的 SP 800-82 可指引如何保护工业收敛系统。NIST 还科罚了中型公司对 ICS 安全性的担忧,并已运行膨大机器东谈主、智能交通和化学处理等畛域的测试平台。 NIST 还制定了安全本色自动化公约 (SCAP)。
[扫码下载app,中过数字彩1千万以上的专家都在这儿!]
小程序开发测试和考证
侵入测试是完整安全审计的迫切组成部分。侵入测试是对系统的授权模拟采集抨击(见图 3),该测试见解是识别瑕疵,包括未授权方看望系统功能和数据的可能性以及所具备的上风,从而冒失完周至面的风险评估。测试常常包括采集侵入测试、应用安全测试以及围绕采集和应用的收敛和经过测试。
举例,支付卡行业数据安全圭表(Payment Card Industry Data Security Standard)条件如期和系统革新后进行侵入测试。业内存在一些用于进行侵入测试的圭表框架和理论,其中包括开源安全测试理论手册、侵入测试扩充圭表、NIST SP 800-115、信息系统安全评估框架和 OWASP 测试指南等。
图3 侵入测试应试虑采集外部试图侵入的坏心活动者(外部测试)和来自采集里面的抨击 (起首:Panchenko Vladimir/Shutterstock.com)
通用瑕疵摆设 (CWE™) 是社区开发软件和硬件瑕疵类型列表。 CWE冒失鄙人述方面匡助开发东谈主员和安全从业东谈主员:
● 用通用言语描写和盘问软件和硬件的瑕疵。
● 搜检现存软件和硬件居品的瑕疵。
● 评估具备这些瑕疵用具的隐秘范围。
● 哄骗通用基线圭表进行瑕疵识别、缓解和看护使命。
● 在部署之前注重软件和硬件缝隙。
设备的评估保证级别 (EAL) 是一个从 1 到 7 的数值,它是接收国外圭表化通用圭表安全评估进行服气。 EAL级别越高,相应设备安全方针文档中综合的考证和测试条件就越精明。更高的EAL级别不一定代表更安全的设备,它仅仅标明完全的测试和考证过程。在两个设备具有换取安全方针界说的情况下,评级较高的设备应该更值得信托。
EAL条件也不错擢升,以包括比给定EAL所需最低条件更等闲的保证条件。增强的EAL不错使用“增强”一词或使用 EAL5+ 中的加号来暗示。
论断
软件安全是一个多方面的挑战,在多样不同应用中,开发安全软件的迫切性正在日益擢升。动作恢复APP开发资讯,安全编码圭表也变得越来越关节,测试和考证性能的需求雷同越来越迫切。如本文所示,开发东谈主员不错看望从威迫分析到开发过程,再到测试和考证的多样用具。