分123徳丸浩さん「オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法」EGセキュアソリューションズの徳丸浩さんは「オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法」というタイトルで発表しました(発表資料⁠)⁠。今回の発表はPHP成分は少ないとあらかじめ断り,架空のペイメントサービス「オニギリペイ」がさまざまなトラブルに見舞われる状況をロールプレイングしながら,セキュリティなどの問題を扱いました。徳丸浩さん(撮影:松浦麻奈未)オニギリペイは様々な店舗で決済され,データセンターで加工し,チャージは複数の金融機関が設定するという構成です。この開発のために,主に次の事柄が提示されたと仮定しました。個人情報の漏洩等に対策すること外部ハッカーからのサイバー攻撃に対策することウイルス対策を施すことSQLインジェクション,XSS等の脆弱性に対応すること不正ログイン対策をすること通信路の暗号化さらに,CentOS7,PHP5.4,MySQL5.5の使用,AWS,ウイルス対策はフリー,Tripwire(オープンソース版⁠)⁠,常時SSLを使うことになったとしました。オニギリペイリリースにおけるトラブルを取り上げていきました。キャンペーンを実施したら,某筋からお叱りPayPayを上回るキャンペーンを実施せよ!と指示が出たとき,PayPayが最大20%還元のところ最大21%ポイント還元を謳いました。景品表示法でサービスできる金額は10分の2までだったことに気づいていませんでした。最終的に指導を受けてキャンペーンの見直しを迫られ,消費者に不信感を与えてしまいました。IDを自動発番しているのに不正ログインが多発した不正ログインが多発しました。調べてみると,パスワードスプレー攻撃が行われていました。これはDDoS攻撃ではなく,ユーザーIDを変えながら少しずつ試すもので,発覚し辛く,検知し辛いものです。この攻撃は,2013年11月にGitHubで発生した大規模なアカウントハックが先駆的なものだと紹介しました。そもそもの問題として,オニギリペイでは発番していたユーザーIDが連番だったこと,さらに弱いパスワードを許可していたことを挙げました。結果として,オニギリペイでは2段階認証を必須にしました。SP800-63-3という基準はパスワードの業界に衝撃を与えたと振り返り,その内容は「最小8文字とする」「⁠複雑性を課すべきではないすべて数字でも良い」「⁠脆弱なパスワードをはじく仕組みを導入(辞書を利用⁠)⁠」⁠「⁠質問の質問を変えさせない」「⁠アカウントの強制パスワード変更は禁止」であることを説明しました。2段階認証を強制しても不正ログインが止まらないしかし2段階認証を強制しても不正ログインが止まりませんでした。これはIDとパスワードが設定された時点でセッションIDを発行していたことから,フォームの2段階認証をバイパスできたことが原因でした。URLを踏めば大丈夫だったという問題です。今回の発表では簡単な原因にしましたが,時間があればより難しい原因にもできたと言及していました。ヘルプデスクが狙われるログインできないのに利用される問題も起こりました。実態はヘルプデスクからの不適切なパスワードリセットが行われていたことが原因でした。そもそも,本人確認をしてパスワードの再発行を行うというフローがあったのですが,攻撃者が面倒な客であることをアピールし,かつパスワードを電話で話すように強要された結果,ヘルプデスクが口頭で仮パスワードを発行したことによるものでした。これは,ソーシャルハッキングでは良くある手法とのことです。正規のエスカレーションフローが怪しく,オペレーターが仮パスワードが見えるのもマズイ状況だと言及しました。最終的にマニュアルを見直し,運用でカバーすることになりました。電話でパスワードを伝えてはならず,リセット機能のみであれば担当者がパスワードを目に触れないようにできるとも付け加えました。スマホアプリの脆弱性を連絡されるWebサーバー側は平文で保存していませんでしたが,端末側のURLにパスワードが平文で記載されていました。これにより端末の紛失・盗難時に保護されていないと指摘を受けました。Keystore」の利用を挙げました。iO版のオニギリペイアプリがリジェクトされるiO版のオニギリペイアプリがリジェクトされました。その原因は,Android版バージョンアップのお知らせと記載してしまったことによるものでした。記載を直しリリースしたとのことです。OSコマンドインジェクションOSコマンドインジェクションがあったようです。WebShellを設置されたが,改ざん検知で個人情報漏洩には至りませんでした。原因は,ImageMagickのconvertコマンドを起動しており,エスケープ漏れがあったことに起因していました。PHP7.4にて追加されたproc_openを使うことで,オプションを配列で送ることができるため,原理上コマンドインジェクションがなくなると言及しました。IAMのクレデンシャルが漏洩してしまいました。できすぎているんじゃ?という疑問についてはCapitalOneの漏洩事故をモデルにしているとのことで,実際にあった例であると述べていました。対策としては,ネットワーク的にiptablesを用いて,162...を拒否することで対応でき,最近EC2も対応してきているそうです。v2を導入するとputメソッドでトークンを取得する形に変わるため,SSRF攻撃で簡単に取得できる状況ではなくなることも言及しました。エンドポイントの機能そのものを殺す方法ももちろんあると付け加えました。多層的に対応すべきだったとのことです。これには上流から対応する必要があると指摘しました。リスクアセスメントの方法としては,大きなところとして次の分析があります。ベースラインアプローチ:書いてあるとおりにやればいいだろうというアプローチ。非形式的アプローチ:専門家に依頼するというアプローチ。詳細リスク分析:網羅的に資産や脅威を洗い出すアプローチ。組み合わせアプローチ:ベースと詳細リスク分析で補う組み合わせ。セキュリティにはお金がかかるが,予算を提示するのは発注者であるとし,例えば,ビルを建てる場合どの程度の耐震性を持たせるかは発注者の責任であり,発注者がセキュリティを左右するとしました。そのためにはRFPが重要であるとし,発注者は検討できることを全部書いておくべきだと語ります。セキュリティ要件の「モデルプラン」の例として,高木浩光氏による「地方公共団体における情報システムセキュリティ要求仕様モデルプラン(Webアプリケーション)」を紹介しました。アジャイルで開発するときも,どこをイテレーションで実施するのか・しないのかを決めておく必要があるとし,担当者の教育などは1回で良いとか検討すると良いとしました。複数イテレーションの間に専門家による分析を挟むなどが良いアイデアだとしました。いまは攻撃や分析すべきことが多様になっているため,徳丸本で対応しようと試みてきたが,専門家を呼ぶ必要がある状態になりつつあるそうです。いえ,できることをしようとする場合は,参考になる文書は(OWASPはやや抽象的なので)IPAが作成したIoTシステム絡みのテキストをお勧めしていました。脆弱性テストは自動化とか,できるだけのことはツールでするの考え方を付け加えました。Laravel.hiroshimaという勉強会を主催。普段はLaravelを使い,個人開発を行なっている。ユーザーの役に立てるサービスを作りたいと思い日々頑張っている。Symfonyユーザー会メンバー。PHPカンファレンスには2015年から参加。Twitter:hanahiro_aze中村慎吾(なかむらしんご)仕事でPHPを使うようになって10数年。楽しいと思ったことには何でもやってみている。趣味が講じて(拗らせて?)会社も作りました。最近はAEMなどのニッチな方面ばかりやっていました。PHPカンファレンス2019事前情報[20回開催記念企画]廣川類氏と徳丸浩氏に,これまでのPHPとの関わりをを聞く。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。