フォークボムとは何ですか?心配する必要がありますか?

フォークボムとは何ですか?心配する必要がありますか?

開発者の中には、常に自分の開発スキルを利用して、システム全体の機能を妨害するツールを作成する人もいます。ネットワークに感染したり、場合によっては他のコンピュータに感染したりすることがあります。そのような手法の 1 つは、ボットネットを使用してネットワーク内のシステムにリクエストを攻撃することです。最終的にはシステム リソースが圧迫され、正当なリクエストが拒否されることにつながります。この種のボットネット攻撃は、DoS攻撃。

DoS 攻撃はネットワーク上で実行されますが、フォーク ボムと呼ばれるものを使用して、必ずしもネットワークに接続されているわけではないコンピューター上のリソースを窒息させる別の方法もあります。

名前は面白く聞こえるかもしれませんが、これは新しいタイプの脅威ではなく、フォーク爆弾としても知られる最初のフォーク爆弾です。ウサギウイルス、1978年に遡り、IBM System/360 上で実行されました。そうは言っても、今日はこのフォーク爆弾について、そしてシステム上のそのような脅威について心配する必要があるかどうかについて話します。

フォークボムの基本的な説明

フォークボムについて話す前に、フォークについて知っておく必要があります。いいえ、中華料理を食べるためのカトラリーについて話しているわけではありません。フォークとは基本的に、既存のプロセスまたは親プロセスを複製して新しい子プロセスを作成する Unix または Linux システム上のシステム コールの一種です。したがって、これら 2 つのプロセスは独立して実行できるため、必要なときにいつでも処理を高速化できます。

Linux システムでのフォークは便利ですが、一方で Fork Bomb は一歩進んでおり、すべてのシステム リソースが子プロセスを再帰的に呼び出すコマンドの実行以外に重要な目的で使用されない限り、子プロセスが自身を無期限に複製し続けます。 。

攻撃が開始されると、ユーザーが開始したシステム プロセスや重要なシステム プロセスがリソースによってブロックされ、キーボードやマウスなどのデバイスからの入力が登録されず、システムからログアウトすることもできなくなります。ループが継続すると、通常、プロセス数がシステムで許可されている最大プロセス数に達する前であっても、システム リソースが使い果たされます。これは最終的に、システムクラッシュ。

フォークボム攻撃後に長時間非アクティブな状態が続いてシステムがクラッシュした場合は、ハードリブートで問題を解決できますが、作業内容を保存していなかった場合はデータが失われる可能性があります。それがシステムの autostart フォルダーに置かれていない限り、その後 PC をハード再起動すると、システムは自動的に Fork Bomb をアクティブにし、ループが継続するためです。ただし、原因がわかっている場合は、システムをセーフ モードにすることでファイルを削除できます。

フォーク爆弾は DoS 攻撃とどう違うのですか?

DoS 攻撃の場合、ボットネットを使用してネットワーク上の 1 つまたは複数のコンピューターが攻撃されます。したがって、DoS 攻撃の場合、攻撃は外部から行われます。これらの攻撃は通常、ネットワーク上のコンピュータに感染し、ボットネットが攻撃の準備ができると、またはある時点でリモート コンピュータ上でリクエストの攻撃を開始します。

フォーク ボムの場合、子プロセスを実行するコマンドはシステム内部で実行されるため、システムがネットワークに接続されている必要はありません。場合によっては、作成中のコードの構成要素に特定のエラーがある場合に、ユーザーがこれを実行することもできます。

Windows コンピュータはフォーク爆弾に対して脆弱ですか?

Windows は既存のプロセスをフォークできないため、プロセスをフォークできる Unix および Linux ベースのシステムのみがフォーク ボムに対して脆弱です。

ただし、Windows システムでは同様の攻撃が不可能であるという意味ではありません。 Windows では、細心の注意を払ってプログラミングすることで、最終的にシステム リソースを圧迫し、システムのクラッシュにつながる新しいプロセスを連続して作成することが可能です。

フォーク ボムとは異なり、Python、C、Java、Ruby などの最新のプログラミング言語でフォーク ボム コードを簡単に作成できるのと比較すると、Windows でそのようなコードを作成するのは非常に複雑です。

フォークボム攻撃を防ぐにはどうすればよいですか?

ユーザーが実行できるプロセスの数に制限がある限り、Linux または Unix システムに対するフォーク ボム攻撃を防ぐことは明らかに可能です。その方法はたくさんあります。たとえば、「ulimit=X' コマンドを使用すると、次の制限を設定できます×指定されたユーザーのプログラムの数。

/etc/security/limits.confファイルを編集して同じことを実現することもでき、システム上のすべてのユーザーに制限を設定できるという追加の利点もあります。

ただし、スーパーユーザー権限を持つプログラム、または管理者権限を持つシステム上の他のユーザーは、設定されているすべての制限を無効にするフォークボムを実行できることにも注意してください。

したがって、フォークボム攻撃を無効にするためにすべてに適合する単一のサイズはありません。ユーザーは基本的なセキュリティ対策を講じる必要があり、それがリスクを軽減する唯一の方法です。信頼できないプログラムが存在する場合は、プロセス制限が設定されているときにスーパーユーザー権限が付与されないように注意する必要があります。

以上、フォークボム全般についての説明でした。何か質問はありますか?以下に同じことについてお気軽にコメントしてください。