web-dev-qa-db-ja.com

LinuxをWindowsよりもウイルスに対して脆弱にする技術的な違いはありますか?

アンチウイルスのニーズの点で、LinuxがWindowsとどう違うのですか?

私の質問は Linux用のウイルス対策ソフトウェアを入手する必要がある場合 ではありません。 AVが重要である理由を完全に理解しています。

Linuxの脆弱性をWindowsよりも低くする概念的な(技術的な)違いがあるかどうか(Ubuntu 14やWindows 7などと比較して)知りたいです。

124
user69377

Windowsがアンチウイルス製品で非常に膨張している理由はいくつかあります。 (私はすぐに使える(OOTB)エクスペリエンスを指しています)。

Windowsユーザーはデフォルトでローカル管理者であるため、Windowsで行われるソーシャルエンジニアリングは通常、ソフトウェアの実行につながる可能性があります。最近のLinuxでは、ユーザーは権限の低いローカルユーザーとして設定されています。特権を昇格するにはパスワードが必要です。

Windowsは、セキュリティや履歴を振り返って、セキュリティを含めてできる限り多くのことを簡略化しようとしました( Windows Vista 誰か?)。 「このソフトウェアをインストールしますか?このソフトウェアをインストールしますか?」ということわざクリックスルーまたは無効化につながる [〜#〜] uac [〜#〜]

ソフトウェアリポジトリとスタンドアロンインストール:

Linuxにはソフトウェアリポジトリが永遠にあり、それらはソフトウェアをインストールするための優れたメカニズムを提供します。これらは通常、署名され、承認されたソフトウェアであり、セキュリティ基準に準拠したセキュリティ予算を持つ企業によって保護されています。 (私は過去にリポジトリへの違反について知っていますが、これは一般的に良いことです)。 Windowsユーザーは、どこからでもソースを取得し、署名の有無にかかわらず、システムにインストールすることに慣れています。

ユーザーは通常、さまざまな考え方を持っています。

Windowsは、多目的、全ユーザー向けのプラットフォームです。通常、それはすべての人の問題を解決しようとしますが、そうすることで、OOTBはユーザーを本来の方法で保護しません。このため、Microsoftはすべてのソフトウェアに「信頼できる署名者」。これについては多くの議論がありますが、一般にセキュリティの観点からはこれは賢明です。Microsoftはたまたま信頼が望まれる実績を残しています。

Linuxユーザーは一般に技術的であり、システムは通常サーバーシステムです。ソフトウェアが通常 [〜#〜] gpg [〜#〜] キーおよび/またはSHA/ MD5 ハッシュを備えている理由は、これらがLinux管理者の観点からのものであるためです。 、ソフトウェアをインストールするための事実上のプロセス。私はこれを無視する多くのLinuxユーザーを知っていますが、Windows管理者がそれについて考えることすら見ていません。

したがって、市場シェアを超えています。

展開:

コメントからいくつかの点を取り上げます(有効なポイントがあります)。

リポジトリ:

OOTBの経験から)最新のLinuxディストリビューションには、パッケージがディストリビューションで機能することを識別するための署名済みパッケージが含まれていますが、安全な検証方法も証明されています。

pipnpm など、他のパッケージ管理システムについても説明されています。これらは、ディストリビューション自体に依存せず、特定のプログラミング言語用の特定のパッケージをインストールするサーバーです。これらのシステムで検証するための固有の方法はないと主張することができます。 Linuxには、1つの特定のことを実行し、それをうまく実行するプログラムの哲学があるため、これが主です。これが通常、GPGや [〜#〜] pgp [〜#〜] を使用して整合性を保つなど、複数のツールが使用される理由です。

スクリプトのダウンロード

cURL | shは言及されており、ファイルをダウンロードした後に.exeをクリックすることとまったく同じです。指摘すると、cURLは [〜#〜] cli [〜#〜] データを転送するためのツールです。認証はできますが、特に検証は行いません。

UACとSudo

最後に、これらの2つのセキュリティ機能についていくつか説明します。

UACは、信頼できないソフトウェアインストールの承認プロセスです。単純なローカル管理者権限を持つユーザーは、yesまたはnoを取得します(動作は変更できますが、デフォルトではありません)。この動作がWindows 8以降で変更されているかどうかを確認したいのですが、何も見ていません。

須藤はきめ細かな権限昇格システムです。デフォルトではUACと基本的に同じですが、アクセスを制限するように設定する機能が増えています。

111
Shane Andrie

これの理由は歴史的である傾向があります。最新のデスクトップLinuxが、最新のWindowsデスクトップと比較して、マルウェアに対して特に耐性があるべき理由はありません。

ただし、デスクトップユーザーの間では、LinuxよりもWindowsの方がはるかに多くのウイルスを抱えています。これは、各プラットフォームのユーザー数や、常に管理者として実行しているなどのWindowsプラットフォームの歴史的な弱点などの要因にまで及んでいます。

したがって、市場の観点からは、理由は、Linuxウイルス対策ソフトウェアよりもWindowsウイルス対策ソフトウェアの顧客の方が多く、その結果、より多くのベンダーがその市場に参入することになるためです。

41
Rory McCune

デスクトップWindowsシステムのウイルス感染の最も重要な要因は、間違いなく、ソフトウェアの配布とインストールの文化と規律だと思います。

平均的なLinuxユーザーがパッケージマネージャーを開いてベンダーが作成したソフトウェアパッケージを取得する(そして、90%のケースでソフトウェアを見つけるために公式リポジトリを離れない)一方で、平均的な(非IT)Windowsユーザーはブラウザーのタブを開き、 「7-Zipをインストール」または「ファイルアーカイバをインストール」するためのGoogleは、このような種類のユーザーをキャッチするために特別に細工され、SEOされたマルウェアが埋め込まれたWebサイトに誤って移動することがよくあります。

すべての初心者Windows管理者は、「ZipViewer.exe」と「ArchiveUnpacker.exe」について多くの話をします。これらは感染したマシンで見つかり、ユーザーによってダウンロードされました。もちろん、経験豊富なユーザーはアドレスバーに「7-Zip.org」と入力し、信頼できるWebサイトからインストールパッケージをダウンロードしますが、これは私たちに事実を示しています。Windowsソフトウェアの中央リポジトリがないことと、信頼できるWebサイトのリストを覚えておくだけでも、Windowsの歴史でこれまでに知られている最大の脆弱性を生み出します。

元のソフトウェアの入手先と定期的なデータバックアップの構成方法を知っているという理由だけで、ウイルス対策ソフトウェアをインストールしないかなりの数の人を知っています。

31
Nipheris

Windowsモノカルチャーについて

機能するすべてのWindowsマルウェアは、伝染病の感染を引き起こす可能性があります。世界には何億ものWin 8.1ボックスがあり、その多くには、たとえばAcrobat Readerがインストールされています。モノカルチャーです。

一方、Linuxは単一文化ではありません。さまざまなPDFビューア:Evince、Okular、mupdf、xpdf ...があります。多くのウィンドウマネージャがあります:Gnome、KDE、i3、lxde ...さまざまなディストリビューションがあります。

したがって、Linuxの1つの味に感染できる場合、これは必ずしも他のインストールでは機能しません。

通常、Linuxソフトウェアはオープンソースです。ソフトウェアの開発者になりたい場合は、実行中のプロジェクトのgit/svn/cvsへの書き込みアクセス権を取得するために、長い間ソフトウェアにこだわる必要があります。ディストリビューションにバイナリのみを提供することはできません。ソースコードを提供する必要があります。ソースからコンパイルできない場合、ソフトウェアは動作していません。したがって、マルウェアを配布することは困難です。

私がここに書いたのは推測です、私はソフトウェアのセキュリティには興味がありません。

15
Keks Dose

ここにいくつかの良い答えがあります。いくつかポイントを追加したかっただけです。

LinuxはWindowsよりも脆弱ではないという議論には歴史的な要素があります。この提案の根拠の一部は、以前のように最新のウィンドウ実装を参照する場合ほど有効ではありません。

おそらく最大の違いは、もともとはアーキテクチャの違いによるものでした。 * nixベースのシステムでは、従来、ユーザー空間とカーネル空間が明確に分離されていました。この分離により、ユーザーが実行するプロセスがアクセス/変更できることが制限されました。初期のウィンドウには明確な分離がありませんでした。つまり、低レベルのコードやドライバーに影響を与えるユーザーコードのようなものがより可能になりました。それ以降のバージョンのウィンドウは、システムとユーザー空間の同様の分離に向けて機能しました。例として、かつては、ユーザーが実行した悪意のあるコードまたはバグのあるユーザーレベルのコードが原因で、ユーザー空間プロセスがビデオサブシステムなどの低レベルのサービスに悪影響を及ぼす可能性がありました。この点で、このシステムとユーザー空間の分離には、悪意のあるコードとバグの多いコードの両方への露出を減らすという利点があり、システムの安定性を低下させる可能性があります。

他の人が述べたように、Windowsでは従来、ユーザーアカウントをシステム管理者アカウントにすることもできました。これは、Linuxユーザーアカウントをroot権限で実行するのと似ています。つまり、ユーザーとシステムの分離によって提供される保護をプロセスがバイパスできるようにします。

ウイルスとマルウェアを区別することも役立つと思います。これを見る1つの方法は、ウイルスを自己増殖と考えることです。ウイルスは、ユーザーの操作や入力なしでシステム間を移動できます。一方、マルウェアは、ユーザーに何らかのアクションを実行するように要求します。つまり、添付ファイルを開く、更新をインストールする、ドライブバイエクスプロイトを使用してWebサイトにアクセスするなどです。ウイルスは依然として問題ですが、今のところ、本当の脅威はマルウェア。マルウェアはユーザーとの対話を必要とするため、本当の脅威はソーシャルエンジニアリングに関するものになり、技術プラットフォームに関するものではなくなりました。このレベルでは、WindowsとLinuxの両方が潜在的に類似しているという点で、両方のシステムが(高度に抽象化された概念レベルで)アーキテクチャの点でますます類似しています:ユーザーとシステムのスペース。どちらのシステムでもマルウェアを開発することができ、そのマルウェアが機能する範囲は似ています(ユーザーアカウントに暗黙的に管理者特権を含めないというWindowsの最新の慣習を想定しています)。

つまり、一般的に、実際の違いは主に市場シェアによるものです。 Linuxの市場シェアははるかに小さいため、被害者の潜在的なプールは小さくなります。あなたがいくつかのマルウェアを開発するつもりなら、あなたは可能な限り最大の市場に行くでしょう-これは窓を意味します。ただし、Linux向けのマルウェアが出現し始めており、Linuxデスクトップの市場シェアが増加すると、Linux向けのマルウェアの問題が増加する可能性があります。重要なのは、ソーシャルエンジニアリングがマルウェアの配布の鍵になり、プラットフォームの関連性が低下したことです。クロスプラットフォームのテクノロジー(javascriptなど)に基づいてマルウェアが増加した場合、Linuxでマルウェアが増加する可能性もあります。

Linuxはウイルスやマルウェアの影響を受けないという強い信念があるのは、実際には少し心配です。この信念は、危険なメールをクリックしたり、疑わしい添付ファイルを開いたり、未知または信頼できないソースからソフトウェアをインストールしたりしないなど、自分自身を保護するための通常のベストプラクティスについて心配する必要がないと人々に感じさせる傾向があります。ソフトウェアはオープンソースであり、ソースを検査して悪意があるかどうかを確認できます。これは少し誤解を招きます。まず、ソフトウェアを検査して問題がないことを確認することは実際には非常に困難です。これには、使用する言語にかなりの技術的スキルと知識が必要です。他の問題は、ほとんどの人が他の誰かがこれを行ったと想定することですが、そうではないかもしれません。かなり前から特定されていない重要なセキュリティホールがあった重要なライブラリとアプリケーションの数を検討してください(openssl、libc、ghostなど)。

Linuxは、主に市場でこのような小さなユーザーセグメントを代表しているため、現時点では脆弱ではありません。市場が成長するか、競合他社がセキュリティを改善してマルウェアの実装が困難になると指摘した場合、Linuxに対する脅威の増加が見られます。脅威は、ペイロードを配信するためにソーシャルエンジニアリングにますます依存しています。ある程度、現代のシステムで可能な技術的保護の限界に達している可能性があります。最近最も脆弱なコンポーネントはユーザーです。これは、基盤となるテクノロジーの関連性が低くなり、私たちが本当に焦点を当てる必要があるのは、ユーザーの教育と意識向上です。

14
Tim X

Windowsのセキュリティモデルの言い訳(おそらく最大のもの)の根本的な問題は、ほとんどすべてのインストール可能なプログラムが実行する必要がある特定のことをユーザーがプログラムに実行できるようにする唯一の方法は、プログラムに無制限の権限を付与することですやりたいことを何でもやる。 Windowsが、たとえば、 「このプログラムは、すべてのユーザーのスタートメニューに「FredMagic123」という名前のフォルダーを追加し、そこにアイコンを追加します。これを許可しますか?」、および「はい」をクリックすると、プログラムにその権限を付与しますしかし、他の昇格された特権がない場合、ユーザーは、プログラムが実行する正当な理由がないことを実行するための許可をいつ求めているかを判断できます。

さらに悪いことに、Windowsではプログラムが通常のアクセス許可で起動し、後で昇格されたアクセス許可を要求することが難しくなっています。したがって、インストーラーがすべてのユーザーがアクセスできるような方法でプログラムをインストールできるようにしたい場合は、他のことを行う前に、昇格されたアクセス許可を要求する必要があります。その結果、昇格されたアクセス許可を必要とせずにローカルユーザーにプログラムをインストールできるようにするのではなく、システム全体で使用するためにインストールするときに特別なアクセス許可しか必要としない通常の動作は、インストールプログラムが何かを行うために完全な管理アクセス許可を必要とすることです。通常のインストールでは、それらのアクションのいずれも、昇格されたアクセス許可をまったく必要としません。

5
supercat

WindowsとLinuxの比較は、リンゴとオレンジを構造的に比較するようなものです。構成は、特定のOSアーキテクチャよりも保護において大きな役割を果たし、それは物理的なセキュリティから保守および維持に至るまで続きます。すべてのオペレーティングシステムですべてのセキュリティの実装を削除でき、ユーザーがマシンをどのように処理するかに関して、メンテナンスとセキュリティの面で隅を切り取ることができます。したがって、マルウェアのインストールに関しては、すべてのオペレーティングシステムが同じレベルのリスクを等しく共有します。これは、そのリスクがユーザーによって大きく影響されるためです。

ほとんどのプラットフォームのウイルス、マルウェア、トロイの木馬などは、十分な権限を持つユーザーがインストールできます。その人が、アプリケーションが自身の許可をエスカレートできるようにするのに十分な特権を持っている場合、アプリケーションを根絶することは非常に難しいかもしれません。たとえば、ユーザーがWindowsまたはLinuxで「管理者」として実行している場合、注意していないと、悪意のあるもののインストールを許可することができます。そのユーザーが意図しないものを誤ってインストールした場合、マシンを乗っ取り、オペレーティングシステムに身を隠し、削除を非常に困難にし、場合によっては [〜#〜] efi [〜#〜] Macでのインジェクション。

アンチウイルスは、ドアロックがある場合のセキュリティシステムのようなものです。ドアロックを組み込みのOSセキュリティと考えると、ドアのロックを解除したままにするなどの操作をユーザーが行わなくても、いくつかのことが起こりません。存在するため、その存在により攻撃者を阻止する可能性があります。ドアロックは、正直な人々を正直に保ちます。ウイルス対策ソフトウェアのようなセキュリティシステムは、侵入の可能性をユーザーに警告します。ユーザーが警告を確認し、時間内に侵入を停止すると、盗難または侵入が阻止されます。ユーザーがセキュリティシステムを導入していない場合、オペレーティングシステム(またはドアロック)の組み込み保護機能を超えた場合にのみ、侵入の影響を確認できます。

そうは言っても、すべてのセキュリティシステムがすべての問題を検出するわけではなく、すべてのウイルス対策エンジンがすべてのウイルスを検出するわけではありませんが、リモートで保護する価値のあるものがあれば、正しく保護する価値があります。

Linuxの種類によっては、インストールに関して大幅に多くのメンテナンスが必要になる場合があります。誰にとっても使いやすいものではなく、大手企業で働いていない人( Red Hat を除く)が作成しています。 Windowsは、すぐに構成および保守するのに簡単にすることができますが、どちらの場合もユーザーは、防御の観点からオペレーティングシステムを役に立たなくするのに役立ちます。 。

市場におけるマルウェアの量は常に、特定のオペレーティングシステムの将来のセキュリティに影響を与えません。すべてのソフトウェアパッチが適用されている場合、ソフトウェアの保守を担当する当事者が最新である限り、ユーザーは既知の脆弱性を抱えています。ただし、パッチが存在しない場合は常に zero-day 攻撃と 非公開の脆弱性への攻撃 が発生します。

4
AbsoluteƵERØ

ここでいくつかの答えに穴をあけましょう。

Linuxは市場シェアを欠いているため、ウイルスの数は少なくなっています。

False。 Linuxはデスクトップでの市場シェアは少ないですが、サーバーインストールのシェアは大きくなっています。サーバーは、機会の目標ではなく、特定の目標として求められる可能性がはるかに高くなります。

最新のオペレーティングシステムは、正しく構成および管理されていれば、基本的にすべて同等に安全です。

False。 Windowsには、互換性を維持するためにセキュリティを考慮せずに記述された多くのレガシーコードが含まれています。 Linuxは最初の設計においてはるかにセキュリティを意識しており、複数の純粋なセキュリティプロジェクトを実施してきただけで物事は改善されました。 Windowsは以前よりはるかに優れていますが、まだ改善の余地があります。

そして、公平を期すために、「Linux自体はセキュリティに十分である」という別の神話を捨てましょう。すべてのオペレーティングシステムの最大の弱点は

  1. 弱いパスワード
  2. 設定ミス

現時点で最も憂慮すべきボットネットは、デフォルトのパスワードとリモート管理が有効になっているLinux搭載ルーターのみで構成されています。

4
hildred