WinPTA 安全な運用方法に関するヒント とつげき東北 TOP



WinPTAの安全な運用の程度

どのような条件下で、WinPTAがどの程度安全に運用できるかをまとめてみます。


レベル0:充分に安全

状況:

WinPTAの存在もログファイルの存在も第三者に知られておらず、WinPTAの実行に関する何の警戒もされていない。
ユーザのレベル:
たとえば、せいぜい週に1回くらい市販のウイルスチェックソフトでウイルス検査をするだけで「PCは安全だろう」と考えているような、通常の、ノーマルなPCユーザに対する運用例です。
WinPTAの運用:
これに対して、WinPTAは完全に安全に運用されます。


レベル1:安全

状況:

WinPTAの存在もログファイルの存在も第三者に知られていないが、ある程度、隠蔽された実行ファイル(トロイやワーム)に対する警戒がされている。
ユーザのレベル:
単にウイルス検査をするだけではコンピュータは安全でないことを知っており、スタートアップフォルダのチェックやレジストリチェックを定期的にまたは発作的に行い、特に怪しい設定がなければ安全だと感じるようなユーザに対する運用例です。
あるいは時々プロセスチェックも行いますが、システムファイル名のプロセスなどに対しては(それが改ざんされている可能性を考慮することなく)特に警戒しない程度のレベルです。
警戒心は少々あるが、一方で、方法論としての「隠蔽ソフトに対する対策」までは技術的に持っていないレベルのユーザを指します。
WinPTAの運用:
WinPTAはプロセスチェックによってしか見ることができませんので、プロセスまでくまなくチェックしていないレベルのユーザに対してはほとんど安全です。
(Windows2000以前では「Alt+Ctrl+Del」によってもプロセスをチェックできません。つまりそのバージョンを普通に利用しているユーザ、プログラマやサーバ管理者などのある程度の警戒心や技術を持っていないユーザに対しては、安全度レベル0になります)
WinPTAの隠蔽機能を最大限に活用すれば、このレベルのユーザに対しては特にWinPTAの存在自体がばれることなく運用できるでしょう。
最悪の場合でもWinPTAのプロセスを時々強制停止される程度で、特に警戒されていない限り、安全に運用を続けられます。


レベル2:中程度に安全

状況:
WinPTAの存在もログファイルの存在も知られていないが、隠蔽された実行ファイルに対する対策が方法論として技術化されている。
ユーザのレベル:
時々プロセスチェックを行い、見慣れないプロセスを逐一検査する程度のレベルのユーザです。
見慣れないプロセスのファイル名を検索に掛けてみて、それがトロイやワームであることがわかると、自動起動の設定を探し出して駆除できる程度です。
ただし、自分でそのファイル内容を逆アセンブルしてみたり、そのソフトのファイルアクセスを監視できるほどの技術は持っていません。
セキュリティ関係の警戒心が低くないタイプの「普通の」職業プログラマですと、この程度の知識とスキルを持っていると考えることができます。
WinPTAの運用:
不審なプロセスであるということまで警戒されたレベルです。
WinPTAはトロイやワームではありませんので、実行ファイル名を「WinPTA.exe」以外に書き換えてしまえば、ファイル名検索などでこのソフトの特性を見破られることはありません。
WinPTAの起動偽装機能(Breeder.exe)を使えば、どこからこのプロセスが起動されているかを突き止めることも容易ではなく、スタートアップやレジストリに特別な起動が追加されてもいませんので、彼はこのプロセスに対してそれ以上の警戒をしない可能性が高いと思われます。
特別に警戒度を高めない限り、このレベルのユーザに対しては安全に運用できると言って良いでしょう。
もし彼がそれ以上に警戒して、レジストリを洗いざらいチェックしたりWinPTAのプロセスを強制終了させてみたりしながら、専用のツールを導入して対処してきた場合、最悪でWinPTA本体の存在を「それがWinPTAであるということはわからないままに」知る可能性はあります。
こうなった場合、WinPTAを削除されることで、それ以降のログファイルを残すことができなくなるでしょう。
ただし、それまでに取られたログファイルは大抵の場合安全ですし、ましてやログファイルの内容までは把握されないと考えられます。


レベル3:安全度は低い

状況:
WinPTA本体が「あやしい何かしらのファイルである」ことが知られている。
ユーザのレベル:
レベル2の最後のケースのように、WinPTA本体が発見され、かつそれが怪しいことが知られてしまったケースです。
または、ユーザがセキュリティに関する専門的な知識と技術を持っていて、全てのプロセスに対して自らある程度のコードをチェックするといったような場合です。
(ただし、例えば「普通の」職業プログラマがここまでの警戒心と技術を持っていることはまれです)
WinPTAの運用:
このレベルの相手に対しては、WinPTAを運用する安全度は高くないと思ってください。
少なくとも、気づかれた後にログファイルを取り続けることは望めない場合がほとんどでしょう。
それ以前のログファイルについては、通常は安全でしょうが、ここまで相手の警戒心が高い場合は、場合によっては全ディレクトリの検査まで行う可能性もあります。
この場合、ログが発見されて、ファイル名などによっては削除されてしまうことがあります。
ログは暗号化されていますのでその段階ではそれ以上には危険(ログの解読の危険性)ではありません。
ただし、高い技術を持ったユーザがログを解読しようと試みる場合、WinPTA本体の挙動を逆アセンブルして完全に把握するか、または専用のクラックソフトを自作したりすることによって、可能かもしれません。
もっとも、このレベルの技術と警戒心を持つユーザは、そのような面倒なことをするまでもなく、WinPTAと同じような機能を持ったソフトを自作して既に自分のPC内で使用している可能性の方がまだ高いでしょう。
その場合、あなたがWinPTAを仕込んだ操作そのものが既に相手に知られているわけです(笑)。
このように、WinPTA本体の安全性をいくら高めても、相手がWinPTAを自作できる程度のレベルであれば、WinPTAの運用は既に安全ではないと考えられます。
また、高度な知識はなくとも警戒心がここまで高い相手であれば、何らかの対策(市販のログ記録ソフトの導入など)を行っている可能性もあり、上記と同様に「安全でない」と言えると思います。


レベル4:危険
状況:
WinPTAがWinPTAであることが突き止められていて、ログファイルの位置もわかっているような場合。
ユーザのレベル:
非常に警戒心が高く、市販のログ記録ソフトを導入している場合や、非常に技術が高く、自力でWinPTAの存在を突き止めた上、その挙動の大部分を把握しているユーザ。
WinPTAの運用:
WinPTA本体の挙動がわかったとしても、完全に把握されていない限りは、ログファイルを発見することも簡単ではありませんが、ここでは既に発見されたものとします。
この場合に望むことは、既にそれ以上のログを取ることではなく、過去のログを解読してWinPTAを流用し、他のユーザの操作ログを「盗聴」されないようなことです。
これに関してはWinPTAはログの暗号化がなされていますが、設定ファイル自体を解読されて鍵を見つけられてしまった場合は無力です。
警戒心が高いだけのユーザにはこの作業は不可能ですので、最悪の事態は避けられるでしょう。
しかし、高度な技術を持ったユーザがこれを目指した場合、不可能ではありません。最悪の場合の危険性も考慮した上で、WinPTAの運用を検討してください。
とはいえ、そのような高度な技術と警戒心を持ったユーザは、たぶんあなたがWinPTAを導入しようとするその操作そのものを、既に監視して見抜いていると思いますが・・・。


レベル5:深刻な危険度
状況:
ログファイルの解読がされる場合。
ユーザのレベル:
少なくとも、ある種の実行ファイルからそのプログラムを理解できるレベルでなければ不可能です。
また、解読のために専用のプログラムを書く必要があるでしょう。
ただし、そこまで労力を使うくらいなら、WinPTAと同じ機能のソフトを作って「逆に仕掛けておく」方がずっと効率的で簡単です。
WinPTAの運用:
不可能であるだけでなく、逆に悪用されると非常に危険です。



WinPTAの安全な運用の程度のまとめ

簡単に総括すると、

警戒度が高いだけの相手に対する危険性とは、「ログが取れない危険」である(WinPTAを仕掛けたこと自体が責められる場合はその危険性も加味して下さい)。
技術が高く警戒心もある相手に対する危険性とは、「ログの逆用や、そもそもWinPTA導入自体を監視されてしまう危険」である(このような相手にはWinPTAは使えないでしょう)。
一般的な、特に警戒心を高めていない普通の職業プログラマに対するWinPTAの安全度は「中程度に安全か、安全」である。
PCを用いて通常の業務を行う程度の技術を持ったノーマルなユーザに対して、WinPTAは「安全」である。
定期的なウイルスチェックやファイアーウォールの導入、IEのActiveX等の設定以外にセキュリティ意識のないユーザ(ヤフーなどに掲載される最新のセキュリティ情報を知っている程度の普通のユーザ)に対しては「安全」である。

と言えるでしょう。

もしとつげき東北にWinPTAを仕掛けたらどの程度対処できるか

例として、もし私がWinPTAというソフトを知らず、WinPTAの偽装機能をフルに使って私にWinPTAを仕掛けた場合に、(私が個人だけで対処しなければならないとして)私がどう対処できるかを書いておきます。

私は定期的なプロセスチェックとウイルスチェック、およびいくつかのポートの監視によってPCの安全性を保とうとします。
しかしそれらはせいぜい、週に1回されるかどうかです。
したがって平均的に3〜4日の間、WinPTAは正常に動作します(その間に一度でも重要なパスワード入力をしてしまった場合は、私は「危険」です)。
私はプロセスチェックによって不振なプロセスを発見します。
ファイル名検索によって、有名なトロイやワームでないかを確認します。
それは有名なトロイやワームではなく、爆発的な繁殖力を持った危険性のあるそれらではないことを知ります。
しかし明らかに「導入していないはずのプロセス」が増えているわけですから、警戒します。
レジストリやスタートアップなどの自動実行を調べます。
運がよければ

「Breeder.exe(WinPTAに付属のファイル実行偽装ソフト)」を起動している設定を見つけるでしょう。そこを元通りに直します。
より重要度が高いと認識していれば、各ディレクトリへのアクセストラッププログラムを自作してWinPTAを実行してみたりするでしょうが、「ちょっと逆アセンブルして挙動のほとんどを把握してしまおう」というような技術は持っていません。
おそらく結果的には、単にWinPTAを除去できたというところまでで、あとはシステムファイルの書き換えチェックなどをしてみたり、「感染経路」を調べてみたりするでしょうが、特に得られるものはなく、危険度の把握に応じてシステムファイルのチェックとプロセスチェックを繰り返しながら、対処終了します。
ディレクトリへのアクセストラップが上手に働けば、ログファイルらしきものを発見できます。
しかし内容は暗号化されているので、「弱い暗号でないか」少し試行錯誤します(例えば安全な環境下でわざとWinPTAを起動してみて、入力とログ内容との関係を調べてみたりするかも知れません)。
実際には弱くないのでそのままログファイルらしきものを削除し、特にそれ以上の被害がないことを確認して対処終了します。

運がよくなければ

プロセスを閉じてみたり、プロセスがどのポートをオープンさせているか(またはいないか)を調べます(クラッカーがバックドアにしていないかのチェック)。
特に得られるものはなく、システムファイルの書き換えチェックや感染経路の特定を考えますが、同様に徒労に終わります。
どのタイミングでWinPTAのプロセスが起動されているかを、プロセス監視ソフトを場合によっては自作しておおむね突き止め、怪しい部分の自動起動を全て入れなおします。
危険度の把握に応じてシステムファイルのチェックとプロセスチェックを繰り返しながら、それ以上にワームが活動していないことを確認して、対処終了します。


いずれの場合も、ログファイルの内容までを突き止めるにはいたりません。
運がよければそれまでのログを消し去ることができ、その後のWinPTAの活動を止めることはできますが、そのソフトがWinPTAであることを明確にしたり、そのソフトがどのような活動を行っているかまでを具体的に把握するまではできません。
全体として「怪しいワームが入ってきていた」「自動実行のためにうまい偽装を使っていた」という感想を持ち、その後しばらくPCの挙動に厳重に警戒する程度に終わるでしょう。
状況が深刻だと判断すれば(例えば会社の自分のマシンが誰かに操作されている危険性)、逆にWinPTA的なソフトを自作または導入して「逆監視」したり、ログオンパスワードを変えたりすることはできます。
気づいてからは、ログが流出する危険に対しては対処できますが、気づくまでの間(警戒するまでの間)のログの流出は止められないかと思います。
それ以前に同様のことが社内で発生していたりするなら、それなりに事前に対処することはできたでしょう。そのあたりは事前の警戒度に依存します。



安全な運用の具体的方法

上記安全基準を踏まえて、なるべく安全度が高まるように、具体的に留意する点についてまとめておきます。

・WinPTA本体の名称偽装
まずは、WinPTA本体を隠蔽する必要があります。
実行ファイル名「WinPTA.exe」では最悪です(笑)。
実行ファイル名は、それらしいシステムファイル名にしておくことをお勧めします。
ただし、そのファイル名が有名なワームの名前とかぶらないようにしましょう(そのファイル名で検索をかけてみて、セキュリティ関係のページがヒットしないようにします)。

・WinPTA本体の位置の隠蔽
個人的には「c:\windows\system\」の直下か、あるいは他の通常自動起動するexeファイルと同じ位置に置くべきだと考えています。
特に「Breeder.exe」を利用して、後者にするのが賢明です。

・WinPTA本体の偽装
WinPTAは現段階で有名ソフトではないので、ファイルサイズから「WinPTAを発見」する人はほとんどいないと思いますが、一応、付属の「FAT.exe」を用いてファイルサイズを適当に変化させておくと良いと思います。余力があれば、ファイル作成日時も変えておくと良いでしょう(そのようなツールはフリーでいくつか見つけられます)。

・WinPTA実行の偽装
Breeder.exeを用いることを推奨します。この専用アプリケーションについては後述します。
また、そうでなければ、スタートアップにショートカットを登録したり、レジストリやwin.iniやsystem.iniに自動実行を書き込むことになります。
相手が、そのあたりをチェックするレベルを持っている場合、レベル3(安全度は低い)になりますから、相手の技術に応じてどうするかを検討します。
一般的な企業の一般的なPC業務従事者であれば、レジストリチェックまでは行わないと思いますが。

・ログファイルの位置の偽装
せっかくWinPTA本体を巧妙に隠していても、ログファイルが堂々とデスクトップ上に作られるようでは、すぐにばれてしまいます(笑)。
ログファイルを作るフォルダは、なるべく奥の方の、通常見ないフォルダに設定します。
木を隠すなら森に隠すのが一番です。もともと大量のテンポラリファイルが作られたり消えたりするフォルダに置くのが良いと思います。

・ログファイルの偽装
ログファイルは必ず長い鍵長で暗号化し、またログ作成日付偽装機能を利用します。
何らかの原因でWinPTA本体が発見されたとき、もしログが暗号化されていなければすぐにログの内容を「解読」されますし、またログ作成日付が「今日」であれば、ファイル作成日付条件検索ですぐにログファイルが発見されてしまいます。
なお、ログファイルの鍵として数字のみの8ケタ暗号などはやめましょう。必ず、半角英数ランダムで10文字以上(およそ80bit)にします。もちろんもっと長くてもかまいません。
自作の「VNCrypt暗号クラックツール(ブルートフォースアタック)」にて数字8ケタのみのvncファイルをクラックしたところ、平均およそ1日弱で解読できました。
半角英数ランダムで10文字となると、このシステムでは一生かかっても解読できないでしょう。



擬装用付属アプリケーションの使用

「FAT.exe」
これを用いて、実行ファイルに冗長データを付加して、サイズを増加させられます。
WinPTA本体のファイル偽装に使えます。
ただし、ファイルの内容までをチェックしてWinPTAでないかを調べるソフトを作って調べた場合、これでは偽装できません。


「Breeder.exe」
exeファイルの実行時に、exeファイルの実行を偽装するツールです。
コマンドラインパラメータとして
filename1 paramstr1 filename2 paramstr2
の4つのパラメータを与えてこのソフトを起動すると、このソフトは
filename1 filename2
の各々のファイル名で表されるexeファイルを起動して終了します。
これらの実行時引数として、各々
paramstr1 paramstr2
を与えます。ただし、paramstrとして"_"を与えた場合は、パラメータを与えないものとみなされます。

つまり、まるで「Breeder.exe」だけを実行しているかに見せかけたショートカットから、実際には2つの異なるアプリケーションを起動することができます。

例えば、もともと「notepad.exe」をスタートアップに登録している人がいたとします。
まずは、もともとの「notepad.exe」を「notepad~.exe」などに名称変更してしまいましょう。
その後、もともとnotepad.exeがあったフォルダに、Breeder.exeをコピーします。
そして、Breeder.exeを「notepad.exe」に名称変更します(もちろん、決して「Breeder.exe」の名称のまま実行する設定にしないでください)。
もともとのスタートアップ設定になっているショートカットのプロパティを
"C:\・・・\notepad.exe"
から
"C:\・・・\notepad.exe" "notepad.exe" "_" "WinPTA.exe" "free.ini"
に変更します。
これで、ただ単にnotepadを起動しているつもりが、notepadとWinPTA.exeを同時に起動することになるわけです(このとき、notepadの方にはパラメータは与えず、WinPTAの方にはパラメータ"free.ini"を与えています)。
パラメータの指定法などに制限があり、また、一部のexeファイルの場合には使えませんが、かなり強力な偽装となります。