
Elasticsearchは、様々なデータベースに対応する非常に強力な検索エンジンであり、内部データの操作によく使用されます。Elasticsearchインスタンスの中には、内部ネットワークからのみアクセス可能なものもありますが、多くのインスタンスはインターネットに接続されており、パス(URL)さえ知っていれば誰でもアクセスできます。
攻撃
Secureworksは、インターネットに接続されたセキュリティ保護されていないElasticsearchインスタンスを多数利用してデータベースを窃取し、身代金要求のメッセージに置き換えるという新たなサイバー犯罪キャンペーンを報告しました。このメッセージは、データベースを復元するために身代金を支払うよう要求しています(図A)。
図A

被害を受けたElasticsearchは、認証なしで完全にアクセス可能という点でセキュリティが確保されていませんでした。身代金要求のメッセージは、脅威アクターによって「read_me_to_recover_database」という固有のインデックスの「message」フィールドに保存されていました。また、被害者が攻撃者に連絡を取り、身代金交渉を行うための固有の連絡先メールアドレスも残されていました。
Secureworksのカウンター・スレット・ユニット(CTU)は、1,200件を超えるデータベースへの侵入に関与した4つの異なるメールアドレスを特定しました。身代金要求のメッセージは常に同じであるため、1,200件のデータベースすべてが同一の攻撃者によって侵害された可能性が高いと考えられます。データベースの大部分はクラウドプロバイダーのネットワーク上でホストされており、一部のデータベースはおそらく同じ組織に属しているため、関与した企業の正確な数はまだ特定できません。
参照: モバイルデバイスのセキュリティポリシー(TechRepublic Premium)
キャンペーンは大規模であるものの、脅威アクターにとって真の成功とは言えません。Secureworksは、攻撃者が2つのビットコインウォレットを使用していると報告していますが、そのうちの1つを確認すると、2件の取引しか確認できず、執筆時点で合計金額は約600ドルでした(図B)。
図B

Secureworks CTUは、攻撃者はおそらく自動化されたスクリプトを使用して、脆弱なシステムの特定、データベースの削除、身代金要求メッセージの送信といったすべての作業を実行したと考えています。研究者によると、1,200ものデータベースのデータ保存にかかるコストを考えると、攻撃者はデータを一度もバックアップしていなかった可能性が高いとのことです。
安全でないデータベースへの脅威
同様の攻撃は以前にも発生しており、例えば2017年には27,000台のMongoDBサーバーが同様の攻撃を受けました。2020年には、攻撃者が22,900台のMongoDBデータベースを身代金要求しようとし、被害者に対し、データを公開し、一般データ保護規則(GDPR)の執行機関に連絡してデータ漏洩を報告するよう脅迫しました。
2018年、電子メールマーケティング会社のセキュリティ保護されていないデータベースが原因で、1,100万件の記録が漏洩しました。
身代金やデータ盗難の脅威に加えて、脅威の主体が機密データベースのコピーを作成し、さらなる侵害を行ったり、サイバースパイ活動を実行したりすることも可能です。
参照:パスワード侵害:ポップカルチャーとパスワードが混ざらない理由(無料PDF)(TechRepublic)
この脅威から身を守る方法
まず、必要不可欠な場合を除き、データベースはインターネットに公開すべきではありません。一部の企業ではデータベースをオンラインでアクセス可能にすることが義務付けられていますが、インターネットに公開されているデータベースの多くは、ユーザーの利便性向上のためだけに公開されています。
その他のよくある間違いとしては、データベース構成のチュートリアルを誤解したり、データベースを構成する際に正直な間違いを犯したり、以前に適切に構成されていなかったデータベースの誤って構成されたイメージを展開したりすることが挙げられます。
Elasticsearchの場合、セキュリティ対策に関するガイダンスがウェブサイトに掲載されています。Elasticは、セキュリティ対策を有効化せずにElasticsearchを実行しないこと、また「root」ユーザーとして実行しないこと、そしてパブリックインターネットからElasticsearchを保護すること、できればファイアウォールやVPNの内側に設置することを推奨しています。また、ロールベースのアクセス制御を設定し、すべてのユーザーに適切な権限を割り当てることも推奨しています。
データベースにインターネットからアクセスする必要がある場合は、強力な認証によってさらに保護する必要があります。多要素認証(MFA)を導入することで、たとえ攻撃者がログインに必要な有効な認証情報を持っていたとしても、2つ目の認証チャネルを利用できなくなります。Elasticsearchでは、モバイルデバイス上のテキストメッセージやGoogle Authenticatorなどの認証ツールのトークンなど、MFAを実装することが可能です。
開示:私はトレンドマイクロに勤務していますが、この記事で述べられている意見は私自身のものです。