ゼロデイ攻撃を防ぐ方法


21

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

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


1
ゼロデイエクスプロイトを使用してソフトウェアを実行する場合でも、以下で提案した回答のポイントに加えて。公共のインターネットでそのシステムを実行しない場合、直接脆弱ではありません。したがって、ファイアウォールは友だちであり、本当に複雑なセキュリティリスクソフトウェアを実行したい場合は、クラウド内の他のネットワークに設定して、ハッキングされても他のシステムに影響を与えないようにすることができます。
トムH

ゼロデイおよび未知の脅威は、名前に値するウイルス対策/マルウェア対策ソフトウェアでヒューリスティックが使用される理由です。残念ながら、パフォーマンスの低下のために、ヒューリスティックはしばしば無効になっています。
ジョンガーデニアーズ

0daysは単なるカテゴリであり、このカテゴリの各メンバーは他とは非常に異なります。0日に対するセキュリティの実装を検討するアプローチはありません。最終的には、ステルス侵入の成功と、機能しないエクスプロイトまたは検出されたエクスプロイトとの違いをもたらすのは、セキュリティシステムの品質です。誰かが言ったように、検出と迅速な応答時間に焦点を当てます。各システム、トラフィックを監視し、セキュリティ更新プログラムを最新の状態に保ちます。それはフルタイムの仕事であるか、少なくともそうあるべきです。
アキ

おそらく、あまりにもここからいくつかの良い答えを得る- security.stackexchange.com
Bratch

どこでもLinux。窓なし。グーグルに聞いてください。
ニールマクギガン

回答:


37

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

ハッキングされる可能性をゼロに減らすことができなければ、最終的には、ある時点でハッキングされます。

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

したがって、この「最終的にハッキングされた」イベントの影響を軽減するための2つの黄金律は次のとおりです。

  1. 最小特権の原則

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

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

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

  2. 特権の分離の原則

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

    SElinuxはセキュリティのコンテキストを作成するのに適した選択肢であり、app-armorは別のツールです。Bastilleは、これまでの強化の選択肢でした。

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

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

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

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

これは真実だと思います-定義上、0日間の悪用を防ぐためにできることはあまりありません。脆弱なソフトウェアを使用している場合、脆弱なソフトウェアを使用しています。したがって、唯一の対策は、影響と攻撃対象を減らすことです。ファイアウォールに関する優れた点。ただし、MS Outlookの0日間の悪用は、たとえば電子メールで送信される可能性があることに留意してください。
ダン

2
ええ、MSメール製品についてのポイント。しかし、メールのファイアウォールへのアナロジーがあり、すべてのVBスクリプト、ActiveXの持つたとえば誰のために、無効OLEタイプの拡張が大虐殺の穏やか気づいていない、すべて完全にハッキング見逃しているだろう... ;-)
トム・H

1
+1しかし、シルバールール1に対する「自分の問題は暗号化を使用して解決できると考えている人は誰でも、彼の問題を理解しておらず、暗号化を理解していない」-ニーダム/ランプソン;)
ピーナッツ

@Peanut私は公開鍵が好きです。パスワードを使用しないためです。理論的な侵入後、パスワードをリセットする必要はありません。リセットするパスワードがなく、公開鍵のみが危険にさらされるためです。ハッシュされたパスワードデータベースでも、アカウントの検証やオフラインクラックに使用できます。
トムH

@TomH私のコメントは冗談でした:)おもしろいので、システムではおそらくサーバーがクライアントに署名するためにノンス+他のデータを送信し、クライアントはログインにユーザー名+署名されたデータを使用しますか?
ピーナッツ

16

ホワイトリスト、ブラックリストに登録しないでください

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

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

同様に、マシンにアクセスしてはならないすべてのものをリストしようとすることは運命です。プログラム/ IPアドレス/ユーザーの短いリストへのアクセスを制限する方が効果的です。

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

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


+1これは、Tom Hの答えに加えてすばらしいものです。
チャドハリソン

1
危険は、そのようなルールセットが理解、維持、説明、監査できないサイズに成長することです。これは致命的です。
-rackandboneman

11

検出は予防よりも簡単(かつ信頼性が高い)

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

さらに、攻撃がいつ発生したか、攻撃者が何をしたか、攻撃者がどのようにしたかを検出するためにリソースを投入する必要があることを指摘しておきます。ハッカーが行う可能性のあるすべてのアクティビティの包括的かつ安全なロギングにより、攻撃の検出が容易になり、さらに重要なことには、攻撃から回復するために必要な損害と修復を判断できます。

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


1
あなたはその起こった...私はおそらくについて何かで立ち往生しているでしょう答えるために別の機会与えられわからない場合は+1うん、私はあなたが応答できないと思いますSANS 6のステップ...
トム・H

+1、非常に正しい。予防には監査が必要です。また、監査では、システムに障害がないことを証明できません。
アキ

@Tom、答えはいつでも編集できます。
オールドプロ

4

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


3

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

ウェブサイトからの引用「grsecurityのみがゼロデイおよびその他の高度な脅威に対する保護を提供し、管理者に貴重な時間を費やす一方で、脆弱性の修正が配布および実稼働テストに進む」


2

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

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

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

また、サーバーソフトウェアを常に最新の状態に保ち、使用しないすべてのモジュールとデーモンを無効にする必要があります。

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

しかし、あなたが何をするにしても、悪者は非常に忍耐強く、非常に創造的で、非常に熟練しています。ハッキングされた場合の対処方法を詳細に計画します。


1

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

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

  2. 自分自身を、標的を絞った攻撃にふさわしい標的にしないでください。

  3. いずれにせよ、こうした標的型攻撃に対する保護は、多くの場合、非経済的/非実用的です。誰が何を壊すことに真剣に関心を持っているかを確認し、そこから始めましょう。

  4. 「外部から入手可能な情報の最小化」と「よく知られているデフォルトからの脱却」を、あいまいさによるセキュリティ(「それ自体が不十分な層」とは対照的に「価値のない」と誤解されることが多い)と見なし、それを省略することは危険な慢です。ドアのハッキング可能なロックは、泥棒を締め出しませんが、おそらく狼を締め出します。


1

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

動作する私のメソッド。

  1. 適切なアラートのカーボンコピーである何百ものROgueとは対照的に、ユーザーが何であるかを本当に理解していない限り、ユーザーを教育し、セキュリティ警告をクリックしないでください。トレーニングを受けられない人は、javaとJSが無効になっている管理者以外のアカウントとサンドボックスブラウザを簡単に入手できます。ただし、それらを有効にした場合、復元または修復に15〜20分しかかかりません。

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

    2. UACは多くのことに役立ちますが、スタートアップや新しいプロセスを検出するために優れたツールを使用せず、これらのPITAを使用することは決してありません。

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

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

      • Script Guardは、子供向けスクリプトの便利なスクリプトインターセプターです。

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

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

      • ブラックリストには、HOSTSファイルのための巨大な取得することができ、あなたが使用している場合は4キロバイトのチャンクで10分ごとにスキャンしたときに、これは(> 1メガバイトは巨大です。、しかし、あなたがしなければ、私は非常にお勧めDNSキャッシングサービスをdisabingすべてのアプリのことでredunant定期的なスキャンを減らすためにファイアウォールプライバシーでアクティブです。

      • 電子メールなどに実際に使用しない場合は、ファイルインデックスを無効にします。これは、AVスイートを起動して、毎回アクセスされるすべてのファイルを何度もスキャンするためです。

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

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

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

  • 10ページのPowerPointプレゼンテーションで1つの完全な例を文書化しました。興味のある方は尋ねてください。上記のアディティブを無視すると、感染しやすくなります。

今のところすべて。

1975年からトニースチュワートEE。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.