2024/12/26 にJALでDDOS攻撃を受けたとしてシステムが停止してしまい、6時間のシステム停止となってしまった件に関して、ちょっとお話をさせていただきます。
なお、下記の事象の説明は、私個人の意見であり、1つの推察でしかありません。
実際の内容と異なる可能性がございますので、ご注意ください。
さて、まずはじめに、DDOS攻撃はどのようなものなのかからお話します。
DDOS攻撃とは
DDOS攻撃はシステムに対して、以下のような攻撃のことを指します。
システムに同時に大量のデータを送り付け
システムに同時に処理リクエストを送り付ける
システムに同時に単純なアクセスする
この攻撃は一時的ではなく、長時間送り付け、サービスを妨害するものです。
これにより、システム側では想定しない処理を行わなければならず、本来の処理が一切できない状態になります。また、この攻撃によりシステム側に不具合が生じ、外部からのログインを許してしまうようなケースもあります。そのような場合、脆弱性を突いた攻撃になります。
どのような攻撃だったか?
今回の場合、JALのホームページでアカウントのログイン無しで行うことが出来る処理は、「旅券の検索」です。"どこから"、"どこへ"、"いつ"と条件を入力すると利用できる旅券を検索します。検索する際には、現在の旅券の発行状況を確認するため、データベースへの問い合わせが発生しているはずです。このデータベースはおそらく全システムで共有されている情報です。データベースへのリクエストが大量にあると、発券済みの旅行者のチケットの検索も停止してしまいます。
JALのホームページやデータベースなどは企業が想定している処理能力で設計されているはずです。例えば、同時に送信されるリクエストは300件というようなシステム上の能力を想定して、コンピュータの数を準備しています。しかしながら、この数字を大きく上回るリクエストを受け付けた状態が6時間近く継続してしまった可能性があります。
どうやって送り付けるのか?
ではこの大量のアクセスやリクエストはどのように発行するのか?皆さんはわかりますか?
1台のPCでリクエストするにもCPUの能力によって限界があります。うまく送ったとしても1台のPCでは20件くらいじゃないでしょうか。今回の事件の規模では千件単位のリクエストがあったのだと思います。例えば、1000件のリクエストを発生させることが出来ればシステムが処理できなくなる状態になるとします。この1000件のリクエストを作るには50台の高機能PCが必要です。
さて、この50台(仮)の高機能PCをハッカーが準備したのでしょうか?違うでしょう。
物理的に購入したのであればコストが高過ぎます。もし警察に見つかってしまった場合、このPCを見捨てて逃げなければなりません。悪意のある攻撃をする場合、自分のPCじゃないPCを使用するのが最適です。そのため、ハッカーは一般ユーザのPCやサーバを乗っ取り、複数のコンピュータを同時に操作できるようにこっそりとプログラムを作ってしまいます。そうすることでハッカーが1人でも攻撃を実行することが可能です。乗っ取りが出来るPCが1000台あれば、1000件のリクエストを何回も実行することが可能になります。
どうやって乗っ取るか?
この大量の一般ユーザのPCをどのように乗っ取るのか、もう察していただけると思います。
そうですマルウェア(ウイルス)です。ここではマルウェアでPCにバックドアを作成してしまえばWindowsのセキュリティスキャンにも引っ掛かりません。後は必要なプログラムをPCに常駐させます。常駐してしまえば、ハッカーからコントロールが可能になり、数千台のPCから一斉に同じ処理をリクエストすることが可能なのです。
どうやって防ぐのか?
企業側ではどのように防ぐことができるでしょうか?
本来お客様からのリクエストは不特定多数ですので、不特定多数を拒絶することは出来ません。JALのようなグローバル企業の場合、海外からのリクエストも受け付けなければなりません。
このような場合、
類似リクエストが連続で発生している
類似リクエストが全く異なるPCから送られている
Comments