web-dev-qa-db-ja.com

Ubuntu用のアンチウイルスを入手する必要がありますか?

Mac用の アンチウイルスに関する最近のスレッド を考えると、今日出されている議論の多くは、Linuxシステム、特にUbuntuに関連しています。

  • 実在する既知のUbuntuデスクトップマルウェアはありません。

  • GNU/Linuxは、ボットネットにとって非常に魅力的なターゲットです。それがWebサーバーの実質的な部分を強化していることを考えると、さらに、これらのWebサーバーは一般にプロビジョニングが高く、潜在的なデスクトップボットネットよりも帯域幅が優れています。

  • Linux用のマルウェア対策パッケージは、主にメールサーバーなどのLinuxを「通過」する可能性のあるWindows感染を対象としています。これはUbuntuデスクトップには関係ありません。

  • 利用可能なLinuxマルウェア対策アプリケーションの一部は、Windowsのマルウェア対策アプリケーションと同じように怪しげに見えます。

  • これらのソリューションは、LibreOfficeドキュメントのマクロ、Webブラウザーまたは拡張機能の欠陥(Flash)、XSS攻撃、Java脆弱性、およびその他のユーザーランドソフトウェアから保護します。

  • 人々は愚かです。野心的なマルウェア開発者がそれを宣伝しようとした場合、誰かがnakedgirls.debを実行する可能性があります。これは時間の問題だと確信しています。

他にも多くのディストリビューションやGNU/Linuxベースのデスクトップがありますが、焦点を維持するために、このスレッドをstandard-install Ubuntuデスクトップのみの議論に限定したいと思います。 「おばあちゃんのためのデスクトップ」を考えてください。 Slackwareのユーザー、メールサーバーまたはWebサーバーを実行しているユーザー、またはデスクトップを他の目的に使用しているユーザーは、おそらく(ha!私はそれほどナイーブではありません)、何をしているか、それに伴うリスクを知っているでしょう。

92
dotancohen

必要に応じて、アンチウイルスをインストールできます。それはあなたのマシンに害を与えるべきではありませんが、あなたのシステムに対する多くの保護を期待しないでください、そしてあなた自身を完全に安全であると考えないでください。ウイルス対策ソフトウェアの有効性は非常に相対的であり、特にエコシステムにWindowsマシンがある場合、古いマルウェアの伝播を回避するために使用されています。現時点では、LinuxのAVパフォーマンスのベンチマークはないため、定量化することはできませんが、パフォーマンスの低下が予想されます。

アンチウイルスだけでは安全ではないのはなぜですか?これらは必要なメカニズムの一部にすぎないためです。現時点では、Linuxのデスクトップセキュリティに欠けているツールがたくさんあります。デスクトップに関連する異なるセキュリティメカニズムは何ですか?

  • グラフィックスタックセキュリティ(キーロガー、クリックジャッキング、画面記録、クリップボード盗聴などを防ぐため)
  • セキュリティチェック(アプリの静的分析を行うアプリストアとリポジトリ)と高速セキュリティアップデートを備えたアプリ配布スキーム
  • マルウェアの検出:署名ベース(識別された脅威から保護するため)およびヒューリスティックベース(つまり、ヒューリスティックベースを使用したことはないAVと私は、これは主に「新しいアプリを使用するときに、大量のセキュリティ警告を目にします」と言うマーケティングトークだと思います。
  • サンドボックス(設計によりアプリを互いに分離することで構成されます)
  • 指定によるセキュリティ /ユーザー主導のアクセス制御/パワーボックス/コントラクトでデバイスとユーザーデータを使用するコンテキスト認証;サンドボックス化が必要

現在、Linuxでの適切な唯一のことは、リポジトリを介したアプリのセキュリティ更新です。残りはすべて標準以下です

グラフィックスタックのセキュリティ

私たちは皆、X11グラフィカルサーバーに依存しています。 X.Orgは30年間存在しており、元のデザインはサーバーでまだ使用されています。昔はデスクトップのセキュリティの問題はありませんでしたし、まったく安全でないことを知って驚くことはありません。キーロガーを実装したり、ユーザーがルートコンソールを開いている場合にリモートコードを悪用したり、セッションロッカーを置き換えてパスワードを盗んだりするための、すぐに使えるAPIがあります。

グラフィックスタックの実装に関する詳細な説明が見つからなかったため、このトピックでWindows 8とOS Xがどのように機能しているかを評価するのは困難です。彼らのサンドボックス化されたアプリは、最も明白な攻撃ベクトルへのアクセスを制限していますが、これがどれほどうまく設計および実装されているかは、本当にはっきりしていません。 Win 8では、Store Appsにフルスクリーンでの実行を強制し、一度に1つずつ実行すると、フルスケールの安全なウィンドウマネージャーの設計における問題が隠れているように見えます。 wrtを考慮に入れる多くの問題があります。セキュリティを考慮してウィンドウマネージャーを実装するときのウィンドウの位置とサイズ、透明度とフルスクリーンの使用など。 OS Xの動作がわかりません。

Linuxは、セキュリティを考慮して設計された Wayland に今後数年で切り替えられます。どのような機能が存在する必要があるかについての明確なモデルと、これらの機能がどのように適用され、どのように認証を取得できるかについての一般的な考え方があります。この作業の背後にある主な人物は Martin Peres ですが、私はたまたま機能の背後にあるユーザーと開発者の経験について話し合っています。設計と開発は進行中なので、すぐには何も期待しないでください。詳細は この投稿 を参照してください。 Waylandは、アプリのサンドボックスと組み合わせて使用​​すると、シームレスにセキュリティを提供します。

アプリの配布

Linuxには、さまざまなレベルの信頼を持つリポジトリシステムがあり、提供されたアプリのみに依存し、プロプライエタリコードに注意するようにユーザーを訓練しました。これは理論的には非常に優れています。

実際にはパッケージ化されたアプリに最も基本的なセキュリティチェックを実施する単一のディストリビューターは知りません。奇妙なシステムコールの静的分析はまったくありません。また、コミュニティでは、インストール前およびインストール後のスクリプト(rootとして実行されます)が明らかに悪いことについて検証されているかどうかは、はっきりしません。

GNOME Shellの拡張機能で行われるセキュリティチェックは非常に軽くて手作業ですが、少なくとも存在します。 KDEの拡張機能や他のアプリについては知りません。

私たちの強みの1つは、セキュリティ更新プログラムを非常に高速にプルできることです。通常、セキュリティ上の欠陥がある場合は数日以内にプルします。最近まで、Microsoftは追いつきましたが、それよりはるかに低速でした。

マルウェアの検出

Linuxで私が知っている唯一のウイルス対策ソフトウェアはClamAVです。これは署名に基づいてのみ機能するように見えますが、ご指摘のとおり、保護対象のデスクトップマルウェアは特定されていません。

おそらくAdvanced Persistent Threatsの世界でLinuxデスクトップマルウェアを書いている人がいます。例については Mask を参照してください。 APTマルウェアの作成者は通常、ゼロデイエクスプロイトを考案するのに十分な才能があるため、標準のAVがそれらに対して何もできない可能性は低いです。

現在、マイクロソフトは、Linuxエコシステムでは安全なコーディング手法が事実上まったくないのとは対照的に、ソフトウェアのすべてを数万時間ファズテストすることを宣伝しています。ファジングを使った個人的な実験から、人気のあるLinuxソフトウェアに、ゼロデイエクスプロイトがほんの一握りしか存在しないと確信しています。これは、ありふれたマルウェアの作者のための財政的に実行可能なユーザーベースがある日に私たちに当たるようになり、次にClamAVがどれほど優れているかがわかりますが、アプリの更新メカニズムが取引に大きな影響を与えると思います脆弱性が発見されました。

言うまでもなく、この基準では、WindowsとOS Xの両方がLinuxよりも大幅に優れています。

サンドボックスとコンテキスト認証

OS XとWindows 8はどちらも、ストアでホストされているアプリにサンドボックスを提供します。私はOS Xの奇妙なところを調べたわけではありませんが、Windows 8ストアアプリには、サポートされる言語とAPI、利用可能な機能、およびそれらで提供できる一般的なユーザーエクスペリエンスの点で非常に深刻な制限があります。つまり、サンドボックス化されていないデスクトップアプリはそのまま残り、Microsoftのサンドボックス化はマルウェアから保護されいない、バギー(ストアアプリ)ソフトウェアで作成されたドキュメントに対してのみ保護されます。ストア以外のアプリもサンドボックス化されていませんが、OS Xの方がはるかに優れているようです。

Linuxには、現時点で十分にシームレスに機能するGUIアプリサンドボックスがありません。基盤となる閉じ込め技術があります(最適な候補は、Linux名前空間に基づくコンテナーです。参照- [〜#〜] lxc [〜#〜] および Docker 、そしてある程度の動的性をサポートするために開発する必要がある次善のMAC実施システム)。私たちは、ほぼIPCおよび kdbussystemd に関する驚くべき作業のおかげで、サンドボックス化されたアプリの展開と処理に必要なプロセス管理メカニズムを備えています。いくつかの欠けている部分があり、いくつかの提案は主にGNOME Foundationによってプッシュされています(このビデオ GUADEC 13のサンドボックス)を参照してください 。データと認証へのアクセスがどのように発生するかについての議論にも関与しています適切なプロトタイプが存在し、適切な規模でサンドボックス化がLinuxに展開されるまでには、おそらく数年かかります。

すべてのプラットフォームで直面する大きな問題の1つは、アプリを承認して適切な規模でデータとデバイスの機能にアクセスする方法を見つけることです。つまり、アプリが特権を悪用するのを防ぎながら、ユーザーに認証プロンプトを表示せずに必要なことを実行させる方法です。 Windows 8でStore Appsが最近のドキュメントとアプリの futureAccessList を処理する方法に重大な抜け穴があります。この段階で、開発者とユーザーのセキュリティコストを悪化させることなくドキュメントアクセスをさらに保護することは未解決の問題であり、多くの人がたまたま取り組んでいます:)

76

マルウェアは、「標準インストールUbuntuデスクトップのみ」を実行しているかどうかを気にしません。マルウェアは、システムがELFバイナリがコンパイルされた正しい命令セットをサポートしている限り動作します。 Ubuntuはdebianベースで、次の命令セットをサポートしています:IA-32、x86-64、ARMv7、ARM64、PowerPC。一般的に、ほとんどがIA-32またはx86-64システムで構築されていることがわかります。

私の仕事はマルウェアを元に戻すことなので、デバッグが必要な場合があるため、IDAを介してLinuxマルウェアのリモートデバッグを日常的に行うために使用するUbuntuデスクトップエディション(32ビットと64ビットの両方)のVMを持っています。

感染方法についてお話ししたい場合は、WindowsよりもLinuxの方がドライブバイされる可能性が低くなります。しかし、ここ数か月間、ドライブバイPHPスクリプトのいくつかで遊んでいると、Windowsプラットフォーム以外のプラットフォームがさらにサポートされることに気づきました。ブラウザがアナウンスするプラットフォームを確認するだけです。関連するエクスプロイトを配信します。

TL; DR- Linuxマルウェアを元に戻しながら、Ubuntuデスクトップインストール(VM)に毎日感染します。

11
Fulrem

Ubuntuに質問します。Linuxデスクトップエディションに少し質問を広げる場合は、SELinuxタイプ「Walled Garden "ソリューションとても役に立ちます。 SELinuxでは、必須のアクセス制御ポリシー(MAC)により、感染の試みによる被害を停止または制限できます。 OSに負担をかける個別のプロセスとして実行されるAVとは異なり、SELinuxはLinuxカーネルによるネイティブサポートを備えており、セキュリティラベルはiノードに格納されます。

長所:

非常に複雑なセキュリティポリシーを実装できます。 (つまり、Webブラウザーは〜/ .mozilla以外のフォルダーにアクセスできません)

短所:

ただし、SELinuxでは、適切なセキュリティポリシーが必要になります。欠点は、これらのポリシーの編集が複雑であることです。

UbuntuはデフォルトでSELinuxをサポートしていません。しかし、FedoraのようなOSはそうします。

最終行:

要するに、Linuxは確かに優れたセキュリティメカニズム(ファイルアクセス許可、SELinux)を備えており、これにより、マルウェアを混乱させない限り、マルウェアの寿命が非常に長くなります。

2
Kasun

質問はかなり混乱しています。

LinuxではViriは非常にまれですが、トロイの木馬、ワーム、ルートキットは、mswindowsよりもずっと以前から存在しています。また、Linux(およびUnix)システムの保護に使用されるツールは、mswindowsユーザー向けに販売されているツールとは非常に異なって見えます。

少なくとも、適切に構成されたファイアウォール、システムにパッチを適用し、ルートキットチェックを定期的に実行する方法(リスクに依存する頻度、おそらく少なくとも月に1回)が必要です。

0
symcbean