情報セキュリティチェックシート 第8章 システム開発におけるセキュリティ対策

第8章 システム開発におけるセキュリティ対策

ロシステム要件や利用環境等に応じた適切なセキュリティ機構を有し,脆弱性ヘの対処がなされたセキユアなアプリケーションを開発するためには,開発工程の初期段階からセキュリティ対策に取り組む必要がある。
ロCノC+十言語のgets,strcpy,strcat,sprintf,scanf,SSCanf,fSCanfなどの関数では,入力データをサイズの制限なくメモリ内の変数領域に格納してしまうため,バッファオーバフロー(BOF)状態を引き起こす可能性が高い。
口上記の関数への対策としては,バツフ‥こ書き込むサイズを指定できる関数(fgets,strncpy,strncat,snprintf等)で代用するか,精度を指定してバッファに書き込む最大サイズを制限することである・
□CノC++言語をはじめ,多くのプログラム言語において,ナル文字は文字列の終端を示すものとなるため,文字列を処理する関数はナル文字を見付けると読込みなどの処理を終了する,バッファに文字列を格納する関数は,末尾にナル文字を付加する,などの処理を行う場合が多い。
□末尾にナル文字を付加する関数を使用する際…よ,文字列を格納する先のバッファのサイズとして,格納する対象となる文字列の長さに加え,ナル文字分(1バイト)が必要である。これを怠るとBOFの問題が発生する可能性が高まる。
口Javaでは,パ_ミツションクラス(java.security.Permission)によつて,システム資源へのアクセス権を表す。バーミツシヨンクラス自体はabstractクラス(実体をもたない抽象クラス)であり,このクラスから特定のアクセス権を表すサブクラスが作成される。
□java.security.A||Permissi0nクラスは,すべてのアクセス権を意味する。このアクセス権を与えられたコ_ドは,アクセス制限なく実行されるようになり,非常に危険である。
ロjavajo.Fi|ePermisSionクラスは, ファイル又はディレクトリへのアクセス権を表し,ディレクトリ名とファイル名からなるパス名(ターゲット)と,そのパス名に対して有効なアクションの集合からなる。タ_ゲットに”<<ALLF|LES>>”を指定すると,JavaVMがアクセス可能なすべてのファイルへのアクセスを許可することになるため,非常に危険である。
□java.netSocketPermissionクラスにおけるソケット通信のアクセス権設定においてぐ’‐Υconnect,accept‐)を指定すると,ソケット通信におけるアクセス制限がなくなつてしまうため,非常に危険である。
□レースコンディション(競合状態)とは,並列して動作する複数のプロセスやスレッドが,同一のリソ_ス(ファイル,メモリ,デバイス等)へほぼ同時にアクセスしたことによつて競合状態が引き起こされ,その結果,予定外の処理結果が生じるという問題でぁる。
□ECMAScriptにおいて,外部からの入力値を文字列リテラルとして扱う場合には, メタキャラクタをエスケープ処理する必要がある。工スケープ処理が必要な文字として最低限次の四つが挙げられる。「\→\\」「’→\’」P→\”」「改行→\n」。
□ECMAScriptにおいて,グローバル変数は関数の外で「var」を用いて定義し,ローカル変数は使用する関数の中で「var」を用いて定義する。「var」を使用せずに定義した変数はすべてグローバル変数として解釈されるが,発見が困難なバグを作り出す大きな要因となるため,避けなけれぱならない。
□Ajax(AsynchronousJavaSCript+XML)とは,JavaScriptなどのスクリプト言語を使ってサーバと非同期通信を行うことで,Webベージ全体を再描画することなく,ページの必要な箇所だけを部分的に更新することを可能にする技術である。
□XMLHttpRequesⅡま各種ブラウザに実装されている組込みオブジェクト(APDであり,同期通信,非同期通信の双方をサポートしている。
□JSON(JavaScriptObjectNotation)とは,ECMA.262標準第3版準拠のJavaScript(ECMAScript)をもとにした軽量のデータ記述方式である。
□JSONP(JSONwithPadding)とは,<script>タグのsrc属性…まク口スドメイン通信の制限がなく,別ドメインのURLを指定できることを利用することで,JavaScript(ECMAScript)とJSONを用いてク口スドメイン通信を実現する技術である。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>