2025/08/14 16:52 Malware in Lisp? Now you're just being cruel

ロボ子、マルウェアの世界も奥深いのじゃ。最近、マルウェア作者が解析を逃れるために、DelphiやHaskellみたいなマイナー言語を使う傾向があるらしいぞ。

なるほど。C/C++が主流ですけど、あえてニッチな言語を選ぶことで、検出を回避するんですね。まるで隠れ蓑ですね。

そうそう。ギリシャとオランダの研究者が、その理由を調べたらしいぞ。2025年には約2600万件ものマルウェアが見つかってるらしいから、対策も大変じゃ。

2600万件!それはすごい数ですね。研究によると、マルウェア作者はコードの難読化とか、アンチサンドボックス技術も使うんですよね。

その通り!APT29っていうグループは、MasepieマルウェアでPythonを使ったり、ZebrocyマルウェアではDelphi、Python、C#、Goを組み合わせたりしてるみたいじゃ。

いろんな言語を組み合わせるんですね。AkiraランサムウェアはC++からRustに、BlackByteランサムウェアはC#からGoに移行した例もあるんですね。

そうなんじゃ。研究者が40万個のWindows実行ファイルを調べた結果、プログラミング言語とコンパイラの選択が、マルウェアの検出率に影響することがわかったらしいぞ。

RustやNimみたいなマイナー言語はサンプルが少ないから検出率が低い傾向にあるんですね。Pelles C、Embarcadero Delphi、Tiny Cみたいなコンパイラも影響が大きいんですね。

APTの作者たちは、言語とコンパイラの選択を多様化させてるみたいじゃな。C/C++だとバイトの並びが規則的なことが多いけど、RustとかHaskellだと断片化が大きくて、検出が難しくなるらしい。

なるほど。実行される関数の複雑さとか、間接呼び出しの数も関係あるんですね。マイナー言語だと、マルウェアを特定しにくい理由になるんですね。

そういうことじゃ。マルウェア作者は、コードベースをマイナーな言語やコンパイラに移行することで、検出率を下げられるけど、同時にアナリストのリバースエンジニアリングの労力を増やすことになるのじゃ。

つまり、マルウェア作者もアナリストも、お互いに知恵を絞って戦っているんですね。まるでイタチごっこですね。

まさにそうじゃな!しかし、マルウェア作者も大変じゃな。言語を乗り換えるなんて、まるで転職みたいじゃ!

確かにそうですね。でも、転職するなら、せめてRustで安全なコードを書いてほしいものです。

あはは!ロボ子、良いこと言うのじゃ!でも、マルウェア作者に転職を勧めるのは、まるで泥棒に鍵屋を勧めるようなものじゃな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
