基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,ソフトウェアのセキュリティついてシンプルにまとめています。OSのセキュリティについては,OSの要塞化,セキュリティパッチ,マイナーバージョンアップ,セキュアOS(強制アクセス制御など),ログの管理,サービスの管理を,ソフトウェアのセキュリティについては,クライアントソフトウェアのセキュリティ,サーバーソフトウェアのセキュリティを,脆弱性対策については,ペネトレーションテスト(侵入テスト),ファジングを,マルウェア対策については,サンドボックス,セキュアブートを説明しています。
OSのセキュリティ
OSの要塞化
OSのセキュリティを高めるためには,不要な構成要素を取り除いたり無効化したりします(OSの要塞化)。
※ 不要な構成要素を取り除いたり無効化することで,リスクを低減できる ⇒ 運用効率の改善にもつながる
セキュリティパッチとマイナーバージョンアップ
セキュリティパッチやマイナーバージョンアップを行うことで,その脆弱性を利用した攻撃を防ぐことができます。
※ セキュリティパッチ…修正プログラム
※ マイナーバージョンアップ…脆弱性への対応や一般的な修正,機能拡張を行うプログラム
※ OSの修正は,動作しているソフトウェアに悪影響を及ぼす可能性があるので,実際には,重要度や影響度に応じて行う
セキュアOS
セキュアOSとは,セキュリティを強化したOSのことをいいます。
強制アクセス制御(MAC;Mandatory Access Control)
セキュアOSでは,強制アクセス制御を使用し,管理者などがアクセス権を指定(制御)します。
※ 不要なアクセス権は与えないようにする(「最小権限の原則」を満たすようにする)。また,利用しないアカウントは削除する
※ 役割ベースアクセス制御(RBAC;Role-Based Access Control)を行うことも可能
※ アクセス制御の詳細は,「アクセス制御-アクセス制御(アクセスコントロール) -情報処理シンプルまとめ」を参照
その他
- ログの管理…アクセス状況や不正アクセスの有無などを分析できるようにする
- サービスの管理…不要なサービスを停止する
※ サービス…バックグラウンドで動作するプログラム(例:Webサーバーソフトウェアやデータベース管理システムなど)。UNIXの場合は,デーモンという
ソフトウェアのセキュリティ
※ Webのセキュリティについては,「WWW-Webのセキュリティ -情報処理シンプルまとめ」を参照
※ 電子メールのセキュリティについては,「電子メール-電子メールのセキュリティ -情報処理シンプルまとめ」を参照
クライアントソフトウェアのセキュリティ
- セキュリティパッチを適用する
- クライアント用のセキュリティソフトウェアの導入
- シンクライアントによる対策
など
※ クライアント用のセキュリティソフトウェアには,ウイルス対策機能や,ファイアウォール機能,侵入検知機能,コンテンツフィルタリング機能,URLフィルタリング機能,スパイウェア対策機能,スパムメール対策機能などが備わっている
※ シンクライアントの詳細は、「システム構成-さまざまなシステム -情報処理シンプルまとめ」を参照
サーバーソフトウェアのセキュリティ
- 公開サーバーの要塞化
- 攻撃者に有用な情報を与えないようにする
- 複数の認証機構を組み合わせるなど、利用者に対する認証強度を上げる
- 内部サーバーの使用履歴などをログに記録する
など
※ 公開サーバーの要塞化では,不要なサービスを停止したり,提供するサービスについてはセキュアなサービスに限定するなどする。また,踏み台として利用されないようにもする(内部に侵入されないようにするため)
※ サービス…バックグラウンドで動作するプログラム(例:Webサーバーソフトウェアやデータベース管理システムなど)。UNIXの場合は,デーモンという
脆弱性対策
ペネトレーションテスト(侵入テスト)
ペネトレーションテストとは,ネットワークに接続されているシステムに対して,さまざまな方法を用いて侵入を試み,脆弱性の有無を調べるテスト手法のことをいいます。
※ サーバーやファイアウォールなどのOSやソフトウェア,Webアプリケーションなどの脆弱性を調べる
ファジング
ファジングとは,ソフトウェアに対して,(想定されていない)問題を引き起こしそうなデータを大量に入力して挙動を監視し,問題が発生しないかを調べるテスト手法のことをいいます。
※ ファジングツールなどの専用ソフトを用いることが多い
マルウェア対策
サンドボックス
サンドボックスとは,外部から隔離されたソフトウェアの実行環境のことで,ファイルの読み書きやネットワーク通信などを制限することができます。
※ サンドボックス = 砂場
※ プログラムがマルウェアに感染しても他のプログラムやファイルなどへの感染を防ぐことができる
セキュアブート
セキュアブートとは,コンピュータの起動時にOSやデバイスドライバなどのディジタル署名を検証し,許可されてたものだけを実行する機能のことをいいます。
※ 悪意のあるソフトウェアの実行を防ぐことができる
まとめ
今回は,ソフトウェアのセキュリティについて,シンプルにまとめてみました。


