【IT】マルウェア解析のためのプログラミング言語トップ3
■ このスレッドは過去ログ倉庫に格納されています
MalwareTechは3月19日(米国時間)、「Best Languages to Learn for Malware Analysis|MalwareTech」において、マルウェアの分析やリバースエンジニアリングなどに適したプログラミング言語トップ3を紹介した。ただし、紹介されているプログラミング言語はモバイル向けのマルウェアやIoTなどは対象として含まない。IoTデバイスやモバイルデバイスを対象としたマルウェアを解析する際は特化した技術が必要だとしている。
紹介されているプログラミング言語は次のとおり。
アセンブラ - 人間が読める形式のマシンコードであり、CPUが理解できる形式に近いプログラミング言語であり、リバースエンジニアリングのツールキットとして最も重要なツール。アセンブラを学ぶ場合にはどのインストラクションセットを学ぶかを選ぶ必要があるが、今回の目的においては主にi386かx86_64を選べばよい
C言語 - マルウェアではドキュメント化されていないAPIが使われることがある。オペレーティングシステムを逆アセンブルして調査することはかなり困難であるため、代わりにReactOSやWindows Research Kernelのソースコードを調査することで、こうしたAPIを調べることができる
Python - 開発効率の高いプログラミング言語。複数のオペレーティングシステムで動作するため、移植する手間がかからない
https://news.mynavi.jp/article/20180322-603733/images/001.jpg
記事では、マルウェア分析の道は簡単に短縮できるものではないが、プログラミング言語はこうした分析への手助けになるとしている。特にアセンブラやC言語のようにレベルが高くない言語を学んでおくことでコンピュータの動作を理解しやすくなるほか、他のプログラミング言語の学習においても役に立つと説明している。
https://news.mynavi.jp/article/20180322-603733/ 「レベルが高くない」っていうのもあいまいだよね
基盤レベルではあるけど
習得難易度は高そうだし
もちろん抽象度は低めかもしれないけど MZ80のマシンコードをハンドアセンブルしたのは良い思い出 >>13
逆アセンブル以前に、実行ファイルが独自の自己解凍形式になっていたら、まず解凍部の
コードを解析して、展開済みの本体バイナリを作成しないと、逆アセンブラに掛けられない。 アセンブラ一択だと思う。
逆コンパイルしたC言語とか読めたもんじゃない。難読化以前に最適化でわけわからない。
Pythonってのはなんだ。分析でもすんの?
世の中にはJavaや.NETでマルウェアを書くバカも居ると思う。
それなら難読化しててもかなり分かりやすい。
後は素直に何を呼んでるかだね。 >>11
>レベルが高くない
人がソースコードの読みやすい言語程高度(認知しやすいという意味でレベルが高い)って事で
その言語が難しい事だと勘違いする人は普通に多いと思う アセンブリやCは分かるけど、Pythonって特に有用性あるの?
解析ツールの開発効率が高いってこと? >>17
ジャップはパイソンは頭の良いプログラマが使う言語だと思ってる。
で頭の良いプログラマはみんなマルウェア解析が出来ると思ってる。
頭の良いプログラマ=マルウェア解析が出来る
パイソンを使ってる=頭の良いプログラマ
パイソンを使ってる=マルウェア解析が出来るの
日本人凄い!俺凄い!と同じ脳内論理が働いてるんと思われ パイソンってメモリ操作できるんだ
スクリプト言語かと思ってた ■ このスレッドは過去ログ倉庫に格納されています