JP2014071887A - 安全なリムーバブル大容量記憶装置 - Google Patents

安全なリムーバブル大容量記憶装置 Download PDF

Info

Publication number
JP2014071887A
JP2014071887A JP2013040308A JP2013040308A JP2014071887A JP 2014071887 A JP2014071887 A JP 2014071887A JP 2013040308 A JP2013040308 A JP 2013040308A JP 2013040308 A JP2013040308 A JP 2013040308A JP 2014071887 A JP2014071887 A JP 2014071887A
Authority
JP
Japan
Prior art keywords
storage area
memory storage
write
command
write protected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013040308A
Other languages
English (en)
Inventor
Tomoyuki Shiga
シガ,トモユキ
Taichi Ejiri
エジリ,タイチ
Xiao Liu
リウ,シャオ
Huang Chih Jung
チー ジュン,フアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Trend Micro Inc
Original Assignee
Trend Micro Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Trend Micro Inc filed Critical Trend Micro Inc
Publication of JP2014071887A publication Critical patent/JP2014071887A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】安全なリムーバブル大容量記憶装置を提供すること。
【解決手段】大容量記憶装置はコントローラ及びメモリ記憶領域を含む。メモリ記憶領域の安全な部分は、永久的にライトプロテクトされる。オペレーティングシステムにより提供される例えばAPIのようなプログラムは、永久的にライトプロテクトされた部分に対する書込みを禁止される。コントローラは、セキュリティコマンドを使用して永久的にライトプロテクトされた部分に書込みを行うことを許可する。メモリ記憶領域の安全な部分は、オペレーティングシステムにとって不可視であるが、セキュアライブラリを利用してアクセスすることが可能な隠された部分である。
【選択図】図5

Description

1.発明の分野
本発明は、概して、コンピュータ・セキュリティに関し、とりわけ、限定はしないが、リムーバブル大容量記憶装置の安全を確保する方法、及び方法に関する。
2.背景技術の説明
リムーバブル大容量記憶装置は、携帯可能であり、ユーザが、大量のデータを常に個人的に持ち運ぶことを可能にする。そして、それらの装置は、着脱可能であるため、特定のコンピュータに縛られることなく、あるコンピュータから別のコンピュータへと移動させることができる。人気があるリムーバブル大容量記憶装置は、USBインタフェース(例えば、USBポート)を介してアクセス可能なユニバーサル・シリアル・バス(USB)メモリデバイスである。
USBメモリデバイスは、USBメモリデバイスに記憶されたデータの消去や、USBメモリへの書き込みを防止するために、ライトプロテクトが施される場合がある。ライトプロテクトは、書き込みを許可するために無効化される場合もあるが、それによって、記憶されたデータの完全性は妥協される場合がある。また、ライトプロテクトは、オペレーティング・システムによって、汎用アクセスコントロールのために使用される場合があり、かかる汎用アクセスコントロールは、USBメモリデバイスへの書き込みを伴う正規の動作を妨げることがある。さらに、2以上のプログラムがUSBメモリデバイスへのアクセスを試みた場合、USBメモリデバイスは、スループット問題を蒙る場合がある。
概要
一実施形態において、リムーバブル大容量記憶装置は、コントローラ、及びメモリ記憶領域を含む。メモリ記憶領域の安全な部分は、永久的にライトプロテクトされた部分である場合がある。メモリ記憶領域にアクセスするための、例えばアプリケーション・プログラミング・インタフェース(API)のような、オペレーティングシステムにより提供される種々のプログラムが、永久的にライトプロテクトされた部分のライトプロテクトを無効化することはできず、それらが永久的にライトプロテクトされた部分への書き込みをすることは、禁止されている。コントローラは、セキュア・ライブラリのセキュリティ・コマンドに対しては、ライトプロテクトを強制せず、セキュリティコマンドを使用して永久的にライトプロテクトされた部分へ書き込みをすることを許可している。セキュリティコマンドは、セキュア・ライブラリのAPIによって発行される場合がある。メモリ記憶領域の安全な部分は、オペレーティングシステムにとって見ることが出来ない隠された部分である場合もあるが、セキュア・ライブラリを利用してその安全な部分にアクセスすることができる。
本発明のこれらの特徴及び他の特徴は、添付の図面及び特許請求の範囲を含む本開示の全体を読むことにより、当業者には直ちに明らかになるであろう。
本発明の一実施形態によるコンピュータを示す概略図である。 本発明の一実施形態によるユニバーサル・シリアル・バス(USB)メモリデバイスのメモリ記憶領域の例示的パーティションレイアウトを概略的に示す図である。 本発明の他の実施形態によるUSBメモリデバイスのメモリ記憶領域の例示的パーティションレイアウトを概略的に示す図である。 本発明のさらに別の実施形態によるUSBメモリデバイスのメモリ記憶領域の例示的パーティションレイアウトを概略的に示す図である。 本発明の一実施形態によるUSBメモリデバイスのメモリ記憶領域をアクセスする方法を概略的に示すフロー図である。 本発明の他の実施形態によるUSBメモリデバイスのメモリ記憶領域をアクセスする方法を概略的に示すフロー図である。
異なる図面における同じ参照符号の使用は、同一又は類似のコンポーネントを示している。
詳細な説明
本開示では、本発明の種々の実施形態を完全に理解してもらうために、装置、コンポーネント、及び方法の種々の例のような、多数の詳細情報を提供する。しかしながら、当業者は、それらの詳細情報のうちの1以上が無くても、本発明を実施することが可能であることを理解するであろう。その他、本発明の態様が不明確になることを避けるために、周知の詳細については、図示又は説明されない。
ここで、図1を参照すると、本発明の一実施形態によるコンピュータ100の概略図が示されている。コンピュータ100は、特定目的のニーズに合致するように、もっと少数のコンポーネント、又はもっと多数のコンポーネントを有する場合もある。コンピュータ100は、プロセッサ101を含む場合がある。コンピュータ100は、自身の種々のコンポーネントを結合する1以上のバス103を有する場合がある。コンピュータ100は、1以上のユーザ入力デバイス102(例えば、キーボード、マウス)、1以上の従来の回転ディスクデータ記憶装置(例えば、ハードディスク、光ディスク)、ディスプレイモニター104(例えば、液晶ディスプレイ、フラットパネルモニター、陰極線管)、コンピュータ・ネットワーク・インタフェース105(例えば、ネットワークアダプタ、モデム)、及びメインメモリ108(例えば、ランダムアクセスメモリ)を含む場合がある。コンピュータ・ネットワーク・インタフェース105は、コンピュータ・ネットワーク109に結合される場合がある。コンピュータ・ネットワーク109は、この例ではインターネットを含む。
図1の例において、コンピュータ100は、ユニバーサル・シリアル・バス(USB)ポート124を含む。USBメモリデバイス120の形をしたリムーバブル固体大容量記憶装置は、コンピュータ100のプロセッサ101又は他のコンポーネントによるアクセスのために、USBポート124に接続される。USBメモリデバイス120は、回転ディスクや、他の可動記憶装置を有しない点で、「固体」デバイスである。なお、本発明の他の実施形態では、他のタイプのリムーバブル大容量記憶装置(例えば、ディスクを利用したもの)が使用される場合もある。一実施形態において、USBメモリデバイス120は、フラッシュメモリを含むメモリ記憶領域を備えたUSBフラッシュドライブを含む。USBコントローラ121は、コンピュータのプロセッサ101又は他のコンポーネントとのインタフェースとして機能する電気回路、及びメモリ記憶領域122へのアクセスを制御するための電気回路を含む。USBメモリデバイス120は、コンピュータ100に対して容易に結合又は分離することが可能である点でリムーバブルである。USBメモリデバイス120をコンピュータ100に結合するためには、USBメモリデバイス120のコネクタ126を、USBポート124のコネクタ125に押し込む。USBメモリデバイス120をコンピュータ100から分離するためには、USBポート124からUSBメモリデバイス120を引き抜く。USBコントローラ121は、USBコネクタ126を通してコンピュータ100から種々のコマンドを受信する。
コンピュータ100は、コンピュータ読取り可能なプログラムコードを用いてプログラムされるような特定のマシンである。図1の例において、そのようなプログラムコードは、メインメモリ108に一時的に記憶され、プロセッサ101により実行されるオペレーティングシステム112(例えば、マイクロソフトWindows(登録商標)オペレーティングシステム)、及びアプリケーションプログラム113を含む。アプリケーションプログラム113は、セキュアUSBライブラリ114を含む場合がある。セキュアUSBライブラリ114は、メモリ記憶領域122のアクセスに通常使用されるオペレーティングシステム112のAPI又は他のプログラムを使用することなくメモリ記憶領域122に対する読み出し又は書き込みを行うために、USBコントローラ121と通信するアプリケーション・プログラミング・インタフェース(API)、関数、又は手順を含む場合がある。一実施形態において、アプリケーションプログラム113は、USBメモリデバイス120に記憶されたアンチウイルスプログラム(例えば、アンチウイルスプログラム252、図6参照)、又は他のコンピュータセキュリティプログラム(例えば、アンチスパイウェア等)と協働するアプリケーションプログラムを含む。例えば、アプリケーションプログラム113は、アンチウイルスプログラムのスキャンエンジン又はスキャンパターンファイルの更新を行うように構成される場合がある。コンピュータ100のオペレーティングシステム112、アプリケーションプログラム113、及び他のソフトウェアコンポーネントは、データ記憶装置106からメインメモリ108へロードされる場合がある。
図2は、本発明の一実施形態によるUSBメモリデバイス120のメモリ記憶領域122の例示的パーティションレイアウトを概略的に示している。図2の例において、メモリ記憶領域122は、3つの論理ドライブ、すなわち、論理ドライブ0、論理ドライブ1、及び論理ドライブ2に分割されている。論理ドライブ0は、メモリ記憶領域122のライトプロテクト可能な部分131を含み、論理ドライブ1は、メモリ記憶領域122の永久的にライトプロテクトされた部分132を含み、論理ドライブ3は、メモリ記憶領域122の隠された部分133を含む。論理ドライブ0及び1はそれぞれ、オペレーティングシステム112のファイルシステムを含み、従って、オペレーティングシステム112にとって可視である。論理ドライブ2、及びその中に含まれる隠された部分133は、オペレーティングシステム112にとって不可視であり、従って、オペレーティングシステム112によってアクセスすることはできない。オペレーティングシステム112は、隠された部分133を認識しない。
ライトプロテクト可能な部分131は、オペレーティングシステム112によって認識される従来のファイルシステム(例えば、ファイルアロケーションテーブル(FAT)ファイルシステム)を有する場合がある。その名前が示すように、ライトプロテクト可能な部分131は、メモリ記憶領域122のうちの、書き込みを防止するためにライトプロテクトを施すことが可能な部分からなる。ライトプロテクト可能な部分131のライトプロテクトは、書き込みを可能にするために無効化される場合もある。ライトプロテクト可能な部分131のライトプロテクトは、オペレーティングシステム112が適当なコマンドをUSBコントローラ121へ送ることによって、無効化又は有効化される場合がある。アプリケーションプログラムは、オペレーティングシステム112のAPIを使用して、ライトプロテクト可能な部分131のライトプロテクトを制御する場合がある。一実施形態において、ライトプロテクト可能な部分131は、コンピュータセキュリティプログラム又はそのコンポーネントによって、一時的なワークスペースとして使用される場合がある。例えば、ライトプロテクト可能な部分131は、そこに記憶されたファイルへの書き込みを可能にするために、書き込みを有効化され、その後、それらのファイルへの書き込みを防止するために、ライトプロテクトが施される場合がある。
永久的にライトプロテクトされた部分132は、メモリ記憶領域122のうちの常にライトプロテクト状態にある部分である。永久的にライトプロテクトされた部分132は、オペレーティングシステム112によって認識される従来のファイルシステムを有する場合がある。オペレーティングシステム112は、永久的にライトプロテクトされた部分132に記憶されたファイルを読み出すことが出来るが、オペレーティングシステム112は、永久的にライトプロテクトされた部分132への書き込みや、当該部分132の書き込みを有効化すること(すなわち、ライトプロテクトを無効化すること)は出来ない。USBコントローラ121は、永久的なライトプロテクトを強制するように構成される場合がある。USBコントローラ121は、永久的にライトプロテクトされた部分132に対する書き込み、又はそのような書き込みの有効化を求めるいかなる要求も、その要求がセキュアUSBライブラリ114から(但し、オペレーティングシステム112からではない)入手可能なセキュリティコマンドからのものでない限り、遮断する場合がある。
USBコントローラ121は、USBメモリデバイス120の製造中は、永久的にライトプロテクトされた部分132の永久的なライトプロテクトを強制しない。USBメモリデバイス120の製造中、従来のファイルシステムは、永久的にライトプロテクトされた部分132においてフォーマットされ、コンピュータセキュリティプログラムの種々のファイルが、永久的にライトプロテクトされた部分132に記憶される場合がある。USBメモリデバイス120の製造後、USBコントローラ121は、権限を有しないプログラムが、永久的にライトプロテクトされた部分132に記憶されたファイルに変更を加えること(例えば、書き込みによって)を禁止するために、永久的なライトプロテクトを強制する。以下の記載からより明らかとなるように、セキュアUSBライブラリ114により提供される1以上のセキュリティコマンドは、永久的にライトプロテクトされた部分132への書き込みに使用される場合がある。
論理ドライブ2の隠された部分133は、オペレーティングシステム112によって可視ではなく、すなわち、オペレーティングシステム112によって認識されない。例えば、オペレーティングシステム112は、ファイルアロケーションテーブル(FAT)ファイルシステムのような通常のファイルシステムを使用して、隠された部分133にアクセスすることは出来ない。メモリ記憶領域122は、工場において事前にフォーマットされ、隠された部分133が、隠された部分133をアクセスするための正規のコマンドとしてUSBコントローラ121により認識される所定のセキュリティコマンドを使用しないプログラムにとって不可視となり、そのようなプログラムからアクセスできないものとなるように、事前にフォーマットされる。
一実施形態において、隠された部分133にある種々のファイルは、セキュアUSBライブラリ114を使用することによってのみアクセスすることが出来る。セキュアUSBライブラリ114は、隠された部分133に対するデータの読み出し又は書き込みのためにUSBコントローラ121によって解釈される1以上のセキュリティコマンドを含む場合がある。権限を有しないプログラムがセキュリティコマンドを利用して隠された部分133に記憶されたファイルをアクセスすることを防止するために、セキュリティコマンドは、秘密に、及び専有的状態に維持される場合がある。セキュアUSBライブラリ114は、セキュリティコマンドを利用して、権限を有しないプログラムが、隠された部分132にアクセスし、ファイルを記憶し、読み出し、又は変更を加えることを可能にするAPIを含む場合がある。隠された部分132は、セキュアUSBライブラリ114と協働するが、オペレーティングシステムとは協働しないドライバによって管理されるファイルシステム(例えば、FAT32ファイルシステム)を有する場合がある。一実施形態において、セキュアUSBライブラリ114及びそのセキュリティコマンドは、権限を有しないプログラム及びオペレーティングシステム112に対しては使用不可にされる。例えば、セキュアUSBライブラリ114及びそのセキュリティコマンドは、USBメモリデバイス120に記憶されたコンピュータセキュリティプログラムの動作をサポートするアプリケーションプログラム113に対してのみ使用可能にされる場合がある。
一実施形態において、部分132及び133は、セキュアUSBライブラリからのセキュリティコマンドが、それらの部分への書き込みに使用される点で、メモリ記憶領域122の安全な部分である。一実施形態において、USBコントローラ121は、セキュアUSBライブラリ114からのセキュリティコマンドによって書き込み処理が要求された場合、永久的にライトプロテクトされた部分132がライトプロテクトされた状態にあるときであっても、永久的にライトプロテクトされた部分132への書き込み処理を許可する。例えば、セキュアUSBライブラリ114は、永久的にライトプロテクトされた部分132にあるファイルに対する書き込み、変更、又は消去を行うためのセキュリティコマンドをUSBコントローラ121に対して発行するAPIを含む場合がある。USBコントローラ121は、そのセキュリティコマンドを受信すると、それに応答し、永久的にライトプロテクトされた部分132がライトプロテクトされた状態にあるときであっても、永久的にライトプロテクトされた部分132に対する書き込みを許可する。しかしながら、オペレーティングシステム112又はそのコンポーネントが従来のアクセスコマンド(セキュリティコマンドではない)を使用して永久的にライトプロテクトされた部分132に対する書き込みを試みた場合、USBコントローラ121は、永久的にライトプロテクトされた部分132がライトプロテクトされた状態にある旨を応答し、永久的にライトプロテクトされた部分132に対する書き込みの試みを遮断する。
図3は、本発明の他の実施形態によるUSBメモリデバイス120のメモリ記憶領域122の例示的パーティションレイアウトを概略的に示している。図3の例において、メモリ記憶領域122は、2つの論理ドライブ、すなわち、論理ドライブ0、及び論理ドライブ1に分割されている。論理ドライブ0は、メモリ記憶領域122のライトプロテクト可能な部分131を含み、論理ドライブ1は、メモリ記憶領域122の永久的にライトプロテクトされた部分134、及び隠された部分135を含む。論理ドライブ0のライトプロテクト可能な部分131は、図2を参照して上で説明したものと同様である。
図3の例において、永久的にライトプロテクトされた部分134は、図2の永久的にライトプロテクトされた部分132と実質的に同じである。主な違いは、永久的にライトプロテクトされた部分132は、隠された部分135と同じ論理ドライブにあるのに対し、図2の永久的にライトプロテクトされた部分132と隠された部分133は、別個の論理ドライブにある点である。図2の例におけるそれらに対応する要素と同様に、永久的にライトプロテクトされた部分134及び隠された部分135は、メモリ記憶領域122の安全な部分である。
永久的にライトプロテクトされた部分134は、オペレーティングシステム112のファイルシステムを有する場合があり、オペレーティングシステム112によって、ライトプロテクトモード、すなわち、リードオンリーでアクセスすることが可能である。USBコントローラ121は、対応するセキュリティコマンドを使用することなく行われた永久的にライトプロテクトされた部分134に対するいかなる書き込みの試みをも遮断する。オペレーティングシステム112はセキュアUSBライブラリ114のセキュリティコマンドに対するアクセス権を有しないため、オペレーティングシステム112は、永久的にライトプロテクトされた部分134に記憶された種々のファイルに対し、読出し処理を実施することしか出来ない。隠された部分135は、オペレーティングシステム112にとって不可視であり、隠された部分135を読み出し、書込み又は他の処理のために、オペレーティングシステム112によってアクセスすることは出来ない。図2における対応する要素と同様に、隠された部分135は、セキュアUSBライブラリ114により提供されるAPIのような、USBコントローラ121により認識可能な特殊なセキュリティコマンドによってのみアクセス可能である。
なお、図3のパーティションレイアウトにより提供されるものと類似したソリューションは、ライトプロテクトを有しない論理ドライブを1つだけ有する従来のUSBメモリデバイスを使用して実現することも、安全性は低くなるが、可能である。その場合、USBメモリデバイスのメモリ記憶領域の第1の部分は、オペレーティングシステムによって使用されるためにフォーマットされ、メモリ記憶領域の第2の部分は、未フォーマットのまま残される。第2の部分は、オペレーティングシステムのファイル入出力処理によってアクセスできない隠された部分として使用され、それによって、オペレーティングシステムのファイルマネージャ(例えば、WINDOWS(登録商標)EXPLORER)が隠された部分にアクセスすることを防止する。権限を有するアンチウイルスソフトウェアのような権限を有するプログラムは、オペレーティングシステムによりサポートされるセクタアクセスAPIを使用して、隠された部分にアクセスすることが出来る。このソリューションは、ライトプロテクトを使用する他のソリューションほど安全ではないが、それでも、従来のUSBメモリデバイスに比べて高いセキュリティを提供する。
図4は、本発明のさらに別の実施形態によるUSBメモリデバイス120のメモリ記憶領域122の例示的パーティションレイアウトを概略的に示している。図4の例において、メモリ記憶領域122は、2つの論理ドライブ、すなわち、論理ドライブ0、及び論理ドライブ1に分割されている。論理ドライブ0は、メモリ記憶領域122のライトプロテククト可能な部分131を含み、論理ドライブ1は、メモリ記憶領域122の永久的にライトプロテクトされた部分136を含む。論理ドライブ0のライトプロテクト可能な部分131は、図2を参照して上で説明したものと同様である。図4の例では、メモリ記憶領域122は、隠された部分を有しない。
図4の例において、永久的にライトプロテクトされた部分136は、図2の永久的にライトプロテクトされた部分12と同じ態様で動作する。図2の永久的にライトプロテクトされた部分132と同様に、永久的にライトプロテクトされた部分136は、メモリ記憶領域122の安全な部分である。
永久的にライトプロテクトされた部分136は、オペレーティングシステム112のファイルシステムを有する場合があり、オペレーティングシステム112によって、ライトプロテクトモード、すなわち、リードオンリーでアクセスすることが可能である。USBコントローラ121は、対応するセキュリティコマンドを使用することなく行われた永久的にライトプロテクトされた部分136に対するいかなる書込みの試みをも阻止する。オペレーティングシステム112はセキュアUSBライブラリ114のセキュリティコマンドに対するアクセス権を有しないため、オペレーティングシステム112は、永久的にライトプロテクトされた部分136に記憶されたファイルに対し、読出し処理を実施することしか出来ない(及び、書込み処理を実施することは出来ない)。
図4の例において、永久的にライトプロテクトされた部分136は、単一の大きなファイル137を含む。この大きなファイル137は、複数のファイルを含むアーカイブファイルであってもよい。例えば、大きなファイル137は、zipファイルと類似した形で複数のファイルを管理するために使用される場合がある。複数のファイルを管理するための単一の大きなファイル137を有することにより、ファイルシステムについての管理コストは低減される。アプリケーションによっては、永久的にライトプロテクトされた部分136は、1以上の大きなファイル137を有する場合がある。
図5は、本発明の一実施形態によるUSBメモリデバイス120のメモリ記憶領域122をアクセスする方法を概略的に示している。図5の例において、アプリケーションプログラム113は、セキュアUSBライブラリ114と共にコンパイルされ、又はセキュアUSBライブラリ114へのアクセス権を有している。アプリケーション113は、例えば、オペレーティングシステム112に付属しているUSBメモリデバイス120(矢印221参照)をアクセスするためのAPI又は他のプログラムを使用し、オペレーティングシステム112を利用して、メモリ記憶領域122の永久的にライトプロテクトされた部分230に対して書込み処理の実施を試みる場合がある。この書込み処理は、図2〜図4に開示され上で説明された永久的にライトプロテクトされた部分と同じ永久的にライトプロテクトされた部分230にファイルを作成し、又はそこに記憶されたファイルを変更するためのアクセスコマンドの形を有する場合がある。このアクセスコマンドは、オペレーティングシステム112によって受信され、オペレーティングシステム112は、例えばUSBメモリデバイス120(矢印222参照)のためのオペレーティングシステム112のドライバを利用して、そのアクセスコマンドをUSBコントローラ121へ送信する。オペレーティングシステム112からのアクセスコマンドは、永久的にライトプロテクトされた部分230に対する書込みのための、USBコントローラ121によって期待されるセキュリティコマンドを含まないため、USBコントローラ121は、永久的にライトプロテクトされた部分230のライトプロテクトされた状態を強制し、永久的にライトプロテクトされた領域230に対する書込みを禁止する(バツ印が付された矢印223参照。バツ印は、書込み処理が阻止されたことを示している。)。
永久的にライトプロテクトされた部分230への書込みを可能にするために、アプリケーションプログラム113は、セキュアUSBライブラリ114により提供されるセキュリティコマンドを使用する。セキュリティコマンドは、オペレーティングシステム112によって提供されるメモリ記憶領域122をアクセスするためのプログラムのライブラリの一部ではない。一実施形態において、セキュアUSBライブラリ114のみが、セキュリティコマンドを含む。具体例として、アプリケーションプログラム113は、セキュリティコマンドを含む、セキュアUSBライブラリ114のAPIを発行する場合がある。セキュリティコマンドは、永久的にライトプロテクトされた部分230への書込みのために、USBコントローラ121によって明確に認識される。アプリケーションプログラム113は、セキュリティコマンドを発行し、セキュリティコマンドは、USBコントローラ121により受信される(矢印231)。USBコントローラ121は、セキュリティコマンドを永久的にライトプロテクトされた部分230に対する書込みのための正規のコマンドとして認識し、従って、永久的にライトプロテクトされた部分230が依然としてライトプロテクトされた状態にあるときであっても、書込み処理を進めることを許可する(矢印232参照)。セキュリティコマンドは、オペレーティングシステム112によって提供されるメモリ記憶領域122をアクセスするためのAPIを使用しないため、セキュリティコマンドは、オペレーティングシステム112によってキューイングされることはなく、セキュリティコマンドは、例えばコンピュータセキュリティプログラム動作に悪影響を及ぼすことがあるアクセス妨害手段又はアクセス制御手段を、有利にバイパスすることが出来る。
図5の例において、アプリケーションプログラム113は、セキュアUSBライブラリ114からのセキュリティコマンドを使用して、永久的にライトプロテクトされた部分230に対する書込みを行う。なお、この手順は、メモリ記憶領域122の安全な隠された部分をアクセスする場合と類似している。その場合、セキュアUSBライブラリ114からのセキュリティコマンドは、隠された部分に対する書込み、又は読出しのためのものである。USBコントローラ121は、(矢印231に示すように)セキュリティコマンドを受信し、(矢印232に示すように)セキュリティコマンドに従って、隠された部分に対するアクセス要求、すなわち、読出し要求又は書込み要求を実施する。オペレーティングシステム112は、隠された部分を見ることさえ出来ないので、アプリケーションプログラム113は、オペレーティングシステム112を利用して隠された部分へのアクセスを実施することは出来ない。
図6は、本発明の他の実施形態によるUSBメモリデバイス120のメモリ記憶領域122をアクセスする方法を概略的に示すフロー図である。図6の例において、USBメモリデバイス120は、コンピュータ100のコンピュータウイルスをスキャンするためのコンピュータセキュリティ装置としての働きをする。USBメモリデバイス120は、アンチウイルスプログラム252を含み、アンチウイルスプログラム252は、メモリ記憶領域122の永久的にライトプロテクトされた部分に記憶されたスキャンエンジン、及びパターンファイルを含む。この永久的なライトプロテクトは、権限を有しないプログラムがスキャンエンジンやパターンファイルに変更を加えることを防止する。アンチウイルスプログラム252は、パターンマッチングアルゴリズムを使用して、コンピュータウイルスを検出する場合がある。一実施形態において、スキャンエンジンは、疑わしいファイルの中身をパターンファイルに記憶されたコンピュータウイルス署名と比較する。アンチウイルスサポートサーバコンピュータ250は、USBメモリデバイス120のベンダーによって運用され、新たに発見されたコンピュータウイルスを検出するための更新されたパターンファイル、又は更新されたスキャンエンジンを含むアンチウイルス更新ファイル251を定期的に提供する(矢印261参照)。コンピュータ100は、例えばインターネットを介してアンチウイルス更新ファイル251を受信する場合がある。
アプリケーションプログラム113は、USBメモリデバイス120のコンピュータセキュリティコンポーネントの更新を行うように構成される場合がある。コンピュータ100において、アプリケーションプログラム113は、メインメモリ108において実行され、アンチウイルス更新ファイル251の中身を受信する。永久的にライトプロテクトされた部分230はライトプロテクトされた状態にあるため、オペレーティングシステム112の従来のAPIが、永久的にライトプロテクトされた部分230に書込み処理を実施することはない。従って、アプリケーションプログラム113は、セキュアUSBライブラリ114を使用し、例えばセキュリティコマンドを発行するセキュアUSBライブラリ114のAPIを使用して、パターンファイル、スキャンエンジン、又はそれら両方をアンチウイルス更新ファイル251からの更新されたバージョンを用いて更新するためのセキュリティコマンドを送信する(矢印263参照)。USBコントローラ121は、そのセキュリティコマンドを受信し、セキュリティコマンドを永久的にライトプロテクトされた部分230に書込み処理を実施するための正規のコマンドとして認識し、ライトプロテクトされた部分230をライトプロテクトされた状態に維持しながら、セキュリティコマンドに従って、パターンファイル、スキャンエンジン、又はそれら両方を更新する(矢印263参照)。理解されるように、それを行うために、オペレーティングシステム112のAPI又は他のプログラムを使用することなく永久的にライトプロテクトされた部分230へのアクセスを可能にすることにより、他のプログラムがアンチウイルスプログラム252を改ざんすることは有利に防止され、オペレーティングシステム112がアンチウイルスプログラム252と競合する自分のセキュリティポリシーに従ってUSBメモリ記憶装置120へのアクセスをロックしているときであっても、永久的にライトプロテクトされた部分230へのアクセスが有利に可能となる。
本発明の種々の具体的実施形態を提供したが、これらの実施形態は、例示のためのものであり、制限のためのものではない。本開示を読むことにより、当業者には、多数の他の実施形態が明らかになるであろう。

Claims (20)

  1. リムーバブル大容量記憶装置のメモリ記憶領域をアクセスする方法であって、
    前記リムーバブル固体大容量記憶装置の前記メモリ記憶領域のライトプロテクトされた部分に対する書込み処理を実施するためのアクセスコマンドを受信するステップであって、前記アクセスコマンドが、前記リムーバブル大容量記憶装置が着脱可能に接続される相手方のコンピュータのオペレーティングシステムにより提供されるプログラムからのものである、アクセスコマンドを受信するステップと、
    前記アクセスコマンドの前記書込み処理による前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込みを防止することによって、前記メモリ記憶領域の前記ライトプロテクトされた部分のライトプロテクトされた状態を強制するステップと、
    前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込み処理を実施するためのセキュリティコマンドを受信するステップであって、前記セキュリティコマンドが、前記オペレティングシステムにより提供される前記プログラムからのものではない、セキュリティコマンドを受信するステップと、
    前記セキュリティコマンドを前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込みのための正規のコマンドとして認識するステップと、
    前記セキュリティコマンドを前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込みのための正規のコマンドとして認識することに応答し、前記メモリ記憶領域の前記ライトプロテクトされた部分をライトプロテクトされた状態に維持しながら、前記セキュリティコマンドに従って、前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込みを実施するステップと
    からなる方法。
  2. 前記方法は、ユニバーサル・シリアル・バス(USB)コントローラにより実施され、前記リムーバブル大容量記憶装置は、USBメモリデバイスである、請求項1に記載の方法。
  3. 前記メモリ記憶領域の前記ライトプロテクトされた部分をライトプロテクトされた状態に維持しながら、前記メモリ記憶領域の前記ライトプロテクトされた部分に記憶されたセキュリティプログラムを更新するステップをさらに含む、請求項1に記載の方法。
  4. 前記セキュリティプログラムは、アンチウイルスプログラムを含み、前記セキュリティコマンドは、前記メモリ記憶領域の前記ライトプロテクトされた部分に記憶された前記セキュリティプログラムのパターンファイルを更新する、請求項3に記載の方法。
  5. 前記セキュリティコマンドは、前記アンチウイルスプログラムの動作をサポートするアプリケーションプログラムにとってのみ利用可能である、請求項4に記載の方法。
  6. 前記セキュリティコマンドは、前記オペレーティングシステムにとって利用可能でないセキュアライブラリのアプリケーション・プログラミング・インタフェース(API)を利用して発行される、請求項1に記載の方法。
  7. 前記オペレーティングプログラムにより提供される前記プログラムは、前記オペレーティングシステムのAPIを含む、請求項1に記載の方法。
  8. リムーバブル大容量記憶装置であって、
    コンピュータのUSBポートに着脱可能に接続されるユニバーサル・シリアル・バス(USB)コネクタと、
    記憶メモリ領域と、
    前記USBコネクタを介して前記コンピュータからコマンドを受信し、前記コマンドが、オペレーティングシステムにより提供されたプログラムからの、前記記憶メモリ領域をアクセスするためのものであった場合、前記コマンドが、前記記憶メモリ領域の安全な部分に対して書き込みを行うことを防止し、前記コマンドが、前記オペレーティングシステムとって利用可能でないセキュアライブラリのセキュリティコマンドであると認識することに応答し、前記コマンドが、前記記憶メモリ領域の前記安全な部分に対して書込みを行うことを許可する、USBコントローラと
    を含む、リムーバブル大容量記憶装置。
  9. 前記USBコントローラは、前記メモリ記憶領域がライトプロクテクとされた状態にあるときであっても、前記セキュリティコマンドが、前記メモリ記憶領域の前記安全な部分に対して書込みを行うことを許可する、請求項8に記載のリムーバブル大容量記憶装置。
  10. 前記メモリ記憶領域の前記安全な部分は、前記オペレーティングシステムにとって見ることが出来ない隠された部分である、請求項8に記載のリムーバブル大容量記憶装置。
  11. 前記セキュアライブラリは、前記メモリ記憶領域に記憶されたコンピュータセキュリティプログラムと協働するアプリケーションプログラムにとってのみ使用可能である、請求項8に記載のリムーバブル大容量記憶装置。
  12. 前記コンピュータセキュリティプログラムは、アンチウイルスプログラムを含む、請求項11に記載のリムーバブル大容量記憶装置。
  13. 前記メモリ記憶領域の前記安全な部分は、永久的にライトプロテクトされた状態にある永久的にライトプロテクトされた部分である、請求項8に記載のリムーバブル大容量記憶装置。
  14. リムーバブル大容量記憶装置のメモリ記憶領域をアクセスする方法であって、
    リムーバブル・ユニバーサル・シリアル・バス(USB)メモリデバイスのメモリ記憶領域のライトプロテクトされた部分に記憶されたコンピュータセキュリティプログラムのための更新を受信するステップと、
    前記メモリ記憶領域の前記ライトプロテクトされた部分に対して書込みを行うためのセキュリティコマンドを前記USBメモリデバイスのUSBコントローラへ送信することにより、前記メモリ記憶領域の前記ライトプロテクトされた部分をライトプロテクトされた状態に維持しながら、前記コンピュータセキュリティプログラムを更新するステップと、
    前記メモリ記憶領域の前記ライトプロテクトされた部分をライトプロテクトされた状態に維持しながら、前記更新に従って、前記メモリ記憶領域の前記ライトプロテクトされた部分における前記コンピュータセキュリティプログラムを更新するステップと
    を含む方法。
  15. 権限を有しないプログラムが前記コンピュータセキュリティプログラムを改ざんすることを防止するために、前記メモリ記憶領域の前記ライトプロテクトされた部分は、永久的にライトプロテクトされた状態である、請求項14に記載の方法。
  16. 前記コンピュータセキュリティプログラムは、前記メモリ記憶領域の前記ライトプロテクトされた部分に記憶されたアンチウイルスプログラムを含む、請求項14に記載の方法。
  17. 前記更新は、前記アンチウイルスプログラムのパターンファイルに対する更新を含む、請求項16に記載の方法。
  18. 前記更新は、前記アンチウイルスプログラムのスキャンエンジンに対する更新を含む、請求項16に記載の方法。
  19. 前記更新は、インターネットを介してサーバコンピュータから受信される、請求項14に記載の方法。
  20. 前記セキュリティコマンドを前記USBメモリデバイスの前記USBコントローラへ送信するステップは、前記セキュリティコマンドを発行するアプリケーション・プログラミング・インタフェース(API)を使用することを含む、請求項14に記載の方法。
JP2013040308A 2012-10-01 2013-03-01 安全なリムーバブル大容量記憶装置 Pending JP2014071887A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/632,309 2012-10-01
US13/632,309 US20140095822A1 (en) 2012-10-01 2012-10-01 Secure removable mass storage devices

Publications (1)

Publication Number Publication Date
JP2014071887A true JP2014071887A (ja) 2014-04-21

Family

ID=50386376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013040308A Pending JP2014071887A (ja) 2012-10-01 2013-03-01 安全なリムーバブル大容量記憶装置

Country Status (2)

Country Link
US (1) US20140095822A1 (ja)
JP (1) JP2014071887A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082036A (ja) * 2019-11-20 2021-05-27 株式会社バッファロー 情報処理装置、ウイルス駆除方法、および、コンピュータプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436830B2 (en) * 2012-10-17 2016-09-06 Sandisk Technologies Llc Securing access of removable media devices
US9424937B2 (en) * 2013-02-25 2016-08-23 U.S. Department Of Energy Method for programming a flash memory
US9443083B2 (en) * 2013-04-05 2016-09-13 Ologn Technologies Ag Systems, methods and apparatuses for protection of antivirus software
KR102188062B1 (ko) * 2014-02-28 2020-12-07 삼성전자 주식회사 데이터 저장 장치의 동작 방법과 상기 데이터 저장 장치를 포함하는 시스템의 동작 방법
US11086797B2 (en) * 2014-10-31 2021-08-10 Hewlett Packard Enterprise Development Lp Systems and methods for restricting write access to non-volatile memory
JP6737334B2 (ja) 2016-04-25 2020-08-05 横河電機株式会社 消去装置
CN110737483B (zh) * 2019-10-12 2023-02-24 重庆邮电大学 一种基于Windows USB MassStorage类的信令、数据传输方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398196A (en) * 1993-07-29 1995-03-14 Chambers; David A. Method and apparatus for detection of computer viruses
US7930531B2 (en) * 2000-01-06 2011-04-19 Super Talent Electronics, Inc. Multi-partition USB device that re-boots a PC to an alternate operating system for virus recovery
US6799197B1 (en) * 2000-08-29 2004-09-28 Networks Associates Technology, Inc. Secure method and system for using a public network or email to administer to software on a plurality of client computers
GB2366693B (en) * 2000-08-31 2002-08-14 F Secure Oyj Software virus protection
KR100392558B1 (ko) * 2001-05-14 2003-08-21 주식회사 성진씨앤씨 복수 개의 유에스비 카메라를 이용한 피씨 기반의 디지털영상 저장 장치 시스템
US7313705B2 (en) * 2002-01-22 2007-12-25 Texas Instrument Incorporated Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
US7478235B2 (en) * 2002-06-28 2009-01-13 Microsoft Corporation Methods and systems for protecting data in USB systems
KR100713128B1 (ko) * 2004-11-08 2007-05-02 주식회사 비젯 바이러스 방역 장치 및 시스템
US8159349B2 (en) * 2005-08-19 2012-04-17 Adasa Inc. Secure modular applicators to commission wireless sensors
US20070050765A1 (en) * 2005-08-30 2007-03-01 Geisinger Nile J Programming language abstractions for creating and controlling virtual computers, operating systems and networks
CN100580642C (zh) * 2006-02-28 2010-01-13 国际商业机器公司 通用串行总线存储设备及其访问控制方法
US20080189554A1 (en) * 2007-02-05 2008-08-07 Asad Ali Method and system for securing communication between a host computer and a secure portable device
US8429358B2 (en) * 2007-08-14 2013-04-23 Samsung Electronics Co., Ltd. Method and data storage device for processing commands
US8392539B1 (en) * 2008-03-19 2013-03-05 Trend Micro, Inc. Operating system banking and portability
CN101408846B (zh) * 2008-11-24 2011-04-13 华为终端有限公司 一种杀毒软件升级的方法及相应的终端和系统
US20100161878A1 (en) * 2008-12-18 2010-06-24 Gigaflash Limited Method of unlocking portable memory device
WO2010127679A1 (en) * 2009-05-04 2010-11-11 Nokia Siemens Networks Oy Mechanism for updating software
US8949565B2 (en) * 2009-12-27 2015-02-03 Intel Corporation Virtual and hidden service partition and dynamic enhanced third party data store
US8910288B2 (en) * 2010-02-05 2014-12-09 Leidos, Inc Network managed antivirus appliance

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082036A (ja) * 2019-11-20 2021-05-27 株式会社バッファロー 情報処理装置、ウイルス駆除方法、および、コンピュータプログラム
JP7315844B2 (ja) 2019-11-20 2023-07-27 株式会社バッファロー 情報処理装置、ウイルス駆除方法、および、コンピュータプログラム

Also Published As

Publication number Publication date
US20140095822A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
JP2014071887A (ja) 安全なリムーバブル大容量記憶装置
JP4690310B2 (ja) セキュリティシステム及びその方法
CN103262092B (zh) 基于存储驱动器的防恶意软件方法和装置
US8875266B2 (en) System and methods for enforcing software license compliance with virtual machines
KR101802800B1 (ko) 다중 운영 시스템 환경을 위한 미디어 보호 정책 시행
US8533845B2 (en) Method and apparatus for controlling operating system access to configuration settings
TWI554879B (zh) 提供安全邊界
US10706153B2 (en) Preventing malicious cryptographic erasure of storage devices
US9183390B2 (en) Systems and methods for providing anti-malware protection on storage devices
US8161258B2 (en) Method to qualify access to a block storage device via augmentation of the device'S controller and firmware flow
JP7146812B2 (ja) 独立した復元領域を有する補助記憶装置およびこれを適用した機器
US10210326B2 (en) USB stack isolation for enhanced security
JP2011086026A (ja) 情報記憶装置、情報記憶プログラム、そのプログラムを記録した記録媒体及び情報記憶方法
US20060085629A1 (en) Mapping a reset vector
US20050034125A1 (en) Multiple virtual devices
US20070233727A1 (en) Multiple Virtual Devices
US20220326863A1 (en) Data storage apparatus with variable computer file system
US20080059740A1 (en) Hardware for manually enabling and disabling read and write protection to parts of a storage disk or disks for users
GB2515736A (en) Controlling access to one or more datasets of an operating system in use
KR20070030931A (ko) 안티-바이러스 속도 향상을 위한 안전 저장 추적 방법
US20220374534A1 (en) File system protection apparatus and method in auxiliary storage device
KR101110293B1 (ko) 파일 저장 장치의 파티션 액세스 제어 방법 및 제어 장치, 그 기록매체
JP2022021473A (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム及びプログラム