Linuxシステムへのランサムウェア攻撃

公開日:

更新日:

執筆者:手塚 弘章

OTセキュリティ
         

目次

Linuxシステムへのランサムウェア攻撃

クライアントOSにはWindowsが多いですが、サーバにはWindowsおよびオープンソースベースのLinuxが多く使われています。

また、SaaSなどによって、パブリッククラウドで稼働している多くのサーバもLinuxベースが主流となっています。

したがって、今まではクライアントPCがメインの攻撃対象であり、ITに詳しくない人を狙う攻撃が多かったですが、現在ではIT管理者が主に利用すると考えられるLinuxへの攻撃が増加しています。

Linuxシステムへのサイバー攻撃

Linuxにおける攻撃では、ユーザ権限では攻撃の目的を果たせないことから、特権ユーザであるroot権限の獲得を目指します。

しかし、この、root権限を奪取する、という点は攻撃者にとって苦労が大きいこともあり、Windowsへの攻撃より複雑な手順になるLinuxは、攻撃対象として多くはありませんでした。

しかし、近年クラウドサービスが普及し、多くのユーザ企業やSaaS提供企業がクラウドにサーバを立ち上げていますが、ランニングコストを抑えるため無償であるLinuxを選択することがしばしば見られます。

よって、Linuxサーバへの攻撃がより効果(被害)を出せるようになっています。

同時に、blog2022年もランサムウェア攻撃に注意!」でお話した通り、RaaSなどのエコシステム確立により作業が分散化・高度化したことで、Linuxに関する技術やエンジニアも進歩しています。

それによってLinuxへの攻撃における技術的困難さや複雑さが解消されつつあります。

現に、多くのRaaSLinux向けのマルウェアを実装している開発者や、RaaSを率いている攻撃者がLinuxをターゲットとするようになりました。

2010年にLinux開発者に対する調査では、90%Linuxサーバはウイルスに感染していないと言われていました。

しかし、現在では状況が一変しており、2008年時点でLinuxに特化したマルウェアが年間10ファミリー以下だったのが、2020年には当該のマルウェアファミリーの数が激増しています。

例えばランサムウェアのLockbitなどはLinux向けに設計、修正されています。

Linuxをターゲットにしたランサムウェア含めたマルウェアの数は、2020年から2021年には35%増加し、2022年にはさらに悪化しています。*1

LinuxではDebian系統やRedHat系統などの発祥の種類、OS Kernelのバージョンやディストリビューション(ライブラリ、ツール、ユーティリティなどをパッケージしたもの)の違いが多く、Linuxに特化したマルウェアはそれらに対応して動く必要があるため、多くはプラットフォームを選ばない言語で書かれています。

例えば、「TellYouThePass」マルウェアは元々のWindows版と、それから派生したLinux版で85%のコード類似性があると言われています。*1

OSSとしてのLinuxの強みと弱み

オープン化の流れで、各社独自仕様のメインフレームから複数のベンダーが同じ仕様でハードウェアを提供するサーバが流行したように、ソフトウェア開発でもよく使われる機能や一般的に使われる機能が標準化・規格化されました。

またOSSOpen Source Software)になることで、バグの少ないと言われているソースコードを利用することが可能になりました。(OSSでは多くのボランティアが、複数の目でOSのカーネルに、あるいはディストリビューションに脆弱性(セキュリティ的なバグ)の有無を見つけ、修正するので結果として、脆弱性が少なく、修正までの時間も短いという特長がありました。)

しかし、SBOM*の発展や浸透によりOSSも様々なアプリケーションに必要な機能に拡張し、種類が多岐にわたっています。

これにより、特定の機能を複数の目で確認する機会が減り、セキュリティ上のバグ等が修正される頻度が下がり、攻撃に対して脆弱になっていることは事実です。

とは言え、Linuxはどのベンダーよりも修正が早いという調査結果もあります*

Linuxは無償で利用可能なものが多く、カスタマイズも簡単なために、機器への組込みやIoTデバイスに内蔵されたOSとして利用されることもあります。

勿論、OSSとしてもそれらの機器で利用できるライブラリも存在しており、非常に使い勝手が良いOSです。

しかし、万が一それらのOSSに脆弱性があった場合、有償であれば動作保証がされていますが、無償では期待できません。

つまり、OSSで機能の実現はできますが、セキュリティの保証はない状況ということです。

また、安価なIoTデバイスや、サポートの体力が十分でない企業が提供する製品といったセキュリティの保証が不十分でない場合、あるいは運用としてパッチ適用がされていないといった不適切な運用方法を実施している場合には、サイバー攻撃の標的とされる可能性があります。

Linuxのセキュリティ製品

セキュリティ製品を提供しているメーカが、マーケット規模が大きいWindows向けの製品を開発、提供することは当然のことと言えます。

よって、マーケット規模が比較的小さいLinux向けのセキュリティ対策は、なかなか生まれにくいという現状があります。現にLinux向けのセキュリティ対策は、エンジンのアップデートが少ないAV(アンチウイルス)が主流です。

Windows向けに提供されるセキュリティ製品のような次世代AV、といった多様な防御や検知機能を持つセキュリティに比べ、Linuxにおけるセキュリティ機能は未熟であると言えます。

ただ2022年になってからLinux向けセキュリティ製品の記事が多くなっています。

勿論、先述のとおり、一定規模のシェアを獲得することが困難になっていることもありますが開発が進んでいる分、より攻撃者がLinuxを標的にしていることが背景として伺えます。

例えば、セキュリティに力を入れているマイクロソフト社は、Defender(標準で搭載されているアンチウイルス)をはじめはWindows版で提供していましたが、現在ではMicrosoft Defender for EndpointとしてLinux版だけではなく、macOSiOSAndroid版にも拡張する取組みをしています*4

つまり、それだけ、Windows以外の、LinuxはじめとしたPC機器が増えてきており、システム全体のセキュリティ対策を考えるうえでは、Linuxなども保護対象にする必要があると認識しているのではないでしょうか。

サポートされているLinuxディストリビューションに関してはマイクロソフト社のサイトをご覧ください。*5

Linuxでランサムウェアが実行されない、防護するためには

NISTのCyber Frameworkでもサイバー攻撃のステップが記述されていますが、攻撃を検知する段階では既に攻撃が実行されていますので、攻撃の実行を防御(実行させない)するにはEPPEndpoint Protection Platform)が必要です。

Linuxでマルウェアが実行されない、防護するためには

また、マルウェアがどういった経路で侵入し、何をしたか(例えば、どのファイルにアクセスし、テンポラリーファイルとして何が作られたか)、どのマシンに展開され、その後どこまで広がっている可能性があるかなどの調査はEDREndpoint Detection & Response)の得意とする領域です。

しかし、EDRは防御ではなく、あくまでも検知や回復のための情報を知る役割を果たすものであり、Endpointを防御する機能は別のもので補う必要があります。

Linuxでランサムウェアを防御する(実行する前に止める)

Linuxでマルウェアによる攻撃をさせない、防御するためには、マルウェアが実行される前に止めなければなりません。

その対策として、マルウェアファイルが実行される前に、削除できるアンチウイルスが有効です。ここでは、既知の攻撃パターンを防ぐだけでなく、ゼロデイ攻撃といった新たな攻撃から身を守ることができる技術も取り入れる必要があります。

AVやAI、あるいはサンドボックスなどの検知製品の弱みとしては既知の攻撃パターンや手法でないと防御できず、新手の攻撃では検知出来ないと言う事になります。時間が経てば、AVのパターンファイル、AIの学習、サンドボックスの解析エンジンは新しい攻撃パターンの手法として認識できますが、ゼロデイ攻撃あるいはAVのパターンファイルが、AIやサンドボックス、あるいは人間が学習するまでは攻撃検知ができないと言う事です。

具体的には、パターンファイルやAIエンジン、サンドボックスにおける解析エンジンではなく、過去の攻撃データにとらわれない防御手法も必要ということです。

その技術の一つというのが全く新しい発想の、Moving Target Defenceです。

少し技術的な話をしますと、現在のコンピュータはフォンノイマン型*6(プログラム内蔵方式)といってメインメモリに格納された命令(機械が認識できる機械語で、一般的にオブジェクトと呼ばれています)をプロセッサが実行していきます。

そして、各プログラムを起動する毎に、プロセスが生成されるのですが、その際にはプロセス毎に仮想メモリ空間が生成され、その仮想メモリ空間にプログラムがロードされます。

因みに、PCなどの機器(ハードウェア)に搭載されているハードウェアから直接アクセス可能なメインメモリ(=物理メモリ)は、OSによって管理されており、この物理メモリと仮想メモリはそれぞれ、プロセス毎に生成されるプロセステーブル上で管理されています。

プログラムは人間の判る言語(例えば、JavaC#など)で記述され、オブジェクトにする時にはコンパイルといって、機械語に翻訳されます。

コンパイル後、共通に使う関数やルーチンを含めてライブラリ(Windowsでは.dllという拡張子が付いています)と一つのファイルにし、かつどの論理メモリにロードするかといった細々としたことが決定されます。

例えば、WindowsではPEフォーマットと呼ぶ形式で、プログラム(.exe)が作られているのですが、このプログラムファイルの中には、どの仮想メモリにプログラムやライブラリを配置するかが記述されており、そのとおりにプログラムをメインメモリ上にロードします。

ここで、セキュリティの話に戻りますが、攻撃者は、攻撃前に攻撃者のPCプログラムを実行することで、このメモリの場所を知ることが出来ます。

正常な機能のプログラムにおける脆弱性(セキュリティ的なバグ)を悪用し、マルウェアを実行させます。この攻撃者の動きを逆手に取り、仮想アドレスの場所を変えてしまえば、攻撃者が実行したはずのマルウェアが存在しない、といった状況を作り出すことが出来ます。これがMoving Target Defense技術です。

米国国家安全保障省(DHS)科学技術局(S&T)のサイバーセキュリティ部門(CSD)は、国大統領府の国家科学技術会議(The Executive Office of the President, National Science and Technology Council)が発表した連邦サイバーセキュリティ研究開発プログラム戦略的計画(Strategic plan for the federal cybersecurity research and development program*8を受け、このMoving Target Defense技術を画期的な技術開発であるとし、危険にさらされた環境下での安定的な運用を目指しています。

当社が提供するランサムウェアからLinuxを防御する製品

過去にご紹介している、MorphisecMoving Target Defense技術を利用しており、DHSCSDからアワードを受賞し、WindowsだけではなくLinux向けにも防御機能を提供しています。

Linux向けのMorphisecを利用すれば、Linuxの攻撃を防御(=実行前に止める)することが可能になります。

現在マイクロソフト社が提供しているクライアント向けのWindows1011、あるいはサーバ向けのWindows Server OSは、当然LinuxとはOSのアーキテクチャーが違います。

そこで、Linuxでも実行できるMorphisecである必要があり、Windows版のMorphisecエージェント(Protectorと呼びます)は、Linux版のものとは違う仕組みになっています。

OSが異なるために保護の仕方が異なり、OSのアーキテクチャーの違いをMorphisecが吸収しつつ、コアとなるMoving Target Defense技術を実現しています。

例えば、Windowsでは必ず特定のライブラリを経由しますので、そこだけを経由するプログラムだけを選択的にMTD技術で保護することが可能ですが、Linuxではライブラリの数が多く、かつ共有ライブラリ(各プロセスで共有するライブラリ)の考え方も違うため、選択的な保護ではなく全てのプログラムをMTD技術で保護することになります。

当社が提供するLinux防御

もちろん、最近発見されている「OrBit*10の防御も可能です。

当社でもお客様にLinux向けMorphisecの提供実績はありますので、ご興味があればお問合せ下さい。

出典(参考文献一覧)

*1   MORPHISEC|SECURE THE NEW ATTACK FRONTIER—LINUX SERVERS(参照日:2022-08-26)
*2   IT用語辞典 e-Words|SSBOM 【Software Bill of Materials】 ソフトウェア部品表(参照日:2022-08-26)
*3   ZDNet Japan|Linuxの脆弱性修正はどのベンダーよりも早かった--グーグルのProject Zeroが発表(参照日:2022-08-26)
*4   Microsoft|Windows 以外のプラットフォームの Microsoft Defender for Endpoint(参照日:2022-08-26)
*5   Microsoft|Linux 用 Microsoft Defender for Endpoint(参照日:2022-08-26)
*6   Wikipedia|ノイマン型(参照日:2022-08-26)
*7   Science and Technology|Moving Target Defense(参照日:2022-08-26)
*8   the WHITE HOUSE|TRUSTWORTHY CYBERSPACE:STR ATEGIC PLA N FOR THE FEDER A L CY BERSECUR IT YR ESEARCH AND DEVELOPMENT PROGRAM(参照日:2022-08-26)
*9   Science and Technology|Cybersecurity Programs(参照日:2022-08-26)
*10  ZDNet Japan|「Linux」マルウェア「OrBit」発見--検出、削除が難しい新種/(参照日:2022-08-26)