非常に話題になったのでご存知の方も多いはず。 「JALマイレージバンク」に不正ログイン、マイル盗む 数字のみパスワードの強化策は「検討していない」 http://www.itmedia.co.jp/news/articles/1402/04/news075.html

上記URLより引用

 1月31日~2月2日にかけ、計7人のユーザーから「自分のマイルが意図せず引き落とされている」という相談があり、調査したところ、不正ログインの可能性があることが発覚。2日午後4時以降、マイルをAmazonポイントに交換するサービスを停止した。  ログを調査したところ、不正ログインを受けた可能性があるユーザーは60人。申告のあった7人の被害額は合計数十万円程度という。不正ログインの経緯は分かっていないが、現在のところ、同社サーバへの不正アクセスは確認していないという。

ネットは攻撃にさらされている

ネット上のサービスは皆さんが考えているより、ずっとずっとキケンです。 筆者の経験上、どんな小さなサービスでも大抵攻撃を受けた形跡があります。

ネット上で行われる攻撃には大きく以下に分けられると思います。

  • サービス提供側に対する攻撃
  • ユーザを装って情報を抜き出すなどする攻撃

今回は不正ログインですので、後者にあたりますが、このように会員制サイトでパスワードを適当に入力してみたり、そうではなくサービスの提供元を装ってアカウントの持ち主にパスワードを確認しようとするフィッシングもごくごく日常的に行われています。 しかし、例えば銀行ATMで暗証番号を何度も打つような行為と違って、人目に触れることもありませんので、悪意のあるユーザはやっぱりネット上の悪事を働き安のでしょう。

また、ずさんなシステムだとまったく攻撃を検知できず、簡単に情報を抜き取られることにもなりかねません。

数字6桁のパスワードはほぼ無意味

他人に推測される可能性が高いパスワードは、それだけ攻撃を受けたときに簡単に突破されてしまいます。

今回問題になったケースはシステム側の制限でパスワードが「数値のみ6桁」しか設定できません。 数値だと 0-9 の10文字しかありません。 そして、6桁であれば000000-999999の100万パターンしかありません。

100万パターンを人力で入力するのはさすがに大変ですが、ちょっとしたプログラムを組んでコンピューターに仕事をさせることは簡単です。

今件のよくないところをまとめるならば以下の2つに集約できると思います。

  • システム的にパスワードが6桁の数字しか設定できず、他者から攻撃されることが想定されていないと見受けられる
  • マイレージという、換金性の高い商品を取り扱うサイトである

ログインできれば個人情報もわかってしまうので、もちろんこの点も大問題ですね。

セキュリティは軽視されがち?

簡単なパスワードを設定するのはユーザ側の責任 という考え方もあるようですが、そもそもコンピューターの発達が著しい昨今、安全なパスワードというものはほぼないと考えられます。 例えパスワードを100桁にしても、1000桁にしても、コンピューターに仕事をさせるならば、一致するパスワードを発見するまでの時間が多少延びる程度だからです。

パスワードの入力可能文字を増やしたり、桁数を増やすことはもちろん実施されるべきですが、そうしたとしてもパスワードのみで情報の安全性を保障することは難しいです。

そのため、近年ではパスワード入力だけで全ての機能を利用できるシステムではなく、例えばメール認証と組み合わせるなど、複数の手段を組み合わせることが広く行われるようになってきました。

サーバサイド開発では様々な攻撃にさらされていることを意識し、しっかりセキュリティ対策を施すことが期待されます。 個人情報流出などによる信用の失墜は何よりも痛手になるでしょう。

しかし、システム会社のお偉いさんでも、残念なことにセキュリティを非常に軽視している方が多く見られます。

セキュリティを強化するために要する費用だけを見せて説得するのではなく、トラブルに発展することを未然に防ぐということで考えなければならないと思います。