2008年08月15日

Windows用フリーウェア「WinAmulet」を公開します

register to: はてなブックマークに登録 | del.icio.usに登録 | この記事をクリップ!
■ はじめに

新バージョン 0.9.3.0 を公開しました! (2009/02/13)

私の PC には個人的なファイルをたくさん保存しているフォルダがあります。その中身は、住所録や思い出のスナップ、メールデータやちょっとした秘密のメモなどさまざまです。

ある時ふと思いました。これらのファイルを読み書きするときに使うプログラムはごく限られています。 普段自分がそれ以外のプログラムを使ってこれらにアクセスすることはありませんし、まして、たとえ Windows のシステムプログラムであっても、自分の意図とは無関係に動いているプログラムからこれらに勝手にアクセスされるのは決して気持ちの良いものではありません。

それならいっそのこと自分のフォルダへのアクセスを許すプログラムを限定してしまえばいいのではないかと思い立ち、 「あるフォルダへのアクセスが可能なプログラムを制限することのできるツール」を作ってみることにしました。それが「WinAmulet」です。まだ不具合もあるかも知れませんが、開発中の最新版をフリーソフトとして公開します。興味のある方はお試し下さい。

バージョン 0.9.3.0 (2009/02/13 公開)での更新内容

ダウンロードはこちらから

もくじ

■ バージョン履歴

WinAmulet の最新バージョンは「0.9.3.0」です。 ダウンロードはこちらから

□ バージョン 0.9.3.0  2009/02/13 公開

□ バージョン 0.9.2.0  2008/08/15 公開
  • 最初の公開バージョン


■ WinAmuletの特長

「WinAmulet」は Windows 2000 SP4 以上の 32ビット Windows 環境で動作するプログラムです。 次のような特長があります。

  • 所定のフォルダへのアクセスを許可するプログラムをユーザーが任意に指定可能
  • 許可していないプログラムからのアクセスを検出すると報告・記録される
  • 不許可のアクセス要求はプログラム側が意識しないまま透過的にダミーフォルダへリダイレクトされる

■ インストール(またはアップデート)とアンインストールの方法

管理者権限のあるアカウントで Windows へログオンして下さい。

  • 初めて WinAmulet をご利用になる方は、ダウンロードしたアーカイブの中身を PC 上の適当なフォルダへ展開して下さい。
  • 旧バージョンの WinAmulet をご利用中の方は、以前のバージョンの WinAmulet を置いたフォルダにダウンロードしたアーカイブの中身を上書きして下さい。
  • WinAmulet が不要になった場合にはファイル一式を削除して下さい。

WinAmulet.exe (バージョン 0.9.3.0) の md5sum は
「3AC0BBC29F6A109AC952623AEDEF5873」です。
下記のようなツールを使うとハッシュ値を簡単に確認することができます。
窓の杜 - HashTab Shell Extension

■ 初回起動時のご注意

展開したアーカイブに含まれる「WinAmulet.exe」を実行して下さい。 WinAmulet バージョン 0.9.3.0 の初めての起動時には、次のダイアログが表示されます。

※ここに表示される日付が実際の日付と異なっている場合、WinAmulet が正常に動作せずトラブルの原因となることがありますので十分にご注意下さい

日付が正しければ「はい」を押下して下さい。本プログラムの使用期限がダイアログに表示されますので、確認後に「OK」を押して下さい。WinAmulet が起動します。


■ 設定方法

WinAmulet が起動すると、タスクトレイに「外れた錠前+フォルダのアイコン」が常駐します。これが WinAmulet のアイコンです。仔犬のアイコンは先日このブログでご紹介した「Whine」です。WinAmulet は Whine と連携してユーザにメッセージを伝えます。

タスクトレイ上の Amulet のアイコンを右クリックするとポップアップメニューが開きます。 初めて使用する時はまず「設定」を選択して下さい。

サンプルとして「マイドキュメント」フォルダを保護するための設定が登録されています。

このデフォルトの保護設定を追ってみることで設定方法をご説明します。 「マイドキュメント保護設定」の行をクリックして右側の「編集」ボタンを押下して下さい。次のパネルが開きます。

保護対象とするフォルダのパスをここで指定します。このように一件の保護設定には一件のフォルダパスが対応します。 「次へ」を押下します。

このパネルでは当該フォルダへのアクセスを許可するプログラムを登録します。ここでは「マイドキュメント」フォルダ以下へのアクセスを許可するプログラムとして Windows エクスプローラのみが登録されています。

一覧にない新しいプログラムを登録するには「新規」ボタンを、登録ずみのプログラムの設定を変更するには一覧上の項目を選択して「編集」ボタンを押して下さい。下のサブパネルが開きます。ここで所定のプログラムからのアクセスを許可するか否かを設定します。WinAmulet は許可されたプログラム以外はすべて非許可として扱いますが、アクセスを許可しないプログラムを明示的に指定することもできます。

「OK」または「キャンセル」ボタンを押すとプログラム一覧のパネルに戻ります。次へ進みましょう

最後にこの設定の名前をつけます。「完了」を押下すれば一件の設定の編集・登録は終了です。 新しい保護設定を作成する場合も同様の手順です。

下記のパネルへ戻ったら「マイドキュメント保護設定」のボックスがチェックされていることを確認して「OK」ボタンを押して下さい。 (各設定の有効/無効はこのチェックのオン/オフで切り替えることができます)


■ フォルダ保護の開始

タスクトレイ上の Amulet のアイコンを右クリックし、ポップアップメニュー先頭の「フォルダ保護を有効にする」を選択して下さい。

ユーザ確認を経てフォルダ保護が有効になり、目印としてトレイアイコンが施錠された絵柄に変わります。


■ フォルダ保護をテストしてみる

上記の手順によって、マイドキュメントフォルダへアクセスできるプログラムは現在 Windows エクスプローラに 限定されています。 それを確認してみましょう。まず Windows エクスプローラから「マイドキュメント」を覗いてみます。

いつもどおりの内容が表示されており変わったところはありません。 次にメモ帳を使って試してみます。notepad.exe を起動し、ファイルメニューから「開く」を選択して ファイルダイアログから「マイドキュメント」へアクセスしてみましょう。 すると、次のように中身が空っぽの状態で表示されます。

これは、WinAmulet によるフォルダ保護に対して notepad.exe がアクセス違反を起こしたためです。

■ 保護設定違反発生時の通知

上記のように、WinAmulet が所定のプログラムからの保護設定違反のアクセスを検出すると、デスクトップに次のようなメッセージバルーンがあらわれ、WinAmulet のタスクトレイアイコンが点滅します。

バルーンに表示されているのは Whine からのメッセージです。notepad.exe にはマイドキュメントフォルダへのアクセスが許可されていないため WinAmulet が非許可のアクセスを検知してそれをユーザに伝えたというわけです。

このバルーン、または点滅中のタスクトレイアイコンをクリックすると次のウィンドウが開きます。

ご覧の通り、今回のアクセスで「notepad.exe」が引き起こした許可されないアクセスが記録されています。 所定の行をダブルクリックすると次のパネルが開きます。

ここで notepad.exe のマイドキュメントフォルダに対するアクセス許可を設定することができます。 「アクセスを許可する」をチェックして「OK」を押下すれば notepad.exe が許可プログラムとして登録されます。

あらためてメモ帳のファイルメニューから「開く」を選んでマイドキュメントフォルダを参照してみます。 すると、今度は下図のようにフォルダの中身を正しく表示することができました。

いかがでしょう。これが WinAmulet の機能です。


■ 内部で行われていること

さて、この例ではメモ帳は当初マイドキュメントへのアクセスを許可されていなかったため中身を参照できずにいたわけですが、 その一方でメモ帳自身は同フォルダへのアクセスを拒否されたとは認識しておらず エラーメッセージを表示することもありませんでした。これはなぜでしょう?

それは、WinAmulet がメモ帳からのアクセス要求をダミーのパスへリダイレクトしたためです。 あるプロセスがユーザの許可しないアクセス要求を発行すると、WinAmulet はそのリクエストを 「転送先フォルダ」へ透過的にリダイレクトします。転送先フォルダのデフォルトは、システムドライブ直下の 「dum」というフォルダです。つまり、システムドライブが C:ドライブであれば「C:\dum」が転送先フォルダとなります。
ちなみに、フォルダ保護が有効な状態ではこの転送先フォルダへ直接アクセスすることはできません。一旦 WinAmulet による 保護を中断してエクスプローラで「C:\dum」フォルダ以下を覗いてみます。

このように、転送先フォルダ配下には、許可されないプロセスが要求したフォルダパスの階層構造のコピーが構成されています。 非許可のアクセス要求はこの場所へ自動的に飛ばされますが、プロセス側はそれに気づかずあくまでも本物のパスと認識します。 そのため、実際の読み込み・書き込みはこの場所に対して行われることになります。
なお、この転送先フォルダは必要なときに WinAmulet が自動的に作成しますので削除しても大丈夫です。


■ 「転送先フォルダ」の変更方法

転送先フォルダを変更したい場合は、設定画面上の「アクセス要求の転送先フォルダ」−「変更」ボタンを押下して下さい。下記のパネルが開きますので、指示に従って設定を行って下さい。


■ プログラム登録のコツ

以上で WinAmulet の使い方としくみを理解されたことと思います。
あるフォルダへのアクセスを許可するプログラムを効率よく登録するには、まずデフォルトで許可されている エクスプローラからそのフォルダのファイル一覧を表示し、各ファイルを「開く」ことでファイルへ関連付けられた プログラムを起動してみることをおすすめします。
たとえば、マイクロソフトエクセルが未許可の状態でこのフォルダ上の .xls ファイルを開こうとすれば許可違反として 通知されますので、上のメモ帳での要領と同様にこれをマウス操作で許可対象に加えてやればいいわけです。 この手順を何度か繰り返せば必要なプログラムの登録を簡単に行うことができます。


■ その他のプログラムにもご注意!

ユーザの指定したプログラムからの要求だけを所定のフォルダ以下へ通すのが WinAmulet ですが、Windows 上で動作している 多くのプログラムの中には、自分が直接起動したものでなくてもユーザの利益のためにフォルダへアクセスしようと するものもあります。こういったプログラムを許可リストへ登録することを忘れないで下さい。

しばらく WinAmulet を立ち上げていると馴染みのない名前のプログラムがあなたのフォルダへアクセスしてくることがあります。 たとえば、下のログウィンドウには「Rtvscan.exe」というプログラムからのアクセスが記録されています。

「Rtvscan.exeってなんだろう?」

こういった場合には、図のように項目の上でマウスの右クリックメニューからこのプログラムのプロパティ情報を参照したり、 Web で関連情報を調べてみるといいでしょう。

上のスナップショットの範囲のテキストには表示されていませんが、「Rtvscan.exe」は、シマンテック社のアンチウィルスソフトウェアに含まれるモジュールであることがわかりました。こういったプログラムにはフォルダへのアクセスを許可しておくほうが良いでしょう。また、最近は多くの実行モジュールのチェックサムが Web に掲載されていますので、併せて MD5SUM での検索を試みることをおすすめします。


■ 動作環境

WinAmulet の動作は以下のテスト環境においてのみ確認を行っています。

  • Windows 2000 Professional SP4
  • Windows XP Home SP3
  • Windows XP Professional SP3 32bit
  • Windows Vista Home Premium SP1 32bit
  • Windows Vista Business SP1 32bit
  • Windows Vista Ultimate SP1 32bit
  • Windows 7 Beta 32bit
※ 64ビット版 Windows では動作しません。
※ Windows 95/98/Me および Windows NT では動作しません。


■ 注意事項


  • このプログラムは初回起動時からおよそ半年間ご使用頂けます。使用期限はタスクトレイアイコン右クリックメニューの 「このプログラムについて」からご確認いただけます。
  • 最新の情報は随時ここに掲載しますので、このページをブックマークされることをおすすめします。
  • 名前に UNICODE 固有文字および JIS2004 固有文字を含むフォルダを保護対象として設定することはできません。
  • アプリケーションの中には Windows の通常操作で扱える最大パス長である 260 バイトを超えるパス名に 対応しているものがありますが、フォルダ保護を有効にした状態では 260 バイト超のパスへの アクセスは制限されます。


■ ダウンロード (バージョン 0.9.3.0 開発版)

ダウンロードの前に下記の使用許諾契約書を必ず最後までお読み下さい。
ダウンロードを開始された場合には本使用許諾契約書に同意されたものとさせて頂きます。





(tanabe)
klab_gijutsu2 at 09:29 │Comments(21)TrackBack(0)win 
register to: はてなブックマークに登録 | del.icio.usに登録 | この記事をクリップ!

トラックバックURL

この記事へのコメント

1. Posted by 試用中    2008年10月03日 12:53
dumフォルダをシステムドライブ以外に置けるようになりませんか?
出来ればRAMドライブにdumを置きたいのですが。
2. Posted by tanabe    2008年10月03日 12:58
「試用中」さん、コメントをありがとうございます。
現在のバージョンでは <システムドライブ>\dum 固定なのですが、ご要望が多ければ今後検討させて頂きたいと考えています。よろしくご了承下さい。
3. Posted by USER    2008年10月11日 02:01
こんにちわ。WinAmuletを使わせていただいております。ひとつ要望があるのですが、USBメモリを保護するような機能を搭載していただけると嬉しいです。
例えば、第三者のパソコンなどにUSBを差し込み、USBの中のWinAmuletを起動すれば、自動的にUSBのドライブパスを認識して、USBメモリ自体を保護するような使い方です。またiniファイルを実行ファイルと同じフォルダに置き、事前にアクセス可否設定を編集出来るようになると助かります。ようはPortableWinAmuletみたいなものなんですが、ひとつご検討のほどよろしくお願いします。
4. Posted by tanabe    2008年10月21日 10:14
USERさん、コメントをありがとうございます。反応が遅くなってしまい申し訳ありません。m(__)m
USBメモリ専用というのは面白いアイディアですね。ちょっと考えさせて下さい。またあらためてここで・・・
5. Posted by tanabe    2008年11月04日 23:03
USERさん、お待たせしました。

>ようはPortableWinAmuletみたいなものなんですが、

少々遅くなりましたが、この話題に対応したテスト版を作ってみました。
下記の URL からダウンロードできますのでよろしければお試し下さい。
詳細は同梱の *.txt をご参照願います。
http://dsas.blog.klab.org/test/WinAmuletP_test.zip

※ここに含まれる WinAmuletP.exe (ver 0.9.2) の正しい md5sum は「A65A40D98B47847C67F5B599A0F06BEE」です。

おってご感想などコメントして頂ければ幸いです。
6. Posted by USER    2008年11月06日 05:29
5 僅か1ヶ月ほどで要望を実現していただき、本当にありがとうございます。
早速使わせてもらってます。見知らぬUSBメモリから自分のPCを守る的なソフトはわりと見受けましたが、逆にセキュリティ意識の低い公共PCから自分のUSBを保護するようなソフトは少ないと思います。
希望通りの運用ができて大変重宝してます。ほんとうにありがとうございました。また何か気づいたことがありましたら、こちらにコメントさせていただきます。
7. Posted by tanabe    2008年11月06日 09:20
USERさん、早々にテスト版をご活用頂き大変嬉しく思っております。
お気づきの点がありましたらぜひまたお聞かせ下さい。
この度は興味ぶかいアイディアをありがとうございました。
今後とも WinAmulet をよろしくお願い致します。
8. Posted by tanabe    2009年02月13日 16:33
本日、新しいバージョン 0.9.3.0 を公開しました。
「試用中」さん、今回の版では転送先フォルダを変更可能としています。この記事をご覧になりましたらぜひお試し下さい。
9. Posted by 7743    2009年02月28日 12:34
アクセスを許可するプログラムが変更されていないかを確認するため、チェックサムを導入したほうが・・・
10. Posted by tanabe    2009年02月28日 15:01
コメントをありがとうございます。
(小声で)実は現在製品版を準備中なのですが、そちらでは実装している機能のひとつです。
11. Posted by 不明    2009年03月23日 18:56
5 フォルダだけでなくファイルだけをアクセス許可できるようにしたり、フォルダの中にあるEXEやZIPなどの拡張子のファイルだけをアクセス許可できる機能があると良いかもしれませんね。

製品版期待してます^^
12. Posted by tanabe    2009年03月23日 19:19
「不明」さん、コメントをありがとうございます。うーん、またも鋭いご指摘ですね。開発中の製品版ではまさにファイル拡張子を基準とする保護にも対応しています。もうしばらくお待ち下さい。
13. Posted by 山崎    2009年04月16日 05:37
最近このツールを知り、非常に便利そうだと思いちょっと試してみました。
マイドキュメントを保護させてみたのですが、
ATOKのバックアップツールや、吉里吉里というソフトを使用している、マイドキュメントに勝手にセーブデータを作る一部のゲームで、
ファイル、フォルダにアクセスできないというエラーが出てしまいます。
バックアップツールは許可するので割とどうでもいいのですが、
セーブデータはダミーのフォルダに代わりにファイルを作るという機能をちょっと利用したいと思っているのでちょっと困ります。
現在製品版を準備しているとのことですが、
こういった現象に対応する予定はあるでしょうか?
それと、出来れば設定はインストールしたフォルダに保存するように設定できると嬉しいのですが。
14. Posted by tanabe    2009年04月16日 12:57
「山崎」さん、コメントをありがとうございます。
ダミーフォルダへのリダイレクト機能はあくまでも意図しないプログラムからの意図しないアクセスを可能な限り軟着陸させるためのことのみを目的とする機構ですので、所作の判明している既知のプログラムは許可設定されることをおすすめします。
> それと、出来れば設定はインストールしたフォルダに保存するように設定できると嬉しいのですが。
現時点では未定ですが、ご要望が多ければ検討したいと思います。
15. Posted by 山崎    2009年04月18日 00:00
>所作の判明している既知のプログラムは許可設定されることをおすすめします。
全くその通りなのですが、
たまにあるよく分からない困った位置にファイルを作成するようなものにも対策として使えないかなと思いまして。
>現時点では未定ですが、ご要望が多ければ検討したいと思います。
昨日OSをインストールし直したとき早速バックアップを忘れて設定し直しになってしまいました。
どうかよろしくお願いします。
16. Posted by 山崎    2009年04月18日 18:16
たびたびすいません。
Application Dataフォルダの中にある、Thunderbirdフォルダを保護しようと思ったのですが、
どうもフォルダを指定しても保護されないようです。
色々試してみたら、Application Dataフォルダを指定するとOSの正常動作に影響を及ぼすために指定できませんとエラーが出ますが、
ひょっとしてApplication Data以下のフォルダは保護できない仕様なのでしょうか?
17. Posted by tanabe    2009年04月20日 11:19
> ひょっとしてApplication Data以下のフォルダは保護できない仕様なのでしょうか?
これはバグです。%APPDATA%全体は×、その配下の個別のフォルダの保護は○、というのが仕様です。次バージョンで修正したいと思います。
>昨日OSをインストールし直したとき早速バックアップを忘れて設定し直しになってしまいました。
なるほど、対応を検討してみます。
ところで「一部のゲーム」とはどういうタイトルのものでしょう?差し支えなければ参考にお聞かせ下さい。
18. Posted by tanabe    2009年04月21日 06:15
(上記タイトルの件について、情報をありがとうございました)
19. Posted by tanabe    2009年04月22日 13:44
山崎さん、
>ファイル、フォルダにアクセスできないというエラーが出てしまいます
この話題に興味を感じ、ご連絡にあったゲームの挙動を題材に実験的な版を用意してみました。あくまでも実験版ですので結果に関わらず今後のバージョンにここでの内容を反映するか否かは全く未定ですが、よろしければ一度様子をご覧下さい。
http://dsas.blog.klab.org/test/WinAmulet_0930+1_test.zip
※このアーカイブに含まれるWinAmulet.exe の正しい md5sum は「A11560E7EA78026226A02FCA4B4BD3DC」です。実行前に必ずご確認下さい。
※このアーカイブに含まれる WinAmulet.exe は正式版ではありません。同梱のテキストをご確認の上、取り扱いにご注意下さい。
20. Posted by 山崎    2009年04月25日 02:03
わざわざありがとうございます。
ゲームや、ついでにATOKのバックアップツールでもエラーになるようなことはなくなりました。
しばらく使ってみましたが、特に重くなったり不安定になったりと言ったこともないと思います。
21. Posted by tanabe    2009年04月25日 07:14
さっそく様子をご覧いただきありがとうございました。うまく動いたようで安心しました。

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在3ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。

また、わたしたちが開発したソフトウエアやノウハウ、実験的なサービスを公開している、

もあわせてご覧いただければと思います。(DSASブログのエントリをシリーズ別に整理した「DSASブログまとめ」もあります)
KLabについて
KLab株式会社は、携帯電話の基盤技術から各種ソリューション、コンテンツ企画など多くのサービスを提供している会社です。
Blog内検索
QRコード
QRコード
最新トラックバック