Application Security 面向开发者 培训
应用程序安全是现代软件开发的一个关键方面,确保应用程序具有抵御安全威胁和漏洞的能力。
这门由讲师主导的现场培训(在线或现场)旨在让中级到高级开发人员了解和应用安全编码实践,识别软件中的安全风险,并实施对抗网络威胁的防御措施。
完成本次培训后,参与者将能够:
- 了解Web和软件应用程序中的常见安全漏洞。
- 分析攻击者使用的安全威胁和利用技术。
- 实施安全编码实践以减轻安全风险。
- 使用安全测试工具来识别和修复漏洞。
课程格式
- 互动讲座和讨论。
- 大量的练习和实践。
- 在实验室环境中进行实际操作。
课程定制选项
- 要请求定制此课程的培训,请联系我们安排。
课程大纲
介绍Application Security
- 现代软件开发中应用安全的重要性
- 常见网络威胁和攻击向量的概述
- 了解Web和移动应用程序中的安全风险
安全软件开发生命周期(SDLC)
- 将安全性集成到开发的每个阶段
- 威胁建模和风险评估
- 在CI/CD管道中进行自动化安全测试
了解常见安全漏洞
- OWASP前10名安全风险介绍
- 导致漏洞的常见编码缺陷
- 利用不安全的应用程序(针对DVWA/WebGoat的动手练习)
输入验证和Secure Coding实践
- 防止SQL注入、跨站脚本(XSS)和命令注入
- 输入清理和验证的最佳实践
- 实现安全的身份验证和授权机制
会话Management和Data Protection
- 处理会话安全性:cookies、tokens和JWT最佳实践
- 数据加密技术和安全存储
- 安全API开发和防止API滥用
安全测试和漏洞评估
- 使用OWASP ZAP和Burp Suite进行安全测试
- 静态和动态应用程序安全测试(SAST/DAST)
- 针对开发人员的渗透测试基础知识
实施安全DevOps(DevSecOps)
- DevOps工作流程中的安全自动化
- 容器安全和保护云应用程序
- 事件响应和安全监控
总结和结论
- 课程的关键要点
- 进一步学习的资源
- 问答和结束语
要求
- 任何程序语言的基础知识
- 开发应用程序的经验
受众
- 软件开发人员
- 应用安全工程师
- DevOps 和安全团队
需要帮助选择合适的课程吗?
china@nobleprog.com 或拨打 400 6116 540
Application Security 面向开发者 培训 - 询价
Application Security 面向开发者 - 问询
客户评论 (1)
大量信息解释得非常清楚。 很好的例子,有趣的练习。 培训师向我们展示了他的实际经验。
Gergely Batho - GE Medical Systems Polska Sp. Z O.O.
课程 - Application Security for Developers
机器翻译
即将举行的公开课程
相关课程
全面C#与.NETApplication Security
21 小时目前有许多程式设计语言可用于将代码编译为 .NET 和 ASP.NET 框架。该环境为安全开发提供了强大的手段,但开发人员应该知道如何应用体系结构和编码级别的程式设计技术,以实现所需的安全功能并避免漏洞或限制其利用。
本课程旨在通过大量动手练习向开发人员传授如何防止不受信任的代码执行特权操作、通过强身份验证和授权保护资源、提供远端过程调用、处理会话、为某些功能介绍不同的实现等等。一个特殊部分专门用于配置和强化 .NET 和 ASP.NET 环境以确保安全性。
对密码学基础知识的简要介绍为理解各种演算法的用途和操作提供了一个通用的实践基线,在此基础上,本课程介绍了可在 .NET 中使用的加密功能。随后引入了一些最新的加密漏洞,这些漏洞都与某些加密演算法和加密协定以及侧通道攻击有关。
引入不同的漏洞首先会出现使用 .NET 时提交的一些典型程式设计问题,包括输入验证、错误处理或争用条件的错误类别。特别关注 XML 安全性,而 ASP.特定于 NET 的漏洞解决了一些特殊问题和攻击方法: 例如攻击 ViewState 或字串终止攻击。
参加本课程的学员将
- 了解安全、IT 安全和安全编码的基本概念
- 了解如何使用 .NET 开发环境的各种安全功能
- 对密码学有实际的了解
- 了解最近针对加密系统的一些攻击
- 获取有关 .NET 和 ASP.NET 中一些最新漏洞的资讯
- 了解典型的编码错误以及如何避免这些错误
- 获取有关使用安全测试工具的实用知识
- 获取有关安全编码实践的原始程式码和进一步阅读材料
观众
开发人员
Network Security 和 安全 Communication
21 小时实现安全的网路应用程式可能很困难,即使对于可能事先使用过各种加密构建块(例如加密和数位签名)的开发人员也是如此。为了让参与者了解这些加密原语的作用和用法,首先给出了安全通信的主要要求(安全确认、完整性、机密性、远端识别和匿名)的坚实基础,同时还介绍了可能破坏这些要求的典型问题以及实际解决方案。
由于网路安全的一个关键方面是密码学,因此还讨论了对称密码学、哈希、非对称密码学和密钥协定中最重要的加密演算法。这些元素不是提供深入的数学背景,而是从开发人员的角度进行讨论,展示了与加密使用相关的典型用例示例和实际考虑,例如公钥基础设施。介绍了安全通信的许多领域的安全协定,并深入讨论了最广泛使用的协定系列,例如 IPSEC 和 SSL/TLS。
讨论了与某些加密演算法和加密协定相关的典型加密漏洞,例如 BEAST、CRIME、TIME、BREACH、FREAK、Logjam、Padding oracle、Lucky Thirteen、POODLE 等,以及 RSA 计时攻击。在每种情况下,都会针对每个问题描述实际考虑和潜在后果,同样,无需深入数学细节。
最后,由于 XML 技术是网路应用程式数据交换的核心,因此描述了 XML 的安全方面。这包括在 Web 服务和 SOAP 消息中使用 XML 以及 XML 签名和 XML 加密等保护措施,以及这些保护措施中的弱点和 XML 特定的安全问题,例如 XML 注入、XML 外部实体 (XXE) 攻击、XML 炸弹和 XPath 注入。
参加本课程的学员将
- 了解安全、IT 安全和安全编码的基本概念
- 了解安全通信的要求
- 了解不同 OSI 层的网路攻击和防御
- 对密码学有实际的了解
- 了解基本安全协定
- 了解最近针对加密系统的一些攻击
- 获取有关一些最近的相关漏洞的资讯
- 了解 Web 服务的安全概念
- 获取有关安全编码实践的原始程式码和进一步阅读材料
观众
开发人员、专业人士
Application Security 云计算中的安全
21 小时云计算的采用改变了应用程序的构建、部署和运营方式,将责任在供应商和客户之间重新分配,同时引入了云原生平台(如容器、无服务器、托管服务),这些平台需要适配的安全控制措施。因此,安全必须涵盖基础设施加固、身份和访问管理、数据保护、安全开发实践以及云特定的威胁向量。
本课程由讲师主导,提供线上或线下培训,面向中级开发者、安全工程师和IT经理,旨在帮助他们掌握保护云应用程序及其支持基础设施的实用技能,同时学习可重复的控制和评估技术,这些技术与当前行业框架和云提供商的指导相符。
培训结束后,学员将能够:
- 解释云计算的共享责任模型,并将其应用于应用安全决策。
- 加固云基础设施(IaaS),保护平台服务(PaaS),并评估SaaS配置。
- 将安全编码和基于OWASP的缓解模式应用于托管在云上的应用程序。
- 将安全工具集成到CI/CD管道中(SAST/DAST/IAST/RASP),并采用“左移”实践。
课程形式
- 互动讲座和讨论,结合现场演示。
- 使用云控制台、容器、无服务器函数和CI/CD管道的动手实验。
- 实践练习:安全配置、漏洞扫描、攻击模拟和修复规划。
课程定制选项
- 如需定制本课程,请联系我们进行安排。
C/C++ Secure Coding
21 小时本课程为期三天,涵盖C/C++代码安全的基础知识,旨在防止恶意用户利用代码中的内存管理和输入处理漏洞。课程将介绍编写安全代码的基本原则。
高级Java安全
21 小时即使是有经验的Java程序员,也未必完全掌握Java提供的各种安全服务,同样可能不了解与Java编写的Web应用程序相关的各种漏洞。
本课程除了介绍标准Java版的安全组件外,还涉及Java企业版(JEE)和Web服务的安全问题。在讨论具体服务之前,课程会先讲解密码学和安全通信的基础知识。通过各种练习,参与者可以实践JEE中的声明式和编程式安全技术,同时讨论Web服务的传输层和端到端安全性。所有组件的使用将通过多个实际练习进行演示,参与者可以亲自尝试所讨论的API和工具。
课程还详细讲解并解释了Java语言和平台中最常见和最严重的编程缺陷,以及Web相关的漏洞。除了Java程序员常犯的典型错误外,课程还涵盖了特定于语言的问题和运行时环境引发的问题。所有漏洞和相关攻击都通过易于理解的练习进行演示,随后提供推荐的编码指南和可能的缓解技术。
参加本课程的学员将
- 了解安全、IT安全和安全编码的基本概念
- 学习超越OWASP十大漏洞的Web漏洞,并了解如何避免它们
- 理解Web服务的安全概念
- 学习使用Java开发环境的各种安全功能
- 对密码学有实际的理解
- 理解Java EE的安全解决方案
- 了解典型的编码错误及其避免方法
- 获取有关Java框架中最新漏洞的信息
- 获得使用安全测试工具的实践经验
- 获取有关安全编码实践的参考资料和进一步阅读材料
受众
开发人员
标准Java安全:安全编码与开发实践
14 小时描述
Java语言及其运行时环境(JRE)旨在避免其他语言(如C/C++)中常见的安全漏洞。然而,软件开发人员和架构师不仅需要了解如何使用Java环境的各种安全功能(正向安全),还应了解与Java开发相关的众多漏洞(负向安全)。
在介绍安全服务之前,课程将简要概述密码学的基础知识,为理解相关组件的用途和操作提供共同的基础。这些组件的使用将通过多个实践练习展示,参与者可以亲自尝试所讨论的API。
课程还将讲解Java语言和平台中最常见且严重的编程缺陷,涵盖Java程序员的典型错误以及语言和环境特有的问题。所有漏洞和相关攻击都通过易于理解的练习进行演示,随后提供推荐的编码指南和可能的缓解技术。
参加本课程的学员将
- 了解安全、IT安全和安全编码的基本概念
- 学习OWASP十大漏洞之外的其他Web漏洞,并了解如何避免它们
- 学习使用Java开发环境的各种安全功能
- 对密码学有实际的理解
- 了解典型的编码错误及如何避免它们
- 获取有关Java框架中近期漏洞的信息
- 获得安全编码实践的参考资料和进一步阅读材料
受众
开发人员
.NET、C#和ASP.NET安全开发
14 小时如今,有多种编程语言可用于将代码编译到.NET和ASP.NET框架。该环境为安全开发提供了强大的工具,但开发人员需要了解如何应用架构和代码级的编程技术,以实现所需的安全功能,并避免漏洞或限制其利用。
本课程旨在通过大量实践练习,教会开发人员如何防止不受信任的代码执行特权操作,通过强身份验证和授权保护资源,提供远程过程调用,处理会话,为某些功能引入不同的实现方式等。
不同漏洞的介绍从展示使用.NET时常见的一些典型编程问题开始,而ASP.NET漏洞的讨论还涉及各种环境设置及其影响。最后,ASP.NET特定漏洞的主题不仅涉及一些常见的Web应用安全挑战,还涉及特殊问题和攻击方法,如攻击ViewState或字符串终止攻击。
参加本课程的学员将
- 了解安全、IT安全和安全编码的基本概念
- 学习OWASP Top Ten之外的Web漏洞,并了解如何避免它们
- 学习使用.NET开发环境的各种安全功能
- 获得使用安全测试工具的实践经验
- 了解典型的编码错误及如何避免它们
- 获取一些最近的.NET和ASP.NET漏洞信息
- 获取安全编码实践的参考资料和进一步阅读材料
目标受众
开发人员
安全编码在PHP
21 小时该课程为 PHP 开发人员提供了必要的基本技能,以使其应用程式能够抵御通过 Internet 的现代攻击。通过基于 PHP 的示例讨论了 Web 漏洞,这些示例超出了 OWASP 前十名,解决了各种注入攻击、脚本注入、针对 PHP 会话处理的攻击、不安全的直接物件引用、档上传问题等等。PHP 相关的漏洞被归类为标准漏洞类型,包括缺失或不正确的输入验证、不正确的错误和异常处理、安全功能的不当使用以及与时间和状态相关的问题。对于后者,我们讨论了诸如 open_basedir 规避、通过magic float拒绝服务或哈希表碰撞攻击等攻击。在所有情况下,参与者都将熟悉用于减轻入伍风险的最重要技术和功能。
特别关注用户端安全性,解决 JavaScript、Ajax 和 HTML5 的安全问题。引入了许多与 PHP 相关的扩展,例如用于加密的 hash、mcrypt 和 OpenSSL,或用于输入验证的 Ctype、ext/filter 和 HTML Purifier。最好的强化实践是与 PHP 配置(设置 php.ini)、Apache 和一般伺服器相关的。最后,概述了开发人员和测试人员可以使用的各种安全测试工具和技术,包括安全扫描器、渗透测试和漏洞利用包、嗅探器、代理伺服器、模糊工具和静态原始码分析器。
漏洞的引入和配置实践都得到了许多动手练习的支持,这些练习演示了成功攻击的后果,展示了如何应用缓解技术,并介绍了各种扩展和工具的使用。
参加本课程的学员将
- 了解安全、IT 安全和安全编码的基本概念
- 了解 OWASP Top 10 之后的 Web 漏洞,并知道如何避免它们
- 了解用户端漏洞和安全编码实践
- 对密码学有实际的了解
- 学习使用 PHP 的各种安全功能
- 了解典型的编码错误以及如何避免这些错误
- 了解 PHP 框架的最新漏洞
- 获取有关使用安全测试工具的实用知识
- 获取有关安全编码实践的原始程式码和进一步阅读材料
观众
开发人员
Microsoft SDL 核心
14 小时综合 SDL 核心培训通过 Microsoft 安全开发生命周期 (SDL) 深入介绍了安全软件设计、开发和测试。它提供了 SDL 基础构建模块的 100 级概述,随后介绍了在开发过程的早期阶段应用的设计技术,以检测和修复缺陷。
在处理开发阶段时,本课程概述了托管代码和本机代码中典型的安全相关编程错误。通过一系列实践练习,参与者可以了解所讨论漏洞的攻击方法以及相关的缓解技术,体验实时黑客攻击的乐趣。介绍不同的安全测试方法后,演示了各种测试工具的有效性。参与者可以通过将工具应用于已讨论的易受攻击的代码,了解这些工具的操作。
参与者将了解
安全、IT 安全和安全编码的基本概念
熟悉 Microsoft 安全开发生命周期的关键步骤
学习安全设计和开发实践
了解安全实施原则
理解安全测试方法论
- 获取安全编码实践的来源和进一步阅读材料
受众
开发人员、经理
安全Web Application Development与测试
21 小时保护可通过Web访问的应用程序,需要时刻了解当前攻击方法和趋势的安全专业人员。存在多种技术和环境,可以舒适地开发Web应用程序。不仅要了解这些平台相关的安全问题,还要了解所有适用于各种开发工具的通用漏洞。
本课程概述了Web应用程序中的适用安全解决方案,特别关注最重要的加密解决方案。各种Web应用程序漏洞在服务器端(遵循OWASP Top Ten)和客户端都有所展示,通过相关攻击进行演示,并随后介绍推荐的编码技术和缓解方法,以避免相关问题。安全编码的主题通过讨论输入验证、安全功能的不当使用和代码质量等典型安全相关编程错误来总结。
测试在确保Web应用程序的安全性和稳健性方面起着非常重要的作用。可以应用各种方法——从高级审计到渗透测试再到道德黑客——来发现不同类型的漏洞。然而,如果想超越容易发现的问题,安全测试应精心计划并正确执行。请记住:安全测试人员应尽可能发现所有漏洞以保护系统,而攻击者只需找到一个可利用的漏洞即可渗透系统。
实践练习将帮助理解Web应用程序漏洞、编程错误以及最重要的缓解技术,同时通过动手试用各种测试工具,从安全扫描器、嗅探器、代理服务器、模糊测试工具到静态源代码分析器,本课程提供了第二天即可在工作场所应用的必备实践技能。
参加本课程的学员将
- 了解安全、IT安全和安全编码的基本概念
- 学习超越OWASP Top Ten的Web漏洞,并了解如何避免它们
- 学习客户端漏洞和安全编码实践
- 对密码学有实际的理解
- 了解安全测试方法和方法论
- 获得使用安全测试技术和工具的实践经验
- 了解各种平台、框架和库中的最新漏洞
- 获取安全编码实践的来源和进一步阅读材料
受众
开发人员、测试人员
EC-Council Certified DevSecOps Engineer (ECDE)
28 小时EC-Council Certified DevSecOps Engineer (ECDE) 是一门实作课程,旨在让专业人员掌握在 DevOps 生命周期中嵌入安全性的技能,从而实现从规划到部署的安全软件开发。
这门由讲师主导的培训(线上或线下)针对中级软件和 DevOps 专业人员,他们希望将安全实践整合到 CI/CD 管道中,确保代码的安全合规交付。
在培训结束时,参与者将能够:
- 理解 DevSecOps 的原则与实践。
- 使用自动化工具保护 CI/CD 管道的每个阶段。
- 实施安全编码实践与漏洞扫描。
- 通过实作实验室与复习,为 ECDE 认证做好准备。
课程形式
- 互动式讲座与讨论。
- 在模拟管道中实作使用 DevSecOps 工具。
- 专注于安全开发与部署的指导练习。
课程定制选项
- 如需根据您团队的工作流程或工具链定制此课程的培训,请联系我们安排。
如何编写安全代码
35 小时本课程在中国旨在帮助以下方面:
- 帮助开发者掌握撰写安全编码的技巧
- 帮助软体测试人员在应用程式发布到生产环境之前测试其安全性
- 帮助软体架构师了解应用程式周围的风险
- 帮助团队领导者为开发者设定安全基准
- 帮助网站管理员配置伺服器以避免错误配置
安全开发者Java(含OWASP)
21 小时本课程通过Open Web Application Security Project (OWASP) 的测试方法,涵盖Java的安全编码概念和原则。Open Web Application Security Project是一个线上社区,致力于创建免费的文章、方法论、文档、工具和技术,专注于Web应用安全领域。
安全开发者 .NET(含 OWASP)
21 小时本课程涵盖通过开放Web应用安全项目(OWASP)测试方法论的ASP.net安全编码概念和原则。OWASP是一个线上社区,提供免费的文章、方法论、文档、工具和技术,专注于Web应用安全领域。
本课程探讨了.NET框架的安全特性,以及如何保护Web应用程序。