JavaおよびWebアプリケーションのセキュリティのトレーニングコース
説明
Javaコンポーネントの使用に関する確固たる知識に加えて、経験豊富なJavaプログラマーにとっても、サーバー側とクライアント側のWeb関連脆弱性、Javaで書かれたWebアプリケーションに関連するさまざまな脆弱性、およびそれらのリスクの結果について深く理解することは不可欠です。
一般的なWebベースの脆弱性は、関連する攻撃を示すことで説明され、推奨されるコーディング手法と緩和方法はJavaの文脈で説明されます。最も重要な目標は、関連する問題を避けることです。さらに、JavaScript、Ajax、HTML5のセキュリティ問題に焦点を当てたクライアント側のセキュリティが取り上げられます。
このコースでは、標準JavaEditionのセキュリティコンポーネントが導入され、これには暗号化の基礎が先行します。これは、適用可能なコンポーネントの目的と動作を理解するための共通基盤を提供します。すべてのコンポーネントの使用は、実践的な演習を通じて紹介され、参加者は議論されたAPIやツールを自分で試すことができます。
最後に、このコースではJava言語およびプラットフォームの最も頻繁で深刻なプログラミングの欠陥が説明されます。Javaプログラマーが犯す典型的なバグだけでなく、言語特有の問題や実行時環境から生じる問題も含むセキュリティ脆弱性が紹介されます。すべての脆弱性と関連する攻撃は理解しやすい演習を通じて示され、その後に推奨されるコーディングガイドラインと可能ないくつかの緩和技術が続きます。
このコースを受講した参加者は
- セキュリティ、ITセキュリティ、および安全なコーディングの基本概念を理解します
- OWASP Top Tenを超えるWeb脆弱性を学び、それらを避ける方法を知ります
- クライアント側の脆弱性と安全なコーディングの実践について学びます
- Java開発環境的各种セキュリティ機能を使用する方法を学びます
- 暗号化の実践的な理解を得ます
- 典型的なコーディングミスとそれを避ける方法について学びます
- 最近のJavaフレームワークの脆弱性に関する情報を得ます
- セキュリティテストツールを使用する実践的な知識を得ます
- 安全なコーディングの実践に関する情報源と追加の読み物を得ます
対象者
開発者
コース概要
- ITセキュリティと安全なコーディング
- Webアプリケーションのセキュリティ
- クライアント側のセキュリティ
- Javaセキュリティの基礎
- 実践的な暗号化
- Javaセキュリティサービス
- XMLセキュリティ
- 一般的なコーディングエラーと脆弱性
- セキュリティと安全なコーディングの原則
- 知識源
オープントレーニングコースには5人以上が必要です。
JavaおよびWebアプリケーションのセキュリティのトレーニングコース - 予約
JavaおよびWebアプリケーションのセキュリティのトレーニングコース - お問い合わせ
JavaおよびWebアプリケーションのセキュリティ - コンサルティングお問い合わせ
コンサルティングお問い合わせ
お客様の声 (3)
Very good knowledge and character.
Constantinos Michael
コース - Java and Web Application Security
機械翻訳
I genuinely liked the organization.
Panagiotis Foutros
コース - Java and Web Application Security
機械翻訳
I genuinely liked the real world scenarios.
Michail Alvanos
コース - Java and Web Application Security
機械翻訳
今後のコース
関連コース
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 の最近の脆弱性に関する情報を得ます
- 安全なコーディング実践に関する情報源や追加の読み物を得ます
対象者
開発者
セキュアコーディングの世界
14 時間このコースでは、一般的なセキュリティ概念を紹介し、使用するプログラミング言語やプラットフォームに関係なく脆弱性の本質について概観します。また、ソフトウェア開発ライフサイクルの各段階で適用されるソフトウェアセキュリティに関するリスクの取り扱い方法を説明します。技術的な詳細には深く立ち入らずに、さまざまなソフトウェア開発テクノロジーにおける最も興味深いかつ痛ましい脆弱性についてハイライトし、セキュリティテストの課題と問題点を見つけ出すために適用できる一部の手法やツールを紹介します。
このコースに参加する受講者は
- セキュリティ、ITセキュリティ、およびセキュアコーディングの基本概念を理解します
- サーバー側とクライアント側のWeb脆弱性を理解します
- 不安定なバッファ処理の深刻な影響を認識します
- 開発環境やフレームワークにおける最近の脆弱性について情報を得ます
- 典型的なコーディングミスとそれを避ける方法を学びます
- セキュリティテストの手法とアプローチを理解します
対象者
マネージャー
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 時間統合SDLコアトレーニングでは、Microsoft Secure Development Lifecycle (SDL) を通じて安全なソフトウェア設計、開発、テストに関する洞察を提供します。SDLの基本的な構成要素について100レベルの概要を説明し、開発プロセスの初期段階で欠陥を検出および修正するためのデザイン手法について解説します。
開発フェーズでは、マネージドコードとネイティブコードの一般的なセキュリティ関連のプログラミングバグの概要を提供します。議論された脆弱性に対する攻撃手法とその対策技術についても説明し、多数の実践的な演習を通じて参加者がライブハッキングの楽しさを味わえるようにしています。さまざまなセキュリティテスト方法の紹介に続き、異なるテストツールの効果性が示されます。参加者は、これらのツールを既に議論された脆弱なコードに適用する実践的な演習を通じてツールの動作を理解できます。
このコースに参加する人は
セキュリティ、ITセキュリティ、安全なコーディングの基本概念を理解します
Microsoft Secure Development Lifecycle の主要なステップについて知ることができます
安全なデザインと開発の手法を学びます
安全な実装の原則を学びます
セキュリティテストの方法論を理解します
- 安全なコーディング手法に関する情報源とさらに読むべき書籍について得られます
対象者
開発者、管理者
セキュリティテスト
14 時間脆弱性と攻撃手法に慣れてから、参加者はセキュリティテストの一般的なアプローチや方法論、特定の脆弱性を明らかめるために適用できる技術について学びます。セキュリティテストは、システム(ToC、つまり評価対象)に関する情報収集から始まり、その後彻底的な脅威モデリングによりすべての脅威が明らかにされ、評価され、最も適切なリスク分析に基づくテスト計画に到達します。
セキュリティ評価はSDLCの様々な段階で実施される可能性があり、そのため設計レビュー、コードレビュー、システムに関する偵察と情報収集、実装のテスト、および安全なデプロイメントのための環境のテストと強化について議論します。多くのセキュリティテスト技術が詳細に紹介され、たとえば汚染分析やヒューリスティックベースのコードレビュー、静的コード解析、動的なWeb脆弱性テスト、またはFuzzingなどが含まれます。ソフトウェア製品のセキュリティ評価を自動化するために適用できる様々な種類のツールが紹介され、これらを既に議論された脆弱なコードを分析するための多数の演習でサポートされています。多くの実際の事例研究により、さまざまな脆弱性についてよりよく理解できます。
このコースでは、テスト担当者とQAスタッフがセキュリティテストを適切に計画し、正確に実行し、最も適切なツールや技術を選択して使用し、隠れたセキュリティ欠陥を見つけるための重要な実践的なスキルを身につけていただけます。これらのスキルは翌日からすぐに仕事で活用できます。
このコースに参加する受講者は
- セキュリティ、ITセキュリティ、および安全なコーディングの基本概念を理解します
- OWASP Top Tenを超えるWeb脆弱性について学び、それらを回避する方法を知ります
- クライアントサイドの脆弱性と安全なコーディング実践について学びます
- セキュリティテストの手法や方法論を理解します
- セキュリティテスト技術とツールを使用するための実践的な知識を得ます
- 安全なコーディング実践に関する情報源とさらなる読み物を得ます
対象者
開発者、テスタ
ウェブアプリケーションの開発とテストのセキュリティ
21 時間ウェブ経由でアクセス可能なアプリケーションを保護するには、常に最新の攻撃手法とトレンドを把握している十分に準備されたセキュリティ専門家が必要です。快適なウェブアプリケーション開発を可能にする多くの技術や環境が存在します。これらのプラットフォームに関連するセキュリティ問題だけでなく、使用する開発ツールに関係なく適用されるすべての一般的な脆弱性についても認識しておくべきです。
このコースでは、ウェブアプリケーションに適用可能なセキュリティソリューションの概要を提供し、特に重要な暗号化技術の理解に重点を置きます。サーバー側(OWASP Top Ten に従って)とクライアント側のさまざまなウェブアプリケーション脆弱性が、関連する攻撃と共に紹介され、これらの問題を回避するための推奨されるコーディング技術と緩和方法についても説明します。セキュアコーディングのトピックは、入力検証、セキュリティ機能の不適切な使用、およびコード品質に関する典型的なプログラミングの誤りを議論することで締めくくられます。
テストは、ウェブアプリケーションのセキュリティと堅牢性を確保するために非常に重要な役割を果たします。上位レベルの監査からペネトレーションテスト、エシカルハッキングまで、さまざまなアプローチが適用され、異なるタイプの脆弱性を見つけ出すことができます。しかし、簡単な低 Hanging Fruits を超えて進む場合は、セキュリティテストは適切に計画し、適切に実行されるべきです。记住:セキュリティテスターは理想的にはすべてのバグを見つける必要がありますが、攻撃者にとっては一つの利用可能な脆弱性を見つけ出すだけで十分です。
実践的な演習を通じて、ウェブアプリケーションの脆弱性、プログラミングの誤り、特に緩和技術を理解します。さらに、セキュリティスキャナ、スニファ、プロキシサーバ、FUZZINGツールから静的ソースコード解析ツールまで、さまざまなテストツールの手動試験も行われます。このコースでは、次の日に職場で適用できる重要な実践的なスキルが提供されます。
このコースに参加する受講者は
- セキュリティ、IT セキュリティ、およびセキュアコーディングの基本概念を理解します
- OWASP Top Ten を超えるウェブ脆弱性について学び、それらを回避する方法を知ります
- クライアント側の脆弱性とセキュアコーディングの実践を学びます
- 暗号化の実践的な理解を得ます
- セキュリティテストの手法とアプローチを理解します
- セキュリティテスト技術とツールを使用する実践的な知識を得ます
- さまざまなプラットフォーム、フレームワーク、およびライブラリでの最近の脆弱性について知ります
- セキュアコーディングの実践に関する情報源とさらなる読み物を入手します
対象者
開発者、テストエンジニア
DevOpsセキュリティ:DevOpsセキュリティ戦略の作成
7 時間この講師主導のライブコースでは、参加者は日本でDevOpsセキュリティへの挑戦に対処する適切なセキュリティ戦略を策定する方法を学びます。
セキュアコードの書き方
35 時間このコースは以下の点に焦点を当てます:
- 開発者がセキュアコードの書き方の技術を習得することを支援すること
- ソフトウェアテスト担当者がアプリケーションをプロダクション環境に公開する前にそのセキュリティをテストすることを支援すること
- ソフトウェアアーキテクトがアプリケーションに関連するリスクを理解することを支援すること
- チームリーダーが開発者向けのセキュリティ基準を設定することを支援すること
- Web管理者がサーバーを誤った構成から守るように設定することを支援すること
セキュア開発者 Java (OWASPを含む)
21 時間このコースでは、Javaを使用して Open Web Application Security Project (OWASP) のテスト方法論を通じて、セキュアコーディングの概念と原則について学習します。Open Web Application Security Projectは、ウェブアプリケーションのセキュリティに関する分野で、無料で利用可能な記事、手法、文書、ツール、および技術を作成するオンラインコミュニティです。
Secure Developer .NET (OWASPを含む)
21 時間このコースでは、Open Web Application Security Project (OWASP) のテスト手法を通じて、ASP.NETにおけるセキュアコーディングの概念と原則について学びます。OWASPは、ウェブアプリケーションのセキュリティ分野で無料の記事、手法、ドキュメント、ツール、およびテクノロジーを提供するオンラインコミュニティです。
このコースでは、.NET Framework のセキュリティ機能について探り、Webアプリケーションの保護方法を学びます。