トップページに戻る

Category

AllArchives

Checker

Credit

パスワード盗難防止ガイド(3)

パスワード盗難防止ガイド(1)
パスワード盗難防止ガイド(2)
前回書いたように、FFFTPの設定ファイル内に記録されているパスワード情報は「平文のパスワード」ではなく、「パスワードを暗号化して得られた文字列」です。
パスワードは平文ではない(「abcde」と設定したのに「AFcBFCFBaIYZL」となっている)
つまり、ffftp.iniを覗いても「平文のパスワード」が書いてある訳ではない。
パスワードの「abcde」を「AFcBFCFBaIYZL」にしたのはFFFTPプログラムです。パスワードが平文だとセキュリティに問題があるので暗号化している訳ですね。
FFFTPがFTPサーバーにログインしようとする時、サーバーに対して送信されるパスワードは平文です(「AFcBFCFBaIYZL」ではなく「abcde」です)。つまりFFFTPというプログラムは

  1. ユーザーによって「abcde」というパスワードが登録される
  2. FFFTPは「abcde」に暗号化を施し得られた「AFcBFCFBaIYZL」を設定ファイルに記録する
  3. 次回起動時、FFFTPは設定ファイルから「AFcBFCFBaIYZL」を読み込む
  4. FFFTPは「AFcBFCFBaIYZL」を解読し得られた「abcde」をFTPサーバーに送信する
というような挙動を行っている。
「abcde」に暗号化を施し得られた「AFcBFCFBaIYZL」
それが一定の規則に基づいた「暗号化」である以上、その規則さえ分かれば
  • 「abcde」に暗号化を施し「AFcBFCFBaIYZL」を得る
  • 「AFcBFCFBaIYZL」を解読し「abcde」を得る
ことは理論上可能です。しかし
パスワードを平文以外で記録するアプリ
→設定ファイル(orレジストリ)を見られても正しいパスワードは分からない
設定ファイル(orレジストリ)を覗いて「暗号化された文字列(AFcBFCFBaIYZL)」を「平文のパスワード(abcde)」に脳内で解読できる人間というのはあまりいないでしょう。FFFTPがどのような「規則」でパスワードを暗号化しているのか。それを根気強く解析していけばいつか分かるかもしれませんが。
参考:パスワードクラック概論(2)
「暗号化されたパスワードを解読し生のパスワードを得る」というのを攻撃側からの視点で書いています。
パスワードを平文以外で記録するアプリ
→設定ファイル(orレジストリ)を見られても正しいパスワードは分からない
正確に言えば

パスワードを平文以外で記録するアプリ
→設定ファイル(orレジストリ)を見られても「暗号化されたパスワード」しか見えず、それを解読されない限り「平文のパスワード」は漏れない
→現実的には、設定ファイル(orレジストリ)を見られても正しいパスワードは分からない

なるほど。「平文のパスワードを得る」ということが「パスワード盗難」ならば、そうかもしれません。
ユーザーによって「abcde」というパスワードが登録される
FFFTPは「abcde」に暗号化を施し得られた「AFcBFCFBaIYZL」を設定ファイルに記録する
次回起動時、FFFTPは設定ファイルから「AFcBFCFBaIYZL」を読み込む
FFFTPは「AFcBFCFBaIYZL」を解読し得られた「abcde」をFTPサーバーに送信する
ユーザーが自分の脳内で「解読」を出来ないにしても、FFFTPというプログラムは「解読」を行っている。
FFFTPは「AFcBFCFBaIYZL」を解読し得られた「abcde」をFTPサーバーに送信する
そうでなければFFFTPは「abcde」をFTPサーバーに送信することが出来ないのだから(※)。

この連載の後半で書きますが、この記述にはそれなりの意味があります。ので頭の片隅にでも。
つまり。他人のFFFTP設定ファイルを抜いたクラッカーが取るべき行程は以下。
  1. 抜いた他人のFFFTP設定ファイルを自分のHDD内のFFFTPフォルダに移動させる
  2. FFFTPを起動する
  3. FFFTPは設定ファイルから「AFcBFCFBaIYZL」を読み込む
  4. FFFTPは「AFcBFCFBaIYZL」を解読し得られた「abcde」をFTPサーバーに送信する
これで、「AFcBFCFBaIYZL」を自分で解読することなく「abcde」をFTPサーバーに送信する・・・つまり「他人のFTPアカウントでログインする」・・・ことが可能になる。

たしかにFFFTPは設定ファイル書き込み時にパスワードに対する暗号化を行っています。しかし、それには実のところ、誰でもが入手できるアプリならばあまり意味がない。解読をFFFTPに任せる以上、FFFTPを持っていない「クラッカー」にとっては「解読」は難しいですが、FFFTPは手に入れようと思えばすぐに手に入るソフトです(そして、大抵のソフトはそうです)。暗号化を行っているにも関わらず「設定ファイルを盗まれる」は「アカウントを破られる」と同値である。

上記のような性質は、「新しいマシンを買った時の環境再構築の手間」という観点ではプラスとなります。
  1. 旧PC内のFFFTPの設定ファイルをFDDか何かにコピーする
  2. 新PCにFFFTPをインストールする
  3. 新PC内のFFFTPフォルダに(1でバックアップした)FFFTP設定ファイルをコピーする
これでFFFTPの設定を新PCに移行することが出来るからです。しかし、「パスワード盗難に関する耐性」という観点・・・例えば「パスワード盗難防止ガイド(2)で書いたような無差別攻撃に関する耐性」「トロイを仕掛けられた場合の耐性」という観点・・・では、弱い。
参考: 自宅サーバーを構築しよう内「トロイの木馬の種類と仕組み
「トロイ」について

今回の結論:
「パスワードを暗号化してHDD(orレジストリ)に記録するアプリ」も、その「暗号化処理によって得られた文字列」を抜かれただけでパスワードを盗ませてしまう。実のところ「アプリがパスワードを暗号化して保存するか否か」というのは「パスワード盗難を防ぐ」という話においてあまり意味を持っていない。
パスワード盗難防止ガイド(4)
パスワード盗難防止ガイド(5)
パスワード盗難防止ガイド(6)
パスワード盗難防止ガイド(7)

SeeAlso

SameSubCategory

Footprint

Navigation

TrackBack

この記事へのトラックバック

Zoloft.
Zoloft.
Zoloft and lexapro. 2008/09/01

Comment

PostForm

情報を登録  
コメントは本文以外省略可能で、当方の承認後掲載されます