social engineering
Twitter でコメントしたことを読み返していてふと思ったのだが、Twitter に限定せず、ネット上一般において、双方向メディアというもののうかつな使い方が個人情報を簡単に露見させてしまうのだ、という認識は、残念ながら一般化していないらしい。
これは何も現在のネットに限定した話ではない。たとえば、ある人物に関する情報を知りたいときに、その人物の職場や、住んでいる住宅の管理人などに電話して、運送屋などを装って情報を聞き出す……なんてのは、興信所などがよく使う手である。このようなやり方で情報にアクセスすることを、英語では social engineering と言う。
この社会工学……と書くと、最近は同じ名前の一学問分野が存在するのでクレームがきそうだから、世間の例にならって片仮名で「ソーシャル・エンジニアリング」と書くけれど、このソーシャル・エンジニアリングというのは、コミュニケーションにおけるいくつかのセキュリティ・ホールをつく手法だ。そして、この手法に用いられるセキュリティ・ホールの中で最も「活用」されているのは「認証の不備」だ。上に書いた例でも、相手は運送屋じゃない人間を運送屋だと思い込むわけだ。もっと分かりやすく書くと、上に書いた例の場合、広義の社会的コミュニケーションにおいて人が簡便に済ませてしまいがちな認証方法……相手と自分がそのトピックにおいて共有できるアイテムがあることの確認……で誤認証するのを利用して、認証下でなければアクセスできない筈の情報にアクセスするわけだ。
他にも、人の「社会的」セキュリティ・ホールというのはある。たとえば、人は不完全な認証でも、二重に用いれば、ある程度のセキュリティが得られると誤解しがちである。これは冷静に考えればおかしいことは明白で、泥水を漉すのに笊を二重にしたって無駄なのと一緒の理屈なのだけど、たとえば Twitter で、あるアカウントで書き込んでいる人がいて、その人がその人と自分の過去のイベントに関して書いていれば、あーあの人いまつぶやいてるんだ、と、ほとんどの Twitter ユーザは判断するだろう。Twitter は一意的なアクセスを要求しないメディアで、おまけにリアルタイムのコミュニケーションメディアではないから、たとえば国会議員の Twitter アカウントのパスワードをクラックして、委員会とかでつぶやけない時間帯を狙って怪情報を流したら、流せてしまうし、読んだ人はおそらく信じてしまうだろう。いくら Twitter でつぶやいた情報が後から削除できるといったって、ネット上ではあっという間に caching されてしまうから、後の祭りである。
だから、ネット上でコミュニケーションをしている人は、常に情報や情報発信者の一意性とか、情報化による保存の問題とか、あるいはそれらを確認するための時計情報の重要さには気を配らなければならない。インターネットを20年も使っていると、こんなことはもはや常識で、だから一パソコンであっても、nict.jp に NTP でシンクロさせとかないと厭だなあ、とかいうことになる。でも、世間の人はほとんどそういうことが分からないらしくて、Windows や Mac でも default で NTP に対応しているご時世だというのに、時計情報に関して気を配る人はまずいないといっていい現状だ。結局、term としては存在しているけれど、この social engineering という言葉は実感を以て知られてはいないわけだ。
この言葉を僕が初めて目にしたのは、Clifford Stollの"The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage"(『カッコウはコンピュータに卵を産む』上下巻、クリフォード・ストール 著、池 央耿 訳、草思社、1991年)を読んだときだったと記憶しているのだけど、この本はもはや古典になっているし、クリフも当年とって60歳(え〜?)なんだそうで、まあ最近の人は知らなかったとしても不思議ではない。しかしねえ……tuigeki氏(この方なんとジャーナリストなんだそうで)が今年の2月3日に僕と少しだけやりとりした記録をご覧いただければお分かり思うけれど、
メールや電話が危ないだなんていってる人は非常識な人で、そんな人の意見は相手にされないのが常識です。それでは意見の表明しようがありません。公的機関はネットなんてカウントしてません。こういう人は、おそらくこんな仕事をされていても social engineering という概念はご存知ないんだろうなあ。一般教養の範疇だと思うんだけど。こんなこと。