Webエンジニアがセキュアコーディングを独習できるオンライン教材「KENRO」の一部を無料公開中[PR]
今回は「Webエンジニアがセキュアコーディングを独習できるオンライン教材「KENRO」の一部を無料公開中[PR]」についてご紹介します。
関連ワード (別途有料、期間、無料等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
国内の主要なSaaS企業やSIerに脆弱性診断サービスなどを提供しているFlatt Security社は、Webエンジニアがセキュアコーディングを独習できるオンライン教材「KENRO」のトライアルとしてコンテンツの一部を無料で公開中です。
メールアドレスを登録するだけで利用を開始でき、期間も無制限。
KENROでは「SQLインジェクション」「XSS(クロスサイトスクリプティング)」「ディレクトリトラバーサル」などを始めとする10種類の一般的な脆弱性についてテキストで学び、その学びを基に攻撃者として脆弱性に対する攻撃を「ハッキング演習」で試し、その脆弱性があるコードを自分で修正する「堅牢化演習」まで、オンラインで実践できるユニークな教材です。
演習の結果もKENROが自動判定してくれるため、24時間365日、いつでも学習できます。
無料トライアルでは、一般的な10種類の脆弱性の学習コンテンツについて一部の有料部分がマスキングされた状態で学ぶことができます。
マスキングされた状態でも、基本的な内容の多くはテキストを読むことができ、「ハッキング演習」26個のうち10個を、「堅牢化演習」9個のうち2個を実際に体験することができます(もちろん、有償版に申し込めばすべてのテキストを読み、演習が可能になります)。
このKENROで学べる脆弱性に関する知識や、対策を実践できる能力は、Web アプリケーション開発者が最低限持つべき基礎教養となりつつあるといえます。
具体的にどのような内容が学べるのか、KENROについてもう少し詳しく見ていきましょう。
10の主要な脆弱性について学べるコンテンツ
KENROの無料トライアルで学べるのは、以下の10のWebにおける主要な脆弱性についてです。なお、KENROではGraphQL、JWT、WebSocketの技術の基礎とセキュリティ対策を学ぶことができるコンテンツも別途有料で提供されています。
- SQL Injection脆弱性
- Cross-Site Scripting (XSS)脆弱性
- Cross-Site Request Forgery (CSRF)脆弱性
- OS Command Injection脆弱性
- Directory Traversal脆弱性
- Insecure Deserialization脆弱性
- XML eXternal Entity (XXE)脆弱性
- Open Redirection脆弱性
- Clickjacking脆弱性
- Header Injection脆弱性
1つ目の「SQL Injection脆弱性」を学んでみることにしましょう。
まず「SQLとは」という基本的な説明から始まり、続く「SQL Injection脆弱性とは」という項目で、この脆弱性についてコードの例を含む詳しい解説や、具体的な攻撃の例を学ぶことができます。
解説を読み進めた後、この脆弱性を突いてハッキングを実際に行う「ハッキング演習」の項目が登場します。
ここではあなたが悪意を持つハッカーとして、実際に用意された環境で攻撃を行うのです。
「演習環境へアクセス」ボタンをクリックすると、別ウィンドウでハッキング演習を行う環境が表示され、先ほど解説されたテクニックを用いて「admin」アカウントでの不正アクセスを目論みます。
ハッキングに成功すると、特定のキーワードを得ることができます。そのキーワードを「回答を提出」欄に入力すると、ハッキングの成功が自動的に検出されます。
ここまででSQL Injectionの脆弱性と、それが悪用されたときに何が起こりえるのか、といった危険性についての基本的な理解が得られました。
テキストによる解説はさらに続き、より深くSQL Injectionの危険性などについて学ぶことが出来ます。
脆弱性のあるコードを自分で修正し、提出すると自動採点
そして「SQL Injection脆弱性の対策」の項目で、対策のためにどのようなプログラミングを行うべきなのかが解説されます。
ここでもテキストによる解説があり、そして脆弱性のあるコードを実際に修正する「堅牢化演習」が用意されています。
演習では、実際に脆弱性のあるコードをダウンロードし、修正した後にアップロードすると自動的に解析され、正しく修正されたかどうかを判断してくれます。
修正対象のコードは、6つのプログラミング言語から選択可能。
これをダウンロードし、圧縮ファイルを解凍。中に含まれているコードの中から脆弱性がある部分を探し出して修正し、再び圧縮して提出(アップロード)するのです。
提出したコードは解析され(解析には数分かかります)、正しく修正されていれば以下のメッセージが表示されます。
KENROではこのようにしてさまざまな脆弱性に関する知識を身につけ、それを実際にプログラミングで試すことができます。
メールアドレスを登録するだけで無料トライアル開始
前述の通り、KENROの無料トライアルはメールアドレスを登録するだけで利用可能です。ぜひお試しください。
≫KENRO by Flatt Security
(この記事は株式会社Flatt Security提供のタイアップ記事です)