【緊急寄稿】マンインザブラウザ攻撃とトランザクション署名

IT・IT製品TOP > Key Conductors > 亀田 治伸(日本セーフネット株式会社) > 【緊急寄稿】マンインザブラウザ攻撃とトランザクション署名
この記事をtweetする このエントリーをはてなブックマークに追加

IT現場の道先案内人 Key Conductors

【緊急寄稿】マンインザブラウザ攻撃とトランザクション署名

エンドポイントセキュリティ 2014/06/13

 本寄稿は今回で第4回目となる。第1回目ではオンラインバンキングにおける業界的なOTPとPKIの使い分け。それらの認証強度の違い、PKI認証の安全性に疑義が生じている現状、第2回目は証明書を盗むことに対する技術的可能性の検討およびPKI強化策として全銀協が発表したICカードが備えるべきスペックのまとめ、第3回目ではフィッシング詐欺とOTP認証の取るべき対策の概要をまとめさせていただいた。本来、認証のっとり、すなわち不正な人間による別PCからのログインによる攻撃を主眼として全3回を予定していたが、認証識別子を盗む攻撃ではなく、マンインザブラウザ攻撃や不正遠隔操作等の視点がないと、手落ちではないか?というご指摘を多くいただいたため、第4回目を追加させていただいた。

 まず最初に、第3回でまとめた「フィッシング攻撃」と今回のメインテーマとなる「マンインザブラウザ攻撃」の違いをまとめる。

フィッシング攻撃とマンインザブラウザ攻撃のまとめ

フィッシング攻撃】
 ユーザを不正なサイトに誘導し、OTPや振込に使用する乱数表の情報などを入力させる。これにより、攻撃者は別のPCから攻撃対象者の銀行口座にログインし振込を行う。最近は、OTPだけを不正なサイトでユーザに入力させることで盗み、乱数表はあらかじめブラウザをマルウェアに汚染させておき、正規振込時に入力された情報などから盗むことも多い。

マンインザブラウザ攻撃】
 ユーザが自身の口座に普通にログインを行う。その後振込処理時に、振込先および金額をブラウザのマルウェアやOSのマルウェア等無理やり書き換える。ユーザはその事実に気づかず振込処理を完成させてしまう。

 ブラウザのマルウェアによる攻撃がマンインザブラウザで、OSのマルウェアによる攻撃がマンインザミドルと区別されるが、本寄稿の開設のレベルでは大きな違いなはないと思っていてよい。要は「中に人がいる、しかも悪い人が」という意味である。

 なお、ユーザが自分でログインするため、PKI認証であっても、OTP認証であっても、耐攻撃性に差はない(後述するが、トランザクション署名では大きな違いが生まれる)。

マンインザブラウザ攻撃の背景

 第3回でもまとめたように、我々が使用しているウェブというものは「一度ログインしたユーザはログアウトまで同じユーザである」という技術的前提がある。途中で不正なプログラムが動作し処理を書き換えるという攻撃手法に弱いのである。

 つまり、ブラウザとサーバー間で処理される振込処理はログインしたユーザで実施しているとみなされてしまう。今まで日本ではこの手の攻撃被害が発生していないと言われていた。

 上記のとおりすべてのウェブ(当然ブラウザやウェブサーバー)が「一度ログインしたユーザはログアウトまで同じユーザである」という技術的前提に立ち開発されているため、途中で処理を割り込ませることはかなり技術的難易度が高く、ユーザを不正なサイトに誘導させるフィッシング処理より、はるかに攻撃が難しいからである。だからこそ、一度攻撃が実現してしまうと、ウェブの世界では想定外となり対策が難しいのだ。

 日本で初めてマンインザブラウザによる不正送金被害が発生したと先日発表がされた。おそらくこれは被害の一部であり他の金融機関でも発生している可能性がある。最初に被害を発表し注意喚起の礎となった金融機関は評価されてしかるべきである、と考える。

 この攻撃を防ぐためには、ブラウザとは別にサーバーとユーザの間でもう1つのセッションを構築しなければならない。当然ブラウザは信頼できない、汚染されている、という前提に立つわけだから、ブラウザ以外で処理がなされなければならない。第3回で一例としてOCRAというワンタイムパスワード型トランザクション署名を紹介させていただいた。

トランザクション署名の現状

 業界的にも、マンインザブラウザ攻撃に対する対策としてはトランザクション署名以上に適したソリューションは現時点で見当たらず、今後主流となると想定される。繰り返しの主張で恐縮であるが、オンラインバンキングが採用すべきセキュリティは、十分に枯れた技術およびその延長線上でなくてはならないと筆者は考える。

 現時点でトランザクション署名機能を活用している銀行はまだ存在しない。ユーザビリティが下がるためだ。しかしながらマンインザブラウザ攻撃による被害が出た以上、すでにOCRA対応トークンを採用している銀行は近いうちにトランザクション署名機能の利用を開始するであろうし、他の銀行も追従することが想定される。

OCRAトランザクション署名の整理

 問題はどのような形でトランザクション署名機能が利用されるか?が今後ポイントとなる。実は第3回で示したようなフローではすべてのマンインザブラウザ攻撃を防ぐことはできない。

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

 OCRAのフローが不明確な方は、第3回をご一読いただいたのち、以下をお読みいただければ幸いである。上記フローを、ユーザのブラウザのフローに直すと以下の流れとなる。

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

(乱数表のフローは割愛している)

1:ユーザは振込先と金額を入力する。
2:画面に振込先が表示されるので、正しいことを確認する。
3:パスワードを手元の電卓型トークンに入力する。
 (パスワードは振込情報およびユーザ識別子からパスワードを生成する)

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

4:新しいパスワードが電卓型トークンに表示される
5:パスワードを入力し振込処理を完了させる
6:振込が完了する

 マンインザブラウザ攻撃で振込先を不正に書き換えられた場合、以下に変化する。

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

 ユーザは電卓型トークンでパスワードを生成する際に、画面にユーザが指定した振込先、金額が表示される。

 不正に書き換えている場合、ユーザは攻撃に気づく。しかしマンインザブラウザは表示情報はユーザが入力したものを表示させつつ内部データだけを書き換えるものがある。その場合以下のフローとなる。

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

 この場合、ユーザーXxx銀行に10万円を振り込む処理をしているつもりなのだが、銀行側サーバ内部では、Yyy銀行に100万円を振り込もうとしている。この場合電卓型トークンのみを使用したOCRAでは攻撃を防ぐことはできない。

 ではどうすればいいのか…?ハードウェアトークンを持たせたところで、上記のフローであればブラウザに処理をさせることに変わりはない。ブラウザは攻撃者の意図通りに振込処理時のデータを書き換えることが出来るとすると、ブラウザとは別のインターフェースを有したものを使用しなければならない。電卓型トークンに表示される数字だけでは不十分なのだ。

では別の選択肢で一番有望なのは、なにか??

 候補はいくつかあるが、日本における携帯電話普及率を考慮するとやはり携帯電話を使うことが一番ユーザビリティを保てるのではないかと考える。銀行から専用端末を配布することも考えられるが、これ以上、持ち歩くハードウェアを増やすことは不可能であるし、銀行側のコスト負担も非常に重たい。

 携帯電話を使用した場合のフローは以下となる。

※会員登録いただくと図をご覧いただけます。
会員登録はこちら(無料)

 この場合、携帯電話に送付されるメールに記載される振込先および金額と画面に表示される振込先および金額が異なるため、ユーザは攻撃に気づく事が可能となる。

 これを一般的に2経路認証という。ほかにも複数のやり方があるが、PC/ブラウザに匹敵するインターフェースを持ち、なおかつ普及率を考えると選択肢は携帯電話しかないと考えられる。なお、現時点では方針は定まっていないが、携帯電話に送付された振込先および金額とブラウザに表示された振込先および金額の不一致に気づかず、振込処理を完成させてしまったユーザは、今後銀行の被害補償外になる可能性もあることを追記させていただく。

 また上記のとおりメール/SMSでの送付ではなく、電話を直接かけて認証するケースも考えられるが、件数が多い個人バンキングにおいては現実的ではないであろう。

携帯電話型2経路認証の課題

 携帯電話を使う方式は現時点で未解決の問題が3点ある。

1.スマートフォンはgmailなどのメールアドレスも使用可能となる。
2.携帯事業者がユーザーの振込先情報を保持してしまう。
3.携帯電話を持っていないユーザーも存在する。
■1.スマートフォンはgmailなどのメールアドレスも使用可能となる。

 結局ブラウザが汚染されているとするとgmail等のパスワードは盗まれているはずだ。このため海外などはメールアドレスではなくSMS(電話番号あてに送るショートメッセージサービス)に限定されているケースが多い。
 SMSの場合、携帯電話そのものを盗まないと盗聴が不可能だからだ。日本ではSMSは2011年7月31日にキャリア間の相互接続が完了しており、徐々にビジネスユースも増えているが、困ったことにKDDIだけはたまに届かないケースがある。(筆者の実感では10回に1回程度)これを回避するためにはKDDIのセンター直結のSMS送信サービスをつかわないといけないのだがコストが非常に高い。

 このあたりは今後どれほどのマンインザブラウザ攻撃被害が生まれるか?により投下できるコストが判明してくるはずである。

■2.携帯事業者がユーザの振込先情報を保持(しようと思えば)してしまう。

 この問題は法的な整理が必要となり筆者はコメントできないが、いずれ問題となるはずである。暗号化した文字列にして送り、受信した側が復号化するという手法もなくはないが、当然ながらブラウザ上で復元はできない。書きかえられる危険性があるからだ。この問題はユーザ側にも一定の理解を持ってもらう必要がある。

■3.携帯電話を持っていないユーザも存在する。

 まずユーザサイドは、ブラウザだけではオンラインバンキングが安全に使用できない時代になってしまった、という理解を持っていただく必要がある。その上で携帯電話以外の手法(専用端末等)を銀行が配布するなども考えられるが、基本は有償であるべきであると筆者は考える。不満をぶつけるべきは銀行側ではなく攻撃者である。

 過去似たような展開となったセキュリティソリューションがある。アンチウイルスがそれでだ。アンチウイルスは20年前のPCにはインストールされていないケースが非常に多くあった。それを普通に使用していたのである。今は時代が変わり、アンチウイルスは必須技術となり、アンチウイルスがインストールされていない端末を普段使用するユーザはほぼいない。ユーザが自己防衛のために費用を支払っているのである。つまり20年間かけてユーザが教育されたともいえる。

 オンラインバンキングはユーザにとってこれらと同様に大きな転換期を今後1〜2年で迎えるだろう。我々が追求すべきなのはもちろんセキュリティとコストのバランスである。大事なのは、まだそれでも銀行窓口に出向くよりは便利な存在にとどまるであろうことを見守ることである。

 このようにワンタイムパスワード型トランザクション署名+2経路認証は、当面個人向けオンラインバンキングにおける必須技術となるはずである。

法人バンキングのトランザクション署名はどうするべきか?

 一方、法人バンキングの場合、これらの仕組みは少し具合が悪い。

 例えば、RFC6287で定義されているOCRAは最大512バイトまでしか、文字列を処理できないのだ。この場合、企業の給料日などにおいて一括振込の際にまとめて処理が出来なくなってしまう。振込数、つまり社員の数だけメールを受信するわけにもいかない。誰の携帯で受信するかも大きな問題となる。

 これは次回にまとめさせていただく。結局3回連載寄稿と言いながら次回で第5回目となってしまうが。お付き合いいただければ幸いである。

会員限定で「読者からのコメント」が読み書きできます! 「読者からのコメント」は会員限定の機能。会員登録を行い、ログインすると読者からのコメントが読み書きできるようになります。

会員登録(無料)・ログイン

Myリストへ 印刷用ページへ

この記事をtweetする このエントリーをはてなブックマークに追加


この寄稿記事に掲載している情報は、掲載日時点での情報となります。内容は変更となる場合がございますのでご了承下さい。また、「Key Conductors」の寄稿記事及び当該記事に寄せられたコメントについては、執筆者及びコメント投稿者の責任のもと掲載されているものであり、当社が、内容の最新性、真実性、合法性、安全性、適切性、有用性等を保証するものではありません。


30007296


IT・IT製品TOP > Key Conductors > 亀田 治伸(日本セーフネット株式会社) > 【緊急寄稿】マンインザブラウザ攻撃とトランザクション署名

このページの先頭へ

キーマンズネットとは
日本セーフネット CDP事業部 サービスプロバイダ営業部 部長 長年セキュリティ系の事業に従事。特に認証と暗号化を専門としている。 最近は楕円曲線暗号とSAML POSTバインディングを個人的テーマとして研究中。JIPDEC 客員研究員として企業の電子商取引の安全化にも努めている。harunobu.kameda@safenet-inc.com

ページトップへ