ソフトウェアのセキュリティの基礎まとめ【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やデバイスドライバなどのディジタル署名を検証し,許可されてたものだけを実行する機能のことをいいます。

※ 悪意のあるソフトウェアの実行を防ぐことができる

まとめ

 今回は,ソフトウェアのセキュリティについて,OSのセキュリティ,脆弱性対策,マルウェア対策を中心にシンプルにまとめてみました。試験では用語の意味や対策の目的が問われるため,ポイントを整理して理解しておきましょう。

 理解が進んだら,過去問題等にもチャレンジしてみてください。