(57)【要約】【課題】  ファイル単位でのデータ保護が実現できれば、ＯＳやシステムの重要ファイルを書き込み保護しておくことにより、これらの書き換えを必要とするマルウェアからの感染を防ぐことができるセキュリティ強化装置を提供する。【解決手段】  ＰＣや制御装置などのＩＯを中継するもので、本装置経由で、ハードディスク、ＵＳＢ機器、ディスプレイなどを接続する。ストレージ上のデータ保護に関しては、データをセクタ単位のみならずファイル単位で扱う。セキュアなデータの転送や表示やその設定・入力などを本装置が直接行うことにより、ＯＳや応用プログラムの脆弱性が攻撃されてＰＣや制御機器が不正なプログラムに乗っ取られた場合でも、正しくユーザへの警告や問合せを行うことができる。通信においても、本装置により通信相手の機器の認証や通信内容の暗号化が可能である。【選択図】  図９
2015052951.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ情報を、ハードディスクなどのブロックデバイスのＩＯの単位であるセクタより高解像度化し、より小さい領域での書き込み禁止や読み出し禁止のアクセス制御を実現する手法。
【請求項２】
指定したファイルを書き込み禁止にすることができ、書き込み禁止ファイルへの書き込み要求があった場合は、当該ファイルの書き込みを行わず、その情報を記録したり、ユーザにその旨知らせたりする、
ことを特徴とするセキュリティ強化装置。
【請求項３】
指定したファイルを読み出し禁止にすることができ、読み出し禁止ファイルへの読み出し要求があった場合は、当該領域の読み出しを行わず、ダミーデータを返したり、その情報を記録したり、ユーザにその旨知らせたりする、
ことを特徴とするセキュリティ強化装置。
【請求項４】
指定したデータファイルを書き込み問合せや書き込み問合せとすることができ、当該ファイルへの書き込み要求や読み出し要求があった場合は、ユーザに書き込みや読み出しの可否を問い合わせて、許可の返答があった場合にのみ書き込みや読み出しを行う機能を有する、
ことを特徴とするセキュリティ装置。
【請求項５】
任意の個数やサイズのファイルに対し、書き込み禁止／書き込み問合せ／読み出し禁止／読み出し問合せのセキュリティ指定を行う手段として、データ保持用の記憶部品の他に、セキュリティ情報保持用の記憶部品を用意し、データ保持用記憶部品の記憶単位毎に、セキュリティ情報用記憶部品に対応するセキュリティ情報を保持しておくことにより、データへのアクセス要求が発生したら、そのデータ保持用の記憶領域に対応したセキュリティ情報を参照し、そのセキュリティ情報に従った動作を行う、
ことを特徴とするセキュリティ強化装置。
【請求項６】
先の請求項において、セキュリティ情報保持用の記憶部品をデータ保持用記憶部品とは別個に用意せず、データ保持用記憶部品を兼用する手法。すなわち、データ保持用記憶部品の記憶領域の一部をデータ領域としては使用せずユーザからは見えない領域とし、その領域にセキュリティ情報を保持する、
ことを特徴とするセキュリティ強化装置。
【請求項７】
多種のＩＯポートについて、それらをハードウェアで直接制御することにより、ＰＣ上のＯＳや応用プログラムからは感知されずに、それらのポートから得られた情報によりポートの制御を相互に連携させる。すなわち、データ領域やファイルについて、保護設定に違反するアクセスがあった場合、システムへの侵入やマルウェアが感染が疑われるため、ＰＣや制御機器から見えるネットワークを遮断して、それ以上の感染を防止することができかつ、その場合でもセキュア通信は行える、
ことを特徴とするセキュリティ強化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ強化装置に関するものである。
【背景技術】
【０００２】
データの書き込み禁止や読み出し禁止は、ＯＳや応用プログラムなどのソフトウェアによる実現が一般的で広く用いられている。しかし、複雑化しているソフトウェアには様々な脆弱性が存在し、ネットワークからの侵入やマルウェアの感染により不正なデータアクセスを許してしまう事例が多く発生している。
【０００３】
ハードウェアによるデータ保護手段としては、ＳＤカード、フロッピーディスク、ケース入り磁気テープメディアなどには、書き込み禁止スイッチがついているものがある。また、ハードディスクに装着しそのディスクを書き込みから保護する装置が市販されている。しかし、これらはいずれもメディア単位での書き込み保護を行うものである。このことは、データをセクタなどの領域単位で保護する方法とことなるものである。
【０００４】
ネットワーク通信に関しては、イーサポートに接続し、ＰＣからの通信を暗号化することのできる機器は市販されているが、複数の機器が暗号化通信を行う場合のセットアップは機器ごとに行わなければならず、機器が多数になる場合のセットアップや機器の追加などに際しての更新には大きな労力が必要となる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｂｒｉａｎ  Ｃａｒｒｉｅｒ：  Ｆｉｌｅ  Ｓｙｓｔｅｍ  Ｆｏｒｅｎｓｉｃ  Ａｎａｌｙｓｉｓ，  Ａｄｄｉｓｏｎ  Ｗｅｓｌｅｙ  Ｐｒｏｆｅｓｓｉｏｎａｌ，  ＩＳＢＮ：０−３２−１２６８１７−２，  Ｍａｒｃｈ  １７，  ２００５．
【非特許文献２】高橋浩和，三好和人，“Ｌｉｎｕｘカーネル２．４の設計と実装６ファイルシステム（前編），”Ｌｉｎｕｘ  Ｊａｐａｎ，ｐｐ．１７１−１９６，Ａｐｒｉｌ ２００１．
【非特許文献３】高橋浩和，三好和人，“Ｌｉｎｕｘカーネル２．４の設計と実装７ファイルシステム（後編），”Ｌｉｎｕｘ  Ｊａｐａｎ，ｐｐ．１３９−１６４，  Ｍａｙ  ２００１．
【非特許文献４】森川治，戸田賢二，前迫孝憲：全画面やフレームレートという概念を排除した新しい表示方式の提案，信学技報，  ＩＥＩＣＥ  Ｔｅｃｈｎｉｃａｌ  Ｒｅｐｏｒｔ（ＣＰＳＹ２０１１−８，  ＤＣ２０１１−１４），  ｐｐ．１５−２２，  ２０１１／０７．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ファイル単位のデータ保護の種類は、書き込み禁止と読み出し禁止に大別される。ファイルシステムは、ＯＳによって異なり多種類存在するが、読み出しの場合はいずれのシステムでも、データが格納されているセクタを調べそれらのセキュリティ情報に読み込み禁止と書き込んでおけばよい。一方、書き込みにおいては、データが格納されているセクタを直接書き換える場合は、読み出しと同様に、データが格納されているセクタを調べそれらのセキュリティ情報に書き込み禁止と書き込んでおけばよい。しかし、ＰＣなどでよく用いられる主要なファイルシステム（階層構造のディレクトリを持つＥＸＴ２、ＦＡＴ、ＮＴＦＳなど）では、書き込みに際しては、別に新しいファイルが作成され、最後にディレクトリの書き換えが行われるため、データが格納されているセクタのみの監視では不十分である。
【０００７】
本発明は、上記課題に鑑みて提案されたものである。すなわち、ファイル単位でのデータ保護方法やセキュアなネットワークの利用方法を開示するものであり、ファイル単位でのデータ保護が実現できれば、ＯＳやシステムの重要ファイルを書き込み保護しておくことにより、これらの書き換えを必要とするマルウェアからの感染を防ぐことができる。このことは、データをセクタなどの領域単位で保護する方法と異なるものである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、セキュリティ情報を、ハードディスクなどのブロックデバイスのIOの単位であるセクタより高解像度化し、より小さい領域での書き込み禁止や読み出し禁止のアクセス制御を実現する手法を提供する。
【０００９】
上記目的を達成するために、本発明に係るセキュリティ強化装置は、指定したファイルを書き込み禁止にすることができ、書き込み禁止ファイルへの書き込み要求があった場合は、当該ファイルの書き込みを行わず、その情報を記録したり、ユーザにその旨知らせたりする、ことを特徴とする。
【００１０】
本発明に係るセキュリティ強化装置は、指定したファイルを読み出し禁止にすることができ、読み出し禁止ファイルへの読み出し要求があった場合は、当該領域の読み出しを行わず、ダミーデータを返したり、その情報を記録したり、ユーザにその旨知らせたりする、ことを特徴とする。
【００１１】
本発明に係るセキュリティ強化装置は、指定したデータファイルを書き込み問合せや書き込み問合せとすることができ、当該ファイルへの書き込み要求や読み出し要求があった場合は、ユーザに書き込みや読み出しの可否を問い合わせて、許可の返答があった場合にのみ書き込みや読み出しを行う機能を有する、ことを特徴とする。
【００１２】
本発明に係るセキュリティ強化装置は、任意の個数やサイズのファイルに対し、書き込み禁止／書き込み問合せ／読み出し禁止／読み出し問合せのセキュリティ指定を行う手段として、データ保持用の記憶部品の他に、セキュリティ情報保持用の記憶部品を用意し、データ保持用記憶部品の記憶単位毎に、セキュリティ情報用記憶部品に対応するセキュリティ情報を保持しておくことにより、データへのアクセス要求が発生したら、そのデータ保持用の記憶領域に対応したセキュリティ情報を参照し、そのセキュリティ情報に従った動作を行う、ことを特徴とする。
【００１３】
本発明に係るセキュリティ強化装置は、先の請求項において、セキュリティ情報保持用の記憶部品をデータ保持用記憶部品とは別個に用意せず、データ保持用記憶部品を兼用する手法。すなわち、データ保持用記憶部品の記憶領域の一部をデータ領域としては使用せずユーザからは見えない領域とし、その領域にセキュリティ情報を保持する、ことを特徴とする。
【００１４】
本発明に係るセキュリティ強化装置は、多種のＩＯポートについて、それらをハードウェアで直接制御することにより、ＰＣ上のＯＳや応用プログラムからは感知されずに、それらのポートから得られた情報によりポートの制御を相互に連携させる。すなわち、データ領域やファイルについて、保護設定に違反するアクセスがあった場合、システムへの侵入やマルウェアが感染が疑われるため、ＰＣや制御機器から見えるネットワークを遮断して、それ以上の感染を防止することができかつ、その場合でもセキュア通信は行える、ことを特徴とする。
【発明の効果】
【００１５】
本発明に係るセキュリティ強化装置は上記した構成である。この構成により、記憶装置のハードウェア装置の内部で独自にセキュリティ情報を保持しデータの書き込み禁止や読み出し禁止をファイル単位で実現することができる。また、ＯＳや応用プログラムからは全くその保護機能の制御を行うことはできないため安全である。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るセキュリティ強化装置の第一実施形態を示す図である。
【図２】本発明の実施形態に係るセキュリティ強化装置の第二実施形態を示す図である。
【図３】従来の制御システムの概要を示す図である。
【図４】本発明の実施形態に係るセキュリティ強化装置と制御システムの問題点を示す図である。
【図５】本発明の実施形態に係るセキュリティ強化装置の装着形態を示す図である。
【図６】本発明の実施形態に係るセキュリティ強化装置による通信の高セキュア化のイメージ図である。
【図７】本発明の実施形態に係るセキュリティ強化装置によるデータアクセスの高セキュア化のイメージ図である。
【図８】ＥＸＴ２ファイルシステムにおける本発明の実施形態に係るセキュリティ強化装置のアクセス制御例を示す図である。
【図９】本発明の実施形態に係るセキュリティ強化装置と防御対象装置の接続を示す図である。
【図１０】本発明の実施形態に係るセキュリティ強化装置におけるセキュリティタグの構成を示す図である。
【発明を実施するための形態】
【００１７】
次に、本発明の実施形態を図面に基づいて説明する。
【００１８】
＜はじめに＞
工場・プラントなどの生産システムをはじめ、列車・交通システム、携帯電話などの無線通信網、コンピュータネットワークやそれを用いたクラウドはじめ各種情報サービスなど、現代の主要な社会インフラは、制御システムの基盤の上に成り立っている。今まで、情報システムに対しては、フィッシング、コンピュータウイルス、サイバー攻撃などの被害が多発しその対策が講じられてきたが、工場や通信網といった制御システムへの攻撃はあまり発生せずその対策も重要視されて来なかった。それは、制御システムへの攻撃が、個人の利益とは結びつきにくいことや、制御システムが独自ＯＳや独自通信プロトコルを採用しているものが多く攻撃のためのツールも揃っておらず、手軽に攻撃を行うことが困難であったことなどが理由あった。
【００１９】
しかし、某原子力施設においてウラン濃縮のための多数の遠心分離器を長期間に渡って故障させ続けたＳｔｕｘｎｅｔというマルウェアの存在が明らかになり、産業用制御機器の脆弱性が認識された。これは、産業、軍事、交通、電力といった社会基盤への深刻な脅威である。国内でもマルウェアの攻撃が確認され、その対策が急務となっている。
【００２０】
＜制御システムの特徴とセキュア化の問題点＞
制御システムの一般的な構成を図３に示す。すなわち、工場やプラントなどで物理的な制御を行う機器が制御ネットワークでそれらを制御するＤＣＳ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ）やＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）に接続され、その上位では情報系制御ネットワークによりＤＣＳやＰＬＣにプログラミングを行うエンジニアリングＰＣに接続されている。その上位には、ファイアウォールを介してオフィス系のＰＣなどが接続されている。そして、それらは上位のファイアウォールを介して外部のインターネットと接続されている。
【００２１】
制御システムのセキュリティ向上のためには主に、この制御系情報ネットワーク機器のセキュリティ対策が必要となる。これら機器の特徴を以下に示す。
・可用性が重視（止められない）
・応答時間が重視（リアルタイム処理）
・重い処理は困難（機器のリソースやリアルタイム処理から）
・プログラムの更新が困難（可用性，リアルタム処理，リソースから）
・長期間の利用（１０年〜２０年）
・独自ＯＳや独自プロトコルを使用
・コントローラには汎用PCやオープンな規格も
・ダウン時に被害が大きい
・標的型の高度な攻撃がある
【００２２】
ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）やそれへのプログラミングを行うエンジニアリングＰＣなどから構成される制御ネットワークは、メンテナンスなどのために接続する外部ネットワークやＵＳＢメモリなどからマルウェアが侵入する可能性があるにも関わらず、日米欧のＰＬＣに、バックドア，暗号や認証の不足，弱いパスワードなどの脆弱性が見つかり、その対策が急務となっている（問題点１）（米国ＩＣＳ−ＣＥＲＴ及びＩＰＡ「制御機器の脆弱性に関する注意喚起」２０１２．２．２９）。しかし、これら機器におけるＯＳや応用プログラムの更新による対処は、その処理能力の限界や設置済の制御システムの動作検証の困難さから容易ではない。制御システムに対しては、Ｓｔｕｘｎｅｔに代表される高度な標的型攻撃の脅威が高まっており、０デイ攻撃など未対処の脆弱性をつかれた場合の対策も求められている（問題点２）。
【００２３】
上記の問題を解決するために、既存の制御システムにも容易に適用できるセキュリティ強化装置としてのセキュリティ用付加装置＝セキュリティバリアデバイス（ＳＢＤ）を提案する。ＳＢＤは、制御ネットワークの機器に装着し、そのＩＯポートを中継することで機器に負担をかけずに性能はそのままで、上記の脆弱性を克服するセキュリティの防護壁となるハードウェアデバイスである。
【００２４】
ＳＢＤは、ＯＳや応用プログラムを問わずソフトウェアのインストールなしに、ＰＬＣやそのプログラミングを行うエンジニアリングＰＣに装着でき、イーサネット、ＵＳＢ、ＳＡＴＡ、ＨＤＭＩなどのＩＯポートを中継する。ポートの中継に際して、通信を認証や暗号化で高セキュア化し、ＵＳＢやＳＡＴＡのストレージの重要ファイルへのアクセスの記録や制御を行い、必要に応じて、ディスプレイやキーボードなどでユーザへの確認を求める機能を有する。ＳＢＤのこれら機能により、不正な装置が制御ネットワークに接続されるのを防止でき、また、正規の装置がマルウェアに乗っ取られるのを防止して、制御ネットワークを高セキュア化する機能を有する（図４参照）。ＳＢＤを防御対象のＰＣや機器に装着した形態を図５に示す。通信の高セキュア化に関しては、防御対象の機器は、図６に示す様に、装着されたＳＢＤ同士が認証を行い必要に応じてＳＢＤ間で暗号通信を行う。またＳＢＤにより、Ｆｕｚｚｉｎｇテスト（システムに想定外の入力を与えその脆弱性を発見する手段）などで判明した侵入や誤動作を起こさせる通信パターンをフィルタリングすることも想定している。データアクセスの高セキュア化に関しては，図７に示す様に、オリジナルのストレージに加えて、セキュリティ情報を格納する専用のストレージ（実現の一形態であり、必ずしも独立のデバイスとする必要はない）を追加し、防御対象の機器からオリジナルストレージへのＩＯが発生した場合、ＳＢＤが追加ストレージ（防御対象の装置からは見えない）の対応するＩＯブロックからセキュリティ情報を読み出し、セキュリティ情報に応じて、アクセスを制限したり（読み出し禁止、書き込み禁止など）、ユーザに確認したりする機能を提供する。この機能はＳＢＤが、防御対象機器とは独立に実現するものであるためマルウェアから検知されず、マルウェアによる情報漏洩や重要情報の書き換えを防止することができる。このため攻撃対象に対する情報収集を十分に行う標的型攻撃や対策前の脆弱性を突く０ｄａｙ攻撃にも対処可能と考えられる。ただし、ＳＢＤの提供するのはストレージへのアクセス制御であるため、データがメモリ上にキャッシュされるファイルシステムに関しては後述の配慮が必要である。
【００２５】
＜領域毎のアクセス制御＞
ストレージデバイスとしては、ＨＤＤ／ＳＳＤ／ＵＳＢメモリなどを想定している。これらはいずれもブロックデバイスであり、アクセスの単位はＡＴＡのセクタサイズの５１２Ｂである。従って、セクタごとにアクセス制御情報を（先に述べたように付加ディスクなどで）持たせれば、セクタ単位でのアクセス制御が実現できる。従って、ディスクのパーティション毎のアクセス制御の実装は容易であり、その際のＯＳ側との整合も問題が少ない。書き換えるべきでないデータやシステムファイルを書き込み禁止パーティションに集めたり、通常は読み出すべきでないデータを読み出し禁止パーティションに集めればよい。それらに対し違反のアクセスがあれば検出しＳＢＤでログをとっておけば、違反操作やマルウェアの検出にも有用である。
【００２６】
＜ファイル単位のアクセス制御の概要＞
先の領域毎のアクセス制御は、パーティション毎にデータを整理する必要があるが、ファイル単位のアクセス制御が可能であればオリジナルストレージをそのままセキュア化することができる。制御機器においては、ＥＸＴ系（Ｌｉｎｕｘなど）、ＮＴＦＳ（Ｗｉｎｄｏｗｓ系、ＵＳＢメモリなど）、ＦＡＴ系（旧Ｗｉｎｄｏｗｓ、ＭＳ−ＤＯＳ、ＶｘＷｏｒｋｓ、ＵＳＢメモリなど）が主に使われており、中でもＥＸＴ２、ＮＴＦＳ、ＦＡＴ３２が多い。ＳＢＤはこれらに対応することを目標とする。
【００２７】
これらはいずれも木構造のディレクトリ構成であり、ファイルはディレクトリエントリとデータブロックから構成されている。データブロックはセクタより大きいためアクセス制御は問題ないが、ディレクトリエントリ（及びそれに付随するデータ構造）はセクタサイズより小さいためアクセス制御の解像度の向上が必要である。
【００２８】
この解像度の向上は以下の手順で実現できる。すなわち、読み出したセクタに対応するセキュリティ情報に必要とされる解像度を記録しておき、その解像度単位でアクセス制御情報を読み出す（追加ディスクにベタにアクセス制御情報が格納できなければ、別途別領域に展開すればよい）。当該セクタをストレージに書き込むとき、その解像度の単位でアクセス制御の処理を行う（すなわち書き込み禁止であれば、その部分のデータはストレージから読み出した方を用いて当該セクタ上のデータは変更しないようにして書き込みを行う）。
【００２９】
ファイルの書き込み禁止に対しては、ルートからのパス（経路）を含め書き込み禁止にする必要がある。ファイルはパスを含めて初めてユニークに特定できるからである。
【００３０】
＜ＥＸＴ２ファイルシステムでのアクセス制御の例とＬｉｎｕｘでの課題＞
ＥＸＴ２におけるＳＢＤのアクセス制御の例を図８に示す。図中、ファイル“ａｐｐ＿ｃｒｉｔｉｃａｌ”が書き込み禁止だとすると、ＳＢＤは図に赤色で示したルートからのパス名“/ａｐｐｄａｔａ/ａｐｐ＿ｃｒｉｔｉｃａｌ”のデータも書き込み禁止にする必要がある。
【００３１】
ＳＢＤの実現で問題となる課題として、ＯＳのキャッシュ機構とストレージの整合がある。Ｌｉｎｕｘでは，図８中のｉ−ｎｏｄｅ、ディレクトリエントリ、データブロックはそれぞれメモリ上にキャッシュされ、ｉ−ｎｏｄｅキャッシュ、ディレクトリエントリキャッシュ、バッファキャッシュ（ディスクブロックのデータに対応）／ページキャッシュ（ファイルのデータに対応）として用いられている。Ｌｉｎｕｘは、ファイルシステムをアクセスする準備として、メモリ上にスーパーブロックを読み出す。スーパーブロックには、ファイルシステム全体のレイアウト情報とフリーｉ−ｎｏｄｅ総数とフリーブロック総数などが格納されている。メモリ上のスーパーブロック構造体には、ブロックグループディスクリプタ（ディスクの同一シリンダに属するブロックグループ内のレイアウト情報とフリーｉ−ｎｏｄｅ総数とフリーブロック総数などが格納）、フリーブロックのビットマップ群、フリーｉ−ｎｏｄｅのビットマップ群が格納されている。Ｌｉｎｕｘはこれらビットマップと各種キャッシュを活用して、ファイルアクセスの高速化を図っている。スーパーブロックは定期的にストレージに書き戻されているため、書き込み禁止のｉ−ｎｏｄｅやブロックに対応するビットマップがストレージ上でもフリー化されようとすればＳＢＤはそれを検出することができる（むろんその検出のためには、ビットマップ領域をビット単位で高解像度化しておく必要があるが，ビットマップの領域は固定なので，実現可能である）。問題はＬｉｎｕｘがメモリ上でファイルシステムを変更している間、それがストレージに書かれる時までＳＢＤは検出できず，その時点でアクセス制御（問題となるのは書き込み禁止の場合）を行ったとき、Ｌｉｎｕｘがそれをどう扱うかという点である。ストレージに書かれるタイミングは、各種キャッシュ及びスーパーブロックの書き戻しがあるが、それらが予測困難な順番で発生する。可能性として考えられる不都合な事象として、ストレージ上では書き込み禁止のファイルが、メモリ上で書き換えられたことになり、そのｉ−ｎｏｄｅなり、ディレクトリエントリなり、データブロックが再利用され、別のファイル作成に用いられ、そのファイルがメモリからストレージに書き戻された後、当初の書き込み禁止ファイルへの書き戻しが発生するシナリオが考えられる。この場合、ストレージ上で当初のファイルの資源への書き込みは禁止されるため、その資源を再利用し作成されたファイルがディスクに書き戻される際、その部分の書き込みができず、破損することになる。
【００３２】
＜ＳＢＤでの有用なアクセス制御の検討＞
上記した不都合なシナリオは、ＳＢＤがローレベルのデバイスＩＯでしか、ＯＳと通信しないことに起因している。ＯＳはファイルアクセスにおいて、ファイル属性を用いてアクセス制御を行っている、ストレージデバイスからのファイルのアクセス制御情報を受け取るようなＯＳの修正はそれほど困難ではなく、ＯＳのセキュア化への一つの方向であると考える。むろん、メモリへのキャッシングやビットマップの読み込みを行わない単純なＯＳの場合はより簡単な対応でよい。
【００３３】
ＯＳの高度さに関わらず、ＯＳ改変なしで、ＳＢＤデバイスによるファイルアクセス制御における可能な動作を以下にまとめる。
【００３４】
[ボトムライン]：（防御対象装置のＯＳへの影響なし）
・システム管理者にＳＢＤ経由でアクセス禁止動作の発生を知らせることができる。
・アクセス制御違反が発生したら，ネットワークを切り離す手段もあり。
→（発展応用）アクセス制御違反をトリガとして、全ＩＯポートのログをとっておくことでマルウェアの検出、感染経路の洗い出しなどに役立てることが可能。
【００３５】
[読み出し禁止の場合]：
・ダミー値を返す。
・ディレクトリ内の読み出し禁止のファイル名もきちんと見せて、データはダミー値とすれば少なくともＯＳは誤動作しない。
・ディレクトリ内の読み出し禁止ファイル名を表示しない。同じくＯＳは誤動作しない。
・ディレクトリアクセスがあったとき、自分の読み出し禁止ビットが立っていれば（すなわちディレクトリがアクセス禁止であれば）、自分と親以外のファイル名とポインタを見せない。
・ＩＯエラーを返す。ＯＳがセクタエラーとして扱う可能性あり。
・ＩＯを返さない。ストレージデバイスのアンマウントやＯＳのフリーズの可能性あり。
【００３６】
[書き込み禁止の場合]：
・正常にライトしたと返す。メモリ上とストレージ上のデータが齟齬を起こし、前述した問題が発生する可能性あり。
・ＩＯエラーを返す。ＯＳがセクタエラーとして扱う可能性有り。
・ＩＯを返さない。ストレージデバイスのアンマウントやＯＳのフリーズの可能性あり。
→ＰＬＣなどにプログラミングを行うエンジニアリングＰＣがマルウェアに乗っ取られるならフリーズも許容される状況もあろう．
【００３７】
＜ＳＢＤの構成と開発＞
ＳＢＤは、以下の仕様の専用のＦＰＧＡボードとして開発中である。多数のポートの処理を低遅延で行うためＦＰＧＡを用いる。ファイルシステムの取扱やユーザインタフェースのためＳＢＤの制御（ホスト）ＰＣとｐｃｉ−ｅで接続できるようにした。ボードサイズの許す限り防御対象用のポートを多数搭載した。図９に想定される接続例を示す。ＳＢＤ制御ＰＣは、小型化が重要な応用においては、ＵＳＢ接続でより小型のＰＣに置き換えたり、ＦＰＧＡのプロセッサソフトコアで代用することも可能である。その際は、キーボードやディスプレイは防御対象機器のものをＦＰＧＡで切り替えて使用し、ＳＢＤが直接ユーザ端末に警告を出したり、パスワードの入力を求めたりすることを想定している。また各ＩＯのログをとっておき、セキュリティ違反が発生した際、その原因の追及に活用することも想定している。
【００３８】
・ボードサイズ：ＰＣＩ  Ｅｘｐｒｅｓｓカード形状
・ＦＰＧＡチップ：Ｘｉｌｉｎｘ  Ｋｉｎｔｅｘ−７  ６７６ピン（ＸＣ７Ｋ３２５Ｔ）
・コンフィギュレーション用フラッシュロム：
電源ＯＮ時にＦＰＧＡへの回路書き込み用
・メモリＩ／Ｆ：ＤＤＲ３  ＳＯＤＩＭＭ×１
・映像入力：ＨＤＭＩ×１（コピー制御ＨＤＣＰなし）
・映像出力：ＨＤＭＩ×１（コピー制御ＨＤＣＰなし）
・ストレージＩ／Ｆ：ＳＡＴＡ  (７ピン)×４／５（ＳＡＴＡ３．０）
・通信用Ｉ／Ｆ：１Ｇ／１００Ｍビットイーサ（ＲＪ−４５）×２
・汎用Ｉ／Ｆ：ＵＳＢ  (Ｔｙｐｅ  Ａ)×６（ＵＳＢ２．０）
・ＳＢＤ制御ＰＣ用Ｉ／Ｆ：ＰＣＩ  Ｅｘｐｒｅｓｓ×１
【００３９】
図１０は、ＳＢＤのセキュリティ用付加ディスクに記録するセキュリティタグの構成を示したものである。ＳＢＤにログインし設定を行うことでユーザ毎に異なるアクセス制御を行うことが可能である。ＳＡＴＡ以外のポートについては，取り敢えず(ＦＰＧＡ経由で)データをスルーする構成としている。
【００４０】
次に、上記した本発明の実施形態について以下にまとめる。
【００４１】
ＰＣや制御機器など既存システムに装着することで、ＯＳや応用プログラムを問わず、そのセキュリティを強化できる装置の構成を開示する。本セキュリティ強化装置は、ＰＣや制御装置などのＩＯを中継するもので、本装置経由で、ハードディスク、ＵＳＢ機器、ディスプレイなどを接続するだけで良いため、既存システムへの後付けも容易である。ストレージ上のデータ保護に関しては、本発明は特に、データをセクタ単位のみならずファイル単位で扱う方法を開示する。また、セキュアなデータの転送や表示やその設定・入力などを本装置が直接行うことにより、ＯＳや応用プログラムの脆弱性が攻撃されてPCや制御機器が不正なプログラムに乗っ取られた場合でも、正しくユーザへの警告や問合せを行うことができる。また通信においても、本装置により通信相手の機器の認証や通信内容の暗号化が可能である。
【００４２】
ファイル単位でのアクセス保護を行うための手段を説明する。
【００４３】
任意のサイズの任意の個数のデータについて、書き込み禁止／書き込み問合せ／読み出し禁止／読み出し問合せなどのセキュリティ指定を行う手段として、データ保持用の記憶部品の他に、セキュリティ情報保持用の記憶部品を用意し、データ保持用記憶部品の記憶単位毎に、セキュリティ情報用記憶部品に対応するセキュリティ情報を保持しておくことにより、データへのアクセス要求が発生したら、そのデータ保持用の記憶領域に対応したセキュリティ情報を参照し、そのセキュリティ情報に従った動作を行わせる。また、別途の実現方法として、セキュリティ情報保持用の記憶部品をデータ保持用記憶部品とは別個に用意せず、データ保持用記憶部品を兼用する手法がある。すなわち、データ保持用記憶部品の記憶領域の一部をデータ領域としては使用せずユーザからは見えない領域とし、その領域にセキュリティ情報を保持することも可能である。
【００４４】
ユーザへのアクセス違反の通知やアクセス許可の問合せは、ストレージと同様にそれらのＩＯポートを本発明の独自装置を経由してＰＣと接続することにより、セキュアなデータＩＯに関してはＰＣ側とは独立に、通所用いるディスプレイやタッチパネルを用いて、本装置が直接通知や問合せを行う。このため追加のＩＯ機器は不要となる。
【００４５】
ファイルシステムは、ＯＳによって異なり多種類存在するが、ＥＸＴ２、ＦＡＴ、ＮＴＦＳなど主要なファイルシステムでは、読み出しの場合はいずれのシステムでも、データが格納されているセクタを調べそれらのセキュリティ情報に読み込み禁止と書き込んでおく。セクタの参照時に、そのセクタに対応するセキュリティ情報を読み出し、それが読み出し禁止であれば、ＯＳや応用プログラムには、ダミーデータ（例えばすべて０など）を返したり、読み出しエラーを返したりすればよい。
【００４６】
一方、書き込みの場合には、先の主要なファイルシステムでは、別に新しいファイルが作成され、最後にディレクトリの書き換えが行われるため、データが格納されているセクタのみの監視では不十分であり、当該書き込み禁止ファイルの格納されているディレクトリデータの書き換えを監視する必要がある。これらファイルシステムでは、ディレクトリは階層構造をなしており、当該ファイルまでのルートからのディレクトリパスのどこにも変更がないことを担保する必要がある。但し、それぞれのディレクトリには、その下に書き換え可能なファイルやディレクトリが存在する可能性があるため、ディレクトリ内でも当該書き込み禁止ファイル名とデータ（または、データ格納用ポインタ）のペアのみを書き込み保護する必要がある。これらはディスクの最小アクセス単位であるセクタ（５１２バイトが一般的）より小さいため、この領域を保護する手法を新たに開示する。すなわち、セキュリティ情報をディレクトリ領域については高解像度化するとともに、セクタ内で書き込み禁止と許可を共存させる手法である。
【００４７】
まず、セキュリティ情報の高解像度化については、読み出したセクタに対応するセキュリティ情報に必要とされる解像度を記録しておき、その解像度単位でアクセス制御情報を読み出す（追加ディスクにベタにアクセス制御情報が格納できなければ、別途別領域に展開すればよい）。そして、当該セクタをストレージに書き込むとき、その解像度の単位でアクセス制御の処理を行う（すなわち書き込み禁止であれば、その部分のデータはストレージから読み出した方を用いて当該セクタ上のデータは変更しないようにして書き込みを行う）。
【００４８】
本発明の第一実施形態に係るセキュリティ強化装置として、記憶部品としてハードディスクなどのセクタ単位のアクセスを行うストレージを用い、データ領域とセキュリティ情報領域を同一のストレージに配置した場合を図１に示す。ＰＣは、ハードディスクの代わりに、ＦＰＧＡ（論理回路が書き込まれているチップ）に接続されており、ＦＰＧＡ上の回路が、データアクセスがあった場合、セキュアタグのセキュリティ情報を参照して、書き込み禁止や読み出し禁止の処理を行う。図にはないが、ＦＰＧＡにユーザへのＩＯが接続されている場合は、それを用いてデータアクセスの可否をユーザに問い合わせることもできる。図中、ＰＣから見えるファイルシステムのクラスタは４つのデータセクタから構成される。これは通常のハードディスクなどを直接用いる場合と同様であり、ＰＣ側からは保護機能がついているかどうかは全く識別できない。セキュアタグ及びアクセス保護の制御はＦＰＧＡのセキュリティ回路が行い、ＰＣからは制御できない。
【００４９】
本発明では、ファイルシステムへのアクセス制御を実現した。すなわち、書き込み保護の場合、図８に示す様に、ファイルのデータだけでなく、ルートからのパス名（図では／ａｐｐｄａｔａ／ａｐｐ＿ｃｒｉｔｉｃａｌ）の全体を保護（書き換え禁止）する。このためには、書き込み保護の単位をセクタの単位より小さくする高解像度化が必要であり、解決手段のところで開示した手法を用い、セキュリティ情報の詳細化とそれに対応する論理回路で実現した。
【００５０】
本発明の第二実施形態に係るセキュリティ強化装置として、ストレージに加え、ディスプレイ、タッチパネル、ネットワークに対し、セキュアクセスを実現する方法を図２に示す。ＰＣ上のＯＳやプログラムからは、これら、ストレージ、ディスプレイ、タッチパネル、ネットワークは、保護機能なしの通常のものと同一に見える。しかし、しかしこれらへのアクセスは、ＦＰＧＡ上の回路が通常アクセスとセキュアアクセスを峻別することにより、ＯＳや応用プログラムを介さずセキュアデータのやりとりをすることができる。例えば、データ保護違反のアクセスが発生したことを、ユーザのディスプレイに直接表示したり、データアクセス許可をユーザに求めたり、データ保護設定の変更などが、ＦＰＧＡの回路から直接行える。通信に関しても、一般の通信と独立にFPGAが直接セキュア通信を行うことができるため、複数の本発明の装置の間の連携やセキュアデータの交換などが行える。また、ＩＯポート間の連携動作として、データ領域やファイルについて、保護設定に違反するアクセスがあった場合、システムへの侵入やマルウェアが感染が疑われるため、PCや制御機器から見えるネットワークを遮断して、それ以上の感染を防止することができる。その場合でもセキュア通信は可能である。また逆に、ネットワークからの攻撃を検出した場合は、ユーザに警告すると共に、記憶領域の保護レベルを上げより狭い範囲のアクセスに限定して許可するなどの対処も実現可能である。
【００５１】
上記したとおり、ＰＣや制御機器など既存システムに装着することで、ＯＳや応用プログラムを問わず、そのセキュリティを強化できる装置の構成を開示する。本セキュリティ強化装置は、ＰＣや制御装置などのＩＯを中継するもので、本装置経由で、ハードディスク、ＵＳＢ機器、ディスプレイなどを接続するだけで良いため、既存システムへの後付けも容易である（図９参照）。ストレージ上のデータ保護に関しては、本発明は特に、データをセクタ単位のみならずファイル単位で扱う方法を開示する。また、セキュアなデータの転送や表示やその設定・入力などを本装置が直接行うことにより、ＯＳや応用プログラムの脆弱性が攻撃されてＰＣや制御機器が不正なプログラムに乗っ取られた場合でも、正しくユーザへの警告や問合せを行うことができる。また通信においても、本装置により通信相手の機器の認証や通信内容の暗号化が可能である。
【００５２】
以上、本発明の実施形態を詳述したが、本発明は上記実施形態に限定されるものではない。そして本発明は、特許請求の範囲に記載された事項を逸脱することがなければ、種々の設計変更を行うことが可能である。ＳＢＤは、ハードウェアデバイスであるためマルウェアから検知不能であり、データへの不正アクセス検出をトリガとしてＩＯログを解析することにより、新種のマルウェアの発見にも有用である。ストレージのロールバック機能の実装も可能である。通信セキュリティの実装も可能であり、また、新方式の表示装置の実験など多方面の応用も期待されている。
【図１】
2015052951.tif 000003
【図２】
2015052951.tif 000004
【図３】
2015052951.tif 000005
【図４】
2015052951.tif 000006
【図５】
2015052951.tif 000007
【図６】
2015052951.tif 000008
【図７】
2015052951.tif 000009
【図８】
2015052951.tif 000010
【図９】
2015052951.tif 000011
【図１０】
2015052951.tif 000012