Wiredのサイトでこんなニュースがあった。コンピュータネタ、目次へ
盗まれたiMacをネット経由で探し、取り戻したという話である。
盗まれたiMacには遠隔操作を可能とするソフトがインストールされていたため、これが可能となったらしい。
そのとき「まず」行われたのは、プライバシーに関するファイルを削除することであったそうな。ふむふむ、なるほどなあ。そこで考えた。盗難にあった場合、プライバシーに関するファイルを削除するプログラムを作ると喜ぶ人もいるんじゃなかろうか。
起動したとき、パスワードを入れないと登録したファイルを全部削除するような奴を作れば、他人に盗まれても少なくとも情報漏洩はない。そんなわけでプログラム仕様を考えた。まず盗んだ人が、パスワード入力を求めるウィンドウをAlt+F4やCtrl+Alt+Deleteで逃げようとしてもキー入力を受け付けないようにすることはできる。(プログラムの自動実行中にユーザーが意図しない操作をしないよう一切の入力を受け付けなくするプログラムを作ったことはある。)
パスワード入力がなされなかったときに削除するファイルの一覧をどうやって指定しようか???iniファイルに登録するとか、あるいはGUIで設定させるとか、考えたが「その設定で正しいかテストなんぞ普通のユーザーはまずやらない。設定ミスを防げない」ので、うーんデスクトップにショートカットが登録されているものは本体も消す、でどうかねえ。
なかなかうまくいきそうだ。さてこれで次のフリーソフト開発秘話のネタは、、、と考えついたところで悩んだ。そういうソフトがあると知っている人間なら簡単にガードが破れるぞ。FDやLiveLinuxで起動すれば、ディスクの中身は分かる。逆にそういうプログラムでガードしていることが分かってしまえば、見せたくないファイルがどこにいるかもばれてしまうので、それだけを蒐集することもできる。
オープンソースにすればパスワード破りも簡単だ。例え一方向関数を使ってパスワードを格納していたとしても、パスワード格納テーブルがどこにあるかソースを見れば分かってしまうので、悪意ある人は該当行のパスワード格納フィールドを「ブランク」にしてしまえば、パスワードも自動的にブランクになる(普通は)。駄目だー、そんなプログラム作れたとしても殆ど役に立たない。
恥ずかしながら、セキュリティを高めるプログラムというのがいかに書きづらいか初めて実感した。そのようなプログラムがあり、ソースも公開されていればたいていの場合、セキュリティをすり抜けるのは対して困難なことではない。(だからセキュリティソフトはオープンソースでなければ信用しがたい。)
かくして作るのは見送った。しかし、冒頭のWiredの記事、リモートでパソコンを動かすツール、便利だけど怖いね。リモートでサポートできるようにとインストールしてあげて、時々そのパソコンの中を盗み見るというのもできそうだね。
個人情報をほしがっている会社が、例えばOSにその機能を「便利だよ」とバンドルしてしまって、ネットにつながっている時を見計らってこっそりと情報を蒐集していたりして。
ところで、似たような機能がWindowsXPに標準搭載されていませんでしたっけ。