
先ほどの単純な質問とは対照的にUbuntu にウイルスを感染させる最も早い方法は?これは、境界内にあるかどうかという疑問に言い換えたものです。ヘルプセンター. ユーザーの入力なしでルート操作を実行できるファイルタイプやプログラムがあるかどうか知りたいです。たとえば、変更が加えられたときに、/usr/bin
ユーザーにルートパスワードの入力を求めますが、そのパスワードは(通常)Ubuntuをインストールした人だけが知っています。しかし、私は次のような質問を目にしました。安全
ユーザーがルート権限を得るためにターミナルを使用するのを待ち、キーストロークを記録するだけのウイルスについて。これは可能ですか? 具体的なウイルスの例や、そのやり方を知りたいのではなく、このようなプログラムやファイルが存在するか、存在する可能性があるかだけを知りたいのです。ありがとうございます、David!
答え1
この質問に実際に答えると、それは可能ですが、受動的ではありません。時間の経過とともに、UbuntuとLinuxは一般的にウイルスを防ぐためにより安全になりました。サイトでは、ここUbuntu に影響を与える可能性のある、または影響を与えたトロイの木馬、ウイルス、ワームのほとんどについて説明しています。このサイトは最新の情報に更新されています。あなたが言ったように、今日のウイルスは主に Windows と Mac OS X 向けに設計されているからです。Ubuntu にウイルスを与えることは可能ですが、その作業に見合う価値はありません。
答え2
ウイルスがシステムに感染する方法には、主に 2 つのカテゴリがあります。
バグの悪用
ウイルスがシステムに感染する方法の 1 つは、バグを悪用することです。システムにあらゆる種類のセキュリティが実装されていると仮定しますが、x、y、z を順番に実行すると (問題が発生するとは予想されない順番)、コードを root として実行できます。
この種のウイルスは深刻な脅威となる可能性があります。しかし、これに関するあなたの質問に対する恒久的な答えは決してありません。あなたの質問に対するこの種のウイルスの答えは、悪用可能なバグを説明するものであり、すぐに修正され、パッチが適用され、悪用不可能になります。
この種のウイルスが Linux 上で見られないのは、主に次の 2 つの理由からです。
- ハッカーはシステムのバグを見つけるために努力し、見つけたときには満足感を覚えます。Windows の場合、バグを悪用してウイルスを作成する以外にできることはあまりありません。Linux の場合、バグを修正するパッチを送信して、さらに名声という報酬を得ることができます。ニュースをフォローしていると、研究者チームがフリーソフトウェア (Linux だけでなく、たとえば Windows) で脆弱性を発見したという話をときどき耳にします。ハートブリード) を発見して修正することはできますが、Windows ウイルスの数が非常に多いことから、こうしたバグが多数あることが分かるにもかかわらず、ハッカーが Windows で脆弱性を発見したという話は聞いたことがありません。
- GNU/Linux ディストリビューションには、一般に優れたパッケージ マネージャーがあります。すべてのソフトウェアは頻繁に更新され、バグはすぐに修正されます。Windows では、技術に詳しくないユーザーの多くは、更新が面倒なので更新を無効にすることがあります (再起動しましたか? 再起動しましたか? シャットダウンします。しばらくお待ちください)。また、たとえ無効にしなかったとしても、更新されるのは Windows のコアのみで、それ以外は更新されません。この種のバグを悪用するウイルスは、Windows 上で長期間生存する可能性が高く、したがってさらに拡散します。
ユーザーを搾取する
ウイルスがシステムに感染するもう 1 つの方法は、ユーザーを騙して実行させることです。インターネットからアプリケーションをダウンロードして実行すると、ウイルスに感染することになります。GNU/Linux ディストリビューションはパッケージ マネージャーを使用して、実行ファイルが信頼できるパッケージ作成者によってソースからビルドされたものであることを確認し、パッケージ作成者が悪意のあるものでない限り、ウイルスが侵入するのを防ぎます。Windows では、各アプリケーションを別の Web サイトからダウンロードする必要がありますが、その Web サイトの中には HTTPS や実行ファイルのハッシュを提供していないものもあります。ウイルスがこの方法で侵入する方法は数多くあり、実際にそうしていることはわかっています。
ただし、ユーザーがルート アクセスを持っていなければ、これ自体はそれほど問題にはなりません。Windows では、これは通常デフォルトで、最初の (通常は唯一の) ユーザーが管理者権限を持ちます。これは、Linux でルートとしてログインするのと似ています。ただし、Linux では、アプリケーション (たとえば、 内/usr/bin
) に関係するものすべてに対してルート パスワードの入力が求められるため、ユーザーに気付かれずにウイルスが「侵入」することはありません。
この種のウイルスの場合、質問に対する答えは、オープンソースではないウイルスを作成し、何か他のことをするという口実でルート権限を要求し、次に、バイナリでのみ利用可能なこのアプリケーションが必要であることを多数の人々に納得させ、ルート権限を与えることです。
それは本質的にはもはやウイルスではありません。何も知らない人に与えられた「ハードディスクをフォーマットするための手順」と同じかもしれません。
最も成功するバグは、バグとユーザーの両方を悪用するものです。Windows ではそれがいかに簡単か想像してみてください。
- タイプ Y のファイルを開くアプリケーション X を例にとります。アプリケーションが自動更新できないことを確認してください (Windows ではソフトウェア更新が十分にサポートされていないため (サポートされていません)、アップデータが付属していないアプリケーションを見つけるのは非常に簡単です)。さらに簡単に、たとえば inkscape などのオープン ソースのものを使用することもできます。
- コードを実行できるアプリケーションのバグを見つけます。たとえば、バッファ オーバーフローでは、画像などの実行不可能なファイルを開いてもソフトウェアを制御できるようになります。
- あらゆるものにルート アクセス権を持っている可能性が高いため、できる限りあらゆるものにウイルスを拡散します。これにはバグのあるソフトウェア自体も含まれ、将来のファイルに自動的に感染したり、ソフトウェアが決して更新されないようにしたりします。
- ウイルスは最終的には検出されますが、バグのあるソフトウェアが更新されないため、ウイルスは蔓延し続けます。
ここで、状況を Linux と比較してみましょう。バグのあるソフトウェアはウイルスが見つかるとすぐにパッチが適用され、更新されるため、見つかったバグは長くは続かないかもしれません。さらに、ソフトウェアを入手できたとしても、最大の被害はユーザー ファイルに感染することであり、システム ファイルには感染しません。イメージに添付されたウイルスの例では、ソフトウェア自体は感染できず、転送方法はユーザーがイメージ自体を転送するしかありません。これは、ウイルスが存在しないという意味ではなく、かなり弱く退屈なものであるという意味です。退屈なウイルスを書いたと自慢する人はいないでしょう。