...

Java Printing

by user

on
Category: Documents
24

views

Report

Comments

Transcript

Java Printing
守る必要のあるモノ(機能、リソース)は何かが明確になっているか?
適切な評価とは?
機密性・完全性・可用性について適切な評価を行っているか?
抑止
使用するツール・言語の適正確認
使用するツール・言語で難しい機能はないか?
ユーザから入力されるものは信頼できない
信頼できる、できないの判断は?
信頼できるInputか?
防止
I/O関連
対策
ファイルから読み込まれるものはファイルを作成する機能が信頼できるのであれば、信頼できる
ネットワーク越しで受け取るデータは信頼できない
今一はっきりした定義ができないなぁ?
概要設計
気をつける必要性の有無は?
Output時に気をつける必要があるか?
リスクの軽減
機能設計/リソース
リスクに対してどうするのか?
誰が、いつ、何をやったかが履歴として残るか?
検知
ログ管理
回復
バックアップ・リストア設計
コストと利益のバランスが取れているか?
対策が十分とは?
機能・リソースへの脅威に対する対策が十分か?
対策が機能とされているか?
特に重大な被害を及ぼす脅威に対して複数の対策を施しているか?
重大な被害とは?
設計レビュー
機密性・完全性・可用性の評価レベルが一定以上のもの
セキュリティポリシーで決定する
脆弱性となる機能の判断は?
リスクの回避
不要な機能、脆弱性となる機能はないか?
リスクの転嫁
外部サービスの利用ができないか?
リスクの受容
必要だが、脆弱性となる機能は被害が容認できるレベルか?
構造が単純か?
レビュー
フェイルセーフの考えが取り入れられているか?
データ型
Inputが信頼できない場合、信頼できるものにする方法は?
脆弱性対策
詳細設計
データ検証
許可するものは何か明確に
I/O関連
機能設計
確認方法
脆弱性チェック方法
文字種類
文字コード
Output時にどうすれば安全にできるか?
アクセス権限の確認
エスケープ処理
何をエスケープするか明確に
必要最低限の権限か?
機密情報が外部からアクセスできないか?
セキュリティ機能
概要設計時に検討した対策が機能として取り込まれているか?
間違って見えるようにする方法
http://local.joelonsoftware.com/mediawiki/index.php/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E8%A6%8B%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B
バインドメカニズム
コーディング規約
安全なライブラリ・フレームワークの使用
入力データの追跡
ソースコードレビューのコツ
出力データの追跡
エラー処理の確認
境界条件の確認
型チェック
特殊文字チェック
選択肢以外のデータチェック
入力データのテスト
テスト
異常系のテスト
Hiddenフィールド、Cookie書き換えチェック
文字コードチェック
桁数チェック
境界値チェック
大きい値
小さい値
処理フローを無視した呼び出し
呼び出しのテスト
負荷テスト
暗号ライブラリ
セッション管理ライブラリ
コードレビュー
同時呼び出し
競合のチェック
Fly UP