秘密鍵が平文で残っていないかチェック

さて、まずどこからやってみっか。

ウォレットのセキュリティチェックをするのなら、まずは、ウォレットの中の秘密鍵を盗み出せるかどうか実験するってのが無難なとこじゃろうか。

ウォレットってのには必ず送金する機能がある
送金のデータってのは秘密鍵で署名しない限りブロックチェーンに投げられない。
逆に、秘密鍵があれば、誰でも、何処からでもブロックチェーンに送金することができる。

ってことは、ず~~っとあるかどうかは別として、署名する瞬間は必ずメモリー上に秘密鍵があるはずじゃ。じゃが、ウォレット制作者は、使った後すぐにこれを消去する機能を実装しなければならないだろう。ホビープログラマーのウォレットでは、この辺りが超危険なのじゃ。
NanoWalletは公式のウォレットじゃから、まさかこれを消し忘れてることはあるまいが、ウォレットのメモリーを探索みることにしようぜ。ワクワク^^

まずは基本的な覗き見テクニックじゃ

(1)誰でも覗き見できる方法
自分でウォレットのメモリを確認する場合、タスクマネージャからメモリーがファイルに落とせる。

プロセスを選択→右クリック→ダンプファイルの作成

保存されたファイルをベクター辺りからダウンロードしてきたバイナリエディタで、開いて中を検索すればいい。

でも実行してみれば実感できると思うが、時間がかかる、めんどくさい!
とりあえず実験はできるのだが、何が何だかサッパリわからなくなってしまう。
おまけにNanoWalletのプロセスは4~6個も立ち上がっていて、すっげ~大変!
こんなこと、やってられっか~~!(爺さんはマ短気)

(2)手作り「爺さんツール」
ということで、サクサクっとメモリー探索おもちゃ(名付けて メモたん)を作っちまおうと思う。メモリーの中身を読みだす機能は、WindowsAPIに標準で搭載されているので、プログラムが書けるなら、高度なハッキングなどせずとも、簡単に作ることがでる(※1)
作り方はMicrosoftのページに、ほぼ書いてあるからな

ReadProcessMemory
https://msdn.microsoft.com/ja-jp/library/cc429006.aspx

さあ、作ってみるぞ

※1 簡単かどうかは良く分からんが、あっち側の人は、みんな使ってる基本テクニックじゃな
ねぇねぇ、誰かメモたんの萌えアイコン作ってくれんかのぉ

つづく

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です