今回の 7payの不正利用は、「Webアプリの脆弱性」とは別の、お粗末な仕様の問題ですが、
どうしてこんな仕様のソフトがリリースされてしまったのでしょうか?
2018年の日本国内での個人情報の流出事件は443件だそうです、1日に1回以上おきてるのは驚きですね。脆弱性を検出してくれるソフトやサービスはありますが、これらも完璧ではありません。
いっぽう仕様上は問題が無くても、実装上のちょっとした間違いから「Webアプリの脆弱性」は作られてしまいます。
写真は FreeDigitalPhotos.net から
どうしたら良いのでしょうか?
これさえ行えば大丈夫という回答はありませんがまずは、全ての開発者は典型的な「Webアプリの脆弱性」が、どの様にして起きるのかを知るべきです。
そう考え、EY-OfficeのRuby on Rails教育では全てのコースで「Webアプリの脆弱性」に付いての教育とデモを行っています。
クロスサイドスクリプティング(XSS)によるコンテンツの改ざん、セッションハイジャクを使った成り済まし、SQLインジェクションによる情報流出などを、受講者の前でデモします。
「百聞は一見にしかずと」言われるように、知識としては知っていることでも、目の前でハッキングが行われるインパクトから、受講者の目の色が変わるのが分かります。デモの後で脆弱性の仕組みや対処方法の解説を行います。
実は私も以前ある脆弱性関連のセミナーに参加した際に、講師の方が目の前でハッキングのデモしてくれ、そのインパクトの大きさを経験があるからこのようなデモを行っているのです。
現在の Ruby on Railsは脆弱性の無いアプリが作れるように、フレームワーク側で色々と対処していまが、開発者が不注意なコードを書いてしまえば脆弱性は簡単に出来てしまいます。
知識を教えるだけではなく、目の前でデモを行う事で強いインパクトをあたえ脆弱性の怖さを少しでも高めてもらえればと思ってデモしています。