先ほど作成したsl.exeをサーバにアップロードして確認したところ、MicrosoftDefenderから注意されました。
へ?
確かにジョークソフトですけど、Defender様に叱られるような行為はやっていません。
原因を突き止めなければと思い、原因を究明することにしました。
●環境
Windows11
Windowsセキュリティ セキュリティインテリジェンスのバージョン 1.413.163.0
作成されたバージョン 2024/6/8 3:28
前回の更新 2024/6/8 9:31
● 警告を受けているウィルス
警告レベル 重大
区分 トロイの木馬
詳細 このプログラムは危険であり、攻撃者からのコマンドを実行します。
Trojan:Win32/Sabsik.FL.A!m
マイクロソフトセキュリティインテリジェンス
https://go.microsoft.com/fwlink/?linkid=142185&name=Trojan:Win32/Sabsik.FL.A!ml&threatid=2147780195
によると、この脅威は、悪意のあるハッカーが選択したさまざまなアクションを PC 上で実行する可能性があります。とのこと。
● 調査
①system関数の調査
DrawScreen関数内では、コマンドプロンプトのcls命令をじかにキックしていますので、system関数をコメントアウトしましたが、ウィルス検知されましたので関係なさそうです。(6/8 12:30頃)
②エスケープシーケンスの調査
SLプログラムのtrain配列内で、アスキーアートを入力していますが、
char train[TRAIN_HEIGHT][TRAIN_WIDTH] = {
:
"/\-|o|=@|o|-]@|++o@@@@@o++|]@",
の部分で”¥-”のエスケープシーケンスが正しく指定されていないという警告が出ていましたが、気にせず放置していました。
ためしに、”\\-“に変更して、コンパイルしたところ、ウィルス検知がされなくなりました。(6/8 13:00頃)
③ファイル名の調査
全く同じソース(“\-”のまま)を、別のプロジェクト名(def_test)に変更してコンパイルしたところ、ウィルス検知されませんでしたが、出力された実行ファイルのファイル名を「sl.exe」という名前に変更するとウィルスとして検知されました。
●途中経過
おそらくですが、トロイの木馬ウィルス自体が
sl.exe という実行ファイル名で配布される(ことが多い?)
”\-“というエスケープシーケンスを内在している
のではないかというところまでは確認できましたが、あとはよくわかりませんでした。
原因を知っている方がいればぜひ教えてください。