Application Security for Developersのトレーニングコース
Application security is a critical aspect of modern software development, ensuring that applications are built to withstand security threats and vulnerabilities.
This instructor-led, live training (online or onsite) is aimed at intermediate-level to advanced-level developers who wish to understand and apply secure coding practices, identify security risks in software, and implement defenses against cyber threats.
By the end of this training, participants will be able to:
- Understand common security vulnerabilities in web and software applications.
- Analyze security threats and exploit techniques used by attackers.
- Implement secure coding practices to mitigate security risks.
- Use security testing tools to identify and fix vulnerabilities.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
コース概要
Introduction to Application Security
- Importance of application security in modern software development
- Overview of common cyber threats and attack vectors
- Understanding security risks in web and mobile applications
Secure Software Development Lifecycle (SDLC)
- Integrating security into each phase of development
- Threat modeling and risk assessment
- Automated security testing in CI/CD pipelines
Understanding Common Security Vulnerabilities
- Introduction to OWASP Top 10 security risks
- Common coding flaws that lead to vulnerabilities
- Exploiting insecure applications (hands-on exercises with DVWA/WebGoat)
Input Validation and Secure Coding Practices
- Preventing SQL injection, cross-site scripting (XSS), and command injection
- Best practices for input sanitization and validation
- Implementing secure authentication and authorization mechanisms
Session Management and Data Protection
- Handling session security: cookies, tokens, and JWT best practices
- Data encryption techniques and secure storage
- Secure API development and protection against API abuses
Security Testing and Vulnerability Assessment
- Using OWASP ZAP and Burp Suite for security testing
- Static and dynamic application security testing (SAST/DAST)
- Penetration testing fundamentals for developers
Implementing Secure DevOps (DevSecOps)
- Security automation in DevOps workflows
- Container security and securing cloud applications
- Incident response and security monitoring
Summary and Next Steps
- Key takeaways from the course
- Resources for further learning
- Q&A and closing remarks
要求
- Basics of any programming language
- Experience in developing applications
Audience
- Software developers
- Application security engineers
- DevOps and security teams
オープントレーニングコースには5人以上が必要です。
Application Security for Developersのトレーニングコース - 予約
Application Security for Developersのトレーニングコース - お問い合わせ
Application Security for Developers - コンサルティングお問い合わせ
コンサルティングお問い合わせ
お客様の声 (1)
多くの情報を非常に詳しく説明しています。 良い例題と興味深い演習が含まれています。 講師は自身の実際の経験を教えてくれました。
Gergely Batho - GE Medical Systems Polska Sp. Z O.O.
コース - Application Security for Developers
機械翻訳
今後のコース
関連コース
Android セキュリティ
14 時間Android はスマートフォンやタブレットなどのモバイルデバイス向けのオープンプラットフォームです。多くのセキュリティ機能を備えており、安全なソフトウェア開発がより容易になります。しかし、他の携帯機器プラットフォームに存在する特定のセキュリティ側面は欠けています。本コースではこれらの機能について包括的な概要を提供し、Linux の基本層やファイルシステム、一般的な環境、権限の使用やその他の Android ソフトウェア開発コンポーネントに関連する最も重要な欠点に注意するべき点を指摘します。
ネイティブコードと Java アプリケーションの典型的なセキュリティ上の落とし穴や脆弱性について説明し、それらを回避および軽減するための推奨事項とベストプラクティスも紹介します。多くの場合、議論される問題は実際の例やケーススタディでサポートされます。最後に、セキュリティテストツールを使用して、プログラミングのセキュリティに関連するバグを発見する方法について簡単に説明します。
このコースに参加する受講者は
- セキュリティ、IT セキュリティ、およびセキュアコーディングの基本概念を理解します
- Android でのセキュリティソリューションについて学びます
- Android プラットフォームのさまざまなセキュリティ機能を使用する方法を学びます
- 最近の Java における脆弱性に関する情報を得ます
- 典型的なコーディングミスとそれを避ける方法について学びます
- Android 上でのネイティブコードの脆弱性を理解します
- ネイティブコードにおける不適切なバッファ処理がもたらす重大な結果に気づきます
- アーキテクチャ保護技術とその弱点を理解します
- セキュアコーディングプラクティスの情報源とさらなる読み物を得ます
対象者
専門家
ネットワークセキュリティと安全な通信
21 時間セキュアなネットワークアプリケーションの実装は、暗号化やデジタル署名などの暗号技術を過去に使用したことがある開発者にとっても困難です。このため、参加者がこれらの暗号プリミティブの役割と使用方法を理解できるよう、安全な通信の主な要件である「安全な確認」、「整合性」、「機密性」、「リモート認証」、「匿名性」について堅固な基礎を提供します。また、これらの要件に損傷を与える典型的な問題とその解決策についても説明します。
ネットワークセキュリティの重要な側面である暗号技術については、対称暗号、ハッシング、非対称暗号、および鍵共有に関する最も重要な暗号アルゴリズムについても議論します。数学的な詳細を深く説明するのではなく、これらの要素は開発者の視点から議論され、典型的なユースケースと暗号を使用する際の実践的な考慮事項(公開鍵基盤など)が示されます。多くのセキュリティプロトコルが導入され、IPSECやSSL/TLSなどの最も広く使用されているプロトコルファミリーについて詳しく議論します。
特定の暗号アルゴリズムや暗号プロトコルに関連する典型的な暗号脆弱性(BEAST、CRIME、TIME、BREACH、FREAK、Logjam、パディングオラクル、Lucky Thirteen、POODLEなど)についても議論します。それぞれの問題について、実践的な考慮事項と潜在的な影響が説明されますが、数学的な詳細には深く入りません。
最後に、XML技術はネットワークアプリケーション間でのデータ交換の中心的な役割を果たすため、XMLのセキュリティ側面についても説明します。これには、WebサービスやSOAPメッセージ内でのXMLの使用と、XML署名やXML暗号化などの保護措置の使用が含まれます。また、これらの保護措置の弱点やXML特有のセキュリティ問題(XMLインジェクション、XML外部エンティティ(XXE)攻撃、XMLボム、XPathインジェクションなど)についても説明します。
このコースに参加する受講者は
- セキュリティ、ITセキュリティ、安全なコーディングの基本概念を理解する
- 安全な通信の要件を理解する
- 異なるOSI層でのネットワーク攻撃と防御について学ぶ
- 実践的な暗号技術を理解する
- 重要なセキュリティプロトコルを理解する
- 最近の暗号システムに対する攻撃を理解する
- 関連する最近の脆弱性についての情報を得る
- Webサービスのセキュリティ概念を理解する
- 安全なコーディング実践に関する情報源と更なる読み物を得る
対象者
開発者、専門家
C/C++ セキュアコーディング
21 時間この3日間のコースでは、メモリ管理や入力処理に関連する多くの脆弱性を悪意のあるユーザーが利用することから C/C++ コードを保護する基本的な方法について学びます。セキュアなコードの作成に関する原則も扱います。
高度な Java セキュリティ
21 時間経験豊富な Java プログラマでさえ、Java が提供するさまざまなセキュリティサービスを完全に理解しているわけではなく、Java で書かれた Web アプリケーションに関連する異なる脆弱性についても十分に認識していない場合があります。
このコースでは、Standard Java Edition のセキュリティコンポーネントの紹介に加えて、Java Enterprise Edition (JEE) と Web サービスのセキュリティ問題を取り扱います。特定のサービスの説明は、暗号化と安全な通信の基礎から始まります。さまざまな演習では、JEE の宣言的およびプログラム的なセキュリティ技術が扱われ、Web サービスのトランスポート層とエンドツーエンドのセキュリティについても議論されます。すべてのコンポーネントの使用方法は、参加者が実際に議論された API とツールを試すことができる実践的な演習を通じて紹介されます。
また、このコースでは、Java 言語およびプラットフォームと Web 関連の脆弱性に関する最も頻繁で深刻なプログラミングの欠陥について説明します。Java プログラマが犯しやすい典型的なバグに加えて、紹介されるセキュリティ上の脆弱性には言語特有の問題と実行時の環境から生じる問題が含まれます。すべての脆弱性と関連する攻撃は、理解しやすい演習を通じて示され、その後、推奨されるコーディングガイドラインと対策技術について説明します。
このコースに参加すると、次のことができます
- セキュリティ、IT セキュリティ、安全なコーディングの基本概念を理解する
- OWASP Top Ten 以外の 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 の最近の脆弱性に関する情報を得ます
- 安全なコーディング実践に関する情報源や追加の読み物を得ます
対象者
開発者
The Secure Coding Landscape
14 時間The course introduces some common security concepts, gives an overview about the nature of the vulnerabilities regardless of the used programming languages and platforms, and explains how to handle the risks that apply regarding software security in the various phases of the software development lifecycle. Without going deeply into technical details, it highlights some of the most interesting and most aching vulnerabilities in various software development technologies, and presents the challenges of security testing, along with some techniques and tools that one can apply to find any existing problems in their code.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Understand Web vulnerabilities both on server and client side
- Realize the severe consequences of unsecure buffer handling
- Be informated about some recent vulnerabilities in development environments and frameworks
- Learn about typical coding mistakes and how to avoid them
- Understand security testing approaches and methodologies
Audience
Managers
PHPでのセキュアコーディング
21 時間このコースでは、現代のインターネット攻撃に耐えるためのPHP開発者にとって必要な基本的なスキルを提供します。Webの脆弱性について、OWASPトップテン以上の範囲で、さまざまなインジェクション攻撃、スクリプトインジェクション、PHPのセッション管理に対する攻撃、不安全な直接オブジェクト参照、ファイルアップロードに関する問題などについて、PHPを基にした例を使って解説します。PHPに関連する脆弱性は、標準的な脆弱性タイプである入力検証の欠如や不適切さ、エラーと例外処理の誤り、セキュリティ機能の不適切な使用、時間と状態に関する問題に分けて紹介します。後者については、open_basedirの回避、magic floatによるサービス拒否攻撃、ハッシュテーブル衝突攻撃などの攻撃について解説します。これらのケースすべてで、参加者は列挙されたリスクを軽減するために使用できる最も重要な技術と関数に精通することができます。
クライアント側のセキュリティには特に重点が置かれており、JavaScript、Ajax、HTML5のセキュリティ問題について解説します。PHPの暗号化用のhash、mcrypt、OpenSSLや入力検証用のCtype、ext/filter、HTML Purifierなどのセキュリティ関連の拡張機能が紹介されます。また、php.iniの設定、Apache、サーバー全体に関する最良の強化実践方法も解説します。最後に、開発者とテスト者が使用できるさまざまなセキュリティテストツールや手法について概要を提供し、包括的なセキュリティスキャナーやペネトレーションテスト、エクスプロイトパック、スニッファ、プロキシサーバー、フジングツール、静的ソースコード解析ツールなどを含みます。
脆弱性の導入と設定実践は、成功した攻撃の結果を示し、軽減技術の適用方法を示すだけでなく、さまざまな拡張機能やツールの使用方法を紹介する多くのハンズオン演習によってサポートされています。
このコースに参加することで参加者は
- セキュリティ、ITセキュリティ、セキュアコーディングの基本概念を理解します
- OWASPトップテン以上のWeb脆弱性について学び、それらを回避する方法を知ります
- クライアント側の脆弱性とセキュアコーディングの実践方法を学びます
- 暗号化に関する実践的な理解を得ます
- PHPのさまざまなセキュリティ機能を使用する方法を学びます
- 一般的なコーディングミスとそれを回避する方法について学びます
- PHPフレームワークの最近の脆弱性に関する情報を得ます
- セキュリティテストツールを使用する実践的な知識を得ます
- セキュアコーディングの実践方法についての情報源とさらに読むべき文献を入手します
対象者
開発者
Microsoft SDL Core
14 時間The Combined SDL core training gives an insight into secure software design, development and testing through Microsoft Secure Development Lifecycle (SDL). It provides a level 100 overview of the fundamental building blocks of SDL, followed by design techniques to apply to detect and fix flaws in early stages of the development process.
Dealing with the development phase, the course gives an overview of the typical security relevant programming bugs of both managed and native code. Attack methods are presented for the discussed vulnerabilities along with the associated mitigation techniques, all explained through a number of hands-on exercises providing live hacking fun for the participants. Introduction of different security testing methods is followed by demonstrating the effectiveness of various testing tools. Participants can understand the operation of these tools through a number of practical exercises by applying the tools to the already discussed vulnerable code.
Participants attending this course will
Understand basic concepts of security, IT security and secure coding
Get known to the essential steps of Microsoft Secure Development Lifecycle
Learn secure design and development practices
Learn about secure implementation principles
Understand security testing methodology
- Get sources and further readings on secure coding practices
Audience
Developers, Managers
セキュリティテスト
14 時間脆弱性と攻撃手法に慣れてから、参加者はセキュリティテストの一般的なアプローチや方法論、特定の脆弱性を明らかめるために適用できる技術について学びます。セキュリティテストは、システム(ToC、つまり評価対象)に関する情報収集から始まり、その後彻底的な脅威モデリングによりすべての脅威が明らかにされ、評価され、最も適切なリスク分析に基づくテスト計画に到達します。
セキュリティ評価はSDLCの様々な段階で実施される可能性があり、そのため設計レビュー、コードレビュー、システムに関する偵察と情報収集、実装のテスト、および安全なデプロイメントのための環境のテストと強化について議論します。多くのセキュリティテスト技術が詳細に紹介され、たとえば汚染分析やヒューリスティックベースのコードレビュー、静的コード解析、動的なWeb脆弱性テスト、またはFuzzingなどが含まれます。ソフトウェア製品のセキュリティ評価を自動化するために適用できる様々な種類のツールが紹介され、これらを既に議論された脆弱なコードを分析するための多数の演習でサポートされています。多くの実際の事例研究により、さまざまな脆弱性についてよりよく理解できます。
このコースでは、テスト担当者とQAスタッフがセキュリティテストを適切に計画し、正確に実行し、最も適切なツールや技術を選択して使用し、隠れたセキュリティ欠陥を見つけるための重要な実践的なスキルを身につけていただけます。これらのスキルは翌日からすぐに仕事で活用できます。
このコースに参加する受講者は
- セキュリティ、ITセキュリティ、および安全なコーディングの基本概念を理解します
- OWASP Top Tenを超えるWeb脆弱性について学び、それらを回避する方法を知ります
- クライアントサイドの脆弱性と安全なコーディング実践について学びます
- セキュリティテストの手法や方法論を理解します
- セキュリティテスト技術とツールを使用するための実践的な知識を得ます
- 安全なコーディング実践に関する情報源とさらなる読み物を得ます
対象者
開発者、テスタ
Secure Web Application Development and Testing
21 時間Protecting applications that are accessible via the web requires well-prepared security professional who are at all time aware of current attack methods and trends. Plethora of technologies and environments exist that allow comfortable development of web applications. One should not only be aware of the security issues relevant to these platforms, but also of all general vulnerabilities that apply regardless of the used development tools.
The course gives an overview of the applicable security solutions in web applications, with a special focus on understanding the most important cryptographic solutions to be applied. The various web application vulnerabilities are presented both on the server side (following the OWASP Top Ten) and the client side, demonstrated through the relevant attacks, and followed by the recommended coding techniques and mitigation methods to avoid the associated problems. The subject of secure coding is wrapped up by discussing some typical security-relevant programming mistakes in the domain of input validation, improper use of security features and code quality.
Testing plays a very important role in ensuring security and robustness of web applications. Various approaches – from high level auditing through penetration testing to ethical hacking – can be applied to find vulnerabilities of different types. However, if you want to go beyond the easy-to-find low-hanging fruits, security testing should be well planned and properly executed. Remember: security testers should ideally find all bugs to protect a system, while for adversaries it is enough to find one exploitable vulnerability to penetrate into it.
Practical exercises will help understanding web application vulnerabilities, programming mistakes and most importantly the mitigation techniques, together with hands-on trials of various testing tools from security scanners, through sniffers, proxy servers, fuzzing tools to static source code analyzers, this course gives the essential practical skills that can be applied on the next day at the workplace.
Participants attending this course will
- Understand basic concepts of security, IT security and secure coding
- Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
- Learn client-side vulnerabilities and secure coding practices
- Have a practical understanding of cryptography
- Understand security testing approaches and methodologies
- Get practical knowledge in using security testing techniques and tools
- Be informed about recent vulnerabilities in various platforms, frameworks and libraries
- Get sources and further readings on secure coding practices
Audience
Developers, Testers
DevOpsセキュリティ:DevOpsセキュリティ戦略の作成
7 時間この講師主導のライブコースでは、参加者は日本でDevOpsセキュリティへの挑戦に対処する適切なセキュリティ戦略を策定する方法を学びます。
How to Write Secure Code
35 時間This Course in 日本 aims to help in the following:
- Help Developers to master the techniques of writing Secure Code
- Help Software Testers to test the security of the application before publishing to the production environment
- Help Software Architects to understand the risks surrounding the applications
- Help Team Leaders to set the security base lines for the developers
- Help Web Masters to configure the Servers to avoid miss-configurations
Secure Developer Java (Inc OWASP)
21 時間This course covers the secure coding concepts and principals with Java through Open Web Application Security Project (OWASP) methodology of testing. The Open Web Application Security Project is an online community which creates freely-available articles, methodologies, documentation, tools, and technologies in the field of web application security.
Secure Developer .NET (Inc OWASP)
21 時間This course covers the secure coding concepts and principals with ASP.net through the Open Web Application Security Project (OWASP) methodology of testing , OWASP is an online community which creates freely-available articles, methodologies, documentation, tools, and technologies in the field of web application security.
This Course explores the Dot Net Framework Security features and how to secure web applications.