FFRI-Tech-Meeting #4-1 「Android 端末検査のコツ」│セキュリティ・リサーチのフォティーンフォティ技術研究所(情報元のブックマーク数)

φ(..)メモメモ

最初に基本的なことですが、情報収集はとても重要です。まず、端末で動作している様々なプログラムやライブラリのバージョンを細かく調べ、既知の脆弱性がきちんと修正されているかどうかを検証します。既知の脆弱性情報の確認にはCVEDetails.comというサイトが便利です。最新端末の脆弱性情報やexploitなどはTwitter掲示板等を介して入手することが多いです。 既知の脆弱性の検証が終わったら次に未知の脆弱性を探します。ネットワークやメディアコンテンツを処理するプログラムに対して、異常なデータを入力する「ファジング」という手法を用いて検査を実施します。 ファジングのコツは、多数の異常データをどれだけ効率良くターゲットに入力するかです。これを手動で行った場合、検査の時間が限られているため、少数のデータしか入力できず、脆弱性を発見できる可能性が低くなります。 そこで、ネットワークのファジングには、弊社製品のFFR Raven を使います。メディアコンテンツ処理のファジングは、検査端末毎に脆弱性を発見できそうなファイルフォーマットを探し、異常データの生成とターゲットへの入力を自動化するツールを作成して効率化しています。異常データの入力によりクラッシュが発生した場合は、デバッガと逆アセンブラを使って、プログラムのどの部分が脆弱性の原因になっているかを分析していきます。これもひとつひとつのパターンを手動で分析すると非常に時間がかかるため、スクリプトなどを駆使して可能な限り自動化することで効率化しています。100,000 個の異常データの入力によって脆弱性を発見、分析した例を紹介しました。

http://www.fourteenforty.jp/blog/2013/01/2013-01-31.htm

screenshot