安全なログオン手順 2004/08/26 Port139 伊原 秀明
ログオンの危険性 ログオン操作により、仕掛けられた罠を実行してしまう可能性がある 罠を仕掛けられる箇所(プログラムの自動実行機能)が数多く存在 ログオン前に罠の存在を確認することが困難 罠が確認できたとして,それを外すことに問題はないのか? © Hideaki Ihara(Port139).
ログオンの影響 ログオン操作により,証拠となるデータを変更・喪失する危険性がある ログオン操作に伴うディスクへの書込み (削除ファイル復元への影響) コマンド実行の影響で変化する MAC Time © Hideaki Ihara(Port139).
ログオンの必要性 ログオンした状態でなければ得られない情報(揮発性情報など)を保全する場合にはログオンが必要となる 例:メモリ上にのみ証拠となるデータが存在するような場合(電源断により失われてしまう) ログオンして得られる証拠と、ログオンにより失われる証拠・危険性を比較し判断すること 本当にデータを保全する必要があるのか? (ログオンの危険を冒す価値があるか?) © Hideaki Ihara(Port139).
ログオンの事前準備 ログオンし証拠保全などを行うのであれば事前に準備を行うこと ログオン手順を事前に文書化しておく ログオンに利用するアカウント ログオンに利用する手段 操作の記録方法 © Hideaki Ihara(Port139).
ログオンに利用するアカウント インシデント対応/調査用に専用のアカウントを事前に登録しておく ログオンには、既知の管理者アカウントは利用しないこと 専用アカウントを悪用されないよう厳重に管理する(パスワードの分割管理等) 但し、意図的なアカウント削除や名前変更により利用できない可能性もある © Hideaki Ihara(Port139).
ログオン手段(Windows) インシデント対応/調査用に専用のログオン手段を準備しておく ログオンスクリプト,スタートアップ,Runキー(レジストリ)など,自動実行される機能は危険なので回避できる手段を選択すること 例:Ctrl + OK でスタートアップの回避が可能 CUIベースのログオン手段は、GUIと比較するとトラップを実行する可能性が低い (記録が取りやすいメリットもある) © Hideaki Ihara(Port139).
Telnetサービスの利用(1) Windows 2000以降に標準実装されているTelnetサービスを利用し,リモートホストからログオンする 標準機能のみで実現可能,追加費用が発生しない CUIベースで操作記録が取りやすい 利用できるクライアントソフトが豊富 各種OSから利用できる TelnetではCUIコマンドのみ利用可能 © Hideaki Ihara(Port139).
Telnetサービスの利用(2) デフォルトではサービスが有効になっていない 設定を行いサービスを開始しておく必要がある Telnetサーバ管理ツール,Tlntadmn.exe,レジストリエディタなどを利用して設定を行う Telnet Serverサービスのレジストリ エントリについて http://support.microsoft.com/default.aspx?kbid=226107 レジストリキーと主に変更が必要な値 HKEY_LOCAL_MACHINE\Software\Microsoft\TelnetServer\1.0 DefaultShell:デフォルトのシェル(CMD.EXE) LoginScript:ログインスクリプト(System32\login.cmd) TelnetPort:ポート番号(23/tcp) NTLM認証モード(0,1,2) © Hideaki Ihara(Port139).
Telnetサービスの利用(3) Telnetではユーザー名とパスワード,データが平文でネットワーク上を流れる! (経路途中での盗聴、改ざん対策は別途実施) Telnetサービスを悪用されないように管理する NTLM認証はパスワードが暗号化される Windowsにおけるデフォルト認証モード (a)Windows 2000(NTLM認証を要求) (b)Windows XP(NTLM認証失敗後は平文認証へ) (c)Windows Server 2003 認証モードは平文を利用するモードへ変更 © Hideaki Ihara(Port139).
Telnetサービスの利用(4) 不正アクセス者によるTelnetサービスの悪用を防ぐ工夫 安全なCMD.EXEを実行するよう、シェルのパスをデフォルトから変更する 例)CD-ROM(eドライブ)へ設定を変更 DefaultShell = e:\cmd.exe /K /D LoginScript = e:\login.cmd FD,CD-ROMが挿入されていなければTelnetサービスを開始(ログオン)できない ポート番号も変更しておくとなお良い © Hideaki Ihara(Port139).
Telnetサービスの利用(5) CMD.EXEは起動時にAutoRunキーに設定されたプログラムを実行する HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun 悪意のあるプログラムを実行する危険性がある! /Dオプションを指定し、AutoRunコマンドの実行を無効化すること © Hideaki Ihara(Port139).
Telnetサービスの利用(6) login.cmdの調整 バナーの表示(目的外使用の禁止) prompt命令の実行(日時の表示) $D 現在の日付 $G > (不等号 (より大)) $P 現在のドライブとパス $S (空白) $T 現在の時刻 prompt $D$S$T$S$P$G 2002/03/03 12:36:15.78 C:\temp> pathの設定(安全なプログラムを実行) © Hideaki Ihara(Port139).
Telnetサービスの利用(7) Telnet接続のログは保存しておく ログ機能のあるソフトを利用 ログは接続元で保存すること (ログオン先に書き込まないこと) © Hideaki Ihara(Port139).
Telnetログオン(図) ログオン先 ログオン コマンド結果や, 揮発性情報を保存 操作を記録する クライアント ログオン コマンド結果や, 揮発性情報を保存 操作を記録する 安全なCMD.EXEなどを含むCD-ROM © Hideaki Ihara(Port139).
手順通り進まない場合 意図的な妨害や、トラブルにより事前に準備したログオン手段が利用できない場合もありえる 失敗した作業を記録へ残しておくこと © Hideaki Ihara(Port139).
事前の準備がない環境 安全なログオン手段,アカウントが用意されていない環境 選択肢は二つ 最悪の被害を覚悟しつつログオンする ログオンせず電源断する (HDDの内容を調査する) © Hideaki Ihara(Port139).
補足(a) ログオン先にて通信履歴(TCP/IPトラフィックログ)を記録している場合 ネットワーク経由のログオンによりディスクへの書込みが発生する 大量のデータ通信を行うとログの循環や溢れを発生させる危険性がある © Hideaki Ihara(Port139).
補足(b) 常にログオンした状態(コンソール)を維持し、それを利用しては? 常に利用できるとは限らない (意図的な再起動などで利用不可に) © Hideaki Ihara(Port139).
補足(c) シリアルポートからログオンするには? リモートコンソールパック(沖電気) http://www.oki.com/jp/FSC/soft/rc.htm 1ライセンス 19,000円 © Hideaki Ihara(Port139).