Passbookの脆弱性を考える(1) | 仕事たのしいなーもー

仕事たのしいなーもー

SEブログです。日々の発見や関心を掲載しています。


Passbookの脆弱性を考える(1)

pkpassファイル


Passbook(*1), Provider(*2)間のやり取りにおいては、
Appleから払い出してもらえる証明書を用いた3way-handshakeなので、
pkpassファイルの改竄はできないようになっている。
適切な証明書で作成していないpkpassファイルは、Passbookに保存できないのだ。

今後、サードパーティ製のPassbookアプリが出てきた場合、
脆弱性の温床になる可能性はある。

ただし、pkpassファイルの中身を見ることはできる

pkpassファイルの中身



・Barcode:message


推測されやすい値になってたら、やられたい放題になってしまう。
(当たり前過ぎるのでコレ以上は言及しない)

・passTypeIdentifier, serialNumber, webServiceURL, authenticationToken


この4つがあれば、先日の記事の「デバイスはパスの最新版を要求する」で書いたURL(↓)が構築できる。

Passbookの更新(アフターケア)。(1)




GET {webServiceURL}/v1/passes/{パスタイプId}/{シリアルナンバー}



もし、ユーザごとに認証トークンとBarcode:messageを変えているとしたら、
別のユーザの認証トークンを得ることで、不正にBarcode:messageを利用できてしまう。
(別のユーザ向けのpkpassをダウンロードできちゃう)

ということで、認証トークンは難解難読なやつをしっかり払い出してあげるべきしょう。

またProvider側で適切にブルートフォース対策をすることも重要でしょう。


*1)iPhone上で動くPassbookアプリ。
*2)Passbookファイルを配信するサービスプロバイダ。