LinkedIn製AndroidセキュリティチェックTool、QARKを使ってみた

投稿者: | 2015年9月9日

LinkedIn製のAndroidセキュリティチェックTool「QARK」がオープンソースとして、Githubで公開されました。

QARKとは

QARK(=Quick Android Review Kit)はAndroidアプリケーションの脆弱性を検知するセキュリティチェックToolです。ソースコードまたはAPKファイルからチェックが可能です。テスト端末のroot取得は不要で、ユーザーが通常利用する環境下の脆弱性に焦点を当てています。

動作環境

python 2.7.6
JRE 1.6+ (preferably 1.7+)
OSX or Ubuntu Linux (Others may work, but not fully tested)

検知項目

次のような項目を検知します。

  • export可能なコンンポーネント(Activity,Serviceなど)
  • 不適切なexportコンポーネント保護
  • アプリ外で取得されそうなIntent
  • 不適切なX.509証明書の検証
  • 外部から書き込み可能なファイル
  • データをリークしそうなActivity
  • Sticky Intentの使用
  • 不適切なPendingIntent
  • 不適切なBroadcastIntentの送信
  • ソース中の秘密鍵
  • 不適切な暗号化の使用
  • Tapjacking可能なアプリ
  • バックアップ可能なアプリ
  • デバッグ可能なアプリ
  • 既知の脆弱性を持つ古いAPIバージョンをサポートするアプリ

使い方

Pythonで実行します。

QARK開始!!
APKファイルかソースファイルか、解析対象を選びます。

APKファイルをPathで指定するか端末からPullするか選択します。

AndroidManifest.xmlを発見!!

AndroidManifest.xmlの解析をするかどうか聞いてくるのでy

逆コンパイル開始するよ。

静的コード解析、ISSUES発見!!いろいろとチェックしてくれます。

gradleビルドを実行して、カスタムAPKを生成してくれます。

端末にインストールするかどうか聞いてきます。

レポート

解析実行後、レポートを生成してくれます。
こちらで指摘事項をチェックし、必要に応じて修正しましょう。

スクリーンショット 2015-09-09 9.54.13

スクリーンショット 2015-09-09 9.54.57

まとめ

AndroidのセキュリティチェックToolとしては、AnCoLe(アンコール)がありますがEclipse上で動作するため、Android Studioでは使えません。
QARKがあれば、Android Studio開発環境でもセキュリティチェックが行えるようになります。
これは便利!!

現在、クックビズでは新しいメンバーを募集しております!

このブログを書いているのはクックビズ株式会社の開発チームです。私たちと働いてみたいと思った方はWantedlyから話を聞きにきて下さいヽ(=´▽`=)ノ  

コメントを残す

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