web-dev-qa-db-ja.com

パッチが利用可能になる前に、管理者はどのようにして0dayから保護できますか?

セキュリティハッカーコミュニティに関する論文を作成しています。

0dayが公開された場合、管理者は0dayが公開されてからパッチが開発されるまでの間にアプリケーション/ウェブサイトをどのように保護できますか?

さらに、ほとんどの場合、この同じ0dayはブラックハットによって数か月間使用されます。したがって、ブラックハットはホワイトハットの前にありますか?

29
K.Fanedoul

セキュリティの問題を発見した人は、多くの場合、最初にそれをソフトウェアベンダーまたは開発者に報告します。これにより、ソフトウェアベンダーは公開前に問題を修正する時間を確保できます。その後、修正後、バグが公開されます。このプロセスは 責任ある開示 と呼ばれます。

場合によっては、誰かがゼロデイをソフトウェアベンダーに開示せずに、それを使用して他のシステムをハッキングすることがあります。これを行うと、セキュリティ会社に情報を提供し、バグ ゼロデイを焼く を明らかにすることができます。

あなたの声明「ほとんどの場合、この同じ0dayは何ヶ月も黒い帽子で使用されます」は真実だとは思いません。これはいくつかのセキュリティ問題に当てはまりますが、多くのゼロデイバグがホワイトハッカーによって初めて発見されました。ブラックハットハッカーがホワイトハットハッカーよりも優れているとは言えません。どちらもセキュリティの問題を発見し、これらの一部は重複しています。ただし、オフェンスはディフェンスよりも簡単で、オフェンスは1つのバグを見つけるだけで済み、ディフェンスはバグを修正allする必要があります。

44
Sjoerd

0dayが公開された場合、管理者は0dayが公開されてからパッチが開発されるまでの間にアプリケーション/ Webサイトをどのように保護できますか?

パッチがロールアウトされるまで一時的な回避策を使用します。

0dayのニュースが出たとき、脆弱性を悪用するためのいくつかの前提条件を排除することによりエクスプロイトを打破するさまざまな回避策が公開されていることがよくあります。多くの可能性があります:

  • 構成設定を変更すると、脆弱な機能が無効になる可能性があります。

  • 脆弱なサービスを無効にすると、実用的な場合、悪用を防ぐことができます。

  • デフォルト以外のセキュリティ対策を有効にすると、エクスプロイトが破壊される可能性があります。

バグはそれぞれ異なり、軽減策もそれぞれ異なります。セキュリティを十分に理解している管理者は、脆弱性に関する十分な詳細が公開されていれば、自分で回避策を見つけることができます。ただし、ほとんどの管理者は、ソフトウェアベンダーが公開するセキュリティアドバイザリを参照します。

時には、管理者は何もする必要がない。これは、脆弱性がデフォルト以外の構成、またはシステムで設定されていない構成にのみ影響を与える場合に当てはまります。たとえば、LinuxのDRMビデオサブシステムの脆弱性は、サーバーがDRMを使用しないため、LAMPスタックを持つsysadminを心配する必要はありません。一方、Apacheの脆弱性は心配する必要があるかもしれません。優れたシステム管理者は、危険因子とは何かを知っています。

さらに、ほとんどの場合、この同じ0dayはブラックハットによって数か月間使用されます。したがって、ブラックハットはホワイトハットの前にありますか?

ホワイトハットはより洗練されていますが、ブラックハットはより効率的です。

ブラックハットがホワイトハットよりも優れているかどうかは、非常に主観的な質問です。 Blackhatsは機能するものなら何でも使用します。これは、それらのエクスプロイトが効果的であるが、汚く、時には洗練されていないことを意味します。たとえば、サイドチャネル攻撃によってブラウザーのASLRレイアウトを発見することは可能ですが、ユビキタスで洗練されていないASLRバイパスがすでに存在するため、これは実際には実際には使用されていません。一方、ホワイトハットは修正を考え、実際にソフトウェアベンダーにレポートを真剣に受け取らせる必要があります。彼らが発見した瞬間に発見から利益を得ることができるので、これはブラックハットにほぼ同じ程度の影響を与えません。彼らは第三者を待つ必要はありません。

私自身の経験から、ブラックハットはしばしば重要なエッジを持っています。これは主に、ホワイトハットの間の現在の文化が個々のバグを狩り、つぶすことであるからです。バグのクラスをつぶすことにあまり重点が置かれていません。そうである場合、サブパーおよび過度に宣伝された緩和策が作成されます(KASLRのように)。つまり、ブラックハットは、パッチを適用するよりも0日早くポンプアウトできます。これは、使用と再利用を続ける攻撃対象領域と悪用ベクトルにほとんど注意が向けられていないためです。

34
forest

ゼロデイがリリースまたは公開されると、ファンシーな名前とアイコンだけではありません。 システムを悪用するためにゼロデイがどのように使用されるかについての詳細があります。 これらの詳細は、パッチの設計方法を含む、防御側の応答の基礎を形成します。

たとえば、WannaCry/ EternalBlue の場合、NSAによって脆弱性が発見され、彼ら自身に知識を保持しました(同じことが、脆弱性が存在する可能性がある犯罪コミュニティで起こります)闇市場で取引されました。詳細がリークされ、パッチの作成方法と、管理者にパッチを防御する方法を通知しました。SMBv1を無効にするか、少なくともSMBからのポートをブロックしますインターネット。

これは、管理者が自分自身を保護する方法です。 パッチは「脆弱性管理」の一部にすぎません。管理者が脆弱性を管理できない場合、またはしたくない場合でも、多くのことができます。パッチ。

WannaCry事件では、NHSはパッチを適用しませんでしたが、彼ら自身を保護する他の防御策も採用しませんでした。

私の仕事の大きな部分は、さまざまなビジネス上の理由でパッチを適用できないシステムの脆弱性緩和策を設計することです。一般に、パッチの方が優れたソリューションですが、パッチの適用時にそれが不可能な場合もあります。

...ブラックハットはホワイトハットよりも先ですか?

これは興味深い問題です。ブラックハットが問題を発見し、それを他のブラックハット(またはインテリジェンスコミュニティの他のメンバー)とのみ共有する場合、それはブラックハットが全体でホワイトハットの前にあることを意味しますか?はい。ゼロデイが公開されると、それはその力を失います(それはそれを開示することの全体のポイントです)。だからそれを秘密に保つために、それに力を与えます。

ブラックハットはホワイトハットよりも熟練しているか、より優れたテクニックを使用していますか?いいえ。しかし、共有された秘密は、全体として、ブラックハットにより多くの力を与えます。

10
schroeder

0dayが公開されたとき、ホワイトハットは0dayが公開されてからパッチが開発されるまでの間にアプリケーション/ウェブサイトをどのように保護できますか?

場合によっては、問題を修正または軽減する回避策があります。

  • 場合によっては、ソフトウェアの一部の機能を無効にするか、設定を変更して、エクスプロイトが機能しなくなることがあります。たとえば、1988年以降の Morris Worm の感染は、ディレクトリ/usr/tmp/shを作成することで防ぐことができます。これによりワームが混乱し、ワームが機能しなくなりました。
  • 悪用には、ある種のユーザー操作が必要になる場合があります。その場合、ユーザーにそれを行わないよう警告することができます。 ( " 件名がILOVEYOUのメールは開かないでください ")。しかし、人間は人間なので、これは通常、あまり信頼できる回避策ではありません。
  • 攻撃はネットワーク上で簡単に特定できる場合があるため、多少複雑なファイアウォールルールを使用して攻撃をブロックできます。たとえば、 Conficker virus は、Windowsリモートプロシージャコールサービスの脆弱性を対象としていました。通常、ローカルネットワークの外部からこの機能にアクセスできる理由はまったくないため、ポート445 TCPへの外部要求をブロックするだけでネットワーク全体を保護することができました。
  • 脆弱なソフトウェアを別のソフトウェアで置き換えることが実行可能な場合もあります。たとえば、私たちの組織では、すべてのWindowsクライアントに2つの異なるWebブラウザをインストールしています。それらの1つに既知の脆弱性がある場合、管理者はグループポリシーを介してそれを非アクティブ化し、パッチがリリースされるまでユーザーに他の1つを使用するように指示できます。
  • 最後の手段として、脆弱なシステムのプラグを抜くだけです。利用できないシステムが、オンラインで悪用される可能性よりも多少の損害をもたらすかどうかは、個々のケースで評価する必要があるビジネス上の考慮事項です。

しかし、これらのどれもが実行可能なオプションではない場合があります。その場合、あなたはパッチがすぐに存在することを期待することができるだけです。

さらに、ほとんどの場合、この同じ0dayはブラックハットによって数か月間使用されます。したがって、ブラックハットはホワイトハットの前にありますか?

開発者/ホワイトハットがソフトウェアの潜在的なセキュリティの脆弱性を発見し、悪用される前にパッチを当てることは非常に頻繁に起こります。 責任ある開示の最初のステップ は、脆弱性を公開する前に開発者に修正できるように開発者に通知することです。

しかし、あなたは通常それについてメディアで聞いていません。 SomeTool 1.3.9.53のパッチノートのポイント59が「不正な形式のfoobarファイルを処理するときに修正される可能性のあるバッファオーバーフロー」を読み取る場合、通常は特に価値はありません。

6
Philipp

もう1つの重要な防御策は、システムの監視と把握です。

あなたの貴重な秘密はどこにあり、誰がそれらにアクセスできます。

誰かがポート80でメールサーバーに接続しようとした場合は、フラグが立てられます。

メールサーバーが突然、異常なIPにトラフィックを送信するのはなぜですか。

メールサーバーのトラフィックが10倍になったのはなぜですか。

外部IPのアドレスに接続している人を監視します。使用されていないすべての外部ポートとプロトコルを削除またはブロックします。

正当なユーザーが80または443以外のWebサーバーに接続することはありません。追加のサービスを追加しない限り、しばらくの間、それらのIPをブロックすることを検討してください。場合によっては、IPが動的プールの一部であり、ブラックリストの問題を常に解決できるとは限らず、パケットをドロップするだけです。

1か国でしかビジネスを展開していない場合は、他の国をすべてブロックする必要があります。

Whoisを使用してIPアドレス範囲のグローバル所有者を検索できます。存在する場合は、管理者の連絡先情報を使用して所有者に通知します。彼らは彼らの側でそれを追跡することができます。 (それは試みに値します)

予期しない方法で別のシステムからシステムに接続された場合は、通知を受ける必要があります。最初は大量の通知があるかもしれませんが、コンピュータがネットワーク上にある場合は、両側を調査できます。次に、それを削除するか、予想されるトラフィックとしてホワイトリストに追加します。

これらの監視ツールは、承認されたセキュリティチームが他に誰もポートスキャンを行うべきでない限り、ポートスキャンについて通知します。

定期的なイベントに注意してください。不思議なことにイベントが停止するのはなぜですか。

マシンの感染を確認してください。サービスが無効になっている場合は、事前に通知して、変更が予期され、不思議ではないようにする必要があります。

できるだけブロックし、残りを監視します。

攻撃を受けたら、それに対して何かをする必要があります。

時々、システムを一時的にオフにすることが唯一のオプションです。しばらくの間、IPアドレスをブロックする必要があるかもしれません。

正当なサービスをすべて保護および監視する必要があります。

脆弱性の発表についてコミュニティを監視することに加えて。ハッカーの前に事前にバグを発見するための侵入テスターが必要です。次に、条件に応じて攻撃を緩和する機会があります。パッチを適用できるように、メンテナーにエフェクトシステムを通知します。オープンソースの場合は、誰かにパッチを当ててもらうことができます。

侵入検知システム、およびsnortは、疑わしいパターンを検出することにより、着信ハッキングを調査し、潜在的にブロックすることもできます。

問題の重大度によっては、脆弱な製品を置き換えるために代替製品を見つける必要がある場合があります。

いつものようにあなたのソフトウェアを最新に保つことはあなたを保護するのに役立ちます。

これにより、正当なものであると判断するまで、疑わしいアクティビティをブロックできます。

3
cybernard

ほとんどの潜在的なエクスプロイトを実行するには、一連の脆弱性が必要です。まだパッチが適用されていないゼロデイを読み取ることで、ゼロデイが必要とする他の脆弱性や事前条件を特定することができます。

ネットワークの外からの(たとえば)RDP攻撃の脅威から防御するには(ゼロデイRDP認証の失敗が公開されている)、オフサイトからのRDPを許可しないでください。外部からのRDPが本当に必要ない場合、これは見落としを修正するチャンスです。または、オフサイトからのRDPが必要な場合は、これらの接続を許可するIPのホワイトリストを特定し、ファイアウォールの開口部を狭めることができます。

同様に、内部(およびある程度外部)のRDP脅威から防御するには、A)ユーザーがRDPを実行する機能、B)RDPを実行するマシン、C)RDPを通過させるネットワーク、D)RDPを受け入れるマシンの機能を制限します。 E)RDPを許可するユーザー。どのVLANにアウトバウンドRDPを生成する機能が必要ですか?これを実行できるマシンはどれですか?などなど。

これらの手順のすべてが、アウトサイダーシナリオとインサイダーシナリオの両方で、パッチがなくてもRDP認証の悪用に対してネットワークを強化します。

多層防御の考え方により、パッチが適用されていないゼロデイに対抗するために必要な一連の脆弱性/条件を打破することができます。時々。

ここでは、ポイントを説明するために、かなり簡単な問題を意図的に選択しました。

ソース-私は以前にこれをやったことがあります。

2
user99573

攻撃者がシステムに侵入するのを許すハックは比較的少ない。ほとんどは「特権昇格」のバグであり、攻撃者がシステムにアクセスした後、システムをより細かく制御できるようになります。ハッカーがマシンにアクセスすると、マシンの管理制御を実現する方法は非常に多くあり、特権の昇格からマシンを保護しようとするのは、多かれ少なかれ時間の無駄です。最善のポリシーは、ハッカーが最初から侵入するのを防ぎ、侵入をネットワークで監視することに集中することです。

ほぼすべての侵入は、3つの方法から発生します。これらに対して防御するために、利用可能なすべてのサイバー防御リソースを使いたいと考えています。彼らです:

(1)有害なPDFまたはPPTを含むフィッシングメール。 PDFとPPTを対象とするゼロデイは数多くあり、これらのアプリケーション形式の両方の性質上、どちらか一方のコンテンポラリーなトロイの木馬に対して自分自身を保護する方法はほとんどありません。したがって、基本的には2つのオプションがあります。すべてのPDF/PPT添付ファイルに、ほとんどの組織にとって実用的でない審査プロセスを経るよう要求するか、ほとんどの場合、最良のオプションであるメール自体を吟味するように従業員を訓練する必要があります。 3番目のオプションは、事後にサンドボックス環境で組織に送信されたすべてのPDFとPPTをテストすることですが、これは、平均的な会社ではなく、軍などの高度な組織でのみ可能です。もちろんオプション3は侵入を防ぐものではありません。侵入が発生した場合に警告するだけです。

(2)ブラウザの脆弱性。ブラウザベースのエクスプロイトの大多数はInternet Explorerをターゲットにしているため、ユーザーがIEを使用しないようにし、ChromeまたはFirefoxを使用するように要求するだけで、これらのエクスプロイトの95%を防御できます。ユーザーがNoScriptを使用するように要求し、その使用法をトレーニングすることで、ブラウザーベースのエクスプロイトの99%を防ぐことができますが、これは残念ながらほとんどの組織にとって実用的ではありません。

(3)サーバーの脆弱性。例は、数年前のNTPバグです。すべての会社のサーバーが隔離されたネットワーク(「非武装地帯」)で実行されていること、およびこれらのサーバーが緊密で不要なサービスを実行していないことを確認することで、これらをほぼ防ぐことができます。特に、企業のWebサーバーが隔離された環境で単独で実行されていること、および人間が制御された方法で明示的にコピーを行わない限り、それらの環境に出入りできないことを確認したいとします。

もちろん、これらのカテゴリに当てはまらないエクスプロイトはたくさんありますが、あなたの時間は、上記の3つのクラスの脆弱性への対処に最も費やされます。

2
Tyler Durden

さて、攻撃者からの0日があっても問題ありません。問題は、攻撃者がゼロ日を何日持っているか、およびネットワーク内のすべての0日を焼くためにどれだけの費用がかかるかです。

最新のパッチがない場合、攻撃者がキルチェーンを開発するためのコストが削減されます。

それについて考えるとき、どのように送信してネットワークを攻撃し始めますか?あなたがフィッシング攻撃/ウォーターホール攻撃から始めるとしましょう。

ウォーターホール攻撃である場合、ブラウザでコードを実行できるようにするためにフラッシュで0日を見つける必要があるかもしれません。次に、ブラウザサンドボックスから抜け出す必要があるかもしれません。次に、appcontainerに直面する可能性があります。これには、OSレベルの特権に到達するために別のエクスプロイトが必要です。また、SIPなどの保護メカニズムがあります。つまり、rootアクセスがあっても、重要なメモリにアクセスできません。つまり、別の0dayカーネルエクスプロイトが必要になります。Windows10を実行している場合credguardを使用してLsass.exeをターゲットにしている場合、ハイパーバイザーを攻撃するにはさらに0dayが必要になる場合があります。

そのため、攻撃は非常に高価であり、多くの調査作業が必要であることがわかります。その間、攻撃を行っている間、セキュリティアラートをトリガーする可能性があります。

したがって、ディフェンダーとして、ネットワークを十分に理解し、すべてのレイヤーに防御コントロールを備え、0日の攻撃から防御できるようにする必要があります。

1
user50312

問題はゼロデイだけではありません。多くの理由から、200日間のパッチを採用している企業はたくさんあります(良い点もあれば悪い点もあります)。

あなたはソリューションの大きなリストを持っています、別のものは virtual patching を使用することです。それは通常、サービスに到達する前に問題の緩和策を作成します(私は何年も前に Trend Micro 製品-それらとのリンクはありませんでしたが、テストしましたが、ほとんどが動作しました)。

1
WoJ