Death by Doki:深刻なDockerの新たな脆弱性(とその対策

2020年8月25日発行
マティアス・マドゥ博士著
ケーススタディ

Death by Doki:深刻なDockerの新たな脆弱性(とその対策

2020年8月25日発行
マティアス・マドゥ博士著
リソースを見る
リソースを見る

日本語の擬音語では、「ドキドキ」("""")というフレーズは、激しく鼓動する心臓の音を表しています。これはまさに、DockerサーバがDokiに感染した場合に、セキュリティチームのメンバーが経験するかもしれないことを意味しています。控えめに言っても、それにふさわしい名前です。

クラウドインフラへの依存度が高まる中、セキュリティのベストプラクティスを正確かつスケーラブルに有効活用することが不可欠です。また、アプリケーションを安全に展開するための最低限の機能だけでなく、コンテナセキュリティのためのカスタマイズされた対策をSDLC全体で周知し、展開する必要があります。

サイバー攻撃はますます頻繁になってきており、Linuxベースのインフラに影響を与える脅威はより一般的になってきています。その最終目的は、クラウドに保存されている機密データの略奪品を割ることです。Dokiはまさにそれを目的としており、検出されず、強力で効果的な状態を維持するために複数の技術を使用しており、Dockerベースのセキュリティ問題の領域ではこれまでに見られなかったものです。

Dokiとは何か、どのような仕組みなのか。

侵害されたアプリケーションの多くに共通するテーマですが、ソフトウェアがどのように侵害されたかについては、セキュリティの誤設定が受け入れがたいほど大きな役割を果たしています。特にDockerについては、Docker Engine APIの設定ミスが攻撃者にとって有益であることがわかっています。Ngrok Botnetの暗号化ボットは、2018年以降、安全でないDockerサーバーを嗅ぎまわって、独自のコンテナをスピンアップし、被害者のインフラ上でマルウェアを実行しています。

Dokiは、このマルウェアのより狡猾で悪質なバージョンであり、同じボットネットを利用して、同じ攻撃経路で成功しています。Dokiは、同じボットネットで成功し、同じ攻撃ベクトルであるAPIの誤設定を露呈しました。この誤設定は、コードの展開やサーバーの公開の前に対処されるべきでした。Dokiは、風刺的な暗号通貨であるDogecoinのブロックチェーンを利用して、事実上検出不可能なバックドアとして機能しています。現状では、1月以降、ほとんど痕跡を残さずにのたうち回っています。

このマルウェアは、基本的にブロックチェーンウォレットを悪用してコマンド&コントロール(C2)ドメイン名を生成するもので、それ自体は目新しいものではありませんが、Dokiは感染したサーバー上でリモートコードを実行する継続的な機能を提供し、ランサムウェアやDDoSなどの様々な有害なマルウェアベースの攻撃への道を開きます。Dokiは、いわば "骨を持ったDoge "のように容赦なく攻撃を仕掛けてきます。Intezer社では、この脅威の全体像と、その広大なペイロードについて、詳細な記事を掲載しています。

コードでドキドキの経路を見抜く

Dokiは、分散型ブロックチェーンネットワーク上で動作するバックドアであり、痕跡を消し、ホストのより多くの領域にアクセスし、感染を拡大し続けるために、とらえどころのない迅速なコンテナエスケープ技術を採用していることから、開発者やセキュリティチームにとっては、やや悪夢のような存在となっています。

しかし、Dokiは安全なAPIポートを持つDockerサーバには感染しません。運用中にこれらのポートを誤って設定することは、広範囲に影響を及ぼすミスですが、クラウド開発者のセキュリティ意識と実践的なセキュアコーディングスキルの両方に関する効果的なトレーニングは、このような複雑で攻撃性の高いマルウェアを前にしては、やや「単純」な修正です。

安全ではないDocker APIの例を見てみましょう。Dokiが侵入経路を見つけて広がり始める可能性があるものです。

dockerd -H tcp://0.0.0.0:2375

誤った設定を見つけられますか?保護されたバージョンは以下のようになります。

dockerd -H tcp://0.0.0.0:2376 --tlsverify --tlscacert=/etc/ssl/certs/ca.pem --tlscert=/etc/ssl/certs/server-cert.pem --tlskey=/etc/ssl/private/server-key.pem

安全でない例では、Docker Engine APIはポートTCP 2375でリスニングしており、どのような接続要求も受け付けますので、Dockerサーバに到達した誰もが利用可能です。

安全な例では、Docker Engine APIはTLS証明書検証を使用するように設定されており、あなたのCAによって信頼された証明書を提供するクライアントからの接続のみを受け入れます。

開発者がDokiの感染の根本的な原因を特定して修正するのを助けるために、ゲーム化された全く新しい課題を用意しています。 ここで:

セキュアなクラウドインフラは、チームスポーツです。

クラウドの設定ミスにより、組織は2018年から2019年にかけて5兆円もの損害を被り、何十億もの記録が流出し、取り返しのつかない評判の低下を招いています。これは、数十億の記録が流出し、取り返しのつかない評判の低下につながることを意味します。公開されているポートの監視と修正(理想的にはデプロイ前)、未知のコンテナのチェック、過剰なサーバー負荷の監視などの対策によって、Dokiのような雪だるま式の被害を食い止めることができると考えれば、安心感を得るための小さな代償だと言えるでしょう。

全社的なセキュリティ意識は非常に重要であり、SDLCに関わるすべての人にとって、セキュリティのベストプラクティスを用いて運用することは交渉の余地がありません。最良の組織は、強固なDevSecOpsプロセスに取り組んでおり、セキュリティに対する責任が共有され、開発者とAppSecの専門家は、一般的な脆弱性がソフトウェアや重要なインフラに入り込むのを阻止するための知識とツールを持っています。
セキュリティを意識した、優れたクラウドエンジニアとしてスタートしたいですか?今すぐ自分のスキルを試してみましょう。

リソースを見る
リソースを見る

著者

マティアス・マドゥ博士

マティアスは、15年以上のソフトウェアセキュリティの実務経験を持つ研究者・開発者です。フォーティファイ・ソフトウェア社や自身の会社(Sensei Security)などでソリューションを開発してきました。キャリアの中で、Matiasは、商用製品につながる複数のアプリケーションセキュリティ研究プロジェクトを主導し、10件以上の特許を取得しています。また、RSAカンファレンス、Black Hat、DefCon、BSIMM、OWASP AppSec、BruConなどの世界的なカンファレンスで定期的に講演を行っているほか、高度なアプリケーションセキュリティトレーニング(courses )の講師も務めています。

Matiasはゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。

もっと知りたい?

セキュアコーディングに関する最新の知見をブログでご紹介しています。

当社の豊富なリソースライブラリは、安全なコーディングアップスキルに対する人間的なアプローチを強化することを目的としています。

ブログを見る
もっと知りたい?

開発者主導のセキュリティに関する最新の研究成果を入手する

ホワイトペーパーからウェビナーまで、開発者主導のセキュアコーディングを始めるために役立つリソースが満載のリソースライブラリです。今すぐご覧ください。

リソース・ハブ

Death by Doki:深刻なDockerの新たな脆弱性(とその対策

2020年8月25日発行
マティアス・マドゥ博士著

日本語の擬音語では、「ドキドキ」("""")というフレーズは、激しく鼓動する心臓の音を表しています。これはまさに、DockerサーバがDokiに感染した場合に、セキュリティチームのメンバーが経験するかもしれないことを意味しています。控えめに言っても、それにふさわしい名前です。

クラウドインフラへの依存度が高まる中、セキュリティのベストプラクティスを正確かつスケーラブルに有効活用することが不可欠です。また、アプリケーションを安全に展開するための最低限の機能だけでなく、コンテナセキュリティのためのカスタマイズされた対策をSDLC全体で周知し、展開する必要があります。

サイバー攻撃はますます頻繁になってきており、Linuxベースのインフラに影響を与える脅威はより一般的になってきています。その最終目的は、クラウドに保存されている機密データの略奪品を割ることです。Dokiはまさにそれを目的としており、検出されず、強力で効果的な状態を維持するために複数の技術を使用しており、Dockerベースのセキュリティ問題の領域ではこれまでに見られなかったものです。

Dokiとは何か、どのような仕組みなのか。

侵害されたアプリケーションの多くに共通するテーマですが、ソフトウェアがどのように侵害されたかについては、セキュリティの誤設定が受け入れがたいほど大きな役割を果たしています。特にDockerについては、Docker Engine APIの設定ミスが攻撃者にとって有益であることがわかっています。Ngrok Botnetの暗号化ボットは、2018年以降、安全でないDockerサーバーを嗅ぎまわって、独自のコンテナをスピンアップし、被害者のインフラ上でマルウェアを実行しています。

Dokiは、このマルウェアのより狡猾で悪質なバージョンであり、同じボットネットを利用して、同じ攻撃経路で成功しています。Dokiは、同じボットネットで成功し、同じ攻撃ベクトルであるAPIの誤設定を露呈しました。この誤設定は、コードの展開やサーバーの公開の前に対処されるべきでした。Dokiは、風刺的な暗号通貨であるDogecoinのブロックチェーンを利用して、事実上検出不可能なバックドアとして機能しています。現状では、1月以降、ほとんど痕跡を残さずにのたうち回っています。

このマルウェアは、基本的にブロックチェーンウォレットを悪用してコマンド&コントロール(C2)ドメイン名を生成するもので、それ自体は目新しいものではありませんが、Dokiは感染したサーバー上でリモートコードを実行する継続的な機能を提供し、ランサムウェアやDDoSなどの様々な有害なマルウェアベースの攻撃への道を開きます。Dokiは、いわば "骨を持ったDoge "のように容赦なく攻撃を仕掛けてきます。Intezer社では、この脅威の全体像と、その広大なペイロードについて、詳細な記事を掲載しています。

コードでドキドキの経路を見抜く

Dokiは、分散型ブロックチェーンネットワーク上で動作するバックドアであり、痕跡を消し、ホストのより多くの領域にアクセスし、感染を拡大し続けるために、とらえどころのない迅速なコンテナエスケープ技術を採用していることから、開発者やセキュリティチームにとっては、やや悪夢のような存在となっています。

しかし、Dokiは安全なAPIポートを持つDockerサーバには感染しません。運用中にこれらのポートを誤って設定することは、広範囲に影響を及ぼすミスですが、クラウド開発者のセキュリティ意識と実践的なセキュアコーディングスキルの両方に関する効果的なトレーニングは、このような複雑で攻撃性の高いマルウェアを前にしては、やや「単純」な修正です。

安全ではないDocker APIの例を見てみましょう。Dokiが侵入経路を見つけて広がり始める可能性があるものです。

dockerd -H tcp://0.0.0.0:2375

誤った設定を見つけられますか?保護されたバージョンは以下のようになります。

dockerd -H tcp://0.0.0.0:2376 --tlsverify --tlscacert=/etc/ssl/certs/ca.pem --tlscert=/etc/ssl/certs/server-cert.pem --tlskey=/etc/ssl/private/server-key.pem

安全でない例では、Docker Engine APIはポートTCP 2375でリスニングしており、どのような接続要求も受け付けますので、Dockerサーバに到達した誰もが利用可能です。

安全な例では、Docker Engine APIはTLS証明書検証を使用するように設定されており、あなたのCAによって信頼された証明書を提供するクライアントからの接続のみを受け入れます。

開発者がDokiの感染の根本的な原因を特定して修正するのを助けるために、ゲーム化された全く新しい課題を用意しています。 ここで:

セキュアなクラウドインフラは、チームスポーツです。

クラウドの設定ミスにより、組織は2018年から2019年にかけて5兆円もの損害を被り、何十億もの記録が流出し、取り返しのつかない評判の低下を招いています。これは、数十億の記録が流出し、取り返しのつかない評判の低下につながることを意味します。公開されているポートの監視と修正(理想的にはデプロイ前)、未知のコンテナのチェック、過剰なサーバー負荷の監視などの対策によって、Dokiのような雪だるま式の被害を食い止めることができると考えれば、安心感を得るための小さな代償だと言えるでしょう。

全社的なセキュリティ意識は非常に重要であり、SDLCに関わるすべての人にとって、セキュリティのベストプラクティスを用いて運用することは交渉の余地がありません。最良の組織は、強固なDevSecOpsプロセスに取り組んでおり、セキュリティに対する責任が共有され、開発者とAppSecの専門家は、一般的な脆弱性がソフトウェアや重要なインフラに入り込むのを阻止するための知識とツールを持っています。
セキュリティを意識した、優れたクラウドエンジニアとしてスタートしたいですか?今すぐ自分のスキルを試してみましょう。

弊社製品や関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。