Как предотвратить атаки нулевого дня


21

Традиционно все антивирусные программы и системы IPS работают с использованием сигнатурных технологий. Однако это мало помогает в предотвращении атак нулевого дня .

Следовательно, что можно сделать для предотвращения атак нулевого дня?


1
В дополнение к пунктам в ответе, который я предложил ниже, даже если вы запускаете какое-то программное обеспечение с эксплойтом нулевого дня. Если вы не запускаете эту систему в общедоступном Интернете, то вы напрямую не уязвимы. Следовательно, брандмауэры - ваш друг, и если вы действительно хотите запустить какое-то новое программное обеспечение для обеспечения безопасности, вы можете установить его в другой облачной сети, где оно может быть взломано и не повлиять на другие системы.
Том Х

0-дневные и неизвестные угрозы - это именно то, почему эвристика используется в любом антивирусном / антивирусном программном обеспечении, достойном своего имени. К сожалению, эвристика часто отключается из-за снижения производительности.
Джон Гарденье

0days - это просто категория, каждый член этой категории сильно отличается от другого. У вас не может быть подхода, при котором вы рассматриваете реализацию защиты от 0days. Именно качество вашей системы безопасности в конечном итоге будет определять разницу между успешным скрытным вторжением и нерабочим или обнаруженным. Как кто-то сказал, сосредоточиться на обнаружении и быстрое время отклика. Следите за каждой системой, трафиком и будьте в курсе обновлений безопасности. Это работа на полный рабочий день, или, по крайней мере, так должно быть.
Аки

Вероятно, получите хорошие ответы и здесь - security.stackexchange.com
Bratch

Linux везде. без окон. спросите гугл.
Нил Макгиган

Ответы:


37

Я думаю, что вы признаете интересную правду системного администратора, которая заключается в том, что

если вы не сможете уменьшить вероятность взлома до нуля, то в конце концов , в какой-то момент вы будете взломаны .

Это просто основная истина математики и вероятности, что для любой ненулевой вероятности события. Событие со временем происходит ...

Таким образом, 2 золотых правила для уменьшения воздействия этого «в конечном итоге взломанного» события таковы;

  1. Принцип наименьших привилегий

    Вы должны настроить службы для работы в качестве пользователя с минимально возможными правами, необходимыми для выполнения задач службы. Это может содержать хакера даже после того, как они взломали компьютер.

    Например, хакер, взломавший систему, использующий эксплойт службы веб-сервера Apache с нулевым днем, с большой вероятностью будет ограничен только системной памятью и файловыми ресурсами, к которым может получить доступ этот процесс. Хакер сможет загрузить ваши исходные файлы html и php и, вероятно, заглянуть в вашу базу данных mysql, но он не сможет получить root или расширить свое вторжение за пределы apache-доступных файлов.

    Во многих установках веб-сервера Apache по умолчанию создаются пользователь и группа «apache» по умолчанию, и вы можете легко настроить основной файл конфигурации Apache (httpd.conf) для запуска apache с использованием этих групп.

  2. Принцип разделения привилегий

    Если вашему веб-сайту необходим только доступ только для чтения к базе данных, создайте учетную запись, которая имеет только разрешения только для чтения и только для этой базы данных.

    SElinux - хороший выбор для создания контекста безопасности, app-armor - еще один инструмент. Бастилия была предыдущим выбором для закаливания.

    Уменьшите последствия любой атаки, разделив мощь службы, которая была скомпрометирована, в собственную «коробку».

Серебряные правила тоже хороши.

Используйте доступные инструменты. (Маловероятно, что вы можете поступить так же, как парни, которые являются экспертами по безопасности, поэтому используйте их таланты, чтобы защитить себя.)

  1. Шифрование с открытым ключом обеспечивает превосходную безопасность. используй это. где угодно.
  2. пользователи идиоты, применяют сложность пароля
  3. понять, почему вы делаете исключения из правил выше. пересматривайте свои исключения регулярно.
  4. привлечь кого-то к ответственности за неудачу. это держит вас в тонусе.

Я думаю, что это правда - по определению, вы мало что можете сделать, чтобы предотвратить 0-дневный эксплойт. Если у вас есть уязвимое программное обеспечение, значит, у вас есть уязвимое программное обеспечение, поэтому единственный способ - уменьшить воздействие и поверхность атаки. Отличное замечание о брандмауэрах, хотя стоит иметь в виду, что, например, 0-дневный эксплойт для MS Outlook может быть отправлен по электронной почте.
Дан

2
Да, точка зрения о продуктах MS Mail. Но есть аналогии с брандмауэрами для почты, например, любой, у кого отключены все расширения типа VBscript, ActiveX, OLE, полностью пропустил бы весь взлом, к счастью, не подозревая об этой бойне ... ;-)
Том Х

1
+1, но по отношению к серебряному правилу 1 «Тот, кто думает, что его проблема может быть решена с помощью криптографии, не понимает его проблемы и не понимает криптографию». - Needham / Lampson;)
Арахис

@Peanut Мне нравится открытый ключ, потому что он избегает использования паролей. После теоретического вторжения нет необходимости сбрасывать пароли, потому что нет паролей для сброса, и только открытый ключ скомпрометирован. Даже хешированная база паролей может быть использована для проверки или взлома учетных записей.
Том Х

@TomH Мой комментарий был ненормальным :) Интересно, значит, в вашей системе сервер отправляет клиенту одноразовые номера + другие данные для подписи, а клиент использует имя пользователя + подписанные данные для входа в систему?
Арахис

16

Белый список, не черный

Вы описываете подход черного списка. Подход из белого списка будет намного безопаснее.

Эксклюзивный клуб никогда не будет пытаться перечислить всех, кто не может войти; они будут перечислять всех, кто может войти, и исключать тех, кого нет в списке.

Точно так же попытка перечислить все, что не должно иметь доступа к машине, обречена. Ограничение доступа к короткому списку программ / IP-адресов / пользователей будет более эффективным.

Конечно, как и все остальное, это связано с некоторыми компромиссами. В частности, белый список крайне неудобен и требует постоянного обслуживания.

Чтобы пойти еще дальше в обмене, вы можете получить большую безопасность, отключив машину от сети.


+1 Это отличное дополнение к ответу Тома Х.
Чад Харрисон

1
Опасность заключается в том, что набор правил становится таким, что его невозможно понять, поддержать, объяснить, проверить. Что смертельно.
стеганые кости

11

Обнаружение легче (и надежнее), чем профилактика

По определению вы не можете предотвратить атаку нулевого дня. Как уже отмечали другие, вы можете многое сделать, чтобы уменьшить воздействие атаки нулевого дня, и вы должны это сделать, но это не конец истории.

Позвольте мне отметить, что кроме того, вы должны посвятить ресурсы для обнаружения того, когда произошла атака, что сделал злоумышленник и как это сделал злоумышленник. Всеобъемлющая и безопасная регистрация всех действий, которые может предпринять хакер, облегчит обнаружение атаки и, что более важно, определит нанесенный ущерб и меры, необходимые для восстановления после атаки.

Во многих ситуациях, связанных с финансовыми услугами, затраты на безопасность с точки зрения задержек и накладных расходов при выполнении транзакций настолько высоки, что имеет смысл сосредоточить ресурсы на обнаружении и отмене мошеннических транзакций, а не принимать обширные меры, направленные на их предотвращение. , Теория состоит в том, что никакое количество мер не будет на 100% эффективным, поэтому механизмы обнаружения и обращения все равно должны быть построены. Более того, этот подход выдержал испытание временем.


1
+1 Да, я полагаю, вы не можете ответить, если не знаете, что это произошло ... если бы у меня была еще одна возможность ответить, я бы наверняка застрял в SANS 6 шагов ...
Том Х

+1, очень верно. Профилактика потребует аудита. И аудит не может доказать, что в системе нет ошибок.
Аки

@ Том, ты всегда можешь отредактировать свой ответ.
Old Pro

4

Нулевой день не означает, что подпись неизвестна. Это означает, что для пользователей программного обеспечения нет патча, закрывающего уязвимость. Поэтому IPS полезен для защиты от уязвимостей нулевого дня. Но не стоит полагаться только на это. Создавайте и соблюдайте надежную политику безопасности, укрепляйте свои серверы, обновляйте программное обеспечение и всегда имейте «План Б»


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

Раздутый компьютер с огромным набором средств защиты часто превращает посредственные ПК в динозавров, а четырехъядерные - в обычные старые ПК. Я исправил достаточно (тысячи), чтобы понять, что в основном это правда. Если вы понимаете, что ничего не значит, это 100% безопасность, а стоимость производительности падает в геометрической прогрессии, а вероятность заражения падает только линейно. Большинство результатов, когда я перестал смотреть на сравнения, были максимальными на 90% в реальном тесте тысяч рисков, то есть 10% инфекций были незамеченными или слишком поздними. в то время как задержка ПК увеличилась с 200 до 900%. В OSX сложилась идеальная ситуация, когда она существенно не лучше в плане безопасности, но риски атаки были меньше из-за того, что в 2010 году доля мишеней составляла всего 4% от доли рынка, отличного от телефона / планшета. Это изменится, но я не буду меняться моя философия поддержания моей ОС в чистоте, стройности и подлости Я делаю то же самое для XP и Win7. У меня есть огромный арсенал инструментов для ремонта, но мне нужно только одно приложение, чтобы вылечить всех, кто заражен, и это занимает всего 10-20 минут, а не часов или дней.

Мои методы, которые работают;

  1. Обучайте пользователей, не нажимайте на предупреждения безопасности, если вы действительно не знаете, что это такое, в отличие от сотен RO, которые являются копиями хороших предупреждений. Те, кого нельзя обучить, могут легко получить учетные записи без прав администратора и браузеры с песочницей с отключенными java и JS. Но если я включу его для них, не беспокойтесь, только 15 ~ 20 минут для восстановления или ремонта.

    1. SYstem Restore хорош, но имеет много ограничений, одно из которых заключается в том, что элементы в вашей папке «Документы» и «Папки пользователя» защищены, где мошеннические драйверы могут быть установлены и загружены и заразить вас при следующей загрузке.

    2. UAC полезен для многих вещей, но такой PITA, что я никогда не использую и полагаюсь на лучшие инструменты для обнаружения стартапов и / или новых процессов, включая, но не ограничиваясь;

      • Winpatrol.com по- прежнему лучшая инвестиция, которую я сделал для безопасности, и все же бесплатно для других. Он покрывает 80% проблем, когда стартапы добавляются перед выполнением и могут быть обнаружены и отключены или удалены по запросу пользователя. Однако, если вы озабоченный тип, который не может принимать решения, принимайте таблетки или просто пользуйтесь Защитником Windows . Не самый лучший по охвату, но один из самых высоких по соотношению «взрыв / доллар». «Предзаказ / потеря производительности» или «увеличение задержки».

      • Утилита запуска Майка Линя - самый легкий перехватчик стартапов, которые хранятся в более чем десяти местах реестра

      • Script Guard - это полезный скрипт-перехватчик для скриптов детишек

      • ProcessGuard - старая несуществующая программа, которая работает как брандмауэр для любого нового, но требует от вас одобрения, однако она безопасна и надежна после того, как вы примете доверенный источник или проигнорируете или заблокируете ненадежный источник.

      • Надстройка Blacklist для вашего браузера хороша как Web of trust (WOT) , но в Chrome часть включена аналогичным образом, но в меньшей степени.

      • черный список может стать огромным для файлов HOSTS, и если вы используете это (> 1 МБ, это огромно при сканировании в блоках по 4 КБ каждые 10 минут. Но если вы это сделаете, я настоятельно рекомендую отключить службу кэширования DNS, чтобы уменьшить избыточное периодическое сканирование каждым приложением, которое активен с защитой брандмауэра.

      • Отключите индексирование файлов, если вы на самом деле не используете его для электронной почты и прочего, потому что оно порождает ваш AV-пакет для сканирования каждого файла, к которому обращаются каждый раз, снова и снова ... как избыточно.

Некоторые могут возражать против этого частичного списка в верхней части моей головы, но я экономлю время, защищая свой ПК и работая в скудной среде. Регулярные проверки для подтверждения моей безопасности проводятся ночью, чтобы доказать, что моя практика без беспокойств оправдана. У меня все еще есть тысячи журналов HJT, журналов combofix.txt и журналов Runscanner, чтобы поддержать моё мнение о методах лечения и лучшем балансе безопасности / производительности.

  • Избегайте небрежной загрузки / установки файлов мультимедиа exe или windows, которые могут выполнять сценарии (например, .WMA, .WMV) в отличие от .mp3 или .avi.

  • Избегайте всех объявлений, нацеленных на большие кнопки, чтобы загружать или обновлять вашу безопасность, что может отвлечь ваше внимание на бесплатное обновление на агрегаторах загрузок, таких как hippo dot com .. cnet неплохо. Будь очень осторожен. Некоторые сайты используют стороннюю рекламу и не контролируют контент.

  • Я задокументировал один точный пример в презентации Powerpoint на 10 страниц, если кому-то интересно, спросите. Как легко игнорировать вышесказанное, вы можете заразиться.

Все пока.

Тони Стюарт Э. с 1975 года.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.