インドに住む20歳代のハッカーはある日、複数のインドの航空会社のサイトにバグがあることを発見しました。この脆弱性を利用すると、世界中の好きな空港へのチケットを実質無料でゲットできる状態になっていたそうです。

How I could have travelled the World for Free - Kanishk Sajnani - Medium

https://medium.com/@kanishksajnani/how-i-could-have-travelled-the-world-for-free-5bb10ac46ae5

この脆弱性を発見したのは、インド在住のカニシク・サージナニ(Kanishk Sajnani)さん。コンピューターセキュリティに関心があるというサージナニさんは、2015年ごろにいくつかのウェブサイトやモバイルアプリの脆弱性をリサーチしていたところ、この問題に気がついたとのこと。

◆ケース1:エア・インディア

インドを代表するフラッグキャリアであるエア・インディアのサイトでサージナニさんが脆弱性を発見したのは2015年のことだそうです。同年11月4日には同社のCEOであるアシュワニ・ロハニ氏に直接メールを送り、問題の存在を伝えました。



すると約1週間後の11月12日、会計部門の責任者から突然電話があり、問題を再現するように依頼されたとのこと。これを受け、サージナニさんは実際にデリーからサンフランシスコまでの国際便のチケットをごくわずかな料金で予約して画面を送り返したとのこと。



これが予約後の画面。2015年12月2日のAI173便をビジネスクラスで予約しており、画面に記載の料金は約14万ルピー(約24万円)ですが……



予約システムのデータベース・「PNR(Passenger Name Record)」のデータでは、総額が302.66ルピー(約520円)と表示されています。事実、サージナニさんは何十万ルピーというお金を払わずに予約することに成功したとのこと。



この返信と技術的な詳細、そして概念実証を記録したムービーを見せられたエア・インディアの責任者は問題解決に乗り出し、その後解消されたとのこと。さらに、冒頭のメールの末尾に書かれていた、エア・インディアでのサージナニさんのインターンシップについても了承するという返事を返してきたとのことです。

◆ケース2:スパイスジェット

インドの格安航空会社であるスパイスジェットのモバイルアプリでも脆弱性を発見したサージナニさんは、同社の窓口に連絡を入れようとしました。

アフマダーバード(AMD)からゴア州(GOI)までのフライトは4028ルピー(約7000円)でしたが……



データベースの記録には340ルピー約580円)前後の記録しか残されていない状態になっていた模様。



エアインドの時と同じようにスパイスジェットに連絡を入れたサージナニさんは、驚きの返信を受け取ったとのこと。サージナニさんのメール末尾に書かれていたインターンシップのことに反応したのか、受信したメールには「あなたの履歴書を関連する部署か、採用担当におくってください」という、本題から大きく外れた内容が書かれていたとのこと。



「ダメだこりゃ」と思ったのか、サージナニさんはなんとか予約関連の責任者のアドレスを見つけ出し、直接メールを送ったとのこと。その返信には、最初に送ったメールと同じ内容をもう一度送ってくれ、と書かれていたとのこと。



サージナニさんは送られてきた内容に沿って対応しましたが、先方からの返信はそれまでやりとりに関わっていなかった人物からだった上に、これまでやりとりした内容が添付されているという、予想もしなかった形のものでした。



この段階でも、ほぼ無料でゲットしたスパイスジェットとのチケットは有効のまま。仕方ないので、サージナニさんはフライト1カ月前に自ら予約をキャンセルしたそうです。



しかし、その際には予約金を払い戻すか、自分のアカウントに残すかの選択を尋ねられたとのこと。問い合わせ窓口に電話して確認したところ、なんとサージナニさんは2000ルピー(約3400円)の払い戻しを受ける権利を有していることがわかったそうです。

◆ケース3:クリアトリップ

航空券やホテルなどの予約を行えるクリアトリップ(Cleartrip.com)でも同様の脆弱性があることを発見。サイトで予約できる飛行機のチケットやホテルの予約、レストラン、マッサージ、カルチャーイベントなど、ありとあらゆるサービスが無料で予約できてしまえる状態になっていたとのこと。

サージナニさんは、同社の共同設立者宛に直接メールを送信。



すると、「一度電話がしたい」という返信を、部門責任者から受け取りました。



しかし、記録を残したいという考えがあったサージナニさんは、ひとまずはメールでのやりとりを希望。すると先方からは、確認が取れれば「適切な報酬」を用意するとのメールが届いたとのこと。



サージナニさんは、問題の詳細をまとめてGoogleドライブにアップロードし、確認するように担当者に伝えました



これが実際の予約画面



そして予約をキャンセルした時には、1199ルピー(約2100円)の払い戻しを受けることになったとのこと。



しかし、この詳細を送って以降、担当者からの連絡はぷっつりと途絶えたとのこと。「きっと忙しくなったのだろう」と思ったサージナニさんはしばらく待ち続けましたが、「これはおかしい」と思ったのか、最初の共同設立者のメールに再びメールを送り、「担当者から『連絡する』と伝えられたが、詳細を教えた後は連絡が来なくなった」と伝えたとのこと。



ハッカーでもあるサージナニさんはこれら3つの例を挙げた上で、次のような教訓を得たと記しています。

1.インドの会社は、自社の製品に対するセキュリティに注意を払っていない

2.完全にセキュアなアプリケーションやウェブサイトは存在しない。この時点でも、気づかれずに脆弱性を突いて悪用している人物は存在しているはずである。

3.企業がバグ報奨金プログラムの重要性を知るのは、社会的な辱めを受けたときである。ハッキングを受けたときに、いかにダメージを小さく抑えるかが企業にとって重要である。

4.「倫理的なハッキング」はほとんど感謝されない

5.検証を行うには長い時間がかかるが、見返りは少ない。

そして、変えられなければならないものについては、以下のように挙げています。

1.開発とメンテナンスが全てではない。企業はありとあらゆるハッキングに備える必要がある。個人情報の流出は大きな訴訟リスクとなる。

2.大きな企業やスタートアップは、バグ報奨金プログラムを用意するか、責任的開示方針を定めるべきである。

3.システムに穴があることを教えてくれた人には感謝して周知する必要がある。

4.バグの通知から解析、報償のサイクルは可能な限り短くなければならない

5.自社でセキュリティエンジニアを雇っていない企業は、外部の業者を利用するのも1つの手である。