web-dev-qa-db-ja.com

ゼロデイ攻撃を防ぐ方法

従来、すべてのウイルス対策プログラムと [〜#〜] ips [〜#〜] システムは、署名ベースの手法を使用して機能します。ただし、これは ゼロデイ攻撃 を防ぐのにあまり役立ちません。

したがって、ゼロデイ攻撃を防ぐために何ができるでしょうか?

20
ashmish2

興味深いシステム管理者の真実を認めていると思います。

ハッキングされる確率をゼロに減らすことができない限り最終的に、ある時点で、あなたはハッキングされるでしょう

これは、数学の確率と確率の基本的な真実であり、イベントのゼロ以外の確率についてのものです。イベントは最終的に起こります...

したがって、この「最終的にハッキングされた」イベントの影響を減らすための2ゴールデンルールは次のとおりです。

  1. 最小特権の原則

    サービスのタスクを完了するために必要な最小限の権限を持つユーザーとして実行するようにサービスを構成する必要があります。これは、マシンに侵入した後でもハッカーを含む可能性があります。

    例として、Apache Webサーバーサービスのゼロデイエクスプロイトを使用してシステムに侵入するハッカーは、そのプロセスがアクセスできるシステムメモリとファイルリソースのみに制限される可能性が非常に高いです。ハッカーはhtmlおよびphpソースファイルをダウンロードし、おそらくmysqlデータベースを調べることができますが、ルートを取得したり、Apacheアクセス可能なファイルを超えて侵入を拡張したりすることはできません。

    多くのデフォルトのApache Webサーバーのインストールでは、デフォルトで「Apache」ユーザーとグループが作成され、これらのグループを使用してApacheを実行するようにメインのApache構成ファイル(httpd.conf)を簡単に構成できます。

  2. 特権の分離の原則

    Webサイトにデータベースへの読み取り専用アクセスのみが必要な場合は、読み取り専用権限のみを持ち、そのデータベースのみにアクセスできるアカウントを作成します。

    SElinuxは、セキュリティのコンテキストを作成するのに適した選択肢です。 app-armor は別のツールです。 バスティーユ は、強化のための以前の選択肢でした。

    侵害されたサービスの能力を独自の「ボックス」に分離することにより、攻撃の結果を軽減します。

シルバールールも良いです。

利用可能なツールを使用します。 (あなたがセキュリティの専門家である男たちと同じようにできることはほとんどありませんので、彼らの才​​能を使ってあなた自身を守ってください。)

  1. 公開鍵暗号化は優れたセキュリティを提供します。これを使って。どこにでも。
  2. ユーザーは馬鹿であり、パスワードの複雑さを強制する
  3. 上記のルールに例外を設けている理由を理解してください。例外を定期的に確認してください。
  4. 失敗を説明するために誰かを保持します。それはあなたのつま先にあなたを保ちます。
36
Tom H

ホワイトリスト、ブラックリストにしない

あなたはブラックリストのアプローチを説明しています。ホワイトリストアプローチの方がはるかに安全です。

排他的クラブは、-できないの参加者全員をリストしようとはしません。 canに入るすべての人をリストし、リストにない人を除外します。

同様に、マシンがすべきではないにアクセスするものすべてを一覧表示するのは運命にあります。プログラム/ IPアドレス/ユーザーの短いリストへのアクセスを制限すると、より効果的です。

もちろん、他のものと同様に、これにはいくつかのトレードオフが伴います。特に、ホワイトリストは非常に不便であり、継続的なメンテナンスが必要です。

トレードオフをさらに進めるために、マシンをネットワークから切断することにより、優れたセキュリティを得ることができます。

15
Nathan Long

検出は防止よりも簡単(そして信頼性が高い)

定義上、ゼロデイ攻撃を防ぐことはできません。他の人が指摘したように、ゼロデイ攻撃の影響を減らすために多くのことを行うことができますが、そうする必要がありますが、これで話は終わりではありません。

さらに、攻撃がいつ発生したか、攻撃者が何をしたか、および攻撃者がそれをどのようにしたかを検出するためにリソースを費やす必要があることを指摘しておきます。ハッカーが行う可能性のあるすべてのアクティビティを包括的かつ安全にログに記録することで、攻撃を検出しやすくなり、さらに重要なことに、攻撃からの回復に必要な被害と修復を特定できます。

多くの金融サービスのコンテキストでは、トランザクションの実行における遅延とオーバーヘッドに関するセキュリティのコストが非常に高いため、最初からそれらを防ぐために設計された広範な対策を講じるよりも、不正なトランザクションの検出と逆転にリソースを集中する方が理にかなっています。 。理論では、100%効果的な対策はないため、検出と逆転のメカニズムを構築する必要があります。さらに、このアプローチは時の試練に耐えてきました。

11
Old Pro

ゼロデイは、署名が不明であることを意味しません。これは、ソフトウェアのユーザーが利用できるパッチがないことを意味し、脆弱性を閉じます。したがって、IPSはゼロデイ脆弱性の悪用から保護するのに役立ちます。しかし、それだけに頼るべきではありません。強固なセキュリティポリシーを作成して従い、サーバーを強化し、ソフトウェアを更新し、常に'次のプラン'

4
DukeLion

GrsecurityまたはSELinuxは、カーネルを強化することでゼロデイ攻撃を防ぐのに役立ちます。

Webサイトからの引用「脆弱性の修正が配布および本番環境のテストに進む間に管理者に貴重な時間を購入するゼロデイおよびその他の高度な脅威に対する保護を提供するのはgrsecurityのみです。」

3
h00j

Apacheを使用している場合、 mod_security などのモジュールは、一般的な攻撃ベクトルを防ぐのに役立ちます。 mod_securityでできること

  • sQLインジェクション攻撃のように見えるリクエストをブロックする
  • 一部のRBLでブラックリストに登録されているIPアドレスのクライアントをブロックする
  • 定義したいくつかの条件が満たされた場合、リクエストを別の場所にリダイレクトします
  • クライアントの国に基づいてリクエストをブロックする
  • 一般的な悪意のあるボットを自動的に検出してブロックする

...そして、はるかに。もちろん、mod_securityのような複雑なモジュールを使用すると、実際のクライアントをブロックすることも可能であり、サーバー側ではmod_securityがオーバーヘッドを追加します。

また、サーバーソフトウェアを最新の状態に保ち、使用しないすべてのモジュールとデーモンを無効にしておくことも必須です。

厳格なファイアウォールポリシーは必須であり、多くの場合、SELinuxやgrsecurityなどの追加のセキュリティ拡張機能が攻撃を阻止する可能性があります。

しかし、あなたが何をしようとも、悪者は非常に忍耐強く、非常に創造的で、非常に熟練しています。ハッキングされたときに何をすべきかについての詳細な計画を立てます。

2

巨大なセキュリティスイートを備えた肥大化したマシンは、平凡なPCを恐竜に、クアッドコアを通常の古いPCにします。私はそれがほとんど真実であることを理解するのに十分な数千を修正しました。あなたが何も理解していない場合、100%のセキュリティであり、パフォーマンスのコストはセキュリティとして指数関数的に低下しますが、感染の確率は直線的に低下するだけです。比較の検討をやめたときのほとんどの結果は、数千のリスクの実際のテストで最大90%でした。つまり、感染の10%が検出されなかったか、遅すぎたということです。一方、PCの遅延は200〜900%増加しました。 OSXは、本質的にセキュリティが向上しないという理想的な状況にありますが、2010年の電話/パッド以外の製品の市場シェアは4%にすぎないため、攻撃のリスクは小さくなりました。状況は変わるが、私は変わらない私のOSをクリーンで無駄のない、卑劣なものにするという私の哲学。私はXPおよびWin7についても同じことをしています。修復ツールの膨大な武器を持っていますが、感染したすべての人を修正するために1つのアプリしか必要とせず、数時間または数日ではなく、10〜20分しかかかりません。

機能する私の方法。

  1. 適切なアラートのカーボンコピーである何百ものROgueとは対照的に、ユーザーが何であるかを本当に理解していない限り、ユーザーを教育し、セキュリティ警告をクリックしないでください。簡単にトレーニングできない人は、JavaおよびJSを無効にして、非管理者アカウントとサンドボックス化されたブラウザを取得します。しかし、私がそれを有効にした場合、心配する必要はありません。復元または修復。

    1. SYstem Restoreは優れていますが、多くの制限があります。1つは、DocumentsフォルダーとUser Tempフォルダー内のアイテムが保護され、不正なドライバーがインストールされて起動し、次回の起動時に感染する可能性があることです。

    2. UACは多くの場合に役立ちますが、スタートアップや新しいプロセスを検出するために私が使用したり、より優れたツールに依存したりしないPITAなどがあります。

      • Winpatrol.com私がセキュリティのために行った最善の投資であり、他の人にはまだ無料です。スタートアップが実行前に追加され、ユーザープロンプトによって検出および無効化または削除できる問題の80%をカバーしています。ただし、意思決定をすることができない気になる人は、薬を服用するか、単にWindows Defenderを使用してください。カバレッジには最適ではありませんが、バン/バックの比率では最も高いものの1つです。パフォーマンスの低下または損失、またはレイテンシ比の上昇。

      • Mike Linのスタートアップユーティリティは、レジストリの12を超える場所に格納されているスタートアップの最軽量のインターセプターです。

      • Script Guardは、キディスクリプト用の便利なスクリプトインターセプターです。

      • ProcessGuard新しい実行可能ファイルのファイアウォールのように機能する古い機能のないプログラムですが、承認を求められますが、信頼できるソースを受け入れるか、信頼できないソースを無視またはブロックした後は安全で無駄がありません。

      • お使いのブラウザー用のブラックリストアドオンはWeb of trust(WOT)のように優れていますが、Chrome=の一部は同じように含まれていますが、程度は小さいです。

      • hOSTSファイルのブラックリストは巨大になる可能性があり、これを使用する場合(> 1MBは10分ごとに4KBのチャンクでスキャンすると巨大になります。ただし、そうする場合はDNSキャッシュサービスを無効にするを減らすことを強くお勧めしますFirewall Priviesでアクティブなすべてのアプリによる冗長な定期スキャン。

      • ファイルのインデックス作成を無効にするそれが実際に電子メールや物事に使用しない場合、それはあなたのAVスイートを生成し、毎回アクセスされるすべてのファイルをスキャンします。

一部の人は私の頭の上のこの部分的なリストの例外をとるかもしれませんが、私は私のPCを保護して無駄のない環境で操作する時間を節約します。私のセキュリティが夜間に行われることを確認するための定期的な監査は、私の心配のない実践が正当化されることを証明します。私はまだ、1,000のHJTログ、combofix.txtログ、およびRunscannerログを保持して、治療法とより良いセキュリティ/パフォーマンスのバランスについての私の意見をサポートしています。

  • .mp3や.aviとは異なり、scipts(.WMA、.WMVなど)を実行できるexeまたはWindowsメディアファイルを不注意にダウンロード/インストールしないでください。

  • セキュリティをダウンロードまたは更新するために大きなボタンをターゲットとする広告はすべて避けてくださいこれは、hippo dot com .. cnetのようなダウンロードアグリゲーターの無料アップデートに注意をそらす可能性があります。cnetは悪くありません。十分気をつける。一部のサイトはサードパーティの広告を使用しており、コンテンツを制御できません。

  • 私は、10ページのPowerPointプレゼンテーションで1つの完全な例を文書化しました誰かが興味を持っている場合は、質問してください。上記の内容を無視すると、感染する可能性があります。

今のところすべて。

トニー・スチュワートEE、1975年以来。

ブロンズルールをいくつか追加します。

  1. 公開されている場合は、実行する必要のないものを実行しないでください。

  2. 自分自身を専用の標的型攻撃に値する標的にしないでください。

  3. とにかく、そのような標的型攻撃の可能性に対する保護は、いずれにしても非経済的/非実用的です。何を壊すことに真剣に関心を持つことができる人を確認し、そこから始めましょう。

  4. 「外部から入手できる情報を最小限に抑える」と「よく知られたデフォルトから離れる」ことは、あいまいさによるセキュリティ(「それ自体が不十分なレイヤー」ではなく「価値がない」と誤解されることが多い)にすぎないと見なし、それを省略するのは危険な傲慢です。ドアのハック可能なロックは、泥棒を締め出すのではなく、おそらくオオカミを締め出すでしょう。

1
rackandboneman