脅威情報処理サイクル モデルについて
「脅威情報処理サイクル」(F3EAD) という用語は軍に由来しており、米国のあらゆるレベルの指揮官です。陸軍の主な戦闘兵器。資源を組織し、部隊を配置する方法を設計しました。 Network Emergency Response Center はこの方法を利用し、次の 6 つの段階で脅威インテリジェンス情報を処理します。
脅威インテリジェンス処理サイクル F3EAD
の「オニオン」を検索します。 「システム アラームによりトロイの木馬プログラムの疑いがあることが検出されたため、緊急対応チームはすぐに緊急対応プロセスを開始しました:
関係者や他の人は、ワンクリックでグループに電話し、次の方法でアクセスできます。電話。
被害者のシステムは調査のために隔離されています。
セキュリティ システムと監査ログは、トレーサビリティ分析のためにエクスポートされます。
ビジネス システム アーキテクチャとコード関連のデータ準備、分析対象の侵入侵害と影響範囲
に基づくセキュリティ システムの監査記録により、悪意のあるファイル ディレクトリに別の *.ko ファイルが存在し、このファイルは SCP を通じて別のサーバーから転送されたことが判明しました。
攻撃者は、最初に脆弱なサーバーの権限を取得し、次に、現在の被害者のマシンを含む、侵害されたサーバーを介してアクセス可能なマシンに SCP トロイの木馬ファイルをジャンプし、インストールすることがわかります。
次に、この一連のトロイの木馬ファイルの分析に焦点を当てます。AV メーカーの命名規則 (付録 1) に従って、一時的に「Backdoor:Linux/Rmgr!rookit」という名前を付けました。 " はトロイの木馬コードに由来します。多くの関数は rmgr プレフィックスを使用します。
2.1. トロイの木馬ファイル
これまでに入手したトロイの木馬ファイルは 4 つの部分に分かれており、その機能は次のように簡単に説明されています:
2.2 トロイの木馬のワークフロー
このトロイの木馬は、さまざまな手法を使用して、その後の侵入活動の可能性を含め、埋め込みから実行まで自身を隠します。セキュリティシステム。同時に、このトロイの木馬は多くの衝突も行っており、従来のセキュリティ監視機能では検出できない可能性があります。実行プロセスの簡単な説明は次のとおりです。
# トロイの木馬のワークフロー#2.3 トロイの木馬の各部分の主な機能
1. rmgr.ko
ルートキットは共通の LKM カーネル モジュールを使用します。このルートキットがロードされた後の主な操作は次のとおりです。 1) proc_create_data は、その後のトロイの木馬ユーザー モード プロセスとの対話用に仮想ファイル /proc/.dot3 を作成します; 2) register_kprobe は 4 つの kp 構造を登録します: kp_kallsyms_lookup_name\ krp_alloc_pid\kp_do_exit\kp_seq_path は、システムがこれらの関数を実行するときに、kprobe を使用してトロイの木馬プロセス上の操作をプリエンプティブに消去するために使用されます; 3) 上記の kp 構造体登録された処理関数、fake_seq_path はカーネル プロセス チェーン リストを削除するために使用されます; 4) システムが「/proc/net/tcp」ファイルを読み取ると、fake_seq_show によって処理されます。トロイの木馬のネットワーク接続を消去します; 5) fake_sys_getdents の vfs_readdir にパッチを当て、トロイの木馬に関連するすべての情報を消去します;6) システムがトロイの木馬関連ファイルにアクセスすると、そのファイルは fake_filldir によって処理され、呼び出し元がトロイの木馬を操作しているかどうかによって、正しい結果を返すかどうかが決まります。 ##7 ) カーネル モジュールのリンク リスト内の自身を削除し、kobject_del は自身のカーネル オブジェクトを削除します;
##8) kthread_create はカーネル スレッド dot_thread
# を作成します
##セルフスタートするカーネル モジュールを作成します/etc/sysconfig/modules/ati_remote3.modules
カーネル モジュール ファイル /lib/modules/%s/kernel/ を書き込みますdrivers/input/misc/ati_remote3.ko
rmgr_fake_libc.so ファイルをディスクにリリースします
rmgr_daemon ファイルをディスクに解放し、call_usermodehelper_exec を介して「[khelper]」プロセス名で実行します。
2. rmgr__fake_libc.so
この共有ライブラリ ファイルは、カーネル ルートキットによって解放され、ディスクに書き込まれます。パスは /tmp/.tmp_{21 個のランダムな英数字} で、トロイの木馬のユーザー モード プロセスの動作を隠すために使用されます。
サブフックで始まる関数はオープンソース コード (付録 2) から抜粋したものです。詳細な関数については github を参照してください。この記事では詳細には触れません。
偽のプレフィックス付き関数は、主に一般的な HIDS プロセスとコマンド レコードに対抗するために使用されます。fork と execve は、glibc カプセル化を使用せずに syscall を通じて直接呼び出され、フックを回避します。glibc モードの HIDS 。
fake_bash_add_history は、bash コマンドの監査機能を無効にします。
3. rmgr_daemon
このプロセスは rmgr.ko によって解放され、ディスクに書き込まれます (パスは /tmp/)。 tmp_{21 個のランダムな英数字}。 C で開発された upx は、コンパイル後にパックされて圧縮されており、オープンソース ソフトウェア upx -d rmgr_daemon を使用すると、特別な処理を行わずに直接解凍できます。
その主な機能は次のとおりです:
1) カーネル モジュールのステータスを監視し、カーネル ルートキット情報と対話します;
2) 更新;
3) rmgr_fake_sshd、patchELF を生成し、依存する動的ライブラリを変更します (つまり、rmgr_fake_libc.so を追加します)。関数は上記の通りです;
カーネルからパスを取得します
#リターン パス
patch ELF4) C2 hm2.yrnykx.com に接続します;5) rmgr_fake_sshd を管理します;
patchELF コードは GitHub - NixOS/patchelf (付録 3) から抜粋されています4. rmgr_fake_sshd
ファイルは rmgr_daemon によってディスクに書き込まれ、パスは /tmp/.tmp_{ランダムな英数字 21 文字} で、その動作は rmgr_daemon によって管理されます。 バックドアとして、以下に示すようにプライベート キーがハードコーディングされています。 一部の機能は patchELF を介してフックされているため、ssh ログイン後のコマンドの実行やその他の動作は隠蔽されます。 。 rmgr_fake_sshd 自体、および ssh ログインから派生した子プロセスは、前述の分析に基づくパッチ カーネル呼び出しを通じて rmgr.ko を通じて隠蔽されます。 rmgr_fake_sshd は、起動時にハードコーディングされた sshd_config を読み込みます。いくつかの重要な設定に注意してください。ローカル ポート 26657 でリッスンすると、rmgr_daemon がこのポートに接続して C2 から ssh コマンドを転送します。ビジネス環境に適合させるために一般的に使用されるネットワーク プロトコルがここに実装されているため、従来の NIDS の検出ロジックはバイパスされます。
ブレークスルー強化、パッチアップデート、ACL強化です。 運用および保守チャネルでは、古いアカウントを無効化し、攻撃リンク内のサーバー アカウントを変更し、2 要素認証を有効にします。 ユーザーの役割に基づいて、アクセス可能なシステム スコープを制限します。 被害システムは、調査のために仮想マシン イメージを保存するためにダンプを実行します。 被害システムを再インストールし、ビジネス環境を再リリースして展開します。 新しいシステム カーネル モジュールのロードには署名の検証が必要です。
脅威インテリジェンスのピラミッド モデル
1.iocs
1) md5:
7d859a22f38f0bcd55a46bc8b67c40df
fa73b2fd914a0cfd5e7d3161af903b6c
2) c2:
hm2.yrnykx.com
2.ttps
その隠蔽 (プロセス、ネットワーク、ファイル) 方法の大まかな分類は次のとおりです:
C2 は、fake_sshd を通じて NIDS 検出を回避します;patchELF libc コマンドを通じてフックをバイパスしますHIDS の監査;
fake_bash_add_history を使用してシェル監査を無効にする;
パッチ seq_show を使用して、/proc の下で読み取られるファイル情報のシステムの戻り値を変更し、トロイの木馬関連のファイル、プロセス、ネットワーク接続の隠蔽を実現します。情報;
パッチ vfs_readdir を通じてトロイの木馬ファイルを非表示にします;
カーネル プロセスとモジュールのリンク リスト情報を削除することで、ルーキット検出ツールがカーネル内のトロイの木馬の痕跡を検出するのを回避します;
#このトロイの木馬パッケージには、セキュリティ システムと戦うための多くの技術的な詳細が含まれていることがわかりますが、主に市場で知られているいくつかの古い HIDS と事後フォレンジック調査ツールをターゲットにしています。カーネル モード プロセス由来の syscall フックや inotify クラウド スキャンによって引き続き検出できます。
トロイの木馬とセキュリティ システムの対立の側面
完全なトロイの木馬システムは、侵入侵入だけを理由に開発することはできません。オープンソースまたはファミリーコード。したがって、トレーサビリティの観点から、コードの「考古学」作業を行うと同時に、関連するコード スタイルとトロイの木馬の動作をセキュリティ システム機能ライブラリに組み込むことができます。紙面の都合上、ここでは詳しく述べません。ステップ 6: スプレッド
概要
F3EAD サイクルの分析フェーズ (反復)
コールド インテリジェンスから実装、セキュリティ システムのセキュリティ機能の向上まで、これは次のとおりです。真の価値を持つ脅威インテリジェンスの実現。以上が脅威インテリジェンス サイクル モデルに基づいて APT トロイの木馬を分析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。