451 PyPI packages install Chrome extensions to steal crypto
2023/02/13 BleepingComputer — 暗号ウォレットや Web サイトを介した暗号通貨取引をハイジャックするために、450 個以上の悪意の PyPI Python パッケージが、悪意のブラウザ・エクステンションをインストールしていることが確認されている。2022年11月の時点で、わずか 27個の悪意の PyPI パッケージから始まったキャンペーンだが、この数ヶ月で大きく拡大している。

これらのパッケージは、人気のパッケージに成りすますタイポスクワッティング・キャンペーンを通じて拡散している。文字の変更/入替など、わずかな違いのバリエーションにより、ソフトウェア開発者を欺き、正規のパッケージと誤解させ、悪意のパッケージをダウンロードさせるものだ。
2023年2月10日に Phylum が発表したレポートでは、キャンペーンの規模の拡大だけではなく、関数名や変数名に漢字を使用するという、新しい難読化手法の採用が説明されている。
新たなタイポスクワッティングの波
今回のタイポスクワッティングで成りすまされた人気のパッケージには、bitcoinlib/ ccxt/cryptocompare/cryptofeed/freqtrade/selenium/solana/vyper/websockets/yfinance/pandas/matplotlib/aiohttp/beautifulsoup/tensorflow/selenium/scrapy/colorama/scikit-learn/pytorch/pygame/pyinstaller などが含まれる。
上記のパッケージごとに、13〜38 のタイポスクワッティング・バージョンを作成し、潜在的なミスタイプを幅広くカバーすることで、悪意のパッケージのダウンロードを促進している。
検知を回避するために脅威者アクターは、2022年11月のキャンペーンでは見られなかった、新しい難読化手法を採用している。現在は関数と変数の識別子に、ランダムな 2 Byte 漢字コードの組み合わせを使用している。

Source: Phylum
Phylum のアナリストたちは、文字列生成のために Python の組み込み関数と一連の算術演算を使用しているコードを発見した。つまり、この難読化は、視覚的にパワフルな結果を生みだすが、その検知はそれほど難しくはない。
Phylum のレポートには、「この難読化は興味深く、非常に複雑で高度化しているように見えるコードを構築しているが、動的な観点から見れば、些細なことである。Python はインタプリタ言語であり、コードの実行が不可欠だ。つまり、それらのインスタンスを評価するだけで、コードが何をしているかを、正確に把握できる」と述べている。
悪意のブラウザ・エクステンション
暗号通貨取引を乗っ取るための悪意の PyPI パッケージは、2022年11月の攻撃と同様に、”%AppData%Extension” フォルダに、悪意の Chromuim エクステンションを作成する。
そして、Google Chrome/Microsoft Edge/Brave/Opera に関連する Windows ショートカットを検索し、”–load-extension” コマンドライン引数を使用して、悪意のブラウザ・エクステンションを読み込ませる。
たとえば、Google Chrome のショートカットは、”C:\Program Files\Google\Chrome\Application\chrome.exe –load-extension=%AppData%\\Extension” になる。
Web ブラウザが起動すると、このエクステンションがロードされ、Windows のクリップボードにコピーされた暗号化通貨アドレスを、悪意の JavaScript が監視する。
暗号アドレスが検出されると、このブラウザ・エクステンションは、驚異アクターが制御する一連のハードコードされたアドレスへと置き換えていく。このようにして、送信された暗号トランザクションの金額は、意図された受信者ではなく、脅威アクターのウォレットに送られることになる。
Windows のクリップボードにある暗号通貨アドレスを検出し、脅威アクターのアドレスに置き換える正規表現の一覧は、以下のとおりである。

Source: Phylum
この新しいキャンペーンでは、サポートされているウォレットの数が拡張されている。現時点では、Bitcoinm Ethereum/TRON/Binance Chain/Litecoin/Ripple/Dash/Bitcoin Cash/Cosmos などの、暗号通貨アドレスが追加されている。
回避すべき悪意のパッケージの完全なリストについては、Phylum レポートの最下部セクションを確認してほしい。
PyPI で大規模なタイポスクワッティング・キャンペーンが発生しているようです。ひょっとして、ChatGPT が使えるとしたらと思い、以下のプロンプトを書き込んだら、10個のタイポスクワッティングを回答してきました。どれも、上手く作られているのに驚きます。
Prompt ⇒ cryptofeed に似ている文字列で、人間が誤読しそうな文字列を列挙せよ。
Response ⇒ 以下には、Cryptofeedに似ている文字列で、人間が誤読しそうな文字列の例をいくつか示します。
crypofeed/cyrptofeed/cryptofeeds/crypto-feed/cryptofeeders/cryptofeet/crptofeed/cryptocfeed/cryptofeud/ctyptofeed
よろしければ、ChatGPT で検索も、ご利用ください。

You must be logged in to post a comment.