エクスプロイト&脆弱性
Linux環境における脅威を解説、被害に遭わないためには?
本記事では、Linux の脅威概況について解説し、Linux がいかにして攻撃者にとって魅力的な攻撃対象となっているのか、また、Linux がどのようにして様々な脅威やリスクに晒されるかをお伝えします。さらに、昨今のLinuxに影響を与えるセキュリティの問題点と脅威の概要を説明した上で、Linux環境を脅威から保護しリスクを軽減するために必要なセキュリティのベストプラクティスを紹介します。
30年前に個人のプロジェクトとして始まったLinuxは、現在では世界中のクラウドプラットフォームやサーバを席巻する主要なオペレーティングシステム(OS)のひとつとなっています。実際に、現在Microsoft独自のクラウドプラットフォームであるAzure上ではLinuxの利用率がWindowsを上回っています。
また、Linuxは環境に依存せず利用できるOSと言えます。Linux Foundationの「2017 State of Linux Kernel Development Report」によると、Linuxはパブリッククラウドのワークロードの90%と、上位10社のパブリッククラウドプロバイダのうち9社で稼働しています。その上、Linuxは世界のスマートフォンの82%で動作し、スーパーコンピュータ市場では99%という巨大な市場シェアを持っていました。
しかしながら、他のソフトウェアと同様に、Linux にもセキュリティの脅威やリスクがないわけではありません。企業がクラウドに移行し、結果的に Linux に移行していく中で、サイバー犯罪者がその焦点とリソースを変えてこれらの環境を標的にして悪用するのは当然のことであると言えるでしょう。
本記事では、Linux の脅威概況について解説し、Linux がいかにして攻撃者にとって魅力的な攻撃対象となっているのか、また、Linux がどのようにして様々な脅威やリスクに晒されるかを調査しました。該当する脅威やリスクには、脆弱性、誤設定、セキュリティギャップ、マルウェアなどが含まれます。本記事では、昨今のLinuxに影響を与えるセキュリティの問題点と脅威の概要を説明した上で、Linux環境を脅威から保護しリスクを軽減するために必要なセキュリティのベストプラクティスを紹介します。
■Linuxのプラットフォームにおける脆弱性の影響
サイバー犯罪者が攻撃環境へ最初にアクセスする際の最も一般的な方法は、公開されているサービスの脆弱性を悪用することです。システムに適切なパッチを当てるプロセスがない場合、脆弱性が発見されてエクスプロイトコードが公開されるとシステムが大きな危険に晒されることとなります。現状、第三者が脆弱性の悪用方法を発見するまでには数日、場合によっては数時間しかかかりません。Linux の場合は動作するコードのほとんどがオープンソースであることからパッチをリバースエンジニアリングするのに必要な時間とスキルが従来よりも短くなる可能性があるため、重大な懸念事項となります。
■様々なLinuxディストリビューションを悩ませている数千個もの脆弱性
Linuxというプラットフォーム自体の脆弱性だけでなく、プラットフォーム上で実行されているものの脆弱性も考慮することが重要です。ただし、サービスやプラットフォームの脆弱性の数が多いからといって、対象の脆弱性が必ずしもシステム全体に大きなリスクをもたらすとは限らないという点は注意する必要があります。
さまざまな Linux ディストリビューションにおける脆弱性の量を把握するために、Red Hat、Ubuntu、Debian、Oracle Linux、SUSE を対象とする共通脆弱性識別子 (CVE)のデータを分析しました。以下のグラフは、各ベンダがそれぞれのLinuxディストリビューションに対して発したセキュリティ勧告数を示すものです。
各 Linux ディストリビューションベンダは、それぞれ異なる脆弱性処理の手順を踏んでいます。パッチはベンダから様々な時期に提供されますが、オリジナルのパッケージであれユーティリティのソースであれ、最初にアップストリームコミュニティでパッチが作成されます。Linuxディストリビューションはカーネル、ストックユーティリティ、パッケージなどのコンポーネントの脆弱性にパッチを適用する責任を負っています。Red Hat社の「 Product Security Risk Report」によると、2019年、Red Hat社は同社のRed Hat Enterprise Linux(RHEL)ディストリビューションで1,000件以上のCVEを修正しました。この件数は、同社製品全体で修正された脆弱性の総数の70%以上に相当します。
■情報漏えいやその他の重大なセキュリティインシデントにつながるLinuxの脆弱性
- アプリケーションスタックの脆弱性
過去に起きた情報漏えいの事例では、アプリケーションスタックの脆弱性が背後にありました。例えばEquifaxにおける情報漏えいの事例では、「CVE-2017-5638」として知られるApache Strutsの脆弱性が悪用されることで起きたものでした。MITER ATT&CKフレームワークにはID T1190の「Exploit Public-Facing Application」が列挙されています。これは、攻撃者がインターネットに面するワークロードの欠陥を利用可能にする一般的な初期段階の侵入経路です。このカテゴリで最も人気のある脆弱性の一部は、「 Open Web Application Security Project (OWASP) Top 10」および「Common Weakness Enumeration and SysAdmin, Audit, Network, and Security (CWE/SANS) Top 25 Most Dangerous Software Errors」に挙げられています。どちらも、Webアプリケーションを対象とする開発者およびセキュリティ専門家向けの標準的な認識リファレンスです。これらのドキュメントは、SQLインジェクション、クロスサイトスクリプティング(XSS)、XML外部エンティティ参照(XXE)、安全でない逆シリアル化の脆弱性を含む、Webアプリケーションに対する重大なセキュリティリスクを示しています。特にWebアプリケーションは外部に公開されていることが多いため、サイバー攻撃における最初の侵入経路としてこれらが悪用される傾向にあります。
■設定ミスやクラウド移行によるセキュリティギャップの発生
設定ミスは基本的なリスクではあるものの、常に重要なセキュリティ懸念事項となっています。実際、2004年にリリースされたOWASP Top10 Webリスクの最初のバージョンには、当時「安全でない設定管理」と呼ばれていたものが含まれていましたが、2017年公開の一覧上では後に「セキュリティの設定ミス」に改訂されました。CWEシステム上ではCWE-16(環境設定)として識別されます。これは、「ソフトウェアの設定中に発生する弱点」として説明されています。
企業が運用負荷軽減や多様な働き方の実現を求めてクラウドに移行するようになり、設定ミスはさらに大きなセキュリティ上の懸念事項になりました。企業や法人組織が新しいエコシステムに移行すると、新しい環境として、特にクラウド、コンテナ、サーバレスに対して誤った設定がもたらされたようです。
以下は、Linux環境で最も一般的に見られる設定ミスとセキュリティギャップです。
- 既定のパスワードや弱いパスワードを使用している場合、あるいは全く使用していない場合
サイバー犯罪者は、システムや環境に自由にアクセスするために、常に脆弱なパスワードを狙っています。残念なことに、既定のパスワードや弱いパスワードの使用は、今でも驚くほど一般的です。機密情報の一部であるパスワードは、可能な限り安全性の高いものにする必要があります。重要な管理アカウントやサービスアカウントでは、パスワードを設定するのではなく、キーや証明書の使用を奨励すべきでしょう。
認証の悪用においてよく知られる例として、サイバー犯罪者によって外部公開された認証されていない管理コンソールダッシュボードにアクセスされたTeslaの事例があります。攻撃者は、実行中のKubernetesポッドを侵害し、不正な暗号資産発掘ツールを実行するためにTeslaのAWS認証情報を取得しました。
2020年11月、FBIは、サイバー犯罪者がソースコードの欠陥やセキュリティの脆弱性を検出するオープンソースの自動コードレビューツール「SonarQube」で設定ミスが発生したインスタンスを悪用して政府機関や民間組織からソースコードにアクセスしダウンロードしているというセキュリティ警告を発しました。FBIによると、一部の民間組織では対象のシステムをインターネットに外部公開したままの状態になっています。これらのシステムは、既定の管理者ユーザの認証情報(admin/admin)を使用して、既定のインストール設定(ポート9000)で実行されます。
コンシューマ向け機器も設定ミスは例外ではありません。 ルータ、IPカメラ、デジタルビデオレコーディング(DVR)機器など、モノのインターネット(Internet of Things、IoT)機器の一部にも、パスワードが設定されていないか、パスワードデータベース上で見られるようなオンラインで確認可能な既定のパスワードが設定されていることがあります。
- インターネット上の露出したサービス(別名:オープンポート)
サービスがローカルまたは隣接するネットワークからのアクセスを想定しているにも関わらず、インターネット上に外部公開した状態にしておくことは、非常に深刻でありながらもしばしば見落とされがちな設定ミスのひとつです。さらに、必ずしもすべての攻撃が何らかの形で攻撃の兆候として現れるわけではないことに注意する必要があります。攻撃者は単にバックドアをインストールしたままにしておいたり、侵害されたホスト上で計算負荷が少ない動作を実行したりする可能性があり、そのような動作を検出することは困難です。したがって、公共のインターネットに直接アクセスできないようにサービスやシステムを遠ざけておくことで、攻撃対象を減らすことができます。
トレンドマイクロでは、世界中のさまざまな地域において8,000件を超えるセキュリティ保護されていないRedisインスタンスを発見した手法についての記事を公開しました。 これは、インターネット上に露出しているサービスの例として、パブリッククラウドに展開されているものを含みます。該当するRedisインスタンスはTLS暗号化なしで検出されており、パスワードで保護されていません。その後、これらの露出したRedisインスタンスが遠隔コード実行(RCE)および不正な暗号資産発掘に悪用されていることを確認しました。
セキュリティ評価の一環として、オープンポートやセキュリティグループを定期的に監視する必要があります。脅威およびリスク評価(TRA)は有用ですが、定期的に実行されるわけではないため、インフラストラクチャを定期的に監視し、Shodan Monitorのようなインターネットに接続されたデバイスやシステムを表示できるオンラインサービスを利用することを推奨します。多くの場合、シャドーITまたはセキュリティで保護されていないサービスやデバイスを利用することで、情報システム部門の知らないところでサービスが露出してしまうことも少なくありません。
■オープンなファイル共有
サービスをインターネット上に公開するほど一般的ではありませんが、外部からアクセス可能な共有がある場合多くの情報が危険にさらされる可能性があります。 FTP、SMB、NFS共有、Webサーバ上のディレクトリリスト、AmazonS3やAzure Blobなどのオープンクラウドストレージサービスはすべて、意図しない閲覧者にデータを公開してしまう可能性があります。実際にShodanで調査した結果、300万台以上のFTPサーバが「ftp port: "21"」というクエリを利用して公開されていることが判明しました。
■露出した保護されていないAPI
この10年でDevOpsと自動化が普及したことで、宣言型APIはこれまで以上に一般的になっています。アプリケーションの中には、API上で堅牢な設計とアクセス制御を備えているものもあれば、設計が弱く緩和された、あるいは存在しないセキュリティ対策を採用しているものもあります。これらのサービスの中には、特定の端末からのみアクセス可能なマイクロサービスとして実行されるように設計されているものもあります。これらのAPIが誤ってオープンなままになっていたり、暗号化されていなかったりすると、コンピューティングリソースの使用、バックドアのインストール、企業や法人組織の通常の運用の妨害など、さまざまな動機で悪用される可能性があります。トレンドマイクロでは、Docker APIが不正なコンテナを実行するために悪用されているのを確認しており、その手口についても本ブログで解説しています。
→トレンドマイクロ セキュリティブログ 「露出したDocker APIを介してコンテナに侵入するボット型マルウェア「AESDDoS」について解説」
■Linux上で猛威を振るうマルウェアファミリ
ランサムウェア、不正な暗号資産発掘ツール、ユーザモードおよびカーネルモードのルートキット、ワーム、バンキングトロジャン、バックドア、RATなど、あらゆる種類のマルウェアが Linux プラットフォーム上にも存在しています。このような攻撃の背後にある動機は、金銭的な利益、スパイ活動、なりすまし、政治的な意思表示や政治目的の実現を目的としたハッキング行為、または単にシステムが侵害される可能性があることを証明したいという様々な意図があります。
以下は、Linux のエコシステム上で最も普及しているマルウェアの種類です。
- ランサムウェア
ランサムウェアを利用した活動では、復号化の成功の有無にかかわらず、サイバー犯罪者に数百万ドルが支払われており、この攻撃は最近確認されているマルウェアの中で群を抜いて成功している種類です。Linuxの普及を考慮すると、ランサムウェアを用いる攻撃者にとってのLinuxの存在はオペレーティングシステムの性質上非常に有益な攻撃対象であると考えています。
- RansomEXX/Defray777
セキュリティ管理会社「https://www.secureworks.com/research/threat-profiles/gold-dupontSecureworks」によると、RansomEXX(別名:Defray777)はサイバー犯罪者集団「GoldDupont」に関連付けられています。 この集団の目的は、RansomEXX、Cobalt Strike、Metasploit、Vatetローダなどの主要なツールを利用した金銭的利益に焦点を当てています。 2017年、GoldDupontはヘルスケア、教育、製造、テクノロジー業界を狙っていたことがわかりました。 また、最近ではRansomEXXがLinuxサーバを標的としていることも確認されています。 実際のところ、2020年12月にサイバー犯罪者がRansomEXX攻撃で流出した企業の重要なデータを公開したのは、企業が身代金を支払わずバックアップを介してシステムを復元することを選択したためです。
- Erebus
Erebusは、2016年9月にマルウェアの活動を拡散させるために広告を利用する「不正広告(マルバタイジング)」を介して初めて確認されました。その後、2017年2月に再度確認され、Windowsのユーザアカウント制御(UAC)を迂回する手法を用いていました。2017年6月、Erebusは韓国のウェブホスティング会社「NAYANA」が保持する153台のLinuxサーバに感染し、その結果、同社がホストする3,400件の企業Webサイトに感染しました。Erebusは、脆弱性またはローカルのLinuxエクスプロイト(Dirty COWの脆弱性など)を利用して、攻撃者が脆弱なLinuxシステムにルートアクセスできるようにした可能性があると推察できます。
- 暗号資産発掘ツール
攻撃者が抱く比較的新しい動機は、コンピューティングリソースに潜入および悪用することで、暗号資産をマイニングすることです。サイバー犯罪者は、対象のシステムからリソースを盗むために不正なユーザをデバイスやシステムに感染させることで、非常にリソースを大量に消費する暗号資産のマイニングを悪用することが可能です。
トレンドマイクロの記事では、不正なLinux 向け暗号通貨発掘ツールが、脆弱性の悪用、ブルートフォース攻撃、または露出したサービス API を悪用して任意のコードを実行する方法を詳しく紹介しています。また、Linux ホストマシンを標的とした不正な暗号通貨発掘ツールの検体が示した挙動についても解説しています。これらはまた、感染したコンピュータ上の他の不正な暗号通貨発掘ツールを強制終了、Docker や Redis コンテナのような、ほぼ無限に近い計算能力を持つ強力なツールを探します。
トレンドマイクロが「Coinminer.Linux.MALXMR.SMDSL64」として検出したもうひとつのコインマイナーは、「Trend Micro Smart Protection Network™」のデータによると、「SaltStack Authorization Bypass (CVE-2020-11651)」や「 SaltStack Directory Traversal (CVE-2020-11652)」などの一般的な脆弱性を悪用していたことが判明しました。今年の初め、リサーチャーは不正ファイルを含むオープンディレクトリを確認し、MalwareHunterTeamによる一連のツイートで初めて報告されました。ファイルの一部を解析した結果、不正な暗号通貨マイナーと、Docker デーモンのオープンポートを標的とする分散型サービス拒否 (DDoS) ボットを発見しました。このコインマイナーはその後、「 Coinminer.SH.HADGLIDER.A」として検出されました。
- 不正スクリプト
シェルスクリプトは、そのシンプルさからサイバー攻撃でもしばしば利用されています。これによりUnix プログラマは、単一のファイルに埋め込まれた複数の Linux コマンドを簡単に実行することが可能です。シェルスクリプトは、シェルまたは Linux コマンドラインインタプリタによって解釈されます。このツールはすべてのUNIXマシンに搭載されていますが、サイバー犯罪者にも悪用されています。
不正スクリプトを忍び込ませることは、コンパイルされたマルウェアを使用するよりも簡単です。Linux攻撃に不正スクリプトを使用することが一般的になった背景には、いくつかの理由があります。
- テキストファイルとして簡単にアップロードできる
- サイズが小さい
- 簡単に検出される可能性が低い
- 臨機応変に作成できる
これらのスクリプトが対象のホストに到達すると、/tmpフォルダなど、フラグが立てられない安全な場所で実行されます。一般的に、これらのスクリプトは、C&Cサーバに接続してマルウェアをダウンロードしますが、それ自体は不正な挙動を起こしません。
- Webシェルとバックドア
Webシェルとは、攻撃者がウェブサーバに植え付けるスクリプトで、自分が制御可能なコマンドの実行を補助するか、単に侵害されたシステムへの直接的なアクセス方法を得るためのものです。2020年8月には、Linux、Windows、macOS、またはPHPがインストールされているその他のプラットフォームを標的としたPHP向け Webシェル「Ensiko」に遭遇しました。遠隔からコードを実行する以外にも、攻撃者はこのマルウェアの亜種を使用してシェルコマンドを実行したり、ウェブサイトを改ざんしたりすることが可能です。
サイバー犯罪者はLinux環境でもバックドアを使用してコンピュータの重要なシステムにアクセスします。例えばトレンドマイクロで「Backdoor.Linux.KINSING.A」として検出されたマルウェアはGolangベースのLinuxエージェントであり、誤って設定されたDockerデーモンのAPIポートを検索してUbuntuコンテナを実行します。
- ルートキット
ルートキットは持続的な脅威であり、検出や監視を困難にします。 ルートキットの主な目的は、自身と他のマルウェアの脅威を管理者・解析者およびユーザに知られないようにし、同時にセキュリティスキャン・フォレンジックおよびシステムツールによって検出されないようにすることです。ルートキットは、時にバックドアの作成やC&Cサーバとの通信など、攻撃者による遠隔操作を可能にするための機能を持つこともあります。
- Umbreon
Linuxでは、プログラムがprintf()関数を呼び出すと同一ライブラリ内に「_IO_printf()」や「vprintf()」などを後で呼び出すことができる他のカスケード関数があります。これらの関数はすべて最終的にwrite()システムコールを呼び出します。 この例は、数年前に検出したルートキットUmbreonです。トレンドマイクロではLinuxとIntelおよびARMプロセッサを実行する他のシステムの両方を対象とする複数のアーキテクチャを備えたルートキット「Umbreon」の詳細を解説しています。
→トレンドマイクロ セキュリティブログ「Linuxを狙う脅威の最新動向」
- Drovorub
Pawn Storm、Sednit、APT28、Sofacy、Strontiumなどの別名を持つ「Fancy Bear」は、特に近年、国内外のスパイ活動で有名になった攻撃者グループです。この組織は、C&Cインフラストラクチャに接続し不正ファイルをダウンロードおよびアップロードし、RCEを実行可能なLinuxマルウェアツールセット「Drovorub」の大元となっています。
- Diamorphine
Diamorphineは、Linuxカーネル2.6.x/3.x/4.x/5.xおよびARM64で使用される読み込み可能なカーネルモジュール(LKM)ルートキットです。ハッキング集団「TeamTNT」による2020年初頭の最近の攻撃で使用されたため、本記事で紹介します。Cado Securityによると、攻撃者はDiamorphineをKinsingワームに似たマルウェアの亜種と一緒に使用して、AWSの認証情報とローカルの認証情報を窃取し、インターネットをスキャンして、設定ミスで露出したDockerおよびKubernetesAPIサーバを検索しました。
Linuxの利用範囲は広く、重要な情報を処理するために使用されているため、攻撃者にとって非常に有益な標的となっています。 Linuxを狙うランサムウェアファミリが増え続けている傾向とLinux環境を危険に晒しているような悪用事例のある脆弱性の数がこれを物語っています。これらのLinuxベースの脅威は、特に重要なビジネスプラットフォームでオペレーティングシステムを使用する企業や法人組織がセキュリティを強化する必要性を裏付けています。
■被害に遭わないためには
企業が前例のない速度で革新するにつれて、Linuxは現在よりもさらに普及するに違いありません。さらに重要なことに、オンラインインフラストラクチャとシステムをLinuxに依存するユーザや著名な企業が増えるにつれ、サイバー犯罪者がLinux環境を金銭的利益のために狙うことはますます避けられません。
Linuxシステムを安全に保つために、セキュリティに関するベストプラクティスを以下に紹介します。
- 「Infrastructure as Code (IaC)」をベストプラクティスとして採用し、システムが適切に作成された上でその設定が意図したとおりに維持されるようにする
- デバイス・システムおよびネットワークを可視化した上で監視する
- 既定のパスワードを強力で安全なパスワードに置き換える(出来る限り多要素認証を選択する)
- システムに定期的にパッチを適用して更新する
■トレンドマイクロの対策
「Trend Micro™XDR」は高度な分析と人工知能(AI)技術を使用して、エンドポイント、メール、ネットワークなどのアラートを相関させ、一つの防御ポイントの情報だけではわからないような脅威を可視化し、深刻度のレベルに応じて優先順位を付けます。これにより、企業は攻撃がどのように開始され、どの程度拡散しているかを迅速に把握でき、被害を最小化することができます。
サーバの保護はTrend Micro Cloud One™ – Workload Securityソリューションが有効です。仮想パッチや機械学習などの手法を使用して、重要なアプリケーション、オペレーティングシステム(OS)に影響する脅威からクラウドワークロード、サーバ、コンテナを保護します。
「Trend Micro Hybrid Cloud Security 」として提供されるセキュリティソリューションは、クラウドネイティブシステムとその多様なレイヤーを保護するのに役立ちます。ソリューションとして提供される製品群は継続的インテグレーションおよび継続的デリバリー(CI / CD)パイプラインとアプリケーションの自動保護を提供するクラウドビルダ向けのセキュリティサービスプラットフォーム「 Trend Micro Cloud One™」を利用しています。また、セキュリティの問題をいち早く特定して解決し、DevOpsチームの問題解決速度を改善するのにも役立ちます。Trend Micro Cloud One™には、以下が含まれています。
- 「Trend Micro Cloud One™ Workload Security」: データセンター、クラウド、 コンテナを保護する多層防御・脆弱性対策を提供するクラウド型セキュリティ
- 「Trend Micro Cloud One™ Container Security」: コンテナイメージのスキャン、アドミッションコントロール、コンテナの実行時保護をまとめて実現
- 「Trend Micro Cloud One™ File Storage Security」:クラウドファイル/オブジェクトストレージのためのセキュリティ
- 「Trend Micro Cloud One™ Network Security」:マルチクラウド環境のための強力なネットワークレイヤのセキュリティ
- 「Trend Micro Cloud One™ Application Security」:コンテナ、サーバレスなどに構築された最新のアプリケーションおよびAPI向けセキュリティ
- 「Trend Micro Cloud One™ Conformity」:クラウドインフラストラクチャの継続的なセキュリティ、コンプライアンス対応状況の確認および可視化
参考記事:
• 「A LOOK AT LINUX:Threats, Risks, and Recommendations」
By: Magno Logan and Pawan Kinger, Trend Micro
翻訳:下舘 紗耶加(Core Technology Marketing, Trend Micro™ Research)
記事構成:岡本 勝之(セキュリティエバンジェリスト)
高橋 哲朗(スレットマーケティンググループ)