電子決済の不正使用はセキュリティの脆弱性が原因なのか -教えてAIBOU –

たまゆらblogとはたまゆらblogとはITを苦手にしている人のためのざっくり解説blogです。
専門用語が分からない方でもご理解いただけるよう、専門用語を使わずに解説しています。 これを読んでITへの苦手意識、恐怖感、抵抗感を払拭してください。

※なお、解釈を容易にするために、厳密には間違っていたり言葉の定義が曖昧な場合もありますがご容赦ください。

脆弱性なのか仕様なのか

スマホの電子決済サービスが普及するにつれてセキュリティに関して不安を感じるいくつかの 事案が出てきました。
勝手にパスワードを変更され、勝手にクレジットカードからチャージされてしまう。
これではとてもいい気分で買い物なんて出来ません。
やっぱり現金が一番と思った方も少なくないと思います。
では、果たしてこれは不正使用なのかどうか考えていきたいと思います。

参照:東洋経済online セブンペイの不正アクセスはなぜ起きたのか https://toyokeizai.net/articles/-/290685

本当にシステムの脆弱性が問題なのか

今回の情報流出の原因としてはパスワードリセットをする際に
1.元のメールアドレス 2.生年月日 3.電話番号 が分かれば第三者のメールアドレスにパスワードリセットが送れる仕様となっていました。
またその際に二段階認証や秘密の質問はなく、リトライの回数制限もありませんでした。
これにより第三者がパスワードをリセットすることができ不正にログインされることが起こって しまいました。

果たして、これは脆弱性なのでしょうか?

パスワードが分かればログイン出来る。 しつこいようですが、これは脆弱性なのでしょうか?

パスワードで管理されていたシステムがパスワードを知られたら開けられてしまったんです。 パスワードを入力するとログイン出来てしまう脆弱性…

パスワードを家の鍵に置き換えてみると

パスワードは家で例えると「鍵」になります。 例えば、鍵のロック解除が非常に簡単で泥棒が5秒で開けられる鍵があったとしましょう。

これは明らかに脆弱性です。 「鍵を持っていない人間を家の中に入れない」という鍵の役割を果たしきれていません。

では、今回のケースはどうでしょう?

家は新築で防犯対策もしっかりされてます。 つまり家自体には脆弱性はありません。

しかし、鍵の管理方法が「ポストの中に入れておく」でした。 第三者にも簡単にバレてしまいます。 そして鍵の場所がバレてしまえば、家の中に入られるのは時間の問題となります。

これは脆弱性ではなく、鍵の管理方法つまり仕様の問題となります。

今回のケースはこちらに該当します。

仕様なのでセキュリティチェックも当然通る

先ほどのように今回の原因は明らかに仕様の問題です。 セキュリティチェックでも仕様通りに「鍵をポストの中に入れる」が正しい手順となります。 正しい手順を踏んでいるので当然、チェックも問題なく通ります。

では、ここで新たな疑問が湧きます。 開発途中で仕様のミスに気づき指摘する人はいなかったのか?です。

おそらく、これは完全に想像ですが現場の開発エンジニアは気づいていたと思います。

過去10数年とこんなやり取りが繰り返されることによって、今回の現場でも発注元と開発業者との 健全な議論はされてなかったのかもしれません。
残念ながら事実、発注元と開発業者との知見の差は絶望的なほどあります。
今回のケースは「仕様のミス」のため開発業者の落ち度はなく仕様通りに納期通りに仕上げています。

利便性とセキュリティは相反する関係性ではない

今回、何度も利便性とセキュリティのバランスを見てというコメントがありました。 確かに一昔前はセキュリティを強めると利便性が悪くなることもありました。
典型的な事例がオフィスへの入退室で、セキュリティカードで鍵の解鍵や施錠、入退室の管理をすることによって、中で働く人たちは常にカードを持ち歩き入退室の度に「ピッ」とする必要がありました。

しかし電子空間であらゆるものが管理され、テクノロジーも進化してきた現在は過去と違い利便性と セキュリティは相反するものではなくなっています。
利便性を落とさずセキュリティを高めることは可能ですし、そもそもセキュリティに不安があるものは 使う気にもならず利便性もへったくれもありません。

サービスの品質向上にも己の知見の向上は必須

以上のように今回の不正使用はシステムの脆弱性ではなく仕様の問題です。
これを防ぐために最も効果的なことは己の知見を高めることです。

  • 開発業者の方と対等に議論が出来る
  • 設計の段階で欠陥に気づく

今の時代、テクノロジーのスキルは必須になっています。
ITやプログラミングは難しいと思っている方は是非、当ブログの他の記事も読んでみてください。
サービスの品質を高めるためには人任せにするのではなく、己の知見を高めることが一番の近道です。

それじゃ、また!

※言葉の定義を補足すると、脆弱性とは「バグ」のことを意図しています。

3DI 「IT・プログラミング講座」 

10時間の学習で実践で使えるプログラミング習得 
文法を覚えるよりも実践で使えるようになることの方が重要  

ご興味を持っていただけましたらこちらまで
 info@3di.ninja
法人プランもございます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA