Security

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

Традиционно все антивирусные программы и системы IPS работают на основе сигнатурных методов. Однако это не слишком помогает предотвратить атаки нулевого дня. Что же можно сделать для предотвращения атак «нулевого дня»?

Ответ 1

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

  • если вы не сможете свести вероятность взлома к нулю, то в конечном итоге в какой-то момент вас взломают.

Это просто базовая истина математики и вероятности, что для любой ненулевой вероятности события событие в конце концов произойдет... Итак, вот два золотых правила для уменьшения влияния этого события «в конечном итоге вас взломают»:

  1. Принцип наименьших привилегий. Вы должны настроить службы на запуск от имени пользователя с минимально возможными правами, необходимыми для выполнения задач службы. Это может сдержать хакера даже после того, как он взломает машину. Например, хакер, проникший в систему с помощью эксплойта нулевого дня службы веб-сервера Apache, скорее всего, будет ограничен только системной памятью и файловыми ресурсами, к которым может получить доступ данный процесс. Хакер сможет загрузить ваши исходные файлы html и php, возможно, заглянуть в вашу базу данных mysql, но он не сможет получить root или расширить свое вторжение за пределы файлов, доступных apache. Многие стандартные установки веб-сервера Apache по умолчанию создают пользователя и группу «apache», и вы можете легко настроить основной файл конфигурации Apache (httpd.conf) для запуска apache с использованием этих групп.

  2. Принцип разделения привилегий. Если вашему сайту нужен доступ к базе данных только для чтения, создайте учетную запись с правами только для чтения и только к этой базе данных. SElinux – хороший выбор для создания контекста безопасности, app-armor – еще один инструмент. Bastille был предыдущим выбором для усиления безопасности. Уменьшите последствия любой атаки, разделив полномочия службы, которая была скомпрометирована, на собственную установку.

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

  1. Шифрование с открытым ключом обеспечивает отличную безопасность. Используйте его везде.

  2. Пользователи ненадежны, обеспечьте сложность пароля.

  3. Понимайте, почему вы делаете исключения из вышеперечисленных правил. Регулярно пересматривайте свои исключения.

  4. Привлекайте кого-либо к ответственности за неудачу. Это заставляет вас быть начеку.

Ответ 2

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

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

Ответ 3

Если вы используете Apache, такие модули, как mod_security, помогут вам предотвратить распространенные векторы атак. С помощью mod_security вы можете:

  1. блокировать запросы, похожие на атаки SQL-инъекций

  2. блокировать клиентов, IP-адреса которых занесены в черный список какого-либо RBL

  3. перенаправлять запрос в другое место, если выполняются определенные вами условия

  4. блокировать запросы на основе страны клиента

  5. автоматически обнаруживать и блокировать распространенных вредоносных ботов

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

Также необходимо постоянно обновлять программное обеспечение сервера и убедиться, что вы отключили все модули и демоны, которые вы не будете использовать. Жесткая политика брандмауэра является обязательным условием, и во многих случаях дополнительные меры безопасности, такие как SELinux или grsecurity, могут остановить атаку. Но что бы вы ни делали, злоумышленники очень терпеливы, очень изобретательны и весьма искусны. Имейте подробный план, что делать, если вас взломают.

Ответ 4

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

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

  2. SYstem Restore хорош, но имеет много ограничений, одно из которых заключается в том, что элементы в папке Documents и папке User Temp защищены, где могут быть установлены и запущены неавторизованные драйверы и заразить вас при следующей загрузке.

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

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

  5. Утилита запуска Майка Лина – самый легкий перехватчик запусков, которые хранятся в более чем дюжине мест реестра.

  6. Script Guard – полезный перехватчик простых скриптов.

  7. ProcessGuard – старая устаревшая программа, которая работает как брандмауэр для любых новых решений, но требует от вас одобрения, однако она безопасна и надежна после того, как вы примете доверенный источник или проигнорируете/заблокируете недоверенный источник.

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

Черный список может стать огромным для файлов HOSTS, и если вы используете его (>1MB – это огромный размер при сканировании в 4KB частях каждые 10 минут), я настоятельно рекомендую отключить службу кэширования DNS, чтобы уменьшить необходимость периодического сканирования каждым приложением, которое активно с правами брандмауэра. Отключите индексирование файлов, если вы не используете его для электронной почты и прочего, потому что это заставляет ваш антивирусный пакет сканировать каждый файл, к которому обращаются каждый раз, снова и снова... Это очень избыточно.

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

Избегайте неосторожной загрузки/установки exe-файлов или файлов windows media, которые могут исполнять scripts (например, .WMA, .WMV), в отличие от .mp3 или .avi. Избегайте всех рекламных объявлений или обновления системы безопасности, которые могут отвлечь ваше внимание на бесплатное обновление на агрегаторах загрузки, таких как hippo dot com. cnet неплох. Будьте очень осторожны. Некоторые сайты используют стороннюю рекламу и не контролируют содержимое.

Схожие статьи

Security

Следует ли заставлять пользователей менять пароли каждые несколько дней/недель/месяцев?

Security

Есть ли веские причины для отключения виртуализации с аппаратной поддержкой?

Security

Нужен ли моему администратору баз данных Oracle root-доступ?

Security

Опасно ли иметь сервер базы данных и веб-сервер на одном компьютере?