パスワード解析との戦い~多重化で解析困難にする

 当館で配布している情報管理ツールInfoStudioのパスワードが解析されてしまった。最初はユーザーの誰かがパスワードを故意に拡散したと思ったが、調べてみるとパスワードを解析して互換パスワードを作られていた。パスワードを強化してもすぐに解析されてしまう。

 どうやったらパスワードの解析を防ぐことが出来るのか。今回はその対策を検討して一つの答えを見つけたので、ご紹介する。

 

パスワードが解析されると何が起こるか

 パスワードが解析されてそれが拡散すると、サイトのアクセス数が不自然に跳ね上がる。これで解析されたことを知ることができた。

 ネット上にはソフトの解析を請け負い、結果を公開している掲示板がある。ここに自分のソフトのパスワードが公開されていた。こういう情報はソフト作者には知る由もないが、こっそり教えてくれた人がいた。

※裏で流れているパスワードのことを通称「しり」「尻」「裏尻」「シリアル」などと呼ぶ。シリアル掲示板の入口は隠されていて、入り方にコツがある。

 

パスワードの強化は無駄に終わる

 パスワードが解析されたら対策を考えなくてはならない。私は、解析されるたびにパスワードを長くしたり、ライセンス認証の仕組みを複雑化させるなど対策したが、すべてあっさり突破されてしまった。

 どうやら、パスワードや認証の仕組みを作る作業に比べ、解析する方がずっと簡単のようだ。絶対に解析されないパスワードを作るのは、かなり困難といえる。

 

多重防壁にする

 私は、解析されないパスワードを作ることは諦めて、解析に時間と手間がかかる仕組みに切り替えた。

 多くのソフトは、最初の認証を突破されると終わり。つまり最初に突破しにくい防壁が1枚だけあり、それさえ突破すればすべての制限が解除される仕組みになっている。

 そこで、多重防壁を思いついた。これは、最初の防壁を突破しても、しばらくすると次々に新しい防壁が現れる仕組みである。

 

多重防壁の例

 例えば、1kBのランダムなバイナリーコードを作ってそれをパスワードファイルにする。そして、そのコードの異なる一部分だけを参照して整合を調べる防壁を多数用意しておく。

 次に、防壁が出現するトリガーを決める。使用時間(数カ月~1年)、起動回数、特定の機能を特定の手順で踏んだときなど、いろいろ仕組んでおく。

 つまり、最初の防壁が解析されても、それはバイナリーコード全体の一部に整合する互換コードを作ったに過ぎない。解析する人は、最初の防壁突破を目標にしていて、突破出来たら満足し、それ以上何もしない場合が多いから、ひとまずガード成功になる。

 正規のバイナリーコード(パスワードファイル)を使わない限り、このように新しい防壁が次々に現れる。

 

見防壁の存在を見えないようにする

 ほとんどのソフトでは、防壁が突破できたかどうか(ライセンスが正常に認証されたか否か)が、見える形になっている。

 ライセンスが認証されていないと、親切に「正規ライセンスでない」旨メッセージを出したり、「試用中」などと表示する。つまり、ライセンス認証されていないことを知らせてしまっている。

 そこで、何もメッセージを出さすにソフトの一部機能を制限する。すると防壁の存在が見えにくくなり、気づかれない。いつそれが出現したのか、どういう条件で出現したのかもわからない。

 解析する側から見ると、このような防壁は発見が難しく、ソフトのバグと見分けがつきにくい。

 

多重防壁の効果

 不正に作られた互換コードをしばらく使い続けると、次の防壁が出現する。ユーザーはそこではじめて「あれ?変だな」と気づく。それを解析して突破しても、またしばらくすると次の防壁が出現する。

 解析する側からすると「防壁が突破されたフリ」をされるのはきわめて厄介だ。多くの解析者は最初の防壁を突破した時点で満足しそれ以上の解析をやらないことが多い。

 

ユーザーの利便第一

 防壁出現による機能制限の内容は、気づきにくい障害が増えたり、やや調子が悪いと感じさせるたぐいもので、いきなり使えなくするものであってはならない。あくまでユーザーの利便を損なわないようにすることが重要だ。

 これによって、不正使用を続けているユーザーに「やっぱり送金が要るのかな」と思わせることでき、購買行動が期待できる。

 この場合、作者にとっては、試用期間が延びただけと考えることができて解析されても気にならない。

 

多重防壁の解析は、おそらくされない

 解析する側からすると、このような多重防壁はとても厄介なはずだ。

 発見も出現条件も不明な防壁がどのくらい仕組まれているのか、見当もつかないのでは「素直に料金を払って使った方が良い」と思うのではないだろうか。

 もし中途半端に解析された結果が公開されれば、利用者が増えるきっかけになる。むしろこれは、私にとってうれしいことだ。

 

最後に

 パスワード解析の対策は、解析を不可能にすることではなくて、解析のメリットがそれをする労力に見合わなくすれば成功だと考える。

 

<関連商品>
InfoStudio 「超」整理法で紹介されている「押し出しファイリング」をパソコンで実践できるようにしたソフトです
ソフトウェアのセキュリティ対策 セキュリティ対策も同じ考えが適用できるとよいのですが