国内最大手の会社がクレジットカード番号を流出させたとして、3/10以降大きく報道されました。この事故から、我々エンジニアが学ぶべき事は何でしょうか?発生した事象についてCVE-2017-5638とはなにかファイルアップロードにおけるマルチーパートヘッダーの解釈部分に脆弱性があり、リモートコード実行(RCE)が可能な状態であったらしい本投稿の趣旨から外れるので、詳しくは調べていません。これまで何度もリモートコード実行(RCE)脆弱性が見つかっているが、GMOPGという、決済代行最大手が被害にあったとして、大々的に報じられる事となりました。※GMOPGがSIしたサイトでの被害であり、GMOPGのメインビジネスの部分が突破されたわけではないようです。攻撃試行も成功も少なかったようである。※徳丸先生から、「ゼロデイではない」とご指摘を受けました。かんがえたら確かにゼロデイではなかったので訂正します。18:00から調査を開始して、6時間後にはサイト停止の判断をできているので、3/7から調査を開始できていれば、このような重大インシデントに繋がっていなかった可能性があります。2Strutsは、JVNによればリモートコード実行脆弱性(RCE)だけで、過去何度も発生させています。・もしくはその両方つまり、とても商用で使えないフレームワークであるとも言えます。※ScutumというWAFの会社は2014年時点でStrutsを「控えめに言ってもどうしようもない」と形容しています。Scutum)後知恵かもしれませんが、Strutsを利用するという判断自体が間違いだったかもしれません。善良なる小市民である我々はどう自分たちを守るべきでしょうか?今回の事件から我々が得られる教訓は以下の2点です。脆弱性情報が公開されたらマッハで対策を打てるようにする自社または自分が保守している公開システムで利用しているサードパーティ製のミドルウェア、ライブラリ、フレームワークをすべて把握しておく利用しているサードパーティソフトの脆弱性情報を毎日収集する※MyJVNはAPIを公開していますので、非常に自動化しやすいと思います。※Lac社やIPAは、注意喚起情報のRSSを公開しています。非常に誠実で信頼できる会社だと思っています。今回の件で評判を大きく落としてしまいましたが、コアであるオペーレション能力が大きく毀損したわけではありません。今回の危機を乗り越えてより優れた会社となることを祈ってやみません。