これまでにJavaセキュアコーディングセミナーで使用した講義資料を公開しています。 Javaアプリケーションの脆弱性事例の解説資料については解説資料のページをご参照ください。
オブジェクトの生成とセキュリティ
クラスの設計とオブジェクトの取扱いをセキュアに行うためのポイントについて、オブジェクトの生成におけるセキュリティをテーマに解説します。
- 基礎概念のおさらい(クラス、シリアライズ、GC)
- クラスとセキュリティ上の脅威
- オブジェクトを生成する3つの方法(new, clone(), deserialize)
- 上記トピックスに関するクイズと演習
公開日 | タイトル | PGP 署名 | |
---|---|---|---|
2013-06-27 | オブジェクトの生成とセキュリティ | 4.69MB | PGP 署名 |
2013-06-27 | オブジェクトの生成とセキュリティ: ハンズオン | 508KB | PGP 署名 |
2013-06-27 | オブジェクトの生成とセキュリティ: ハンズオン解説 | 874KB | PGP 署名 |
数値データの取扱いと入力値検査
前半は、Javaの数値型とその取扱いに関して注意すべき様々なポイントについて、適宜Java言語仕様を参照しながら解説します。後半は、これら数値型のデータをはじめ、プログラムが外部から受け取るデータの検証について解説します。
- Javaの数値型
- 整数オーバーフロー
- 浮動小数点型の取扱い
- 数値格上げのルール
- 入力値検査に関する脆弱性の実例
- クロスサイトスクリプティングの脆弱性
- ZipBomb攻撃
- ハッシュテーブルの実装に対する攻撃
- 上記トピックスに関するクイズと演習
公開日 | タイトル | PGP 署名 | |
---|---|---|---|
2013-06-27 | 数値データの取扱いと入力値検査 | 5.01MB | PGP 署名 |
2013-06-27 | 数値データの取扱いと入力値検査: ハンズオン | 716KB | PGP 署名 |
2013-06-27 | 数値データの取扱いと入力値検査: ハンズオン解説 | 1.12MB | PGP 署名 |
入出力(File,Stream)と例外時の動作
ストリームやファイル操作といった入出力とファイルシステムの取扱いに関する脆弱性と例外の取扱いに関するセキュリティ上の脅威について解説します。
- Java の入出力、ストリーム
- ストリームの扱いに関するコーディングルール
- ファイル入出力
- 例外の取扱い
- 上記トピックスに関するクイズと演習
公開日 | タイトル | PGP 署名 | |
---|---|---|---|
2013-06-27 | 入出力(File,Stream)と例外時の動作 | 7.31MB | PGP 署名 |
2013-06-27 | 入出力(File,Stream)と例外時の動作: ハンズオン | 617KB | PGP 署名 |
2013-06-27 | 入出力(File,Stream)と例外時の動作: ハンズオン解説 | 888KB | PGP 署名 |
メソッドとセキュリティ
メソッドの設計や使用に関してセキュリティ上注意すべきポイントについて確認し、ファイナライザーを使った攻撃メカニズムについて解説します。
- メソッドとは
- メソッドオーバーロードを乱用しない
- リフレクション
- セキュリティマネージャ
- ファイナライザ
- 上記トピックスに関するクイズと演習
公開日 | タイトル | PGP 署名 | |
---|---|---|---|
2013-06-27 | メソッドとセキュリティ | 5.22MB | PGP 署名 |
2013-06-27 | メソッドとセキュリティ: ハンズオン | 928KB | PGP 署名 |
2013-06-27 | メソッドとセキュリティ: ハンズオン解説 | 1.32MB | PGP 署名 |