FFFTPパスワード漏れ対処版作ってみた
2010.01.31 Sunday 03:00
えーっと,すいません.さくらのレンタルサーバでアクセスログONにしていたことを忘れてディスクが容量不足になって肝心の記事が消えました.(最後にコメント入れてくれた人,消えちゃいました.ごめんなさい)
FFFTPの対策パッチです.
その前に,FFFTPを入れているだけで危ないと誤解している人がいるようなので
ライフハッカーのFFFTPに関する誤報
あと,何となく怖いからやっぱり乗り換えようと思っている人は,こちらも
10 FTP Clients Malware Steals Credentials From
調べた限りではWinSCPがマスターパスワード+AES暗号化を採用していて,安全性が高そうです.
ダウンロード → Sota さんの FFFTPのページへ
ここで公開していた最終版 (+009)の使い勝手はそのままに,暗号化アルゴリズムにAESを使用したMocaさん作のバージョンをベースにした Version 1.97が公開されています.
本ページで公開していた +001から+009のいずれのバージョンからもver 1.97へ設定を保持したまま移行することができます.Ver 1.97よりこのページのバージョンに戻した場合には保存されているFTPパスワードを読み出すことができず,FTPパスワードがクリアされますので,1.97のインストール後は本ページのバイナリは起動しないようにしてください.
** お願い: コメントで困っている人がいたら他の方でも結構ですので助けて上げてください.結構Windowsの操作が分からなくて困っている人もいるようですので.特に,Vista/Windows 7の環境がありませんので,VistaのVirtualStoreではまっている人がいても詳しい手順を私の方では教えてあげられません.
[入れ替えの前に]
下の手順でファイルを入れ替える前に,設定データのバックアップをおすすめします.手順は,メニューの接続(F)→設定(S)...→設定をファイルに保存(S)... です.
[使い方]
1. 上のバイナリと書かれたリンクからzipファイルをダウンロードして適当な場所に展開する.
2. FFFTPのインストールされているディレクトリ(C:\Program Files\ffftp かな?) をエクスプローラで開く.
3. 1.で展開して出てきたFFFTP.exeを2.のFFFTP.exeに上書きする.この際,Vista/Windows 7を使っている場合はUACの警告が出るハズ.
Note: FFFTP.exe をコピー先の FFFTP.exe の上に置いたら,FFFTPが起動してしまいます.コピーはFFFTP.exeをめがけるのでなく,コピー先フォルダの空いているスペースへDropしましょう.
4. 上書きしたら,FFFTP を起動して,接続(F)→設定(S)...→マスターパスワードの変更(M)... を選び,マスターパスワードを設定する.
5. FFFTPの次回起動時以降はマスターパスワードの入力を促されるので,上で入れたパスワードをその都度入力してから使う.
もし,毎回パスワードを入力するのが面倒くさいと思う人は,コマンドラインのパラメータでパスワードを設定できます.(後述)
FFFTPの対策パッチです.
その前に,FFFTPを入れているだけで危ないと誤解している人がいるようなので
ライフハッカーのFFFTPに関する誤報
この文章を普通に読めば、ffftpには「マルウェア感染する」と「ID・パスワード・ホスト先の情報を抜かれる」の2つの危険性がある多くの人が思うことだろう。「および」でつながっているのだから当然だ。つまりffftpを使っているとマルウェアに感染するのだ、と。
しかしこれは間違いであり、それもかなり初歩的な間違い、日本語の言い回しの解釈の間違いなのだ。
あと,何となく怖いからやっぱり乗り換えようと思っている人は,こちらも
10 FTP Clients Malware Steals Credentials From
調べた限りではWinSCPがマスターパスワード+AES暗号化を採用していて,安全性が高そうです.
ダウンロード → Sota さんの FFFTPのページへ
ここで公開していた最終版 (+009)の使い勝手はそのままに,暗号化アルゴリズムにAESを使用したMocaさん作のバージョンをベースにした Version 1.97が公開されています.
本ページで公開していた +001から+009のいずれのバージョンからもver 1.97へ設定を保持したまま移行することができます.Ver 1.97よりこのページのバージョンに戻した場合には保存されているFTPパスワードを読み出すことができず,FTPパスワードがクリアされますので,1.97のインストール後は本ページのバイナリは起動しないようにしてください.
** お願い: コメントで困っている人がいたら他の方でも結構ですので助けて上げてください.結構Windowsの操作が分からなくて困っている人もいるようですので.特に,Vista/Windows 7の環境がありませんので,VistaのVirtualStoreではまっている人がいても詳しい手順を私の方では教えてあげられません.
[入れ替えの前に]
下の手順でファイルを入れ替える前に,設定データのバックアップをおすすめします.手順は,メニューの接続(F)→設定(S)...→設定をファイルに保存(S)... です.
[使い方]
1. 上のバイナリと書かれたリンクからzipファイルをダウンロードして適当な場所に展開する.
2. FFFTPのインストールされているディレクトリ(C:\Program Files\ffftp かな?) をエクスプローラで開く.
3. 1.で展開して出てきたFFFTP.exeを2.のFFFTP.exeに上書きする.この際,Vista/Windows 7を使っている場合はUACの警告が出るハズ.
Note: FFFTP.exe をコピー先の FFFTP.exe の上に置いたら,FFFTPが起動してしまいます.コピーはFFFTP.exeをめがけるのでなく,コピー先フォルダの空いているスペースへDropしましょう.
4. 上書きしたら,FFFTP を起動して,接続(F)→設定(S)...→マスターパスワードの変更(M)... を選び,マスターパスワードを設定する.
入力したパスワードの前後にスペースが入っている場合はそれらは取り除かれます.(無いものとして扱う)
5. FFFTPの次回起動時以降はマスターパスワードの入力を促されるので,上で入れたパスワードをその都度入力してから使う.
もし,毎回パスワードを入力するのが面倒くさいと思う人は,コマンドラインのパラメータでパスワードを設定できます.(後述)
[コマンドラインでの設定方法]
1. FFFTPを起動するショートカットで右クリックしてプロパティを開く.
2. 『リンク先』の ... FFFTP.exe" と鳴っている場所の後ろに -z マスターパスワード と入れる.-zの前後には半角スペースを入れてください.マスターパスワードが mymasterpassword ならば,全体は
そのショートカットを使って起動するとパスワードを聞かれなくなります.(指定したパスワードが過っていたら,通常通りその旨を伝える警告ボックスが出ます.)
[更新履歴]
(+009)
-sオプションによる自動ログインが動作しなくなっていた問題を修正.(オプション判定条件が誤っていました)
そして,もはやお役ご免となった -zz オプションを削除しました.
ソース: ffftp-1.96d+009-src.zip
(+008)
起動時のマスターパスワード入力の都度ホスト設定がコピーされてしまう問題を修正.
ソース: ffftp-1.96d+008-src.zip
(+007)
コマンドラインオプションを使わなくて良くしました.マスターパスワード設定後は起動時にマスターパスワードの入力を促すダイアログボックスが表示されます.
-z, -zzオプションも引き続き使えます.
ソース: ffftp-1.96d+007-src.zip
(+006)
マスターパスワード変更画面で,入力中の文字が見えるようにした.
ソース: ffftp-1.96d+006-src.zip
(+005)
マスターパスワード変更GUIを追加
ソース: ffftp-1.96d+005-src.zip
(+004)
マスターパスワード照合用データがいつも同じだとセキュリティ上よろしくないので,時刻を元にしたsaltを付けて毎回値が変わるようにした.
ソース: ffftp-1.96d+004-src.zip
(+003)
マスターパスワード変更機能追加.コマンドラインの-zzオプションで変更後のパスワードを設定できます.
ソース: ffftp-1.96d+003-src.zip
(+002)
マスターパスワード設定機能.-z オプションでパスワードを指定可能に.一旦設定すると変更はできない.
ソース: ffftp-1.96d+002-src.zip
(+001) 前の記事
パスワード保存データにPrefixを付けた.とりあえず既存のマルウェアからは守られることを期待.
[暗号化アルゴリズム]
元々のアルゴリズムについては,1つ前の記事で触れています.
FFFTPが危ないという話
で,新アルゴリズムはと言いますと,単にマスターパスワードとXOR取ってるだけです.マスターパスワードが短い場合は繰り返し使います.ですので,マスターパスワード0と00と000は同じコードが生成されます.
ただし,マスタパスワードの正当性を確認するためのコード(SHA-1ハッシュ)を持っており,それが破られるとFTPにアクセスしてみなくてもパスワードが正解かどうか分かってしまいますので,長いパスワードを設定するのはそれなりの意味があります.
もうしばらく待つとこんなインチキアルゴリズムじゃなくてAESで暗号化するバージョンがどこかから現れる....かもしれない.
1. FFFTPを起動するショートカットで右クリックしてプロパティを開く.
2. 『リンク先』の ... FFFTP.exe" と鳴っている場所の後ろに -z マスターパスワード と入れる.-zの前後には半角スペースを入れてください.マスターパスワードが mymasterpassword ならば,全体は
...\FFFTP.exe" -z mymasterpassword
そのショートカットを使って起動するとパスワードを聞かれなくなります.(指定したパスワードが過っていたら,通常通りその旨を伝える警告ボックスが出ます.)
Note: マスターパスワードがスペースを含む場合はパスワード全体をダブルクォーテーションで囲んでください.
[更新履歴]
(+009)
-sオプションによる自動ログインが動作しなくなっていた問題を修正.(オプション判定条件が誤っていました)
そして,もはやお役ご免となった -zz オプションを削除しました.
ソース: ffftp-1.96d+009-src.zip
(+008)
起動時のマスターパスワード入力の都度ホスト設定がコピーされてしまう問題を修正.
ソース: ffftp-1.96d+008-src.zip
(+007)
コマンドラインオプションを使わなくて良くしました.マスターパスワード設定後は起動時にマスターパスワードの入力を促すダイアログボックスが表示されます.
-z, -zzオプションも引き続き使えます.
ソース: ffftp-1.96d+007-src.zip
(+006)
マスターパスワード変更画面で,入力中の文字が見えるようにした.
ソース: ffftp-1.96d+006-src.zip
(+005)
マスターパスワード変更GUIを追加
ソース: ffftp-1.96d+005-src.zip
(+004)
マスターパスワード照合用データがいつも同じだとセキュリティ上よろしくないので,時刻を元にしたsaltを付けて毎回値が変わるようにした.
ソース: ffftp-1.96d+004-src.zip
(+003)
マスターパスワード変更機能追加.コマンドラインの-zzオプションで変更後のパスワードを設定できます.
ソース: ffftp-1.96d+003-src.zip
(+002)
マスターパスワード設定機能.-z オプションでパスワードを指定可能に.一旦設定すると変更はできない.
ソース: ffftp-1.96d+002-src.zip
(+001) 前の記事
パスワード保存データにPrefixを付けた.とりあえず既存のマルウェアからは守られることを期待.
[暗号化アルゴリズム]
元々のアルゴリズムについては,1つ前の記事で触れています.
FFFTPが危ないという話
で,新アルゴリズムはと言いますと,単にマスターパスワードとXOR取ってるだけです.マスターパスワードが短い場合は繰り返し使います.ですので,マスターパスワード0と00と000は同じコードが生成されます.
ただし,マスタパスワードの正当性を確認するためのコード(SHA-1ハッシュ)を持っており,それが破られるとFTPにアクセスしてみなくてもパスワードが正解かどうか分かってしまいますので,長いパスワードを設定するのはそれなりの意味があります.
もうしばらく待つとこんなインチキアルゴリズムじゃなくてAESで暗号化するバージョンがどこかから現れる....かもしれない.
Comments