PR

九州商船がWeb予約システムを2カ月にわたり停止した。原因はシステムへの不正アクセスだ。攻撃者はサーバーの脆弱性を突いて仮想通貨の採掘ソフトを埋め込んだ。その結果、CPUの負荷が100%に高まりサービスを提供できなくなった。詳細な調査結果を速やかに公開するなど事後対応には評価できる面があった。

 「弊社インターネット予約サービスに対する不正アクセスに関しまして、会員の皆様に多大なるご迷惑とご心配をお掛けしておりますこと、心よりお詫び申し上げます」。長崎・佐世保と五島列島を結ぶフェリーなどを運航する九州商船(長崎市)は2018年3月5日、同社のWebサイトでお詫びとともにサービスを再開したと公表した。

 不正アクセスにより同社がインターネット予約サービスを停止したのは1月5日のことだ。原因を究明し復旧策を講じるまで2カ月を要した。

 サービス再開から3週間強が過ぎた3月30日に、九州商船が設置した調査委員会が40ページ超の最終報告書を公開。不正アクセスが発覚した経緯や侵入の手口、調査の手法を明らかにした。報告書を基に事件の全容を追う。

見慣れないプロセスが作動

 九州商船の設立は1911年(明治44年)だ。100年以上にわたり、長崎の離島における貴重な足として年間76万人が利用している。

 乗船予約Webサイトの異変に同社社員が気づいたのは2018年1月5日夕方5時ごろだった。「予約サービスのWebサイトの反応が遅いと利用者から指摘を受けた」(同社経営管理部)。システム管理会社のNDKCOM(長崎市)の担当者がWebサーバーを調べると、CPUの使用率が100%に高まったままの状態だった。

 予約システムはオンプレミス型で、ファイアウオール、Webサーバー、データベースサーバーから成る。不正アクセスを受けたのはWebサーバーであり、OSはRed Hat Enterprise Linux、WebサーバーソフトはApacheだった。

 Webサーバーで動くプロセスを確認したところ、「p」という見慣れないプロセスがCPU資源を消費していた。プロセスの強制終了やサーバーの再起動をしても再び立ち上がったという。

 怪しいプロセスは他にもあった。プロセスを自動起動する「cron」のログを担当者が確認すると、2017年12月12日と12月25日の2回にわたり「upd」というプロセスを1分間隔で起動するよう設定した痕跡が見つかった。

 「upd」はnobodyの権限で設定されていた。nobodyは最も権限の弱いシステムアカウントだ。最後にcronの設定を確認した2017年11月13日にはこれらの設定やプロセスはなかった。

 NDKCOMの担当者は九州商船のWebサイトが不正アクセスを受けたと判断した。1月5日午後6時半、異変を察知してから1時間半後のことだ。

 担当者がcronにnobody権限で設定さたプロセスを削除した上で「p」を削除したところ、「p」は再起動しなくなった。だが、これで一件落着ではない。cronの設定を変更できたのであれば、他の何らかのコマンドが実行された可能性もある。さらに予約システムはデータベースサーバーと接続しており、約7万4000人いるWeb予約サービス会員の個人情報が抜き取られている懸念もあった。

 担当者は確認内容をNDKCOMのトップに報告した。同社は「個人情報漏洩の恐れがある不正アクセス」だと判断し、九州商船に報告するとともに同日午後7時50分にWebサーバーの運用を停止した。九州商船は翌営業日に当たる1月9日に、Webサイトと利用者へのメールでサービスの停止と顧客情報漏洩の恐れがある旨を公表した。

隠しディレクトリーに忍ばせる

 識者による調査委員会が原因究明に向けてサーバー内を確認したところ、何者かが「/usr/local/」配下の深い階層に隠しディレクトリーを作り、そこに「p」や「upd」などの不正なプログラムの実体を忍ばせていたと判明した。全てのユーザーに書き込み権限が付与されたディレクトリーを探してプログラムを忍ばせたとみられる。

 隠しディレクトリーには「p」と「upd」に加えて、「a」「f」「g」「m」「r」「s」など10種類を超えるファイルが2017年12月25日に置かれたと分かった。

 これらのプログラムは連携して仮想通貨の採掘(マイニング)を担っていた。仮想通貨の採掘プログラムが稼働していなければ稼働させ、採掘の報酬として得られる仮想通貨は特定のIDを持つ採掘者のものにする──。このような挙動をした。

 動作サーバーが32ビット機か64ビット機かによって、起動するプロセスを分岐させた。別のプロセスを実行するためだけに使われたとみられる実行ファイルも見つかった。ダミーの実行ファイルでプロセス名を分かりにくくする狙いがあったと考えられる。

 調査委員会が仮想通貨の採掘者のIDをGoogleで検索したところ、IDが記載されたWebページが4件見つかった。ファイルシステム上で個々のファイルやディレクトリーの属性情報などを記録する「iノード」の情報によると、採掘用のプログラムは秒単位で機械的に展開・実行されたとみられる。

 このことから調査委員会は「今回の不正アクセスは九州商船を狙い撃ちした標的型攻撃ではなく、インターネット上で脆弱性のあるサーバーに機械的に仮想通貨の採掘プログラムを仕掛けたもの」と推定している。