FAS16:ス턱ネットより 5 年前に出現した高精度ソフトウェア・サボタージュ(悪意のある改ざん)ツール。

2026/04/27 5:18

FAS16:ス턱ネットより 5 年前に出現した高精度ソフトウェア・サボタージュ(悪意のある改ざん)ツール。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

最重要な発見は、「Fast16」という高度なサイバーサボタージュフレームワークの発見であり、先進物理学、核研究、暗号学、構造工学(特に LS-DYNA 970 は衝突試験や核シミュレーション向けに、PKPM は設計向けに、MOHID は水動力学向け)で使用される高精度ソフトウェアを静かに破損させる能力を有しています。通常のウイルスとは異なり、Fast16 は計算エンジンに特化して結果の精度を低下させることで、国の科学プロジェクトに深刻な脅威をもたらします。2005 年頃開発された主要なキャリアバイナリsvcmgmt.exe(2005 年 8 月 30 日 компィル済み)は、ステクスネットなどの有名な攻撃から 5 年以上、フラムから 3 年以上前に存在しており、埋め込み型の Lua 仮想マシンと共に fast16.sys という独自のプロンプト起動カーネルドライバ(2005 年 7 月 19 日 compild)を使用しています。このドライバはシステムファイル操作を傍受し、悪意のある指示を直接メモリに注入することで、感染の明確な兆候なしに破損を引き起こすことを保証します。フレームワークは「wormlet」を配置して、SMB共有とデフォルトパスワードを使用して Windows 2000/XP ネットワーク内に蔓延させますが、十八種類のアンチウイルスシグネチャを確認してから破壊ペイロードを実行するなど、高度な回避戦術も備えています。SentinelLABS は、fast16.sys, svcmgmt.exe, connotify.dll および疑わしいパッチ対象に対する検出ツール、すなわち YARA ルールとハッシュ値(MD5, SHA1, SHA256)を発表しています。この開示は、レガシーコンピューティング環境の再評価を緊急に要求させ、数十年前に存在した休眠的なサボタージュメカニズムが、現代の研究インフラにおいて依然としてアクティブなリスクであるという事実を浮き彫りにしました。

本文

要約

SentinelLABS は、コアコンポーネントの歴史が 2005 年まで遡る未公開のサイバー妨害フレームワークを発見しました。この攻撃は「fast16」として追跡されています。fast16.sys は高精密計算ソフトウェアを標的にし、メモリ上のコードを書き換えて結果を改ざんします。このペイロードに自己複製メカニズムを組み合わせたことで、攻撃者は施設全体で同等の不正確な計算結果を生成しようとしています。

2005 年のこの攻撃は、物理研究(特に原子力)、暗号学、先進物理学といった国家重要度の高価な超高精度計算タスクを標的とする妨害作戦の先駆けとなりました。「fast16」は Stuxnet の出現から少なくとも 5 年以上も前であり、同種の初例として的位置づけられます。組み込みのカスタム Lua 仮想機械(VM)の使用については、Flame サンプルよりも 3 年早い初期段階で利用されています。

名前の「fast16」は、NSA の『Territorial Dispute』コンポーネントを暴露した ShadowBrokers という著名なリークの文脈に登場します。回避用のシグネチャには、「fast16 *** Nothing to see here – carry on ***(fast16:ここでは見るべき何もないので、そのまま進め)」という指示が含まれていました。


概要

fast16 に関する調査は、あるレベルの頂点の脅威アクターが常に組み込みスクリプティングエンジンをモジュール性の手段として活用しているという建築的な仮説から始まりました。Flame、『動物農場』の Bunny、『PlexingEagle」、Flame 2.0、および Project Sauron のそれぞれは、組み込み Lua VM の拡張性とモジュール性をプラットフォームの基盤として構築しました。我々はこの開発スタイルが共通の源流から生まれたのかを特定したいと考え、Windows マalウェアにおける組み込み Lua エンジンの最も初期かつ洗練された利用をたどることに取り組みました。

Lua は軽量なスクリプティング言語であり、C/C++ 機能の拡張において本質的な能力を持っています。信頼性の高い高級マルウェアフレームワークとしての C++ の魅力に鑑みると、既に感染したマシンに機能を追加するために全体を再コンパイルする必要がないというこの能力は不可欠です。直接的な共有起源を示す兆候は見られませんが、我々の調査はこのモダンな攻撃アーキテクチャの最も古い事例を発見しました。

Lua は独自のフィンガープリントを残します。コンパイルされたバイトコードコンテナは、マジックバイト

1B 4C 75 61
\x1bLua
)で始まり、バージョンバイトに続き、通常は特徴的な C API と LUA_PATH などの環境変数のような特性を公開しています。2000 年代半ばのマルウェアコレクション全体をこれらの特性で検索した結果、当初は地味に見えるサンプルである svcmgmt.exe が表面化しました。

svcmgmt.exe | 2005 年の Lua パワードサービスバイナリ

表面上、svcmgmt.exe は Windows 2000/XP 時代からの一般的なコンソールモードサービスラッパーのようですが、より詳しい検証では、組み込まれた Lua 5.0 仮想機械と、サービスエントリーポイントが解凍する暗号化されたバイトコードコンテナが存在することが明らかになりました。開発者は Lua 環境を拡張し、以下の機能を追加しました:

  • ネイティブなユニコード処理のためのwstring モジュール
  • 組み込みの対称鍵暗号化方式であり、通常
    b
    とラベル付けされる関数を通じて公開され、埋め込まれたデータの復号化に使用される機能
  • Windows NT ファイルシステム、レジストリ、サービス制御、およびネットワーク API に直接バインドする複数のモジュール

それ自体でも svcmgmt.exe は、暗号化された Lua バイトコードに多くのロジックを委ねた初期の高級インプラント、すなわちモジュラーサービスのバイナリに見えます。このバイナリには重要な詳細が含まれており、それはバイナリをカーネルドライバ fast16.sys にリンクする PDB パスです。

fast16 | ShadowBrokers リークから残されたたしかなる謎

バイナリの文字列の深部に埋め込まれた PDB の参照には、以下のパスが含まれていました:

C:\buildy\driver\fd\i386\fast16.pdb

一見すると、これは他のコンパイラアティファクトと同様に構成されたパスのように見えます(内部ビルドディレクトリ、コンポーネント名 fast16、アーキテクチャのヒント i386)。しかしながら、このケースでは不一致があります。文字列はサービスモードの実行可能ファイルの中にあるにもかかわらず、PDB 文字列の

driver\fd\i386\fast16
セグメントが明らかにカーネルドライバプロジェクトを指しています。

その手がかりに従うことで、我々は第二のバイナリである fast16.sys に到達しました:

プロパティ
Filenamefast16.sys
Filesize44,580 bytes
MD50ff6abe0252d4f37a196a1231fae5f26
SHA25607c69fc33271cf5a2ce03ac1fed7a3b16357aec093c5bf9ef61fbfa4348d0529
TypeMS Windows 5.00 (native) 用の PE32 エグzekutabel、Intel i386、5 セクション
Link Time2005-07-19 15:15:41 UTC (0x42dd191d)

このカーネルドライバはブート起動時にロードされるファイルシステムコンポーネントであり、ディスクから読み込まれる実行可能コードを受け止め、変更します。この年代のドライバは Windows 7 以降では動作しませんが、その当時、fast16.sys はストレージスタックにおける位置、ファイルシステム I/O の制御、およびルールベースのコードパッチング機能によって、一般的なルートキットよりも格段に優れていたのです。

2017 年 4 月、コンパイルタイムスタンプからほぼ 12 年後、ShadowBrokers リークの中で同じファイル名「fast16」が登場しました。Boldizsár Bencsáth 博士は『Territorial Dispute』に関する研究を行い、テキストファイル drv_list.txt を指摘しています。この 250KB のファイルは、サイバーオペレーターが標的のボックスで遭遇する可能性のある潜在的なインプラントを「フレンドリー」としてマークしたり、競合する国のハッキング作戦との衝突を避けるために「引き上げる」ための短いドライバ名リストです。

特定のドライバ「fast16」に関するガイダンスは、両方の側面からユニークかつ特に珍しいものです。svcmgmt.exe 内の文字列はこの調査における重要なフォレンジックリンクを提供しました。PDB パスは、2017 年に NSA オペレーターで使用された脱コンフリクトシグネチャのリークと、2005 年にコンパイルされたマルチモーダル Lua パワード「キャリア」モジュールを結びつけ、最終的にはそのステルスなペイロードである精密妨害のためのカーネルドライバへと至ります。

svcmgmt.exe | キャリアのアーキテクチャ

fast16 のコアコンポーネントである svcmgmt.exe は、高度に適応的なキャリアモジュールとして機能し、コマンドライン引数に基づいて動作モードを変更します。

引数アクション
引数なしWindows サービスとして実行されます。
-p
InstallFlag = 1
を設定し、サービスとして実行(伝播/インストールおよび実行)。
-i
InstallFlag = 1
を設定し、Lua コードを実行(インストールして Lua を実行)。
-rインストールフラグを設定せずに Lua コードを実行(Lua を実行)。
その他の引数 ()ファイル名として解釈され、元のコマンドと
-r
引数を付与した子プロセスを生成します(ラッパー/プロキシモード)。

内部では、svcmgmt.exe は 3 つの異なるペイロードを保存しており、それらは設定、伝播および協調ロジック、補助的な ConnotifyDLL、ならびに fast16.sys カーネルドライバを含む暗号化された Lua バイトコードです。

キャリアペイロードの構成

比較的安定した実行ラッパーと、暗号化されたタスク固有のペイロードを分離することにより、開発者はキャンペーンを通じて外部キャリアバイナリにほとんど変更を加えずに、異なるターゲット環境と運用目標に適応できる再利用可能な区画化フレームワークを作成しました。

ワームレットと初期の回避アーキテクチャ

2000 年代初頭には多くのネットワークワームが存在していました。それらの多くは愛好家によって書かれており、速やかに広がり、意味のあるペイロードをほとんど運んでいませんでした。「fast16」も同様の時代から発祥していますが、ステートレベルのツールとしての源流を示す全く異なるパターンに従っています。これは記録されている最初の Lua ベースのネットワークワームであり、極めて具体的なミッションのために構築されました。

キャリアは、ソフトウェア形態の集束弾のように設計されており、内部では「wormlets」と呼ばれる複数のワーム可能なペイロードを搭載することができます。svcmgmt.exe モジュールは以下のステップを実行します:

  1. 設定を準備し、ペイロードパス、サービス詳細、ターゲット IP ランジを定義します。
  2. C レイヤーのための設定値をワイド文字列に変換します。
  3. 権限を昇格し、キャリア実行可能ファイルを SvcMgmt サービスとしてインストールして起動します。
  4. (オプションで)設定に基づいて、カーネルドライバインプラント fast16.sys を展開します。
  5. ワームレットを解放します。この特定の構成では、ネットワークサーバーを探し、ペイロードをネットワーク共有経由でコピーし、そのリモートサービスを起動する SCM ワームレットのみが一つのスロットに埋められています。
  6. このプロセスを無限に繰り返します。 Waves(波)間の設定された初期遅延の間、スリープしており、失敗閾値または外部のキル条件に達するまで続きます。

ワームレットはキャリアの内蔵ストレージに格納されていました:

  • 内蔵ストレージの構造svcmgmt.exe に発見された单个展開されたワームレット(SCM ワームレット)は、ネイティブの Windows 機能と弱いつながりに基づいた単純だが効果的な伝播戦略を示します。それは Windows 2000/XP 環境を標的とし、共有ファイル上のデフォルトまたは弱い管理パスワードに依存します。すべての拡散は標準の Windows サービス制御およびファイル共有 API を通じて行われ、カスタムのネットワークプロトコルよりも構築された管理機能に依存する早期の伝播の例です。

このワークフローが実行される前に、事前インストールキルスイッチが環境をチェックします。

ok_to_install()
ルーティンは
ok_to_propagate()
を呼び出し、手動で強制的に行われた場合または一般的なセキュリティ製品が発見されないことを確認した場合(関連するレジストリキーをチェックすることによって)のみ伝播を許可します。このルーティンはベンダーキーのリストを巡回し、いずれかが存在する場合にインストールを中止することで、監視されている環境への展開を防ぎます。

この時代のツールにとって、そのようなレベルの環境意識は顕著です。製品のリストが包括的に見えるとは限りませんが、おそらくターゲットネットワークで存在すると期待され、その検出技術が秘密作戦のステルス性を脅かすだろう製品を反映している可能性があります:

  • HKLM\SOFTWARE\Symantec\InstalledApps
  • HKLM\SOFTWARE\Sygate Technologies, Inc.\Sygate Personal Firewall
  • HKLM\SOFTWARE\TrendMicro\PFW
  • HKLM\SOFTWARE\Zone Labs\TrueVector
  • HKLM\SOFTWARE\F-Secure
  • HKLM\SOFTWARE\Network Ice\BlackIce
  • HKLM\SOFTWARE\McAfee.com\Personal Firewall
  • HKLM\SOFTWARE\ComputerAssociates\eTrust EZ Armor
  • HKLM\SOFTWARE\RedCannon\Fireball
  • HKLM\SOFTWARE\Kerio\Personal Firewall 4
  • HKLM\SOFTWARE\KasperskyLab\InstalledProducts\Kaspersky Anti-Hacker
  • HKLM\SOFTWARE\Tiny Software\Tiny Firewall
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Look n Stop 2.05p2
  • HKCU\SOFTWARE\Soft4Ever
  • HKLM\SOFTWARE\Norman Data Defense Systems
  • HKLM\SOFTWARE\Agnitum\Outpost Firewall
  • HKLM\SOFTWARE\Panda Software\Firewall
  • HKLM\SOFTWARE\InfoTeCS\TermiNET

独立したユーザーモードコンポーネントである svcmgmt.dll は、最小限のレポートチャネルを提供します。キャリアの内蔵ストレージに含まれるこの DLL は、Windows AddConnectNotify() API を通じて登録され、システムが 2000 年代のダイヤルアップ接続と早期の VPN を担当するリモートアクセssqlvice (RAS) を使用して新しいネットワーク接続を確立するたびに呼び出されます。

プロパティ
Module Nameユーザーモジュール (connotifydll)
Filenamesvcmgmt.dll
Filesize45,056 bytes
MD5410eddfc19de44249897986ecc8ac449
SHA2568fcb4d3d4df61719ee3da98241393779290e0efcd88a49e363e2a2dfbc04dae9
Link Time2005-06-06 18:42:45 UTC
TypePE32 DLL (i386, 4 セクション)

呼び出された際、DLL はオブスクレーティングされた文字列を復号化してパイプ

\\.\pipe\p577
を取得し、ローカルパイプに接続を試み、リモートとローカルの接続名をパイプに書き込んでから閉じます。このモジュールは独立して動作せず、ホストプロセスによって登録される必要があります。

fast16.sys | 精密妨害のためのファイルシステムドライバ

カーネルドライバ fast16.sys はフレームワークの最も強力なコンポーネントです。 このドライバは SCSI クラスグループで

Start=0
(ブート) および
Type=2
(ファイルシステムドライバ) で構成されています。これは初期段階で自動的にロードされ、ディスクデバイスドライバと共に、各ファイルシステムデバイス(NTFS、FAT、MRxSMB)の上に自分自身を挿入します。エントリー時には:

  1. Session Manager の PrefetchParameters キーの下で EnablePrefetcher 値を 0 に設定して Windows Prefetcher を無効化し、その後のコードページ要求をフルファイルシステムスタックを通じて強制します。
  2. ntoskrnl.exe をスキャンして単純な XOR ベースの文字列暗号を使用してカーネル API を動的に解決します。
  3. カスタム DeviceType 値
    0xA57C
    \Device\fast16
    および
    \??\fast16
    を公開し、これは二次的なフォレンジックマーカーとして機能します。

ドライバは IoRegisterFsRegistrationChange に登録され、アクティブおよび新規に作成されたすべてのファイルシステムデバイスの上にワーカーデバイスオブジェクトを取り付けることができます。IRP_MJ_CREATE、IRP_MJ_READ、IRP_MJ_CLOSE、IRP_MJ_QUERY_INFORMATION、IRP_MJ_FILE_SYSTEM_CONTROL などの関連する I/O リクエストペケット、および関連するファスト I/O パスは、これらのワーカーデバイスを通じてルーティングされます。

ブート時にロードされても、カーネルレベルのコードインジェクションエンジンはそのシステムで explorer.exe が開かれた後にのみ有効になります。このデザインは、高価な監視とパッチングをデスクトップ環境が利用可能になるまで延期し、コアブートパフォーマンスへの不必要的影響を回避します。

インテルコンパイラアティファクトによる狭いターゲティング

有効化された後、fast16.sys は実行可能ファイルに焦点を当てます。ファイルは以下の 2 つの基準を満たす場合、正当な標的です:

  1. ファイル名は
    .EXE
    で終わります。
  2. 最後の PE セクションヘッダーの直後には、
    Intel
    で始まる可読な ASCII 文字列があります。

この選択ロジックは、インテル C/C++ コンパイラでコンパイルされた実行可能ファイルを指しており、コンパイラメタデータをその領域に配置することがよくあります。それは開発者がターゲットソフトウェアがこのツールチェーンで構築されていることを知っていたことを示唆しています。

これらの基準を満たすファイルに対して、ドライバはメモリ内で PE ヘッダーの修飾を行います。

.xdata
および
.pdata
の 2 つの追加セクションを注入し、元のコードセクションのバイトでそれらを埋め、セクション数を増加させながらコードのクリーンコピーを保持します。意図はおそらく安定性を向上させる一方で広範なパッチングを可能にすることでしたが、元のターゲットバイナリを特定せずに残っているのは情報に基づいた仮説です。

ルール駆動型のパッチングと浮動小数点の腐敗

パッチングエンジンは、パフォーマンスが最適化されたステートフルスキャンおよび修飾ツールである最小限のものにすぎません。101 のルールセットで構成されており、それぞれパターンマッチングおよび置換ロジックを含んでいます。パフォーマンスを維持するために、エンジンには:

  1. 256 バイトのディスパッチアレイを使用し、少数のユニークパターンの始点バイト値のみをフラグします。
  2. パターン内のワイルドカードを許可する単一のルールが同じコードの複数のコンパイラ最適化バリアントに一致できるようにしています。
  3. ステートフラグをサポートし、いくつかのルールが設定またはチェックできるようにし、高度なアンチウイルススキャンエンジンで使用されるような多段階の修飾シーケンスを可能にします。

パッチされた大部分のパターンは、実行フローをハイジャックまたは影響を与えるために使用される標準的な x86 コードに対応しています。注入されたブロックの一つが異なります。それは内部配列での精密算術およびスケール値に専念する、より大きく複雑な浮動小数点演算器 (FPU) 命令のシーケンスです。このコードはコードフローハイジャックや他の典型的な悪意あるコードインジェクションとは無関係のスタンドアロンの数学的計算関数です。

ドライバが何を見ていたかを理解するために、パッチングルールをヘキサルデキサデシマライズ YARA シグネチャに変換し、それらを大きな時代適合的なコーパスに対して実行しました。結果はヒット率が非常に低いことを示しました:2 つ以上のパターンに一致するファイルは 10 つ未満でした。しかしながら、これらの一致は明確なテーマを共有していました。それは土木工学、物理学、および物理プロセスシミュレーションなどの特殊分野の精密計算ツールでした。

fast16.sys の FPU パッチは、これらのルーチンを制御された方法で腐敗させるように書かれており、代替出力を生成します。これは fast16 を一般的なスパイウェアツールの世界から引き抜き、戦略的妨害のカテゴリーへと移動させます。物理世界の計算に系統的なエラーを導入することで、フレームワークは科学的研究プログラムを損傷または遅らせるか、工学システムを時間の経過とともに劣化させるか、あるいは甚大な被害に貢献することができました。

この種の妨害作戦は、別のシステム上で計算を検証することによって阻止されました。複数のシステムが同じネットワークおよびセキュリティ姿勢を共有する環境では、ワーム可能なキャリアはこれらのシステムにも悪意のあるドライバモジュールを展開し、独立した計算が腐敗された出力から逸脱する可能性を低減しました。 現時点で、我々は意図された妨害の性質を理解するためにすべてのターゲットバイナリを特定することができませんでした。我々はより大きな情報セキュリティ研究コミュニティからの貢献を歓迎し、これらのパターンを検出するための YARA ルールを以下の付録に含まれています。

データパッチングエンジン

深い分析の後でも、fast16 のドライバは欺瞞的に単純にしか見えません。その最小限のコードの下には、ファイルがディスクから読み込まれる際に静かに実行可能コードをパッチするルール駆動型のメモリ内エンジンがあります。このエンジンは、おそらく重要になる可能性が高いバイトのみを検査するように、緊密なパターンスマッチングルール(およそ 100 よりもわずかに多い)と小さいディスパッチテーブルに依存しています。大部分のパターンは通常の x86 命令に対応していますが、一つが際立っています:内部配列への値のスケールに専念するより大きい浮動小数点 (FPU) コードブロックです。この注入されたルーティンは関数に渡された 3 つの内部配列の値を微細に変化させます。

パッチターゲット

意図的な犠牲者に関する我々の最も良い手がかりは、これらのパターンを大きな時代の適合的なソフトウェアコーパスに対してマッチングすることによって得られます。最強的重なりは、2000 年代半ばの高度な精密工学およびシミュレーションスイートの 3 つに指します:LS-DYNA 970、PKPM、ならびに MOHID 水力学モデリングプラットフォーム。これらはすべてクラッシュテスト、構造的解析、および環境モデリングなどのシナリオに使用されます。

  • LS-DYNA 特に、JCPOA セクション T のイランが疑われる違反についての公的なレポートで言及されています。核兵器開発に関連するコンピューターモデリングの研究で使用されました。

コンパイラフットプリントおよび系譜

我々がこの不寻常なコンポーネントセットの系統を理解しようとした際、いくつかの変形に気づきました。バイナリ内の

@(#)par.h $Revision: 1.3 $
のような文字列は不寻常なソース制御慣行を指しています。
@(#)
プレフィックスは、1970 および 1980 年代の初期 UNIX ソースコード制御システム (SCCS) または改修制御システム (RCS) ツールの特性です。これらのマーカーは実行に影響を与えず、現代の Windows カーネルドライバでは冗長です。

2000 年代半ばの Windows コードに SCCS/RCS アティファクトを見つけることは稀です。これは強く示唆しており、このフレームワークの著者らは典型的な Windows だけの開発者ではなかったということです。それ代わりに、彼らは古い、高セキュリティ Unix 環境、しばしば政府または軍隊グレードの工作与関連付けられた文化とツールチェーンを持つ長期的エンジニアリングだったように見えます。この詳細は、fast16 がリソースが多く、長期にわたる開発プログラムから来たという見方を支持します。

現代の影響を持つデジタル化石

svcmgmt.exe はほぼ 10 年前に VirusTotal にアップロードされました。それでもほとんど検出を受けません:一つのエンドはそれを一般的に悪意あるとして分類し、それ自体も限られた確信度を持っています。その時代の最も洗練された妨害ドライバの一つを展開するステルスな自己伝播キャリアにとって、その検出記録は顕著です。

ShadowBrokers『Territorial Dispute』(TeDi) シグネチャへの出現とともに、fast16 は深刻な秘密のサイバー妨害作戦の開発タイムラインに関する我々の歴史的理解を再評価するよう強制します。コードは以下のことを示しています:

  • ステートグレードの物理ターゲットに対するサイバー妨害は 2000 年代半ばまでに完全に開発および展開されていました。
  • 組み込みスクリプティングエンジン、狭いコンパイラベースターゲティング、カーネルレベルパッチングは、よりよく知られたファミリーよりもはるかに先行して一貫したアーキテクチャを形成していました。
  • エコシステム内の最も重要な攻撃的機能のいくつかはまだ「古いけど興味深い」というサンプルとしてコレクションに残っている可能性があり、その真の重要性を強調する文脈が欠落しています。

内部では、操作はブランドの面でほとんど何も残しません。限られた人間の読めるラベルの一つはユーモラスで控えめです:

*** Nothing to see here – carry on ***

数年間は公的な記事なし、キャンペーン名なし、そしてこのフレームワークに関連する头条ニュース事象なしでした。

APT 進化のより広い図において、fast16 は初期に主に無視された開発プログラムと後期、より広く文書化された Lua および LuaJIT ベースのツールキットの間を埋める架橋となります。それは高度なアクターが長期インプラント、妨害、ならびに国家がソフトウェアを通じて物理世界を再構築する能力についてどのように考えるかを理解するための参考点です。fast16 は今日の秘密性の成功まで新しい形の国家術の沈黙の予言者でした。

謝辞

SentinelLABS は、この道のりを通じて貢献した Silas Cutler および Costin Raiu に感謝いたします。我々はこの研究を、多くのこの発見を可能にした技術を開発した APT ハンター extraordinaire な Sergey Mineev の記憶に捧げます。


付録:パッチングエンジンパターンとターゲット候補

抽出されたマッチパターン

  • 48 89 84 24 9C 00 00 00 4B 0F 8F 79 FF FF FF 00
  • D8 E1 D9 5D FC D9 04 00
  • 55 8B EC 83 EC 14 53 56 57 8B 3D ?? ?? ?? ?? 8B 0D 00
  • 89 4D C8 8B FB 8B C8 00
  • 8B 4C 24 0C 8B 01 83 F8 63 00
  • 39 2D ?? ?? ?? ?? 0F 84 F4 00 00 00 8B 35 ?? ?? ?? ?? 2B 35
  • 7C 02 89 C6 89 35 ?? ?? ?? ?? 89 B4 24 D0
  • 83 3D ?? ?? ?? ?? 00 0F 84 70 BD FF FF 00
  • BE 07 00 00 00 BF 04 00 00 00 BB 02 00 00 00 00
  • 8B 4D 10 C1 E2 04 8B 19 83 EA 30 8B CB 49
  • 8D 1D ?? ?? ?? ?? 52 8D 05 ?? ?? ?? ?? 51 8D 15 ?? ?? ?? ?? 8D 0D ?? ?? ?? ?? 53 50 52 51 56 57 E8 ?? ?? ?? ?? 83 C4 38 EB 0E 83 EC 04 00
  • 0F 8F A5 00 00 00 A1 ?? ?? ?? ?? 83 F8 14 7D 0D
  • 8B 5D B0 0F 85 ?? ?? ?? ?? 8D 34 9D ?? ?? ?? ?? 8D 14 9D 00 0F 8E 1B 03 00 00 D9 05
  • 8B 45 44 6B 00 04 D9 05 ?? ?? ?? ?? D8 B0
  • E9 7E 04 00 00 8B 74 24 1C 8B 54 24 14 85
  • 83 39 63 0F 85 21 03 00 00 8B EE 85 F6 0F
  • 85 DB 8B 55 D4 75 2C 89 35 00
  • 75 18 8D 35 ?? ?? ?? ?? 56 8D 3D 00
  • 8D 1D ?? ?? ?? ?? 52 8D 05 ?? ?? ?? ?? 51 8D 15 ?? ?? ?? ?? 8D 0D ?? ?? ?? ?? 53 50 52 51 56 57 E8 ?? ?? ?? ?? EB 0E 83 EC 04 56 57 53 E8 95 00
  • D8 34 85 ?? ?? ?? ?? 8B 44 ?? ?? 8B CA 00
  • 8B 5D 0C 8B 55 08 8B 36 8B 00
  • 8D 04 BD ?? ?? ?? ?? 03 DF 00
  • 8B EE 85 F6 0F 8E ?? ?? ?? ?? 8D 1C BD 00
  • D9 04 9D ?? ?? ?? ?? 83 ED 04 05 10 00 00 00 D8 0D 00
  • 75 2C 89 35 ?? ?? ?? ?? 89 05 ?? ?? ?? ?? 89 15
  • 89 55 F4 8B F9 8B D3 03 FB C1 E2 02 89 35
  • 40 23 72 65 63 24 65 69 69 6E 20 2E 30 24 D9 5D 00 D9 03 D8 0D ?? ?? ?? ?? D8 0D 00
  • DF E0 F6 C4 41 A1 ?? ?? ?? ?? 74 5A
  • FF 35 ?? ?? ?? ?? E8 ?? ?? ?? ?? 9D D9 E0 D9 1D ?? ?? ?? ?? 8B 4C
  • 6A 46 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 6A 03
  • D8 05 ?? ?? ?? ?? D9 55 00 9C
  • C2 08 00 A1 ?? ?? ?? ?? 8B 0C 85 ?? ?? ?? ?? 89 0E 00
  • 83 EC 04 53 E8 ?? ?? ?? ?? EB 09 83 EC 04 53 00
  • D8 1D ?? ?? ?? ?? DF E0 F6 C4 41 B8 00 00 00 00 75 05 B8 01 00 00 00 85 C0 74 11 6A 29 00
  • 2B DA 89 3C 03 83 3D 00
  • D9 5D C0 8B 4D C0 D9 45 E0 89 0E 00
  • 8B 05 ?? ?? ?? ?? 8B 0D ?? ?? ?? ?? 0F 85 7E 00 00 00 0F AF 15 00
  • B9 01 00 00 00 C1 E7 02 8B BF ?? ?? ?? ?? 8B D7 85 FF 8B 55 30 8B 45 30 D8 C9 8B 75 2C 00 9A 8B 00 00 00 1B 00 90 0F 94 C3 0B D8 33 D2 83 3D 00
  • 2B FB 8B DE C1 E3 02 89 7D A0 03 5D A0 8B 03 F7 F7 DB 0C 02 89 35
  • 0F 0F 94 C0 23 C3 33 D2
  • 8B 55 30 8B 75 2C D8 C9 8B 45 30 00
  • DD 05 ?? ?? ?? ?? 8B 05 ?? ?? ?? ?? 8B 15 ?? ?? ?? ?? 0F AF 05 ?? ?? ?? ?? 8B 1D ?? ?? ?? ?? 0F AF 15
  • 68 28 00 00 00 57 E8 ?? ?? ?? ?? 8B 1D ?? ?? ?? ?? 8B 35 ?? ?? ?? ?? 0F AF 1D ?? ?? ?? ?? 8B 3D ?? ?? ?? ?? 8B 05
  • 8B 75 38 8B 4D 34 D8 C9 8B 00
  • 8B 55 88 8B 5D B0 83 7D 84 01
  • 55 8B EC 83 EC 2C 33 D2 53 56 57 8B
  • 55 8B EC 83 EC 2C B9 46 00 00 00 53 56 57 8B 00

パッチターゲット候補 1: LS-DYNA 970 ソフトウェアスイート

LS-DYNA スイートは、極端な条件下で物質および構造がどのように振る舞うかを解析するために使用される強力な工学シミュレーションソフトウェアです。このツールは、高価または危険な実験を回避しながら物理イベントを模擬し条件をモデル化するエンジニアによって使用されます。 LS-DYNA は、速度で発生する動的かつ複雑な出来事(自動車事故、爆発、衝撃、金属成形、および製造プロセスなど)を処理するように設計されています。それは自動車の会社、航空宇宙工学、防衛および軍事研究、ならびに製造および材料科学アプリケーションによって一般的に使用されました。LS-DYNA は 1976 年から開発されてきました。

プロパティ
MD51d2f32c57ae2f2013f513d342925e972
SHA12fa28ef1c6744bdc2021abd4048eefc777dccf22
SHA2565966513a12a5601b262c4ee4d3e32091feb05b666951d06431c30a8cece83010
File Size5,225,591 bytes
Link time2003-10-24 16:34:57 UTC
File TypeMS Windows 4.00 (console) 用の PE32 エグzekutabel、Intel i386、7 セクション

パッチターゲット候補 2: PKPM ソフトウェアスイート

実践的な構造設計および施工ソフトウェア(PKPM)は、中国でのビルデザインで広く使用される構造化工学 CAD ソフトウェアスイートです。このスイートは、梁および柱の構造的レイアウトおよび鉄筋せん断設計から高層ビルの地震、風、負荷分析までを含む構造物建築デザインの完全ライフサイクルをカバーする複数の実行可能モジュールを包括しています。 PKPM のコア分析エンジン(3 次元ワイヤドエレメントの空間解析:SATWE)は、床、梁、柱、壁、および枠組みにわたる 3 次元構造的処理を処理します。PKPM は中国の土木工学で広範に使用されています。

PKPM コンクリートコードせん断設計モジュール

プロパティ
MD5af4461a149bfd2ba566f2abefe7dcde4
SHA1586edef41c3b3fba87bf0f0346c7e402f86fc11e
SHA25609ca719e06a526f70aadf34fb66b136ed20f923776e6b33a33a9059ef674da22
File Size7,716,864 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、6 セクション
Link Time2011-08-26 10:58:17 UTC

PKPM ビルド構造 CAD モジュール

プロパティ
MD549a8934ccd34e2aaae6ea1e6a6313ffe
SHA13ce5b358c2ddd116ac9582efbb38354809999cb5
SHA2568b018452fdd64c346af4d97da420681e2e0b55b8c9ce2b8de75e330993b759a0
File Size11,849,728 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、4 セクション
Link Time2005-12-01 08:35:46 UTC

PKPM SATWE 構造的解析エンジン

プロパティ
MD52717b58246237b35d44ef2e49712d3a2
SHA1d475ace24b9aedebf431efc68f9db32d5ae761bd
SHA256bd04715c5c43c862c38a4ad6c2167ad082a352881e04a35117af9bbfad8e5613
File Size9,908,224 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、6 セクション
Link Time2011-01-12 06:37:39 UTC

###追加 PKPM CAD ファイル

プロパティ
MD5daea40562458fc7ae1adb812137d3d05
SHA11ce1111702b765f5c4d09315ff1f0d914f7e5c70
SHA256da2b170994031477091be89c8835ff9db1a5304f3f2f25344654f44d0430ced1
File Size8,454,144 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、7 セクション
Link Time2012-11-29 03:10:12 UTC
プロパティ
MD5e0c10106626711f287ff91c0d6314407
SHA1650fc6b3e4f62ecdc1ec5728f36bb46ba0f74d05
SHA25606361562cc53d759fb5a4c2b7aac348e4d23fe59be3b2871b14678365283ca47
File Size16,355,328 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、5 セクション
Link Time2012-07-07 08:47:11 UTC
プロパティ
MD52740a703859cbd8b43425d4a2cacb5ec
SHA1ca665b59bc590292f94c23e04fa458f90d7b20c9
SHA256aeaa389453f04a9e79ff6c8b7b66db7b65d4aaffc6cac0bd7957257a30468e33
File Size16,568,320 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、5 セクション
Link Time2014-12-30 03:23:43 UTC
プロパティ
MD5ebff5b7d4c5becb8715009df596c5a91
SHA1829f8be65dfe159d2b0dc7ee7a61a017acb54b7b
SHA25637414d9ca87a132ec5081f3e7590d04498237746f9a7479c6b443accee17a062
File Size8,089,600 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、6 セクション
Link Time2009-04-22 01:46:46 UTC
プロパティ
MD5cb66a4d52a30bfcd980fe50e7e3f73f0
SHA1e6018cd482c012de8b69c64dc3165337bc121b86
SHA25666fe485f29a6405265756aaf7f822b9ceb56e108afabd414ee222ee9657dd7e2
File Size9,219,072 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、8 セクション
Link TimeN/A

###追加 PKPM CAD ファイル

プロパティ
MD5075b4aa105e728f2b659723e3f36c72c
SHA1145ef372c3e9c352eaaa53bb0893749163e49892
SHA256c11a210cb98095422d0d33cbd4e9ecc86b95024f956ede812e17c97e79591cfa
File Size6,852,608 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、6 セクション
Link Time2012-06-18 10:01:54 UTC
プロパティ
MD5cf859f164870d113608a843e4a9600ab
SHA1952ed694b60c34ba12df9d392269eae3a4f11be4
SHA2567e00030a35504de5c0d16020aa40cbaf5d36561e0716feb8f73235579a7b0909
File Size8,392,704 bytes
File TypeMS Windows 4.00 (GUI) 用の PE32 エグzekutabel、Intel i386、6 セクション
Link Time2012-11-29 03:10:12 UTC

候補 3: MOHID ソフトウェアスイート

Modelo Hidrodinâmico(ポルトガル語の「水力学モデル」または MOHID)は、ポートガルのリサボンにあるインスチチュートスーペリオールテクニックの MARETEC(海洋および環境テクノロジー研究センター)によって開発されたオープンソースの水モデリングシステムです。このソフトウェアは海洋および沿岸水のモデリングに使用され、水力学、水質シミュレーション、堆積物輸送、石油流出モデリング、およびラグランジュ粒子追跡をカバーしています。 現時点で我々はターゲットを確実には識別することはできず、より広い研究コミュニティからの貢献を歓迎して、このソフトウェアに対する攻撃の意図された効果の理解を支援します。

プロパティ
MD5f4dbbb78979c1ee8a1523c77065e18a5
SHA19e089a733fb2740c0e408b2a25d8f5a451584cf6
SHA256e775049d1ecf68dee870f1a5c36b2f3542d1182782eb497b8ccfd2309c400b3a
File Size5,443,584 bytes
File TypeMS Windows 4.00 (console) 用の PE32 エグzekutabel、Intel i386、3 セクション
Link Time2002-10-18 09:29:54 UTC

インジケーターオブコンプロマイズ

NameMD5SHA1SHA256
fast16.sys0ff6abe0252d4f37a196a1231fae5f2692e9dcaf7249110047ef121b7586c81d4b8cb4e507c69fc33271cf5a2ce03ac1fed7a3b16357aec093c5bf9ef61fbfa4348d0529
connotify.dll410eddfc19de44249897986ecc8ac449675cb83cec5f25ebbe8d9f90dea3d836fcb1c2348fcb4d3d4df61719ee3da98241393779290e0efcd88a49e363e2a2dfbc04dae9
svcmgmt.exedbe51eabebf9d4ef9581ef99844a2944de584703c78a60a56028f9834086facd1401b3559a10e1faa86a5d39417cae44da5adf38824dfb9a16432e34df766aa1dc9e3525

YARA ルール

import "pe"

rule apt_fast16_carrier {
    meta:
        author = "SentinelLABS/vk"
        date = "2025-04-07"
        description = "Catches fast16 carrier, its Lua payload, and plaintext variants"
        hash = "9a10e1faa86a5d39417cae44da5adf38824dfb9a16432e34df766aa1dc9e3525"
    strings:
        $lua_magic = { 1B 4C 75 61 } //Lua bytecode magic

        //Decrypted strings
        $s1 = "build_wormlet_table"
        $s2 = "unpropagate"
        $s3 = "worm_install_failure_action"
        $s4 = "implant_install_failure_action"
        $s5 = "scm_wormlet_propagate_system"
        $s6 = "scm_wormlet_install"
        $s7 = "scm_wormlet_init"
        $s8 = "scm_copy_payload"
        $s9 = "get_logged_on_user"
        $s10 = "logged_on_program"
        $s11 = "phase_1_prop_delay"
        $s12 = "connotify_pipename"
        $s13 = "cndll_internal_name"
        $s14 = "connotify_provider_key"
        $s15 = "check_implant_reg_values"
        $s16 = "set_implant_reg_values"
        $s17 = "install_implant"
        $s18 = "implant_installed"
        $s19 = "implant_internal_name"
        $s20 = "implant_files"
        $s21 = "implant_owner"
        $s22 = "install_worm"
        $s23 = "start_worm"
        $s24 = "implant_install_failure_action"
        $s25 = "worm_install_failure_action"
        $s26 = "ok_to_propagate"
        $s27 = "no_firewall_check"
        $s28 = "scm_wormlet"
        $s29 = "implant_install_failure_action"
        $s30 = "worm_install_failure_action"

        //Encrypted strings
        $e1 = { 98 18 A1 94 24 E3 A2 4C  61 C8 AE 04 DC 4E 03 CD 0D 9D F0 }
        $e2 = { E8 76 53 6D D4 B9 6E 28  6C 5D C2 }
        $e3 = { 7D B7 14 73 F0 C0 4D 53  BB F7 0A 4A 3A 63 05 92  EC 0A 11 BC 22 59 99 05  72 05 19 }
        $e4 = { 88 5F 1B E4 45 56 75 4B  A5 3D 19 0B 3F 30 5A 85  E2 BD D0 E7 1C 13 D0 1D  BD D8 CF A1 88 DB }
        $e5 = { 88 1E 54 4E 00 C1 EF 79  AA AD 9F 50 27 B5 B8 4C  32 06 D2 7B 32 E3 AF D6  DC D2 BB 83 }
        $e6 = { 39 F9 BC E9 27 70 C4 3E  04 2A 7D E1 68 67 B7 ED  D4 41 6A }
        $e7 = { 13 FC 24 20 1F 20 74 1B  E5 5F 59 56 D7 61 3E BD }
        $e8 = { EF 94 49 63 33 41 62 F2  26 A6 48 DE 6D 7B A4 CF }
        $e9 = { 36 5F 5E E5 C1 1A 17 6A  4E B9 94 52 1B DC C6 60  CA C7 }
        $e10 = { B3 9C A3 F1 12 CC 52 74  34 5F 87 43 32 21 36 7B 2A }

        $rk1 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Symantec\\InstalledApps"
        $rk2 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Sygate Technologies, Inc.\\Sygate Personal Firewall"
        $rk3 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\TrendMicro\\PFW"
        $rk4 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Zone Labs\\TrueVector"
        $rk5 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\F-Secure"
        $rk6 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Network Ice\\BlackIce"
        $rk7 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\McAfee.com\\Personal Firewall"
        $rk8 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\ComputerAssociates\\eTrust EZ Armor"
        $rk9 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\RedCannon\\Fireball"
        $rk10 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Kerio\\Personal Firewall 4"
        $rk11 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\KasperskyLab\\InstalledProducts\\Kaspersky Anti-Hacker"
        $rk12 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Tiny Software\\Tiny Firewall"
        $rk13 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Look n Stop 2.05p2"
        $rk14 = "HKEY_CURRENT_USER\\SOFTWARE\\Soft4Ever"
        $rk15 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Norman Data Defense Systems"
        $rk16 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Agnitum\\Outpost Firewall"
        $rk17 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Panda Software\\Firewall"
        $rk18 = "HKEY_LOCAL_MACHINE\\SOFTWARE\\InfoTeCS\\TermiNET"

        $c1 = { 86 3A D6 02 } // A crypto constant
        $c2 = { 01 E1 F5 05 } // A crypto constant

        $code1 = { 8B 00           // mov     eax, [eax]
        2D 2F 34 21 33  // sub     eax, 3321342Fh
        } // Code to deobfuscate real storage container length

        $stor1 = { CC 00 00 00 05 00 00 00 66 69 6C 65 00 CD 00 00 00 } //Storage record with file string
    condition:
        ( uint16(0)==0x5a4d and filesize < 10MB and (
        ( 3 of ($s*) ) or
        ( 12 of ($rk*) ) or
        ( any of ($e*) ) or
        ( all of ($c*) and @c2-@c1 < 0x100 ) or
        ( $code1 ) or
        ( $stor1 )) ) or
        ( $lua_magic and 7 of ($s*) )
}

rule apt_fast16_driver {
    meta:
        author = "SentinelLABS/vk"
        last_modified = "2026-04-15"
        description = "Catches fast16 driver or related project files"
        hash = "07c69fc33271cf5a2ce03ac1fed7a3b16357aec093c5bf9ef61fbfa4348d0529"
    strings:
        $a1 = "@(#)foo.c : "
        $a2 = "@(#)par.h : "
        $a3 = "@(#)pae.h : "
        $a4 = "@(#)fao.h : "
        $a5 = "@(#)uis.h : "
        $a6 = "@(#)ree.h : "
        $a7 = "@(#)fir.h : "
        $a8 = "@(#)fir.c : "
        $a9 = "@(#)par.h : "
        $a10 = "@(#)pae.h : "
        $a11 = "@(#)fao.h : "
        $a12 = "@(#)uis.h : "
        $a13 = "@(#)ree.h : "
        $a14 = "@(#)fir.h : "
        $a15 = "@(#)myy.h : "
        $a16 = "@(#)fic.h : "
        $a17 = "@(#)ree.h : "
        $a18 = "@(#)ree.c : "
        $dev1 = "\\Device\\fast16"
        $dev2 = "\\??\\fast16"
        $pdb1 = "C:\\buildy\\"
        $pdb2 = "driver\\fd\\i386\\fast16.pdb"
        $devtype = { 68 7C A5 00 00 } // push 0A57Ch ; DeviceType
        $api1 = {50 C6 45 D4 16 C6 45 D5 2B C6 45 D6 12 C6 45 D7 3F C6 45 D8 3F C6 45 D9 3C C6 45 DA 30 C6 45 DB 32 C6 45 DC 27 C6 45 DD 36 C6 45 DE 03 C6 45 DF 3C C6 45 E0 3C C6 45 E1 3F C6 45 E2 53 } // push xored "ExAllocatePool"
        $api2 = {C6 45 A8 16 C6 45 A9 2B C6 45 AA 12 C6 45 AB 3F C6 45 AC 3F C6 45 AD 3C C6 45 AE 30 C6 45 AF 32 C6 45 B0 27 C6 45 B1 36 C6 45 B2 03 C6 45 B3 3C C6 45 B4 3C C6 45 B5 3F C6 45 B6 04 C6 45 B7 3A C6 45 B8 27 C6 45 B9 3B C6 45 BA 07 C6 45 BB 32 C6 45 BC 34 C6 45 BD 53} // push xored "ExAllocatePoolWithTag"
        $api3 = {C6 45 E4 16 C6 45 E5 2B C6 45 E6 15 C6 45 E7 21 C6 45 E8 36 C6 45 E9 36 C6 45 EA 03 C6 45 EB 3C C6 45 EC 3C C6 45 ED 3F C6 45 EE 53} // push xored "ExFreePool"
        $api4 = {C6 45 C0 16 C6 45 C1 2B C6 45 C2 15 C6 45 C3 21 C6 45 C4 36 C6 45 C5 36 C6 45 C6 03 C6 45 C7 3C C6 45 C8 3C C6 45 C9 3F C6 45 CA 04 C6 45 CB 3A C6 45 CC 27 C6 45 CD 3B C6 45 CE 07 C6 45 CF 32 C6 45 D0 34 C6 45 D1 53} // push xored "ExFreePoolWithTag"
    condition:
        filesize < 10MB and 
        ( uint16(0)==0x5a4d and
        ( ( 2 of ($pdb*) ) or
        ( $pdb1 and 1 of ($a*) ) or
        ( #devtype == 3 and
        pe.machine == pe.MACHINE_I386 and
        pe.subsystem == pe.SUBSYSTEM_NATIVE) or
        any of ($api*) or
        2 of ($dev*))) or 
        ( 6 of ($a*))
}

rule clean_fast16_patchtarget {
    meta:
        author = "SentinelLABS/vk"
        last_modified = "2026-04-15"
        description = "Detects fast16 patch target software (most probably clean)"
        hash = "8fcb4d3d4df61719ee3da98241393779290e0efcd88a49e363e2a2dfbc04dae9"
    strings:
        $el0 = { 48 89 84 24 9C 00 00 00 4B 0F 8F 79 FF FF FF 00 }
        $el10 = { D8 E1 D9 5D FC D9 04 00 }
        $el12 = { 55 8B EC 83 EC 14 53 56 57 8B 3D ?? ?? ?? ?? 8B 0D 00 }
        $el13 = { 89 4D C8 8B FB 8B C8 00 }
        $el14 = { 8B 4C 24 0C 8B 01 83 F8 63 00 }
        $el16 = { 39 2D ?? ?? ?? ?? 0F 84 F4 00 00 00 8B 35 ?? ?? ?? ?? 2B 35 }
        $el2 = { 7C 02 89 C6 89 35 ?? ?? ?? ?? 89 B4 24 D0 }
        $el23 = { 83 3D ?? ?? ?? ?? 00 0F 84 70 BD FF FF 00 }
        $el25 = { BE 07 00 00 00 BF 04 00 00 00 BB 02 00 00 00 00 }
        $el26 = { 8B 4D 10 C1 E2 04 8B 19 83 EA 30 8B CB 49 }
        $el28 = { 8D 1D ?? ?? ?? ?? 52 8D 05 ?? ?? ?? ?? 51 8D 15 ?? ?? ?? ?? 8D 0D ?? ?? ?? ?? 53 50 52 51 56 57 E8 ?? ?? ?? ?? 83 C4 38 EB 0E 83 EC 04 00 }
        $el3 = { 0F 8F A5 00 00 00 A1 ?? ?? ?? ?? 83 F8 14 7D 0D }
        $el30 = { 8B 5D B0 0F 85 ?? ?? ?? ?? 8D 34 9D ?? ?? ?? ?? 8D 14 9D 00 0F 8E 1B 03 00 00 D9 05 }
        $el31 = { 8B 45 44 6B 00 04 D9 05 ?? ?? ?? ?? D8 B0 }
        $el32 = { E9 7E 04 00 00 8B 74 24 1C 8B 54 24 14 85 }
        $el33 = { 83 39 63 0F 85 21 03 00 00 8B EE 85 F6 0F }
        $el34 = { 85 DB 8B 55 D4 75 2C 89 35 00 }
        $el36 = { 75 18 8D 35 ?? ?? ?? ?? 56 8D 3D 00 }
        $el37 = { 8D 1D ?? ?? ?? ?? 52 8D 05 ?? ?? ?? ?? 51 8D 15 ?? ?? ?? ?? 8D 0D ?? ?? ?? ?? 53 50 52 51 56 57 E8 ?? ?? ?? ?? EB 0E 83 EC 04 56 57 53 E8 95 00 }
        $el39 = { D8 34 85 ?? ?? ?? ?? 8B 44 ?? ?? 8B CA 00 }
        $el4 = { 8B 5D 0C 8B 55 08 8B 36 8B 00 }
        $el40 = { 8D 04 BD ?? ?? ?? ?? 03 DF 00 }
        $el41 = { 8B EE 85 F6 0F 8E ?? ?? ?? ?? 8D 1C BD 00 }
        $el42 = { D9 04 9D ?? ?? ?? ?? 83 ED 04 05 10 00 00 00 D8 0D 00 }
        $el43 = { 75 2C 89 35 ?? ?? ?? ?? 89 05 ?? ?? ?? ?? 89 15 }
        $el45 = { 89 55 F4 8B F9 8B D3 03 FB C1 E2 02 89 35 }
        $el46 = { 40 23 72 65 63 24 65 69 69 6E 20 2E 30 24 D9 5D 00 D9 03 D8 0D ?? ?? ?? ?? D8 0D 00 }
        $el49 = { DF E0 F6 C4 41 A1 ?? ?? ?? ?? 74 5A }
        $el51 = { FF 35 ?? ?? ?? ?? E8 ?? ?? ?? ?? 9D D9 E0 D9 1D ?? ?? ?? ?? 8B 4C }
        $el53 = { 6A 46 68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 6A 03 }
        $el56 = { D8 05 ?? ?? ?? ?? D9 55 00 9C }
        $el59 = { C2 08 00 A1 ?? ?? ?? ?? 8B 0C 85 ?? ?? ?? ?? 89 0E 00 }
        $el6 = { 83 EC 04 53 E8 ?? ?? ?? ?? EB 09 83 EC 04 53 00 }
        $el61 = { D8 1D ?? ?? ?? ?? DF E0 F6 C4 41 B8 00 00 00 00 75 05 B8 01 00 00 00 85 C0 74 11 6A 29 00 }
        $el63 = { 2B DA 89 3C 03 83 3D 00 }
        $el68 = { D9 5D C0 8B 4D C0 D9 45 E0 89 0E 00 }
        $el70 = { 8B 05 ?? ?? ?? ?? 8B 0D ?? ?? ?? ?? 0F 85 7E 00 00 00 0F AF 15 00 }
        $el73 = { B9 01 00 00 00 C1 E7 02 8B BF ?? ?? ?? ?? 8B D7 85 FF 8B 55 30 8B 45 30 D8 C9 8B 75 2C 00 9A 8B 00 00 00 1B 00 90 0F 94 C3 0B D8 33 D2 83 3D 00 }
        $el75 = { 2B FB 8B DE C1 E3 02 89 7D A0 03 5D A0 8B 03 F7 F7 DB 0C 02 89 35 }
        $el80 = { 0F 0F 94 C0 23 C3 33 D2 }
        $el81 = { 8B 55 30 8B 75 2C D8 C9 8B 45 30 00 }
        $el83 = { DD 05 ?? ?? ?? ?? 8B 05 ?? ?? ?? ?? 8B 15 ?? ?? ?? ?? 0F AF 05 ?? ?? ?? ?? 8B 1D ?? ?? ?? ?? 0F AF 15 }
        $el89 = { 68 28 00 00 00 57 E8 ?? ?? ?? ?? 8B 1D ?? ?? ?? ?? 8B 35 ?? ?? ?? ?? 0F AF 1D ?? ?? ?? ?? 8B 3D ?? ?? ?? ?? 8B 05 }
        $el94 = { 8B 75 38 8B 4D 34 D8 C9 8B 00 }
        $el96 = { 8B 55 88 8B 5D B0 83 7D 84 01 }
        $el97 = { 55 8B EC 83 EC 2C 33 D2 53 56 57 8B }
        $el99 = { 55 8B EC 83 EC 2C B9 46 00 00 00 53 56 57 8B 00 }
    condition:
        filesize < 20MB and
        uint16(0) == 0x5A4D and
        2 of them
}

rule apt_fast16_patch {
    meta:
        author = "SentinelLABS/vk"
        last_modified = "2026-04-15"
        description = "Detects the fast16 patch code. May be present in statically patched files or memory dumps."
        hash = "0ff6abe0252d4f37a196a1231fae5f26"
    strings:
        $p1 = { 55 88 50 53 52 51 8D 64 24 94 DD 34 24 51 E8 ?? ?? ?? ?? 59 81 E9 14 00 00 00 8B 99 50 0F 00 00 83 FB 28 76 04 6A 31 }
        $p2 = { 59 81 E9 EE 00 00 00 6A 02 BB B4 05 00 00 01 CB C6 03 EB 43 C6 03 15 8B 44 24 78 83 C0 07 89 81 EC 07 00 00 E9 BF 02 00 00 }
        $p3 = { 50 53 52 51 E8 ?? ?? ?? ?? 59 81 E9 78 01 00 00 D9 99 C4 0F 00 00 8D 64 24 94 DD 34 24 FF B1 C4 0F 00 00 6A 02 EB 2D }
    condition:
        any of them
}

同じ日のほかのニュース

一覧に戻る →

2026/04/27 5:41

「Friendster を 3 万ドルで購入しました。そこで私がどのような取り組みを行っていますか?」

## Japanese Translation: 最初のソーシャルネットワーク、Friendster は 2002 年 3 月 22 日に発売され、2015 年にオフラインになり、ビジネス上の圧力により 2018 年に会社は廃止されました。2023 年 10 月に、前所有者から 7,456 ドルで競標で購入した previously acquired のドメイン friendster.com は、Park.io の創始者によって再活性され、その額は Bitcoin で約 20,000 ドル(当初のオファーは 40,000 ドル)および年間の広告収益で約 9,000 ドルに合意されました。著者はユーザーデータを販売せず、トラッキングアルゴリズムを使用せず、広告を表示せずに Friendster を再構築しました。iOS アプリが作成され、友人を追加するには実際に携帯電話同士をタップさせる必要がありましたが、初期には App Store ガイドライン 4.2 に基づく拒否を受け、その後デザインを変更してコンタクト中心の接続方法を維持しつつオープンな登録を許可しました。改定版アプリは厳格な審査プロセスを経て現在 Apple App Store で公開されています。主な機能には「友達の友達」ビューや、1 年間アクティブでないユーザーとのリンクを徐々に弱める「Fading connections」が含まれます。この復活は、侵襲的な広告やデータによる収益化を行わなくともソーシャルネットワークが成功し、創始者が OkCupid を通じて家族と出会う自身の旅路から着想を得た本物の現実世界のつながりを育むことを示しています。

2026/04/27 5:56

サウェーが、競技会でのマラソンタイムで2時間台突破者として初の快挙を成し遂げた。

## Japanese Translation: サベシアヌ・サーウェは、2 時間以内で公式に競技距離のマラソンを完走した初のアスリートとなり、ロンドンマラソンにおいて驚異的なタイムの1 時間59 分30 秒でゴールしました。この画期的な快挙により、ケルビン・キプ Tum が記録していた前歴代記録である 2 時間 00 分 35 秒は破られ、自身のアベレックベストタイムである 2 時間 02 分 27 秒を約 4 分短縮しました。驚くべきことに、サーウェはザ・モールを完走し、前半を 60 分 29 秒、後半を 59 分 01 秒というペースで走り切り、これは過去にハーフマラソンにおいて半世紀以上の記録を持つ男性アスリート計 63 名しか達成したことがありません。彼のパフォーマンスには、エネルギー還元の向上と効率化を目的として設計されたアダピスの最新のスーパースホーズが寄与しました。また、ベルリンでの勝利以前にロンドンに向けて実施された厳格なドーピング検査(独立した試行 25 回分)も安全にクリアしています。エリウド・キプチョゲ氏が 2019 年に 2 時間以内の走りを達成しましたが、環境条件が過度に制御されていたため公式記録の対象外とされました。本レースには他のチャンピオンも参戦しました:ヨミフ・ケジェラは 1 時間59 分41 秒のデビュータイムを記録し、第 2 位でゴールすることで史上 2 人目の 2 時間以内の走りを達成しました。ジャコブ・キプ Limo は 2 キープティム氏の前記録より速いタイム 2 時間 00 分 28 秒でゴールし、表彰台に上りました。エチオピア出身のティグスト・アセファは女子専用レースにおいて自身の世界記録を2 時間15 分41 秒に刷新し、ヘレン・オブイリ氏とジョイスライン・ジェポギェー氏の後に残してタイトルを守りました。マルセル・フック選手は6 年連続でエリート男子用車椅子マラソンを制し、1 時間24 分13 秒のタイムを記録。デイヴィッド・ワイア選手とのタイによりロンドンマラソンの勝利記録を更新しました。キャサリン・デブルナー選手はエリート女子用車椅子マラソンにおいて1 時間38 分29 秒のタイムでタイトルを守り、アメリカ人のタティアナ・マックファデン氏をわずか 5 秒差で下しました。モ・ファラー氏はサーウェ氏の成果を迎え撃した長い期待の milestones であると述べ、これはサーウェ氏一人のためではなく、ロンドンにいる皆のためであるとお礼を述べています。

2026/04/27 6:23

北アメリカ全体で蝶類が減少しており、西モンアカシロチョウもその例外ではありません。

## Japanese Translation: 北米全体に生息する帝王蝶は、農薬の使用、生息地の喪失、そして気候変動という複数の要因に起因して著しい個体数減少を遂げている。2025 年 3 月に *Science* に発表された研究と、Xerces Society から出た「バタフライの状態」レポートによると、米国の蝶全体の個体数は 2000 年から 2020 年の間に 22% 減少しており、帝王蝶に限定すれば、東部の群れは 2080 年までに絶滅する確率が 56〜74%、西部の群れは同じ期間内に消える確率が 99% と推定されている。農薬の影響は特に深刻で、カリフォルニア州中央谷地で行われたミルコワッド(マメ科植物)すべてのサンプルに農薬が検出され、都市部の多くの植物から帝王蝶にとって致死濃度または致死直前の濃度が確認された。最近の計数結果がこの危機を浮き彫りにしている:ナチュラル・ブリッジ州立海岸では、数十年前に 12 万頭以上いた帝王蝶の個体数が 2025 年にはわずか 2,500 頭に減少し、2025-26 年の越冬季節には西部の越冬群れが記録開始以降 3 番目に低い 12,260 頭にすぎなかった。保存活動は、気候変動に強い心形葉ミルコワッドなどの宿主植物への転換や、超軽量無線タグや「Project Monarch」アプリといった新しいツールを用いて雌の動きを追跡し、個体数がさらに崩壊する前に重要な地域を特定するという方向へとシフトしている。

FAS16:ス턱ネットより 5 年前に出現した高精度ソフトウェア・サボタージュ(悪意のある改ざん)ツール。 | そっか~ニュース