ウェブアプリケーション,インジェクション,コマンドインジェクション

androidで使われるデータの型、RAMについて

androidで使われるデータの型

androidでは主に2つの型のメモリが使われています。
RAM(揮発性)とNAND flash(非揮発性)のメモリです。
この二つのメモリはデバイスのデータの扱いが違います。

RAM(揮発性メモリ)

RAMはシステムをロード、実行、
オペレーティングシステムの主な部分、アプリケーションや、
データを操作するのに使われます。
そしてこれらは再起動するとリセットされます。
今までのコンピュータのように、RAMはとても大事な情報、
アプリケーションが処理に使う様なデータなどを含みます。
例えば、
●パスワード
●暗号キー
●ユーザ名
●アプリデータ
●システム処理や各種サービスからのデータ

最近は、androidのメモリを調査するための解決法が現れました。
その内の1つのテクニックは、セキュリティリサーチャーの
トーマス・キャノンのブログの記事に有ります。
androidには、アプリの特殊なシグナルを送ることで、
アプリケーションのメモリをファイルへ転写するメカニズムが有ります。
シグナルを送るために、
アプリのPID(プロセスID)が必要で、psコマンドで見ることができます。
$ adb shell ps

このpsコマンドですべてのシステムとアプリのプロセスが、
親プロセス、メモリ、情報と名前という様ににリスト化されます。
大抵のデバイスがたくさんのプロセスを動かす様になったので、
このpsコマンドを実行すると膨大な出力が出てくるかもしれません。
次に必要になるのは、ルート権限でデバイスのインタラクティブシェルを走らせ
メモリダンプに書き込み、読み込みができるだけの権限で、
/data/miscをセットします。
$ sdb shell
$ su
$ chmod 777 /data/misc

この時に注意!!
フォルダの許可を変更するときに、chmodを使いますが、
上記のchmodで/data/miscフォルダを読み込み、書き込み、実行を
システム上のすべてのユーザに許可することになります。
この変更はメモリダンプをするために必要ですが、
これはシステム変更で、公然とフォレンジック分析者によって
なされていることです。
もし、分析者が保証をしているのなら、
変更した部分を記録しておいて、
そのフォルダの許可状態をメモリダンプが終了したときに、
元のセッティングに戻すべきです。


ここで、メモリダンプに必要なシグナルを送り、
ディレクトリの内容を表示できるようになります。
# kill -10 1294
# ls -l
<ファイルやディレクトリの詳細が表示されます。>

heap-dump-tm1296350817-pid1294.hprofのファイルには、
メモリダンプが含まれていて、
双方向のadbシェルから出られて、分析用に個人のパソコンに
ファイルを引き出せる様してくれています。
$ adb pull /data/misc/heap-dump-tm1296350817-pid1924.hprof

そこで、すべてのメモリを分析するテクニックを処理する際に使います。
例えば、コマンド文字列でASCII文字列を引き出します。
$ strings amail.hprof > gmail.str
そして、その時にファイルの内容の見ます。
Gmailのメモリのクイックスキャンはアプリが参照した
様々な暗号化しているライブラリについての情報を
httpトラフィックと同じ様に提供しています。
FacebookアプリはJSONと呼ばれるファイルフォーマットを使い、
コード化やデータの送信をしています。
androidデバイスのメモリ分析は、
デバイス所有者に関わる重要な情報のような
デバイスの内部構造を深く調査することになります。

ホーム
便利堂ロゴ
inserted by FC2 system