1週間程前に、FacebookのSDKにセキュリティホールが…なんてうわさが出ていまして、その時は、正確な元情報が出てなかったので、またデマかセキュリティホールでもないことを、セキュリティホールとかいってるのかなと思ってましたが、TechCrunchに「FacebookのAndroid SDKにセキュリティホール, 対応済みだがマイナーなアプリには不安が?」という記事が出ました。
どんな内容かは上記記事を参照して頂きたいのですが、簡単にまとめるとログにアクセストークンが出力されていたという事です。

fb_mobile_circle.png

正直、これってそんなに騒ぐこと??そりゃFacebook SDK直したほうがいいけど、実際みんな回避してるんじゃない?って思いました。プログラマなめすぎじゃね?と思いました。

まず、Facebook SDKってソース公開されています。jarでの使用ではなく、ライブラリプロジェクトとしてソースをそのまま使用する事になります。

  • Facebookのプレインストールアプリが入っているときと入ってない時で動作が違うので、色々試したりするし、なんかログが出ているのは気が付くはず
  • Facebookなので変なコードは入っていないでしょうが、外部のライブラリを使うときは、一通りソースを見てみるのは基本
  • Logメソッドはアプリ完成時に最終チェックするでしょ

実際、あらあら、Logに出力してるなぁー、コメントアウトしとこー、SDKバージョンアップしたら付いていくのめんどくさいなぁといった感じで、コメントアウトしてました。
普通のプログラマさんなら大丈夫だと思ってます。

とはいえ、Android Security本には、この辺りの事も書くべきだなぁと感じましたので、次回改訂版を出す時(あるのか?)用のメモです。

外部ライブラリを使用する時に注意すること

  • 昔から言われてますがアプリに組み込むライブラリはソースをチェックしましょう。(広告モジュールとか最近はチェック出来ない事が多いですが)
  • 広告モジュール等の場合は、パケットキャプチャーしておかしなデータ送ってないかを検証するという手もあります(そこまでしなくても広告モジュールライブラリを出している会社に問い合わせれば良いのですが)
  • アプリをリリースする前に、Logメソッド検索してログは消しましょう(サーバプログラムじゃないのでログを出してもあまり意味ないです-ユーザさんにどんなログ出力してますか?なんて聞ける事はまずないです)

ブログ内の関連する記事