web-dev-qa-db-ja.com

Linuxはどのようにしてウイルス、マルウェア、およびそのような種類のものになりにくいのですか?

Linuxはウイルスからどのように保護されていますか?


この質問は今週のスーパーユーザーの質問でした。
詳細については、ブログエントリをお読みください。またはブログに投稿自分

71
ykombinator

まあ、実際にはそうではありません... Linuxシステムを標的とするウイルスを開発しているハッカーの影響を受けにくいだけです。コンシューマーグレードのコンピューターは通常Windowsで実行されるため、幅広いユーザーを対象とする場合、Windowsが適しています。

Linuxとウイルスを誤解しないでください。Linuxウイルスは間違いなく存在します。

一部のディストリビューションには、たとえばUbuntuのSELinux( here を参照)などの追加の保護レイヤーがあります。次に、デフォルトのファイアウォールと、エイリアンファイルが自動的に実行する権限を持たないという事実があります。実行するには、特定の実行権限が付与されている必要があります。 ( ここ を参照)

次に、他のいくつかの要因がLinuxをウイルスにとって困難な場所にします。通常、Linuxシステムの非rootユーザーは、ウイルスが検出されずに繁殖することを可能にする実行可能ファイルがほとんどありません。一部のプログラムでは、実行前にrootとして(またはSudoを使用して)ログインするか、ホーム以外のディレクトリにアクセス/変更する必要があります。 Windowsの場合と同様に拡散する実行可能なウイルスを開発することは、はるかに困難です。

UPDATE:

後述するように、Linuxを実行するほとんどのマシンは、自分が何をしているのかを知っている人が実行しているサーバーです。 Linuxをデスクトップで使用する人々は通常、自分が何をしているのかを選択し、知っています。ほとんどすべてのコンピュータは文盲でWindowsを実行しているため、これらのコンピュータを感染させるのははるかに簡単です。 「ねえ、このマシンは私がウイルスに感染していて、それを取り除くために 'FAKETrojanHunter'と呼ばれるこのアンチウイルスプログラムを購入しなければならないことを教えてくれます...さて、やりましょう!

それ自体が同等のLinuxディストリビューション/インストールはないため、可能な限り効率的にすべてに感染するマルウェアを開発することは困難です。さらに、Linuxで実行されるほとんどすべてのソフトウェアはオープンソースであり、ソースが公開されているため、マルウェアをはるかに簡単に検出できます。

104
BloodPhilia

理由の1つはユーザー特権です。

GNU/LinuxシステムはUnixライクなシステムであり、つまり、ゼロからマルチユーザーシステムとして構築されています。つまり、ユーザー間で責任が大きく分離されます。その結果、通常のユーザーは必要な特権を持っていないため、実際にシステムに損傷を与えることはできません。現在、Windowsシステムでも利用できるアカウントは限られていますが、GNU/Linuxシステムでは、ユーザーが今日の使用のために制限されたアカウントを使用し、rootアカウントを設定の変更のみに使用することが当然期待されます(一部のディストリビューションでは、デフォルトでは許可されていません。 rootアカウントを使用して設定を変更する他のより安全なメカニズムがあるため、ユーザーはrootとしてログインする必要があります。

一方、多くのWindowsユーザーはWindows 9x時代に育ったか、その時代が大きな影響を与えました。当時、ユーザーアカウントのみが管理者であり、すべてがそのユーザーに許可されていました。マルチユーザーのWindows NTの子孫であるWindowsシステムでも、ユーザーは管理者特権でアカウントを使用する必要がある(または少なくとも予想される)ことが多く、制限されたアカウントの使用はホームユーザーの間でかなり低いです。

37
AndrejaKo

LinuxがWindowsよりも優れている点の1つは、ファイルを実行可能にするために、そのアクセス許可を具体的に設定する必要があることです。

これは、ユーザーが感染する前に実行可能にする必要があるため、二重拡張のトリック(例: "brittany_spears_naked.jpg.exe")が機能しないことを意味します。画像が実行可能である必要があるのは奇妙です。

22
Richard

Linuxは保護されていますが、無傷ではありません。

セキュリティの観点から、Linux/UnixとWindowsを高レベルで対比する:

  • Linuxカーネル(システムのアクセス許可が検査および適用される場所)は、Windowsの同等のものより非常に小さいです。小さいほどシンプルになります。単純なことは、予期しないシステムの相互作用が少なく、調査が容易であることを意味します。 「小さい」と「単純な」は、セキュリティ分析では良いことです。 Windowsカーネルは高速で成長し続けています。

  • LinuxユーザーはWindowsよりも低いアクセス許可レベルで実行する傾向があり、システム全体に影響を与えることがより困難になります。

  • Linuxは、シンプルで柔軟なセキュリティモデルから始まりました。 Windowsは、セキュリティモデルのないシステムとの下位互換性の要件から始まりました。

  • Linuxには、セキュリティを意識したプログラマーのタスクを容易にするための関数(chroot(2)など)が常にあります。

これによってLinuxがマルウェアに対して無防備になることはありません。これは、適切に構成されたLinuxホストを攻撃することが、適切に構成されたWindowsホストを攻撃するよりもさらに困難であることを意味します。

19
mpez0

あなたの質問に対する答えは、あなたが「ウイルス」と考えるものに依存します。

ウイルスの正しい定義(つまり、既存の実行可能ファイルを変更するコード)を使用する場合、Linuxがウイルスになりにくい理由は、 Linuxで悪質なコードを拡散させるための実行可能なメカニズムではありません。その理由は、Linux実行可能ファイルがコンピュータ間で直接転送されることはほとんどないためです。代わりに、プログラムはパッケージ管理ソフトウェアを使用して、またはソースコードを配布することによって転送されます。ほとんどのLinuxソフトウェアがソースから無料で入手できるという事実は、人々がプログラムを1つのコンピューターから別のコンピューターにコピーすることをほとんど集中していないことを意味します。

「ウイルス」とは、「ワーム」、つまりインターネット上で自身を複製するプログラムを意味する場合、Linuxはその攻撃の影響をまったく受けません。実際、元のインターネットワーム「 Morris Worm 」は、Sendmailを使用して複製されました。このプログラムは、多くのLinuxシステムにまだプリインストールされています。 Linuxマシンに対する成功した攻撃のほとんどすべてが、メールサーバーやWebアプリケーションなど、脆弱なインターネット向けアプリケーションを標的としています。

最後に、一般に悪意のあるコード(通常は「トロイの木馬」)について言及している場合、Linuxを保護するのは主に文化です。 Linuxはめったに使用されないオペレーティングシステムであり、すでにターゲットとしての価値を制限しています。ただし、Linuxユーザーは例外的に精通していてセキュリティを意識していることが多いという事実を補足すると、攻撃が成功する可能性はさらに低くなります。たとえば、攻撃計画がユーザーにプログラムをダウンロードして実行し、自分自身に感染させることを頼りにしている場合、平均的なWindowsユーザーよりも平均的なLinuxユーザーにそうするように説得する可能性は劇的に低くなります。したがって、マルウェアの作成者は、ターゲットにするプラットフォームを選択するときに、明らかにより実りの多いターゲットを選択します。

13
tylerl

Linuxには非常に専用のマニアックなコミュニティがあり、マルウェアが作成されていても、解決策は常にあります。

12
ykombinator

これに貢献する多くの側面があります:

  1. 異機種環境
    • 多くの異なるフレーバーと多くの異なる構成があります。
    • 同じディストリビューションであっても、さまざまな可能性の範囲は膨大です。
    • 各ディストリビューションは複数のカーネルを提供し、追加のパッチをサポートしています。
    • 各大企業は通常、独自のカーネルのフレーバーを展開しています。
  2. ユーザーへのアプローチと強力な権利行使の歴史
    • サーバー指向開発の非常に長い歴史のおかげで、Linuxは当然この分野で先行しています。
  3. ウイルスは効果がない
    • Linuxは世界中で最もインストールされているシステムですが、Linuxを搭載したPC /デスクトップはそれほど多くありません。
    • サーバーへの攻撃は、指示されたときにはるかに効率的です。
    • 組み込みシステム(ルーター、テレビなど)への攻撃は、システムの機能が制限されているため、通常、努力する価値はありません。
  4. ウイルス作成者が現在注力しているのは、Linuxエコシステムでは十分ではありません
    • クリエイターは最も簡単な方法を選びます。
  5. Linuxでウイルスを隠すのははるかに難しい
    • Linuxはすべての情報を公開するオープンシステムであり、何かを隠すのはそれほど簡単ではありません。
  6. オープンソース
    • マイクロソフトは反対の主張をするかもしれませんが、コードの各行に数千人のレビュー担当者がいて、さらに数秒でセキュリティの欠陥にパッチを当てられる人がいると、コードの品質とセキュリティに確実にプラスの影響を与えます。
12
Šimon Tóth

主な理由は、Linuxオタクはリッチなターゲットを作らないからです。

組織犯罪は、デスクトップがインストールされ、よく知られているすべてのアプリケーションを備えた、よりシンプルなシステムを購入する人々を狙っています。そして現在、そのような人々の大多数はWindowsを使用しているため、Windowsははるかに収益性の高いターゲットとなっています。

Linuxを追いかけて収益を得ることができれば、今日何千もの新しいウイルスバリアントとダミーのWebサイトを生成している大規模な取り組みが1日あたりによってLinuxをすぐにもたらしたと私は確信しています。膝。 Linuxがオープンソースであるため、ハッカーは何も逆コンパイルする必要さえありません。

すべての賢いプログラマーには賢い人がいますが、その人だけが海賊です...

5
harrymc
  • マルチユーザー、マルチタスクOS
  • ネットワークの世界で使用できるように構築されています(RFCポートは便宜上、広く開いていません)
  • ActiveX (汚染の素敵なベクトル)などはありません。
  • また、構成ファイルのデータからコードを適切に分離しています
  • 中央リポジトリのおかげで、すべてのアプリケーションとOSプログラムが最新です
  • 未知のサイトにアクセスしてそこからソフトウェアをダウンロードするインセンティブがない
  • 更新は、「ブラックトゥデイ」ではなく、パッチを適用する問題がある場合に発生します
  • ファイル拡張子はOSにとって何も意味しません
  • レジストリ のような隠された混乱はありません
  • 特権の分離のおかげで-「何か」を取得した場合でも、(ウイルスの定義に従って)再起動に耐えることは非常に困難です
5
jet

Linuxが主にオープンソースソフトウェアを実行しているという事実は、ここでは大きなボーナスだと思います。だれかがコードを読み取ることができる場合、誰かがシステムに対して悪意のある行為を行うことははるかに困難です。

Linuxディストリビューションの公式パッケージリポジトリからソフトウェアのみをインストールする場合、ソフトウェアを取得するためにWebからランダムな実行可能ファイルとインストーラーをダウンロードする必要があるWindowsよりもはるかに安全です。

もちろん、悪意のあるコードがシステムで実行される可能性がある他の方法もありますが、この点はとにかく言及する価値があると思います。

5
Jacob Stanley

コンピュータについてあまり知らない(またはWindowsから移行した)Ubuntu、LinuxMint、Fedoraなどの最新のディストリビューションに移行する人が増えています。

彼らはガイドやハウツーを読んで喜んでスクリプトやプログラムをダウンロードし、rootまたはSudoとして実行します。これらはトロイの木馬の標的になりやすいものです。実際、ユーザーが自分のコンピューターで実行できることを制限しない限り、デスクトップのセキュリティは難しいと感じています。

3
Xolve

Linux/Windowsの比較で人々が常に無視していると私が思うことの1つは、ユーザー、彼らが誰であるか、そして彼らがどのように考え、行動し、反応するかです。あなたは、論文 コンピュータセキュリティのフォークモデル を興味深いと思うかもしれません。

Linuxは(ほとんど)プレインストールされていません。当然の結果として、(ほとんど)すべてのインストールは選択によって、他のものよりもLinuxを選択するのに十分な考えを持つ人によって、および少なくともインストーラーを使用するのに十分な知識がある人によってインストールされます。コンピューターを使用する前に、最小限のコンピューター知識のフィルターを持っていると役立ちます。

対照的に、購入したほとんどのコンピューターでは、Windowsがデフォルトのインストールです。スキルがまったくなく、Windowsコンピュータを購入してインターネットに接続し、ウイルス、ワーム、トロイの木馬などについて何も知らなくても、すぐにゾンビになることができます。

私はまた、「犠牲者を責めている」わけではないと言いたいです。コンピュータは複雑な無限状態機械です。セキュリティは難しいです。しかし、デザインも重要です。 Mac OS Xには、Windowsより安全にする強力なセキュリティ機能はありません。また、システムにプリインストールされているため、Macを購入できる人なら誰でも、スキルレベルに関係なくMacを実行できます。しかし、それはシステムとして設計され、ユーザーがどのように考え、システムと対話するかを考えています。これにより、セキュリティホールが削減されるのではなく、ユーザーがセキュリティホールを悪用される可能性がどれだけ削減されるかがわかります。

2
Rich Homolka

マルウェアの作成者は、より大きなターゲット市場を望んでいます。 Linuxよりもはるかに多くの人がMacまたはWindowsを実行しています。それはウェブサイトを構築するようなものです。あまり人気のないブラウザに移動する前に、それが主要なブラウザで機能することを確認したいのです。

2
Joshua