1: ノチラ ★ 2018/03/26(月) 01:05:37.93 ID:CAP_USER
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/

2: 名刺は切らしておりまして 2018/03/26(月) 01:15:37.46 ID:79ZcvmED
objdump

4: 名刺は切らしておりまして 2018/03/26(月) 01:20:19.87 ID:A1w15j5x
N88BASIC

6: 名刺は切らしておりまして 2018/03/26(月) 01:26:17.82 ID:EPhMXxhv
電脳化すればいいんでね

7: 名刺は切らしておりまして 2018/03/26(月) 01:35:39.09 ID:JXRF6MH/
ソースじゃちゃんとアセンブリと言ってるのに

8: 名刺は切らしておりまして 2018/03/26(月) 02:00:44.63 ID:zPYxCUza
マシン語じゃダメ?

9: 名刺は切らしておりまして 2018/03/26(月) 02:01:39.38 ID:o0LiCHAE
アッセンブル EX-10

10: 名刺は切らしておりまして 2018/03/26(月) 02:05:41.85 ID:NeF0sY/X
アセンブリ言語だよな

素人が記事書いてるな

11: 名刺は切らしておりまして 2018/03/26(月) 02:21:07.95 ID:F9PjUjUV
「レベルが高くない」っていうのもあいまいだよね
基盤レベルではあるけど
習得難易度は高そうだし
もちろん抽象度は低めかもしれないけど

16: 名刺は切らしておりまして 2018/03/26(月) 06:39:52.76 ID:/UFTEZwQ
>>11
>レベルが高くない
人がソースコードの読みやすい言語程高度(認知しやすいという意味でレベルが高い)って事で
その言語が難しい事だと勘違いする人は普通に多いと思う

12: 名刺は切らしておりまして 2018/03/26(月) 02:22:43.68 ID:ovBX2Ogj
MZ80のマシンコードをハンドアセンブルしたのは良い思い出

13: 名刺は切らしておりまして 2018/03/26(月) 04:47:54.26 ID:3Oe6wvcQ
冗長難読化したアセンブリとか読めるの?

14: 名刺は切らしておりまして 2018/03/26(月) 05:58:18.37 ID:AXpnQttb
>>13
逆アセンブル以前に、実行ファイルが独自の自己解凍形式になっていたら、まず解凍部の
コードを解析して、展開済みの本体バイナリを作成しないと、逆アセンブラに掛けられない。

15: 名刺は切らしておりまして 2018/03/26(月) 06:19:31.40 ID:sjo1IncY
アセンブラ一択だと思う。
逆コンパイルしたC言語とか読めたもんじゃない。難読化以前に最適化でわけわからない。
Pythonってのはなんだ。分析でもすんの?

世の中にはJavaや.NETでマルウェアを書くバカも居ると思う。
それなら難読化しててもかなり分かりやすい。

後は素直に何を呼んでるかだね。