なぜPHPアプリにセキュリティホールが多いのか?

第46回 セキュリティ対策を考える上で欠かせないコンテクスト

この記事を読むのに必要な時間:およそ 9 分

円滑なコミュニケーションには,共通の用語・概念が必要です。用語・概念が違うようではコミュニケーションは不可能です。

前回「バリデーションがセキュリティ対策である」ことを主題として,セキュリティ対策に対する考え方の基本について解説しました。前回の記事でセキュリティ対策とは何か理解できた方も多いと思います。しかし,まだ理解できていない方も居るようなので,セキュリティ対策についてもう少し解説します。次になぜコンテクストが重要なのか解説します。

今回も「ISO/IEC TR 13335−1 ITセキュリティマネジメントのガイドライン - 第一部:ITセキュリティの概念及びモデル」の解説になります。ISO規格ではITセキュリティ関連規格は27000シリーズに集約されますが,ITセキュリティの概念はこちらのほうがわかりやすくまとまっています。ITセキュリティの概念としては,ISO/IEC 13335-1では6つの要素(機密性,完全性,可用性,責任追跡性,真正性,信頼性)に分けていたものを,ISO/IEC 27001では3つの要素(機密性,完全性,可用性)にまとめています。責任追跡性,真正性,信頼性がITセキュリティの要素からなくなったのではなく,それぞれ機密性,完全性,可用性に集約されたと考えるべきでしょう。

ISO/IEC TR 13335-1はITセキュリティの概念・マネジメントプロセスの説明になっており,より具体的な対策や要件を詳しく定義しているISO/IEC 27000-2よりITセキュリティの全体像を理解しやすいでしょう。ISO/IEC TR 13335-1を理解してからISO/IEC 27000-2を読むとよりITセキュリティの全体像を理解しやすいと思います。

この連載はWebセキュリティ,PHPセキュリティについての連載であるので,特に明記がない限りセキュリティとはITセキュリティのことを意味します。

セキュリティ対策とは?

ITセキュリティ対策とは普遍的なもので,システムよって変わるものではありません。ISO/IEC 13335−1では「ITセキュリティ」は次の要素の定義・達成・維持に関わるすべて⁠のセキュリティだとされています。

機密性(Confidentiality)

許可されたユーザやプログラム以外に情報を非開示・使用不可にすること

完全性(Integrity)

許可されていない方法でデータの改ざん・破壊がされず,本来果たすべき機能を滞りなく実行すること

可用性(Availability)

許可されているシステムが利用可能であること

責任追跡性(Accountability)

ユーザやプログラムの動作を一意に追跡できること

真正性(Authenticity)

操作を要求しているユーザ・プログラムがそのユーザ・プログラム自身であること

信頼性(Reliability)

矛盾なく計画通りの動作と結果を確保すること

ITセキュリティ対策とはITセキュリティを守るための対策であり,上記の特性を守る対策⁠すべて⁠がセキュリティ対策です。

ISO/IEC 13335-1では保護すべき資産を選定し,その脅威,脆弱性,影響,リスク,セーフガード,残存リスク,制約事項を明らかにし,必要なセーフガードを選択し実施するよう求めています。一般にセーフガードのことをセキュリティ対策と呼ぶ場合がありますが,セーフガードはセキュリティ対策の一部です。

セキュリティ対策とセーフガード

一般に「セキュリティ対策」と言う場合,ISO/IEC 13335-1文書全体で定義されているセキュリティ対策を指す場合とISO/IEC 13335-1で用語として定義されている「セーフガード」を指す場合があります。

セーフガード(Safeguard)の定義
リスクを低減する実践,手順,又はメカニズム

プログラマやITエンジニアの視点から見れば,⁠セキュリティ対策」「セーフガード」と考えてもあまり問題がないので,⁠セーフガード」の意味で「セキュリティ対策」が使用されることが多いです。多いと言うより「セーフガード」と呼ばずに「セキュリティ対策」と言う場合がほとんどでしょう。

「セキュリティ対策」が2つの意味で利用されていることもセキュリティ対策を分かりづらくしている一因かも知れません。ITセキュリティ対策とはITセキュリティのリスク対策(セーフガード)のみではありません。ISO/IEC 13335-1ではITセキュリティ管理のモデルとして,ITセキュリティマネジメントは次のような機能を持つと記載されています※1)⁠

  • 組織のITセキュリティの目的,戦略,及び対策の決定
  • 組織のITセキュリティ要件の決定
  • 組織内のIT資産に対する,セキュリティ上の脅威の識別及び分析
  • リスクの認識及び分析
  • 適切なセーフガードの指定
  • 組織内の情報とサービスの費用対効果に優れた方法で保護するために必要な,セーフガードの実施及び稼働の監視
  • セキュリティ意識向上プログラムの開発及び実施
  • 偶発事件の検出及び対応

(原文のまま)

これらのマネジメントプロセスすべてがITセキュリティ対策と言えます※2)⁠⁠セーフガード」の指定・実施はセキュリティ対策の一部ですが,正確にはほかの要素もすべて含めて「ITセキュリティ対策」と言うべきです。

この記事の中では一般的な用法に従って,ITセキュリティ対策もセーフガードもセキュリティ対策としています。文意からセーフガードのことを指しているのかそうではないのかはすぐ分かると思いますが,このような用法がセキュリティ対策の意味を分かりづらくしているのかも知れません。

※1

ISO27000もセキュリティマネジメントシステム規格であるため同様の管理モデルを要求しています。

※2

規格の中では「これがITセキュリティ対策です」といった定義はありません。文書全体がITセキュリティ対策の実施を行うマネジメントモデルを定義する体裁になっています。

著者プロフィール

大垣靖男(おおがきやすお)

University of Denver卒。同校にてコンピュータサイエンスとビジネスを学ぶ。株式会社シーエーシーを経て,エレクトロニック・サービス・イニシアチブ有限会社を設立。
オープンソース製品は比較的古くから利用し,Linuxは0.9xのころから利用している。オープンソースシステム開発への参加はエレクトロニック・サービス・イニシアチブ設立後から。PHPプロジェクトでは,PostgreSQLモジュールのメンテナンスを担当している。

URLhttp://blog.ohgaki.net/

著書

コメント

コメントの記入