想了解更多安全资讯
请扫码关注中科天齐软件安全中心微信公众号
2024
11-05
中科天齐团队参加ISSTA2024大会,针对CFL可达性提出”staged solving“求解方法
近日,第33届The ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) 在奥地利维也纳举办。ISSTA是软件工程四大会之一,被评级为CCF-A。中科天齐团队成员施程航和李昊峰前往参会。在会上,施程航展示了题为“Better Not Together: Staged Solving for Context-Free Language Reachability “的研究成果。该工作针对应用广泛的程序分析框架——CFL可达性提出了一种名为”staged solving“的求解方法,相比现有方法可大大提升CFL可达性的求解效率,最高加速比接近三个数量级。在场很多研究者对该工作表达了浓厚的兴趣,团队成员相应回答了他们的问题。该工作的主要思路是将上下文无关文法通过语法分解为一个更小的括号匹配文法和正则文法,接着提出了多阶段求解(staged solving)在两个阶段分别求解两个文法对应的可达性。通过利用文法的特性,该工作分别提出了高效的可达性求解算法。在实验评估中,该方法的加速比可达约三个数量级。 ISSTA 是专注于软件测试与分析的高影响力会议。从 2023 年起,ISSTA 采用了两阶段投稿流程。对于在第一轮中被评为 "Major Revision"(大修) 的论文,作者可根据评审意见修改论文后,提交到会议的第二轮,由同一组审稿人评审。2024 年,ISSTA 共收到 694 篇投稿,最终接收 143 篇,其中第一轮接收 106 篇,第二轮接收 37 篇,总接收率为 20.61%。
2024
11-01
中科天齐团队参加OOPSLA 2024大会,提出针对IFDS算法的优化技术,平均可加速2个数量级
近日,OOPSLA 2024即面向对象编程系统、语言及应用大会在美国帕塞迪纳举行,中科天齐团队成员李昊峰博士在会上展示了题为《Boosting the Performance of Alias-Aware IFDS Analysis with CFL-based Environment Transformers》的研究成果。该研究对经典IFDS算法进行优化,能够大幅减少数据流值的数量,该技术平均可以加速两个数量级,同时可以提升分析精度。信息流分析技术是检测软件安全缺陷的基础分析方法,其中基于IFDS分析框架的信息流分析由于其高精度得到广泛应用,该分析已经实现到主流的分析和编译框架中(如:WALA、Soot、LLVM等)。但IFDS分析算法由于其复杂度高,往往无法在有限的计算资源下分析复杂的应用程序。这篇文章提出了将基于访问路径的域敏感表示转换成基于CFL的表示以减少数据流值的数量,从而将传统的IFDS问题转化成IDE问题,通过定义Field CFL并实现高效的求解算法维护域敏感,能够平均加速2个数量级。 OOPSLA是一个专注于面向对象编程系统、语言及应用的顶尖学术盛会,是中国计算机学会(CCF)推荐的程序设计语言领域三个A类学术会议之一。每年,它将来自学术界和工业界的研究人员和从业人员聚集在一起,讨论编程语言领域的最新理论、技术和应用。
2024
10-28
中科天齐团队参加ACM CCS24大会,提出全新BOLA漏洞检测工具
近日,ACM CCS24即第31届ACM计算机和通信安全大会在美国盐湖城举行,中科天齐团队成员黄永恒博士在会上展示了题为《Detecting Broken Object-Level Authorization Vulnerabilities in Database-Backed Applications》的研究成果。该研究针对数据库支持的应用程序中常见的Broken Object-Level Authorization (BOLA)漏洞展开了深入分析,填补了对该类漏洞系统性研究的空白。研究团队通过分析101个开源应用中的实际BOLA漏洞,总结了数据库支持应用程序中最常见的四种对象级别授权模型。这一分析为开发全新的自动化检测工具BolaRay奠定了基础。BolaRay结合SQL分析和静态分析,自动推断应用程序中使用的授权模型,并验证这些模型是否正确实施了访问控制检查。在对25个流行的数据库支持应用程序进行测试时,BolaRay成功发现了193个真实漏洞,其中178个为首次报告,误报率为21.86%。迄今为止,研究团队已向相关项目的维护者报告了所有新发现的漏洞,155个漏洞已被确认,并且已有52个漏洞获得了CVE编号。ACM CCS与IEEE S&P、USENIX Security和NDSS并称为信息安全领域的四大顶级国际学术会议,同时也是中国计算机学会推荐的CCF-A类会议。该会议吸引了来自全球的顶尖研究人员与专家,探讨网络安全领域的前沿问题与创新技术,是展示国际最前沿研究成果的重要平台。2024年,ACM CCS的录取率为16.9%(331/1964),反映了网络安全领域的最高学术水准。 此次研究团队的研究成果进一步推动了对BOLA漏洞的深度理解和自动化检测技术的进展,展示了研究团队在网络安全领域的领先研究实力。
2024
10-18
中科天齐董事长李炼博士受邀参加第三届OpenHarmony技术大会
近日,第三届OpenHarmony技术大会在上海成功举行。此次大会是举办至今规模最大的鸿蒙相关的技术大会,会上邀请了来自全球的开源操作系统技术领袖、前沿实践专家、广大开发者以及学术界大咖,面向全球展示了OpenHarmony的最新技术、生态、人才进展与行业实践。作为应用软件安全分析领域资深专家,北京中科天齐信息技术有限公司董事长李炼博士受邀参加此次大会,并发表主题为《高层语义的自适应分析方法与工具》的演讲,同业界人员共同探讨高质量OpenHarmony应用的开发与生态建设。李炼博士指出,应用层的大部分安全性问题以及性能和功能问题都需要深入理解高层的应用逻辑语义,例如检测授权以及认证等相关安全问题需要深入理解应用的认证以及授权机制。但这些高层语义和应用具体实现密切相关,往往无法进行通用的定义。针对上述问题,李炼博士进一步探讨了如何通过自动半自动的方法来自动推断高层应用语义、以及如何严格地表述高层语义信息。并进一步介绍了如何在WuKong中实现高效便于扩展的高层语义分析工具:通过声明式的方法来定义高层语义,并扩展现有分析工具来实现对自定义语义的自动检测,从而兼顾分析工具的可扩展性与效率和精度。他指出,通过自动或半自动高层语义推断以及自适应分析方法与工具,可以解决灵活多变的应用层逻辑问题。李炼博士是中国科学院计算技术研究所研究员,常年从事程序分析与软件安全方向研究,成果发表于领域内顶级会议及期刊包括SOSP、USENIX SECURITY、CCS、OOPSLA、NDSS、FSE、TSE、ASE、ISSTA上,累计50余篇,获得ASE2019杰出论文奖以及CCS2022最佳论文提名。获得中国科学院优秀导师奖(2020,2021),中国科学院领雁奖(2021,2022)。承担了包括国家重点研发计划(课题负责人),国家重点基金(子课题负责人),中科院STS项目等多个项目。研发的静态分析工具WuKong已经产业化,广泛应用于包括多个IT企业、国家部委在内的多家单位,为开源社区发现数百个严重缺陷,获得100+CVE。关于中科天齐 北京中科天齐信息技术有限公司(简称中科天齐)由李炼博士创立,以自主研究成果中科天齐软件源代码安全缺陷检测平台为主打产品,团队凭借多年在程序分析领域的技术积累,致力打造应用软件安全漏洞治理领域新生态的高新技术企业。中科天齐积极拥抱开源事业,不断探索开源生态下的应用软件安全分析策略,为OpenHarmony生态的原生安全建设贡献力量。
2024
09-11
SAST vs DAST:如何选择
在软件行业中,多达 38% 的 IT 和信息安全专业人员估计,他们 21% 到 40% 的代码包含漏洞,13% 的人已经在大多数 (61-80%) 代码中发现了漏洞。如何在这些缺陷和漏洞问题成为威胁之前发现它们?常见的应用程序安全测试方法:SAST 和 DAST起到很大作用。什么是 SAST(静态应用程序安全测试)?SAST(静态应用程序安全测试)是一种自动的白盒测试,用于检查应用程序代码在其静态(非运行)状态下的潜在漏洞和已知缺陷。在白盒测试中,工具可以完全访问应用程序代码。SAST 通过预定义检测规则,可以检测源代码并标记检测到的问题的位置。SAST 可以帮助识别缓冲区溢出、暴露的代码密钥、输入验证错误、不安全的基础设施配置和编码规范等问题。SAST 的主要优势在于,安全团队在代码部署之前将其作为安全 CI/CD 管道的一部分运行。理想情况下,团队在开发人员提交代码后立即执行这些操作,以确保他们在软件开发生命周期(SDLC)的早期解决安全问题。此外,团队可以在进行全面的漏洞扫描或渗透测试之前,将SAST应用于部分应用程序。什么是 DAST(动态应用程序安全测试)?DAST(动态应用程序安全测试)是一种黑盒测试(工具无法访问应用程序源代码),在应用程序运行时检查是否存在漏洞和缺陷。DAST 工具模拟对系统及其环境的攻击,分析系统的响应,并为开发人员提供有关其应用程序在面对实际攻击场景时的行为方式的见解。通常,安全团队在SDLC的后期运行DAST,传统上是在部署到测试环境之前在CI/CD管道中执行。DAST优势是识别和标记运行时漏洞,这些漏洞在应用程序代码中可能不是缺陷,但在应用程序运行时可能会变成潜在的漏洞。例如,DAST 可以帮助发现 Web 应用程序中的 XSS(跨站点脚本)和 SQL 注入缺陷,以及服务器端的错误配置和身份验证问题。DAST 对于依赖互联网协议的应用程序很有效果,因为这些通常是恶意行为者的目标。SAST与DAST:主要区别实施阶段:SAST在SDLC的前期使用,理想情况下是在每次代码提交时进行检测。DAST在将应用程序部署到测试环境并运行之后。实施前提:SAST可以直接检测源代码,不需要运行程序,但需要支持检测相关的编码语言和框架,DAST需要将程序部署并可以执行。测试方法:SAST从内向外检测代码,DAST从外部模仿攻击者进行检测。检测缺陷类型:SAST检测已知和未知漏洞,DAST检测运行中导致的漏洞。何时使用 SAST开发团队通过在 SDLC 的早期使用 SAST进行检测。在代码编译以进行测试之前,提交或预提交阶段有助于及早发现和解决与安全相关的错误和问题。将 SAST 整合到 CI/CD 管道和DevSecOps流程中,可以通过自动化进行检测来提高生产力。SAST 持续监控进入代码库的每一段代码是否存在不良编码实践,并根据OWASP Top 10、CWE TOP 25等测试一系列漏洞。使用SAST的另一种情况是涉及到数据隐私的合规性和法规要求,如支付卡行业数据安全标准 (PCI DSS),SAST 工具可用于识别代码和配置中的敏感数据,确保其得到适当保护和处理,并符合相关法规。何时使用 DAST当可执行应用程序在响应多种输入的动态环境中运行时,DAST就会发挥作用。安全团队利用DAST查明应用程序后端中影响运行时功能的错误配置,以及由集成问题引起的漏洞。此外,DAST有助于测试应用程序的API和Web服务,并评估其运行的基础设施的安全状况。由于测试需要完全运行且可执行的应用程序,因此最好在将应用程序部署到预生产测试环境后运行 DAST 。当作为 CI/CD 管道的一部分集成时,DAST 可以成为运行时应用程序和基础设施安全的全天候监控工具,保护应用程序免受 XSS 和 SQL 注入攻击。 SAST 和 DAST 并不相互排斥,而是在SDLC的不同阶段在应用程序安全测试策略中扮演两个不同的角色。在 DevSecOps 管道中使用 SAST 和 DAST 可以更全面地了解应用程序的安全状况。这些工具相互补充并解决彼此的限制,从而显著地增加了安全性测试的覆盖率,最终降低了应用程序欺诈的风险。WuKong静态代码检测工具是一款自主可控的国产化静态代码安全检测软件,获工信部首届“鼎信杯”信创产品典型应用软件奖。在研发技术上采用自主专利技术的程序分析引擎,结合深度指针分析技术检测深层次安全漏洞减少漏报,通过人工智能和机器学习方法指导代码分析和验证分析结果,提高测试准确率,使用高效程序切片技术进一步提高测试效率。可检测代码运行时缺陷、安全漏洞及编码标准规范。 
2024
08-09
什么是动态应用程序安全测试? 和静态应用程序安全测试有什么区别?
动态应用程序安全测试 (DAST) 是在运行时分析 Web 应用程序以识别安全漏洞或缺陷的过程。在 DAST 中,测试人员在应用程序运行时检查应用程序,并试图像黑客一样攻击它。DAST 工具提供有关应用响应的信息,帮助开发人员识别和消除威胁。DAST是如何工作的?DAST 是一种黑盒测试,是从应用程序外部执行的,而不查看内部源代码或应用程序架构。因此,该测试使用与黑客相同的技术来识别漏洞。DAST 可能会采用错误注入技术来发现威胁,例如跨站点脚本或结构化查询语言注入。大多数 DAST 工具仅测试支持 Web 的应用程序的公开的 HTTP 和超文本标记语言接口。但有些是专门为非 Web 协议设计的,例如远程过程调用和会话启动协议以及数据格式错误。DAST 工具在开发期间和开发后持续扫描应用程序。DAST 在扫描 Web 应用程序之前对其进行爬行,使其能够找到应用程序内页面上的每个公开输入,然后对每个输入进行测试。在应用程序执行后执行的测试是完全自动化的,企业能够在风险成为严重攻击之前及时识别和解决风险。DAST工具会在发现漏洞时自动向开发或测试团队发送警报。虽然DAST可以让安全团队及时了解web应用程序在生产中的行为方式,但公司通常会部署其他形式的安全测试,例如静态应用程序安全测试(SAST)和应用程序渗透测试。应用程序渗透测试为攻击者如何侵入特定的web应用程序提供了一个真实的演示,而SAST让开发人员在软件开发生命周期(SDLC)的早期发现应用程序源代码中的漏洞。DAST有什么好处?DAST 工具的主要好处是企业能够从黑客的角度更好地了解其 Web 应用程序的行为方式。这使企业能够通过消除弱点并在恶意攻击发生之前阻止它们来节省修复时间和金钱。还使企业能更准确地模拟黑客行为。DAST 可以分析运行时无法通过静态分析识别的问题,例如身份验证、服务器配置问题和仅在已知用户登录时可见的缺陷。此外,许多 DAST 工具与编码语言无关,并且从外部与应用程序交互。这使得 DAST 工具能够与任何编程语言和框架一起使用。DAST的局限性是什么?DAST 工具可能会产生误报。漏洞检测结果可能并非是真实的。另外,所报告的漏洞在某些场景中可能是一个真正的威胁,但可以让经验丰富的代码分析人员识别风险是否适用于企业具体情况。DAST 工具不能检测源代码,没有完整的代码覆盖率,这样无法在源代码中找到问题的确切位置。DAST通常在SDLC的后期使用,因此开发前期的安全漏洞问题需要通过SAST来进行查找。DAST 与 SASTDAST经常与SAST一起使用,这两个测试工具在软件开发安全流程中的不同领域,同时使用两种工具能进行更全面的安全评估。DAST的黑盒安全测试方法从外部进行分析,而SAST的白盒测试方法,从内部检查应用程序。SAST不像DAST那样查找运行时错误,而DAST不像SAST那样标记特定的编码错误,并且能精确到代码行。DAST涉及操作测试,而SAST查看源代码并推测安全风险的位置,或者发现可能存在潜在漏洞的设计和构造缺陷。DAST和SAST的重要性 随着 Web 应用程序使用量的增加和应用程序变得越来越复杂,网络犯罪的风险也在增加。Web应用程序安全性应该是SDLC所有阶段的优先事项。通过SAST和DAST工具的检测,能够在应用程序开发早期发现缺陷或安全漏洞并及时修复,从而保护应用程序的良好运行,避免受到外部攻击。国产化代码检测工具WuKong支持C、C++、C#、JAVA、Python、PHP、JSP、JavaScript、HTML、Go、XML 等主流程序开发语言,支持Spring、Mybatis、Hibernate等共17种框架。采用自主专利技术的程序分析引擎,多种创新性的静态分析技术,结合深度学习和人工智能等多种方法,能够对软件代码进行全方位的安全扫描和安全分析。 
2024
07-25
人工智能模型安全存隐患,中科天齐人工智能模型安全测试系统即将发布
人工智能(AI)技术在如今的社会中发挥着越来越重要的作用,涵盖了从自动驾驶汽车到医疗诊断的各个领域。神经网络算法作为其中的核心技术之一,被广泛应用于图像识别、自然语言处理、智能推荐等领域。然而,正是因为其复杂性和高度非线性的特点,神经网络算法本身也存在着一些安全漏洞问题,这些安全问题可能导致数据泄露、隐私侵犯、系统瘫痪等严重后果,对个人、组织甚至整个社会都构成潜在威胁。首先,对抗性攻击是神经网络算法面临的一个主要安全问题。对抗性攻击是指故意设计具有微小扰动的输入数据,以使神经网络产生错误的输出。这种攻击可能导致图像分类错误、语音识别失效等严重后果。神经网络算法对输入数据的微小变化非常敏感,这使得它们容易受到对抗性攻击的影响。为了增强神经网络算法的鲁棒性,研究人员提出了对抗性训练、对抗性样本生成等技术,以使神经网络能够更好地抵御对抗性攻击。其次,隐私问题也是神经网络算法面临的重要安全漏洞。在训练和部署神经网络模型时,通常需要大量的数据,其中可能包含个人身份信息、健康记录等敏感数据。如果这些数据未经妥善保护,可能会导致用户隐私泄露、身份盗窃等问题。第三个安全漏洞问题是模型解释性。许多神经网络模型被认为是黑盒模型,难以解释其决策过程。这种缺乏解释性不仅使用户难以理解模型的工作原理,也可能导致模型做出不可预测的决策。为了提高神经网络模型的解释性,研究人员提出了局部解释性模型、特征重要性分析等技术,以帮助用户理解模型的决策过程,并确保模型的决策符合逻辑和规范。另一个重要的安全漏洞问题是过拟合。神经网络算法在训练过程中可能会过度拟合训练数据,导致模型在未见数据上的泛化能力下降。这可能导致模型在实际应用中表现不稳定,产生错误的预测结果。为了解决过拟合问题,研究人员提出了正则化、数据增强等方法,以提高神经网络模型的泛化能力,使其能够更好地适应新的数据。最后,神经网络算法还可能受到恶意操纵的影响。恶意攻击者可能通过有意修改训练数据或操纵模型输出来达到其目的,例如欺诈、信息篡改等。这种行为可能对金融、电子商务等领域造成严重影响。为了防止恶意操纵,研究人员提出了模型鲁棒性验证、安全增强学习等方法,以确保神经网络模型的安全性和可靠性。人工智能技术的迅猛发展和广泛应用正在深刻地改变着各行各业,但同时人工智能模型存在的安全隐患也为数字产业带来了安全方面的挑战。为了应对这些挑战,中科天齐通过对神经网络鲁棒性边界检测、神经网络形式化分析及神经网络鲁棒性度量评估三个方面进行研究,即将推出人工智能模型(神经网络算法)安全性测试评估系统——“智信”,通过建立相应的测试和评估机制,对模型的性能、鲁棒性和安全性进行全面检验,提高人工智能模型的准确性与稳定性。中科天齐人工智能模型(神经网络算法)安全性测试评估系统“智信”可分为三大测试工具,其中包括3大工作模块及多个步骤,通过不同模块之间协同工作,人工智能模型(神经网络算法)测试能够更加全面地评估算法的性能、鲁棒性和可靠性,为神经网络的进一步优化和改进提供有力支持。通过提高人工智能模型(神经网络算法)安全性,我们可以更好地应对人工智能模型的漏洞问题,推动人工智能技术朝着更加安全、透明和可持续的方向发展。 让人工智能技术更加安全、可靠地促进数字产业发展是我们共同的愿景,欢迎持续关注中科天齐人工智能模型(神经网络算法)安全性测试评估系统。
2024
06-26
AISecOps:扩展 DevSecOps 以保护 AI 和 ML
从传统的软件开发到集成人工智能(AI)和机器学习(ML)的演变可以说是革命性的。随着人工智能的不断普及,人工智能技术对企业乃至我们的日常生活变得越来越重要,根据ISC2的研究,人工智能最有可能接管用户行为模式的分析(81%)、重复性任务的自动化(75%)、网络流量和恶意软件的监控(71%)、薄弱环节的预测(62%)以及检测和阻止威胁(62%)。随着人工智能的广泛使用,其带来安全问题的复杂性、真实性和数量可能会大幅度提高。一个令人担忧的趋势是,网络攻击者以代码和图像存储库为目标,旨在向软件供应链注入恶意软件。这种策略不仅损害了软件的完整性,而且对依赖这些应用程序进行关键操作的最终用户和组织构成了重大风险。数据中毒的威胁对人工智能模型的完整性提出了险恶的挑战。通过将恶意修改的代码和数据引入训练集,攻击者可以操纵人工智能系统的行为,导致长期影响,因为有毒数据持续存在于机器学习模型中。这种阴险的攻击形式凸显了保持警惕和强大的安全措施在保护推动人工智能和机器学习创新的数据方面的重要性。在开发安全中,通过DevSecOps实践更有力的创建安全软件。这些方法是解决人工智能和机器学习安全所面临的熟悉挑战的宝贵经验。在过去五年多的时间里,DevSecOps 已成为我们开发和保护软件的主要方式,通过软件和安全团队之间的协作,以及将改进的安全实践嵌入到开发过程的每个阶段。这种集成方法帮助我们提高了软件产品的安全性,并提高了安全和软件工程师之间的安全可见性。DevSecOps 的原则和成功案例同样可以指导 AI 和 ML 模型的安全开发和部署。AI和ML模型不断学习和进化,AISecOps将DevSecOps原则应用于AI/ML和生成式AI,意味着将安全性集成到这些模型的生命周期中——从设计、培训到部署和监控。持续的安全实践,如实时漏洞扫描和自动威胁检测、数据和模型存储库的安全检测和保护措施,对于防范不断发展的威胁至关重要。DevSecOps的核心原则之一是培养开发、安全和运营团队之间的协作文化。这种多学科方法在AISecOps的背景下更为重要,因为开发人员、数据科学家、人工智能研究人员和网络安全专业人员需要共同努力识别和减轻风险。协作和开放的沟通可以加速漏洞的识别和修复。数据是 AI 和 ML 模型的命脉。确保用于训练和推理的数据的完整性和机密性至关重要。DevSecOps 强调了安全数据处理实践(如加密、访问控制和匿名化技术)对于保护敏感信息和防止数据中毒攻击的重要性。在AI和ML开发一开始就将安全考虑进去,符合对道德人工智能的日益重视,确保模型不仅安全,而且公平、透明和负责任。在设计阶段纳入安全和道德准则有助于在人工智能系统中建立信任和弹性。人工智能和机器学习技术带来的安全挑战很复杂,但对我们来说并不陌生。通过将DevSecOps的安全经验应用到AISecOps中,我们可以通过提高人工智能和人工智能数据安全可见性的方法来应对这些挑战,并强调持续安全、协作、安全数据实践和设计安全性。 我们的未来是人工智能驱动的,网络安全和人工智能专业人员需要齐心协力,为这些变革性技术奠定基础。我们要释放人工智能和机器学习的全部潜力,同时确保所有利益相关者的安全、隐私和信任。
2024
06-20
什么是 DevSecOps,为什么它对安全软件交付至关重要?
如果仅在软件交付生命周期结束时(在部署服务之前或之后)运行安全扫描,则随后的编译和修复漏洞的过程会成为高效开发的一大阻碍。此外,随着应用程序越来越多地使用开源开源软件(OSS)组件和其他第三方构件构建,每一个组件都可能给应用程序带来新的漏洞。下面是一组数据:超过80%的软件漏洞是通过开源软件(OSS)和第三方组件引入的;数字供应链攻击正变得越来越激进、复杂和多样化。到2025年,45%的组织将至少经历一次。(Gartner)到2026年,全球软件供应链网络攻击给企业造成的总成本将超过806亿美元,高于2023年的458亿美元(Juniper Research)这种日益加剧的威胁环境,加上要求更快地进行开发和迭代,组织越来越多开始在整个软件开发生命周期中集成安全性,也就是DevSecOps。一个有效的DevSecOps计划是一项巨大的工程。它需要跨多个职能部门进行重大的文化变革,以推动共享责任、协作、透明度和有效沟通。它还需要正确的工具、技术,以及自动化和人工智能的使用,以确保应用程序的发展速度。如果实施得当,DevSecOps 将成为交付安全软件的重要成功因素。什么是 DevSecOps?DevSecOps 是开发、安全和运营的缩写,是一种软件开发方法,它在整个软件开发生命周期中集成了安全实践。它强调开发团队、安全团队和运营团队之间的协作和沟通,以确保将安全性内置到软件开发过程的每个阶段。在软件开发管道的背景下,DevSecOps的目标是“将安全向左转移”,它涉及到从一开始就将安全实践和工具集成到开发管道中。通过这样做,安全性成为软件开发过程中不可或缺的一部分,而不是后期的附加组件。这种方法使组织更容易在早期识别和解决安全漏洞,并满足监管义务。同样值得注意的是,DevSecOps是建立在协作和分担责任的文化基础上的。它打破了孤岛,并鼓励跨职能团队一起工作,以实现以高速构建更安全的应用程序的共同目标。交付安全软件的指导原则构建和运行一个有效的DevSecOps计划意味着组织能够运行一个安全的交付平台,测试软件漏洞,优先考虑和修复漏洞,防止发布不安全的代码,并确保软件及其所有工件的完整性。下面是实现成功的DevSecOps实践所需的元素和能力的详细描述。建立协作文化,将安全作为共同责任DevSecOps 的核心是一种责任共担的文化,以共同面向安全的思维方式运营决定了 DevSecOps 流程的适应程度,并在选择 DevOps 平台、工具和单个安全解决方案时可以推动更好的决策。思维方式不会在一夜之间改变,但可以通过以下方式实现一致性和安全感:致力于定期进行内部安全培训(针对 DevSecOps)量身定制,包括开发人员、DevOps 工程师和安全工程师。技能差距和需求不应被低估。开发人员采用安全编码方法和资源安全工程有助于应用程序和环境架构、设计审查。在软件开发生命周期的早期识别和修复安全问题总是更容易。打破职能孤岛并持续协作由于 DevSecOps 是软件开发、IT 运营和安全融合的结果,因此打破孤岛并持续积极协作对于成功至关重要。通常,在没有任何正式 DevSecOps 框架的情况下运营的以 DevOps 为中心的组织将安全性一种阻碍。推动协作并作为一个有凝聚力的 DevSecOps 团队运营涉及:定义并商定一组可测量的安全目标,例如修复的平均时间和减少CVE警报噪声的百分比。软件开发人员和DevOps团队参与新安全工具的整个评估和采购流程确保没有 DevSecOps 进程有一个单一的功能负责人迭代优化工具选择和安全实践,以提高开发人员的工作效率和速度将安全左移实现左移安全性是保护应用程序代码在开发管道中移动的关键步骤。这种方法涉及在软件开发生命周期的早期集成安全实践,从编码的初始阶段开始,并扩展到整个开发和部署过程。通过将安全测试进一步左移,组织可以在早期阶段识别和解决漏洞,从而降低安全漏洞的风险并确保安全应用程序的交付。 要成功地转移安全性,首先要在整个开发流程中集成不同类型的安全扫描,。为了在整个软件开发生命周期中捕捉和修复漏洞,DevSecOps团队需要采用和使用几类应用程序安全性测试,如静态应用程序安全检测工具、开源组件检测工具、动态应用程序安全检测工具等。每种类型的安全扫描仪所采用的技术都是互补的。结合起来,它们在应用程序进入生产环境之前就可以有效发现已知的安全问题。