スケジュール | ||
---|---|---|
開催日 | タイトル | |
2010-9-2 | part1<セキュアコーディング概論・文字列> | 終了 |
2010-9-3 | part2<整数・コードレビュー> | 終了 |
プログラム | |
---|---|
part1 <セキュアコーディング概論・文字列> | |
9:30 - | 受付開始 |
10:00 - 12:00 | セキュアコーディング概論 |
13:00 - 15:00 | 文字列 |
15:15 - 17:15 | 演習(文字列) |
part2 <整数・コードレビュー> | |
9:10 - | 受付開始 |
9:30 - 12:00 | 整数 |
13:00 - 15:00 | 演習(整数) |
15:15 - 17:15 | ハンズオン:コードレビュー |
※セミナーの終了時間は回によって多少前後することがあります。あらかじめご了承ください。
part1<セキュアコーディング概論・文字列>
セキュアコーディング概論:
製品のセキュリティや脆弱性を取り巻く現状、セキュアコーディングの必要性を理解し自ら学習するための方法や有効なリソースについて紹介します。
- セキュリティや脆弱性を取り巻く現状認識
- 脆弱性が及ぼす影響とその事例
- セキュアコーディングとは何か、なぜ必要なのか
- すぐに実践できる対策手法
- C/C++言語における脆弱なコーディング事例の解説
- 脆弱なコードが実際にどのように攻撃されるのか
- 自ら学習し技術習得するための方法、有効なリソース など
文字列:
ユーザとソフトウエア間に発生するデータのやりとりの大部分は文字列によって行われます。
また、プログラム間でのデータ交換も文字列形式で行われるようになり、その結果、文字列表現や文字列管理、文字列操作における弱点がソフトウエア脆弱性を生み出しています。
C/C++ 言語における文字列操作、一般的なセキュリティ上の欠陥と、その結果発生する脆弱性と対処方法について解説します。
- C/C++ における文字列の特性
- 犯しやすい文字列操作の間違い
- 文字列の脆弱性
- プロセスのメモリ構成
- スタック破壊の仕組み
- コードインジェクション、アークインジェクションの仕組み
- 脅威の緩和方法 など
part2<整数・コードレビュー>
整数:
C/C++ 言語において整数型の取扱いに起因する脆弱性はこれまであまり重要視されていませんでしたが、その数は確実に増加しています。
攻撃者は、プログラムが本来想定する入力範囲に関わらず、異常動作を引き起こす入力値を見つけ出すことで脆弱性を利用しようとします。C/C++ 言語における整数型の取扱いに関する仕様と、そこから引き起こされるセキュリティ上の問題について体系的に解説します。
- 整数型の取り扱いについて
- 整数型の変換について(格上げ、整数変換順位、通常の算術型変換)
- 整数のエラー条件
- 脆弱性につながる整数演算
- 脆弱性(整数オーバーフロー、符号エラー、切り捨てエラー) など
コードレビュー:
実際のコードにおいてどのような脆弱性があるか、またどのように修正すべきかを、脆弱性を含むサンプルプログラムを題材にして実習します。