想了解更多安全资讯
请扫码关注中科天齐软件安全中心微信公众号
2023
02-01
DevSecOps 技术趋势
随着公司更快地迭代创新,软件开发质量和应用程序安全性已成为关注的重点。开发、安全和运营团队(或 DevSecOps 团队)需要确保其程序与当代云环境兼容,以便在软件开发周期(SDLC)期间实现速度和质量之间的平衡。到 2022 年,由于多项技术进步,DevSecOps 方法可能会更普及。DevSecOps将支持团队将安全性和合规性纳入工作流程,同时不会降低团队创造力或因为时间紧迫而增加额外的工作量。DevSecOps 技术趋势基础设施即代码的广泛使用(IaC)IaC 不使用硬件,而是编纂和管理 IT 基础结构。 开发人员和运营团队可以使用软件代码自动管理、监控和部署 IT 资源,从而脱离手动配置设备。到 2023 年,60%的企业将使用基础设施自动化技术作为DevOps工具链的组成部分,使应用程序部署的有效性提高25%。来自第三方不安全代码的攻击增加随着网络攻击变得越来越频繁,组织可能会通过将外部代码或代码库集成到其软件中而暴露缺陷。因此,从安全角度来看,企业需要仔细评估第三方代码的缺陷,包括漏洞和bug。GitOps 采用通过使用开源版本控制系统Git, GitOps为管理基础设施和应用程序配置提供了一个过程框架。Git是唯一可靠的信息来源,也是动态添加、修改和删除系统设计的主要控制机制。GitOps 确保了基础设施即代码。Kubernetes 基础设施Kubernetes统筹容器的部署、可扩展性和管理。采用Kubernetes可以显著提高效率,使DevSecOps管道更容易创建、测试和部署。无服务器体系结构无服务器计算使企业能够根据需要使用资源。企业可以通过提供云提供商对其基础设施的控制来按需扩大规模,仅对组织使用的资源收费。无服务器计算增强了灾难恢复和 IT 系统的弹性,因为云提供商托管了基础架构。微服务应用开发通过将服务分解为模块化组件,组织可以从更灵活、增量的开发中获益,以满足业务单元的需求。微服务还使开发人员能够在不影响整个应用程序的情况下解决问题。由于这种类型的模块化应用程序开发,DevSecOps团队可以保持其灵活性和敏捷性,同时关注其代码的安全性和质量。DevSecOps的市场数据在2017年至2023年期间,全球DevSecOps市场预计将以33.7%的复合年增长率增长。根据预测,DevSecOps市场将从2022年到2030年以30.76%的复合年增长率增长,达到46.6亿美元。DevOps 团队执行的安全扫描比以往任何时候都多:超过一半的团队执行 SAST( 静态应用安全测试)扫描,44% 执行 DAST(动态应用安全测试) 扫描,近50%检查容器和依赖项。据70%的安全人员称,安全已经“左移”。 DevSecOps 通过将所需的安全性集成到 CI/CD 管道中,确保在整个开发过程中实施安全控制。
2023
01-12
数据报告显示:2022 年全球网络攻击增加了38%
根据Check Point Research(CPR)发布的有关 2022 年网络攻击趋势的新数据,与 2021 年相比,2022 年全球网络攻击增加了 38%。这些网络攻击数字是由规模较小、更敏捷的黑客和勒索软件团伙推动的,他们专注于利用在家工作环境中使用的协作工具。全球网络攻击的增加也源于黑客对医疗保健组织的兴趣,与所有其他行业相比,2022 年网络攻击增幅最大。CPR称,CHATGPT等人工智能技术的成熟可能会加速2023年的网络攻击数量。数据按全球数量、行业和地理位置进行细分。CPR发布了有关去年网络攻击趋势的新数据。数据按全球数量、行业、大洲和国家进行细分。主要统计数据:全球网络攻击量在第四季度达到历史最高水平,每个组织平均每周发生 1168 次攻击2022 年受攻击最严重的 3 个行业是教育/研究、政府和医疗保健非洲遭受的攻击数量最多,每个组织每周遭受1875次攻击,其次是亚太地区,每个组织每周遭受1691次攻击与 2021 年相比,北美 (+52%)、拉丁美洲 (+29%) 和欧洲 (+26%) 的网络攻击在 2022 年增幅最大2022 年,美国的网络攻击总数增加了 57%,英国增加了 77%,新加坡增加了 26%全球范围内的网络攻击正在增加,与2021年相比,2022年企业网络每周遭受的网络攻击增加38%。几种网络威胁趋势同时发生。首先,勒索软件生态系统正在不断发展壮大,形成了更小、更灵活的犯罪团伙。其次,黑客正在扩大他们的目标,利用网络钓鱼攻击Slack、Teams、OneDrive和谷歌Drive等商业协作工具。考虑到大多数组织的员工都在继续远程工作,这些系统提供了丰富的敏感数据来源。学术机构在为应对 COVID-19 大流行而进行的快速数字化之后,已成为网络犯罪分子的目标。事实上,教育/研究部门是全球受攻击最严重的行业,与 2021 年相比,2022 年增长了43%,每个组织平均每周发生2314次攻击。许多教育机构对意外转向在线学习准备不足,为黑客通过任何必要的手段渗透网络创造了充足的机会。回顾2022年医疗保健行业遭受的网络攻击,美国的医疗保健组织每周平均遭受1410次网络攻击,比2021年的数字高出86%,医疗保健行业在美国网络攻击最多的所有行业中排名第二。黑客喜欢以医院为目标,因为他们认为医院缺乏网络安全资源,而较小的医院尤其容易受到攻击,因为它们在应对复杂的网络攻击方面资金和人员都不足。医疗保健行业对黑客来说非常有利可图,因为他们的目标是检索医疗保险信息、医疗记录号码,有时甚至是社会安全号码,勒索软件团伙直接威胁患者,以公布患者记录为威胁,要求支付费用。CPR预计网络攻击活动只会越来越多。随着ChatGPT等人工智能技术对公众的普及,黑客有可能以更快、更自动化的速度生成恶意代码和电子邮件。为了保护自己,应该先考虑预防。企业可以采取一些实践和行动来最大限度地减少下一次攻击或安全漏洞带来的风险,例如进行安全检测,网络安全培训,保持补丁更新,并实施反勒索软件技术。”网络安全提示:①网络意识培训:网络安全意识培训对于保护组织免受勒索软件的侵害至关重要。培训应指导员工执行以下操作:不点击恶意链接不打开不受信任的附件避免向网络钓鱼者泄露个人或敏感数据下载软件前验证软件合法性切勿将未知的 USB 插入计算机通过不受信任或公共 Wi-Fi 连接时使用 VPN②最新补丁: 使计算机和服务器保持最新状态并应用安全补丁(尤其是那些标记为关键补丁)有助于限制企业防范勒索软件针对脆弱性进行攻击。 ③保持软件更新。 应用软件中存在的安全漏洞或缺陷常常成为勒索软件攻击的入口。幸运的是,当前一些开发人员和安全团队会在软件开发期间进行代码安全检测或安全测试来查找它们,并及时进行修补。通过及时修复或打补丁,可以保持软件在最新的版本,并且降低应用漏洞利用风险。
2023
01-06
什么是 DevSecOps?
DevSecOps代表开发、安全和运营。这是一个新的工作流程,涉及将安全实践集成到所有DevOps流程中。DevSecOps思维方式指导技术专家平等地获得安全专业知识。DevSecOps在开发过程的早期进行安全实践和实施。这就创造了一种文化,即安全是每个人的责任,而不仅仅是安全团队的责任。将安全性构建到软件交付生命周期的每个阶段,可实现持续集成和高速开发,同时减少安全问题并降低合规性成本。DevSecOps 如何提高安全性和质量使用DevSecOps模型的组织明白,安全性不应该是事后才考虑的,而应该是软件开发生命周期(SDLC)的核心部分。DevSecOps协作比DevOps更困难,因为它需要同时实现两个看似矛盾的目标——加快交付过程,同时花费更多时间来确保代码的安全性和没有bug。为了在不影响产品质量的情况下实现DevSecOps,组织需要创建一种处理安全即代码的文化,鼓励开发人员考虑项目的安全性并自动执行安全任务。组织需要在IT工程师、软件开发人员和安全团队之间建立持续的沟通和协作。DevSecOps中常见安全测试工具静态应用程序安全测试 (SAST)SAST 工具在部署应用程序之前检查源代码、字节码或二进制文件,以识别漏洞、缺陷,以便在造成更严重的破坏之前就修复它。SAST工具还可以检测编码标准和规范。SAST 也称为白盒测试,指的是它正在查看代码内部以查明漏洞的确切位置。通过自动执行代码安全审查,SAST 工具可以同时检查完整的代码库和应用程序的各个部分。开发人员可以看到每个潜在问题的确切位置并获得反馈,即便存在问题的代码没有涉及到系统实际运行。这有助于更快速地修复,并有助于防止开发人员在未来出现错误。动态应用程序安全测试 (DAST)DAST工具检查在真实环境中运行的应用程序的安全性,通过安全地模仿攻击者的行为从外到内探测它们。由于DAST从外部工作,对源代码没有可见性,因此它有时被称为黑盒测试。由于 DAST 不需要访问源代码,因此它可以适用于几乎任何语言或语言组合编写的应用程序。在 Web 应用程序中,DAST 工具可以发现配置错误、加密或身份验证问题以及可利用的攻击漏洞,例如服务器端请求伪造和SQL 注入。由于 DAST 需要一个正在运行的应用程序,因此它通常在软件开发的后期阶段使用。交互式应用程序安全测试 (IAST)IAST工具或灰盒测试系统利用了SAST(白盒)和DAST(黑盒)方法的元素,旨在结合它们各自的优势。IAST通常链接到一个正在运行的应用程序,并通过一组单独的测试结果提供对其内部工作的深入了解。 DevSecOps 强调从一开始就将安全实践和工具集成到开发过程中,这有助于从一开始就防止安全事件的发生。
2023
01-03
SAST 与 DAST
DAST 和 SAST 工具采用不同的方法来测试应用程序安全性,在软件生命周期的不同阶段工作,并且具有不同的优势和局限性。SAST 工具在源代码中查找缺陷漏洞,通常在开发早期。DAST 工具扫描正在运行的应用程序中的漏洞,通常在开发后期和生产中使用。应用程序安全性测试更全面的方法包括SAST和DAST。为了在不断变化的网络威胁环境中保护复杂的Web应用程序,开发团队通常需要多个应用程序安全工具。其中两个最重要的工具是静态应用程序安全测试(SAST)和动态应用程序安全测试(DAST)。在许多情况下,两者协同工作发挥的作用更强大。什么是 SAST?SAST也被称为白盒测试。SAST工具通过从内部检查web应用程序来测试安全性,并通过在开发过程中扫描应用程序源代码来查找代码缺陷和漏洞。SAST对于在软件开发生命周期(SDLC)的早期阶段查找和修复代码漏洞很有价值。由于SAST工具直接访问源代码,因此它们能够精确地找出存在漏洞的代码行。需要注意的是,SAST工具需要支持所检测的代码语言,如果一个web应用程序是用多种语言编写的,那么需要考虑SAST工具是否支持所涉及的语言种类。什么是DAST?DAST 也称为黑盒测试。DAST工具通过测试已经编写的 Web 应用程序(在运行时)来查找漏洞。他们向运行中的应用程序发送数据,模仿恶意用户试图利用漏洞并破坏系统的多种方式。DAST不需要访问源代码,并且可用于测试可通过Web访问的任何应用程序的整体。也因此DAST还可以测试应用程序组件的安全性,如插件和应用程序编程接口(API)。DAST 还可以检测运行时问题、配置错误、身份验证错误和其他不安全的 Web 应用程序行为。由于DAST不检查源代码,因此通常不能直接在代码中定位缺陷。DAST和SAST有什么共同点?SAST 和 DAST 在自动化 Web 应用程序安全测试工作流程中发挥着关键作用。已实施持续集成和持续部署 (CI/CD) 和 DevSecOps 方法的组织需要适应软件的频繁更改。更重要的是,组织可能同时运行数十个(甚至数百个)Web应用程序,并且某些应用程序可能拥有数百万用户分散在世界各地。在这种情况下,手动进行代码审查和渗透测试对于敏捷开发的规模和速度来说耗费时间和成本。开发人员花费大量时间处理安全漏洞,占用了用来改进应用程序的时间。 SAST 和 DAST 工具有助于自动执行安全测试,快速识别漏洞并确定漏洞的优先级,并推荐缓解措施。这使得Web应用程序安全测试更加高效,同时还为开发团队提供了需要优先解决的问题列表。
2022
12-27
在 DevSecOps 中使用静态代码检测等工具提高产品安全性
对于组织来说,构建具有强大安全性的软件不再是事后的想法。事实证明,在全球各地各行各业不断受到攻击的情况下,可靠网络安全态势的需求至关重要。对于大多数公司来说,特定于产品的安全是重要的,一个成功的产品安全实践需要与工程团队(DevSecOps )的精神相结合。它包括首先创建一种安全文化,让所有利益相关者了解优先级、策略和业务价值。其次,团队将安全性与软件开发生命周期(SDLC)集成。仅仅左移是不够的,组织需要将思维从左移转变为无处不在。最后,始终监控产品系统是不容置疑的。成功的实践始于文化在建立强大的文化时,目标是使整个工程团队成为使命的一部分。这包括建立一个产品安全团队来支持工程需求,并提供持续教育,提供可用于解决任何可能性的资源。虽然每个组织都有自己独特的需求、注意事项和创建产品安全团队的方法,但建议使用以下五个角色:1. 技术产品经理(TPM):负责推动规划中的安全优先级2.安全架构师:确保架构和设计包含安全流程3.AppSec 工程师:负责实施安全开发生命周期4.对抗工程师:发现攻击面以识别弱点5.安全卫士:来自每个Scrum团队的工程师,他们有兴趣在安全基础知识方面为其团队提供支持,有助于扩展整体产品安全工作。创建和执行安全教育计划对于赢得员工内心也至关重要。将安全性集成到 SDLC 中从高层次来看,所有 SDLC 都包括计划、开发和发布,每个阶段都应有自己的一套安全控制。计划:产品安全TPM负责与产品管理团队合作,确定安全优先级——从风险降低、执行优先级、客户请求、安全发现和法规要求等来源获得。确定什么是重要的。开发:在开发阶段,许多重要的产品安全提升都发生在开发阶段,包括实现威胁建模、安全基线和自动扫描。威胁建模:识别系统中潜在威胁的过程。一旦确定,威胁建模团队就可以创建缓解措施,并将结果集成到渗透测试中,以验证威胁没有实现。在架构阶段,在编码开始之前测试模型是最有效的,以避免返工和打补丁。安全基线:团队应创建完全修补的安全映像,满足安全策略并预安装强制性安全代理。对操作系统映像和容器执行此操作允许开发人员“免费”获得一定程度的安全性,并避免持续的安全审查。基线应自动更新并流入 CI/CD 系统。自动扫描:为了跟上敏捷流程,扫描应该是自动化的,并且有较低的误报率。事实上,最好是少报告一些问题,而不是用很多噪音来干扰可信度。持续调优将增加保真规则集,有用的工具包括静态应用程序安全测试(SAST)、软件组成分析(SCA)和动态应用程序安全测试(DAST)。自动化对于保护使用CI/CD开发过程的应用程序至关重要,并且在代码推送时提供安全性是无法估算的,开发人员可以获得即时反馈,而不是在可能忘记重要上下文的几周后再来修补这些问题。
2022
12-12
如何选择合适的应用安全测试工具?了解不同测试工具
正确的应用程序安全测试工具可以改善企业安全态势和开发工作流程。如今,应用程序安全从一开始就内置在整个软件生命周期中,即使是具有成熟开发实践的组织也需要自动化工具来在复杂、快速变化的环境中成功地保护他们的软件。以下比较了三个广泛使用的应用程序安全测试工具:静态应用程序安全测试(SAST),动态应用程序安全测试(DAST)和交互式应用程序安全测试(IAST)。为什么需要应用安全测试工具多种融合趋势使软件更难保护,并增加了用户的风险。代码库变得越来越大,越来越复杂,内部和外部交互比以往任何时候都多。云原生和基于微服务的开发方法带来了新的挑战。软件使用来自更多来源、多种语言、不同起源的组件所有这些都增加了安全复杂性,超出了开发团队手动管理的能力。团队需要自动化和更智能的工具来帮助更早地识别和理解问题,并更快地修复它们。攻击者知道软件系统有多脆弱,在 Verizon 的 2022 年数据泄露调查报告中,大约 45% 的攻击和 70% 的事件与 Web 应用程序网络攻击有关。不同类型的应用安全测试工具没有单一类别的工具可以覆盖web应用程序安全的所有方面,因此组织通常结合多个安全测试工具来保护应用程序的整个生命周期。安全测试是应用程序安全的重要基础,允许在整个开发和运营管道中发现和修复问题。静态应用程序安全测试 (SAST)SAST 工具在部署应用程序之前检查源代码、字节码或二进制文件,以识别漏洞、缺陷,以便在造成更严重的破坏之前就修复它。SAST工具还可以检测编码标准和规范。SAST 也称为白盒测试,指的是它正在查看代码内部以查明漏洞的确切位置。通过自动执行代码安全审查,SAST 工具可以同时检查完整的代码库和应用程序的各个部分。开发人员可以看到每个潜在问题的确切位置并获得反馈,即便存在问题的代码没有涉及到系统实际运行。这有助于更快速地修复,并有助于防止开发人员在未来出现错误。需要注意的是,SAST 工具需要支持所检测的代码语言,另外一些配置错误、业务逻辑漏洞或动态依赖项引入的漏洞无法找到。动态应用程序安全测试 (DAST)DAST工具检查在真实环境中运行的应用程序的安全性,通过安全地模仿攻击者的行为从外到内探测它们。由于DAST从外部工作,对源代码没有可见性,因此它有时被称为黑盒测试。由于 DAST 不需要访问源代码,因此它可以适用于几乎任何语言或语言组合编写的应用程序。在 Web 应用程序中,DAST 工具可以发现配置错误、加密或身份验证问题以及可利用的攻击漏洞,例如服务器端请求伪造和SQL 注入。由于 DAST 需要一个正在运行的应用程序,因此它通常在软件开发的后期阶段使用。在管道中尽可能早地运行DAST,有助于在问题变得难以修复之前发现问题。由于无法访问源代码,大多数DAST工具也难以确定漏洞的确切位置和原因。虽然与SAST相比,DAST的设置要容易得多,并且理论上可以在任何环境中运行,但在生产环境中运行测试需要仔细调优,以避免性能问题,特别是使用不太先进的工具时。因此,最佳做法是测试生产环境的克隆。交互式应用程序安全测试 (IAST)IAST工具或灰盒测试系统利用了SAST(白盒)和DAST(黑盒)方法的元素,旨在结合它们各自的优势。IAST通常链接到一个正在运行的应用程序,并通过一组单独的测试结果提供对其内部工作的深入了解。。 在分析一个运行中的应用程序时,IAST可以潜在地利用运行时信息,如配置、调用、HTTP流量、数据和控制流、基础设施数据以及中间件服务的行为。它同时分析应用程序的源代码,尝试连接这些外部和内部视图,以识别其他漏洞以及它们在代码中出现的位置。
2022
12-09
中科天齐成功入选2022年度北京市创新型中小企业
近日,北京市经济和信息化局公布了2022年度10月份北京市创新型中小企业名单,北京中科天齐信息技术有限公司(简称中科天齐)在列。作为优质中小企业的基础力量,根据评定文件要求,“创新型中小企业”应具有专业化、精细化、特色化、新颖化四大优势,在行业细分领域具有一定影响力的规模骨干企业,具有较高专业化水平、较强创新能力和发展潜力。此次中科天齐入选“2022年北京市创新型中小企业”公示名单,是北京市经济和信息化局对公司技术研发能力、创新能力等方面的充分肯定,同时也是对公司研发实力与科技成果转化能力的认可,有利于提高公司核心竞争力和业界影响力,对公司整体业务发展产生积极影响。未来,中科天齐会进一步加大产品技术的研发力度,不断提高自主创新能力与研发水平,进一步扩大公司在相关领域的影响力和知名度。北京中科天齐信息技术有限公司由中科院研究员李炼博士创立,以自主研究成果中科天齐软件源代码安全缺陷检测平台(WuKong)为主打产品,团队凭借多年在程序分析领域的技术积累,致力打造安全漏洞治理领域新生态的高新技术企业。目前,中科天齐相关产品及服务为政府、金融、科技、软件研发、工业互联网等多个行业领域提供全方面的数字化转型支撑与安全保障,并满足国产化项目要求。中科天齐软件源代码安全缺陷检测平台(WuKong)中科天齐软件源代码安全缺陷检测平台(WuKong)是一款B/S 架构的国产信创静态软件安全测试工具,采用自主专利技术的程序分析引擎,多种创新性的静态分析技术,结合深度学习和人工智能等多种方法,能够对软件代码进行全方位的安全扫描和安全分析。可检测代码运行时缺陷、安全漏洞及编码标准规范。WuKong可应用于软件生命周期的各个阶段,包括:开发人员编码阶段、代码集成阶段、系统发布阶段和系统上线之后。兼容麒麟、鲲鹏等多种国产化环境,支持C、C++、C#、JAVA、Python、PHP、JSP、JavaScript、HTML、Go、XML 等主流程序开发语言。 支持国家推荐标准 GB/T 34943、 GB/T 34944、GB/T 34946、国军标 GJB 8114-2013、5369,行业标准 SJT 11682、SJT 11683,国际规范CWE Top25、OWASP Top10等,可根据需求进行定制化处理。
2022
12-08
DevOps 如何帮助实现安全部署?静态代码检测工具何时使用
DevOps 是一种强调团队之间沟通和协作的软件开发方法。最显著的特点是将以前在工程或测试等不同领域工作过的人和流程聚集在一起,使得在一起做项目的时候可以互相协作和学习。DevSecOps可帮助组织在整个开发过程中监控和发现安全风险,而不是在发布后的保护措施上花费大量资金和精力。通过这种方式能够保护产品,而不会让开发人员承担过多的责任。DevSecOps 的目标DevSecOps的目标是在不影响团队生产力的情况下提供安全最佳实践。安全开发是顺利部署过程的关键。当产品中存在安全方面的隐患,但却没有得到很好的解决,这无疑为以后增加了安全风险和更繁琐的解决方式。DevSecOps通过提醒每个人良好的安全习惯对开发人员和运维人员来说都十分必要。为了使安全更加有效和可靠,应该从一开始就将安全其纳入开发当中。这意味着,与其等到问题或危机出现时才实施保护措施,如防火墙、加密密钥等,不如在开发期间就预先处理这些安全问题,以便在后期能更好的运行。它有助于确保在过程中尽可能早地发现安全问题,从而及时得到解决。当安全问题在仍项目刚结束时得到解决,就比在后期返回重新修复容易的多。DevSecOps 的优势对于任何想要在这个数字时代生存下去的公司来说,安全都应该是重中之重。从降低风险到减轻法律责任,在软件开发生命周期的早期识别缺陷,可以在出现问题时更轻松地进行安全管理。如果将重点转移到流程的早期,那么会比在后期解决付出的代价更低。DevSecOps的目标是为开发人员和运维人员提供关于他们正在进行的工作更快的反馈,以便他们能够立即得到通知并进行调整和修复。实现DevSevOps在实施 DevSecOps 时,没有一个统一的标准和规范,因为每个组织的需求都是独一无二的。但有一些常见的做法。① 获得管理层的支持要从根本上改变组织思考、构建和部署软件的方式,需要的不仅仅是点对点协议。对于这种革命性的思维方式转变,管理层的支持是必要的。DevSecOps过程可以帮助减少在生产中出现被利用的软件漏洞。对于那些在风险和收益之间做决定的人来说,重要的是要看到这将如何使公司受益。② 开发人员责任DevSecOps流程重视安全性并使其成为开发过程的一部分,而不是事后才考虑的事情。整个团队可以协同工作来编写更安全的代码和配置,这些代码和配置能够抵御威胁,同时在出现错误时也可以很容易地恢复。这也不再只是安全专业人员的工作。它需要每个人都参与保护自己的工作部分的安全性,而不是期望别人来做。安全和DevSecOps培训通过培训,让每个人都了解 DevSecOps 方法,他们不仅会理解它为什么重要,而且还会看到如何正确实现这种新的工作模式。使用适当的工具和流程并非只有一种正确的方法来实现DevSecOps ,每个组织都有自己独特的构建软件的方法,当在不同文化和工作场所的不同组织中实现这些概念时,需要考虑这些方法。通常情况下,编写代码期间使用静态应用安全测试工具,软件成分分析检测开源组件,还有动态应用安全测试工具、交互式安全测试工具等自动化工具是常见的在DevSecOps中使用的工具。其中还包括一些自动化构建工具和缺陷管理工具等。通过向开发管道引入新的安全组件,DevSecOps正在用DevOps最佳实践扩展我们的基本开发和运营组件。DevSecOps在软件开发中确保了安全风险在所有阶段都得到监控,而不是只在发布之后才修复漏洞和bug,在漏洞被利用后再修复就为时已晚。
2022
12-01
静态应用程序安全测试(SAST)
数据显示,2022年截止到目前发现了大约 20,175 个新漏洞,高于前一年的 18,341 个。网络攻击者正不断扫描网络中所有可能被利用的漏洞,从而发起网络攻击。美国国家标准与技术局(NIST)、国家漏洞数据库(NVD)数据显示,90%以上的网络安全问题是由软件自身的安全漏洞被利用导致。目前,静态应用程序安全测试在软件开发生命周期当中使用频率越来越高。静态应用程序安全测试在软件开发期间检测源代码中存在的编码问题及安全缺陷,有助于及时修复缺陷提高软件安全性。什么是静态应用程序安全测试(SAST)?静态应用程序安全测试(SAST)是一种白盒测试,通过直接分析源代码、字节码和二进制文件,以识别可利用的漏洞和编码问题。静态应用程序安全测试通过建立一种程序状态模型,通过字符串匹配、数据流分析、控制流分析、抽象语法树的语义分析等手段进行路径遍历,完成对状态空间所有路径的近似分析,以发现代码中存在的潜在缺陷以及安全漏洞,并提供一定的修复建议。静态应用程序安全测试在DevSecOps 中的作用众所周知,DevSecOps 通过在软件开发生命周期 (SDLC) 的每个阶段添加合适的安全测试方法来扩展 DevOps 和敏捷的方法,从而创建一个动态和持续的测试过程。测试过程最先涉及的就是静态应用程序安全测试,检测开发人员编写的代码安全性并定位有问题的代码所在,协助开发人员高效修复代码缺陷,有助于快速安全地交付软件。静态应用程序安全测试的好处①可在开发早期阶段检出缺陷,修复成本低;②可精确定位源代码中的潜在错误,便于修改;③代码覆盖率完整;④易于使用,通用性高。哪些行业使用静态应用程序安全测试?随着网络安全法规和标准在全球范围内不断展开,越来越多的组织正在扩展网络安全计划,并在交付软件之前进行安全测试。整个行业,尤其在金融、政府等行业,都涉及对应用软件或系统进行安全测试的需求。最佳实践进行安全测试(包括静态应用程序安全测试)的有效方法是持续进行。这意味着将静态应用程序安全测试直接集成到 CI/CD 管道中。这样做可以创建快速的反馈周期,以便开发人员可以在代码发布之前修复安全漏洞。静态应用程序安全测试发现的常见安全漏洞包括:缓冲区溢出跨站点脚本SQL注入等 除了检测安全漏洞外,静态应用程序安全测试还能检测语义缺陷/运行时缺陷及安全编码标准/规范。