架空企業「オニギリペイ」に学ぶ、セキュリティインシデント対策:徳丸浩氏が8つの試練を基に解説(1/3 ページ)
ECサイトやWebサービスでセキュリティインシデントを起こさないためには何をすればいいのか。2019年12月に開かれた「PHP Conference Japan 2019」で徳丸浩氏が、架空企業で起きたセキュリティインシデントを例に、その対策方法を紹介した。
ECサイトやWebサービスを提供する会社で発生したセキュリティインシデントに関するさまざまなニュースが後を絶たない。どうすればこうしたインシデントは防げるのだろうか。
『体系的に学ぶ安全なWebアプリケーションの作り方』(通称:徳丸本)の筆者として知られる徳丸浩氏(EGセキュアソリューションズ 代表取締役)は、2019年12月に開かれた「PHP Conference Japan 2019」のセッション「オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法」と題するセッションで、架空のQRコード決済サービス「オニギリペイ」がさまざまなインシデントに遭遇したという設定で、Webサービスを巡るセキュリティ事故の原因と対策を解説した。
ありがちなRFP、ありがちな開発発注体制でスタートした「オニギリペイ」
オニギリペイは、QRコード決済サービスを提供する架空企業だ。システムの開発に当たってまとめた提案依頼書(RFP)では、「オープンソースソフトウェア(OSS)を使うこと」「アジャイル開発を採用すること」「パブリッククラウドにシステムを構築すること」といった今どき風の要件を挙げている。
さらにセキュリティ要件として「ウイルス対策を実施すること」「個人情報漏えい対策をすること」「クロスサイトスクリプティング(XSS)やSQLインジェクションなどの脆弱(ぜいじゃく)性に対策すること」「外部ハッカーによるサイバー攻撃対策をすること」といった項目を並べていた。詳細が挙げられていないように思えるが、徳丸氏によると「こうしたセキュリティ要件はありがちなこと」という。
このRFPに対して、システム開発を請け負う架空企業「ライス総研」は、「Amazon Web Services」(AWS)にCentOS 7でインスタンスを構築し、PHP 5.4とMySQL 5.5を組み合わせてシステムを構築する内容を提案した。他には、以下のような内容を提示した。
- フリーのアンチウイルスソフトを導入
- 改ざん検知ソフトウェア「Tripwire」のオープンソース版を導入
- 不正ログインを回避するため、ユーザーIDをシステム側で発番(自動生成)
- 常時SSLで通信経路を暗号化
- パスワードなど重要情報も暗号化
その結果、ライス総研はオニギリペイの開発案件を獲得。ライス総研はさらに3社に開発を委託する体制で、システムを構築した。
「『以前からセキュアな開発を実施している』というライス総研が、こうしたセキュリティ施策を踏まえた提案をしたなら、オニギリペイ側は『ちゃんとやってくれるだろう』と思うわけです。ところが、9月1日のサービスローンチの直後から、オニギリペイはさまざまな試練を受けることになりました」(徳丸氏)
監督官庁から指導、不正ログイン、狙われたヘルプデスク――オニギリペイ8つの試練
最初の試練は、技術以外の部分だ。「他社のQRコード決済サービスを超えるキャンペーンを実施せよ」という経営層の指示に従って「利用額21%還元キャンペーン」を打ち出したところ、景品表示法に違反するとして消費者庁から呼び出され、指導を受けることになったのだ。
商品やサービスを購入または利用した消費者に提供するような景品やインセンティブなどの「総付景品」を付ける場合、内閣府の告示に基づき、最高額が「取引金額の20%まで」と定められているため、21%が指導の対象になったのだ。指導に従わない場合、課徴金を課される恐れもある。「結局、オニギリペイは打ち出したキャンペーンを中止し、消費者に不信感を抱かせる結果となった」(徳丸氏)
2つ目の試練は不正ログインだ。ユーザー側ではなくオニギリペイ側でIDを発行したにもかかわらず、不正ログインが多発し、ユーザーからTwitterで指摘を受ける事態になったのだ。
調べてみると、異なるIPアドレスを持つ多数の端末から、少しずつユーザーIDを変えながらありがちなパスワードを試す「パスワードスプレー攻撃」を受けてしまったことが判明した。
「別々のIPアドレスから少しずつ仕掛けるパスワードスプレー攻撃は、DDoS攻撃のように短時間で大量にくるものではないため、攻撃を検知することが非常に難しい。普通のログイン操作と見分けにくいことが特徴だ」(徳丸氏)
原因をさかのぼり、なぜオニギリペイがパスワードスプレー攻撃を受けたかを突き詰めると、ユーザーIDを「連番」で発番したことが原因だった。攻撃者はユーザーIDを容易に推測し、少数のありがちなパスワードを組み合わせることで不正ログインを試行したわけだ。
これを防ぐには、「IDそのものを推測しにくいものにするとともに、弱いパスワードを許さず、できれば二要素認証/二段階認証も必須にする方がいい」(徳丸氏)。「過去のパスワードの常識をひっくり返した『NIST SP800-63』の内容を踏まえ、パスワードに複雑性を課さず、さまざまな制限はなくすが、その代わり脆弱なパスワードをはじく仕組みを導入することでパスワードスプレー攻撃はある程度防ぐことができる」と徳丸氏は述べた。
なお、徳丸氏によると2013年11月にGitHubを狙った攻撃が、パスワードスプレー攻撃の先駆的なものだったという(参考記事:GitHubにブルートフォース攻撃、一部のパスワードが破られる)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 社内SEの忠告もぺいっ!
情報セキュリティの啓発を目指した、技術系コメディー自主制作アニメ「こうしす!」の@ITバージョン。第14列車は「エンジニアの職業倫理」です。※このマンガはフィクションです。 - 2020年ランサムウェアの最新動向――Emotetから始まる攻撃、クラウド、IoTも
ランサムウェアを正しく理解し、有効な対策を紹介する本連載。今回は、「2020年ランサムウェアの最新動向」と題して事例と今後注意が必要な点などをお届けしたい。 - サプライチェーン攻撃とは何か
サイバー攻撃の深化はとどまるところを知らない。2019年は企業に対する「サプライチェーン攻撃」が話題となっている。サプライチェーン攻撃とは何か、何が狙われるのか、どのような対策が考えられるのだろうか。