OWASP Top 10: A10 Недостаточное ведение журнала и мониторинг
Этичный Хакер
Введение
Недостаточное ведение журнала и мониторинг входят в Top 10 OWASP по многим разным причинам. Это не только трудно обнаружить, но и трудно защитить от. Есть несколько способов, которыми мы можем защитить себя от этой уязвимости, но сначала нам нужно поговорить о том, что влечет за собой уязвимость.
Что такое недостаточное ведение журнала и мониторинг?
Помимо недостаточного количества записей в журнале при возникновении событий, эта проблема также влечет за собой большое количество деталей, которые регистрируются, поскольку мы должны убедиться, что можем отследить все, что требуется в случае нежелательного события, такого как кибератака. Некоторые общие вещи, о которых мы можем подумать, - это вход в систему, выход из системы, запросы и ответы, которые важны для бизнес-пользователей, а также вещи, связанные с ограниченными ресурсами, такими как кошельки.
Конечно, речь идет не только о том, что регистрируется, но и о том, как оно взаимодействует с системой. Если запись в журнале сделана с неправильными символами, это может привести к нарушению целостности журналов. Это также известно как введение журнала или отравление.
Конечно, нам также необходимо обеспечить достаточный мониторинг для защиты приложения. В конце концов, нет смысла регистрировать вещи, которые не отслеживаются. Конечно, это выходит за рамки простого мониторинга журналов, нам нужно отслеживать все. Сюда также входят API и подключения к сторонним приложениям.
Убедитесь, что ведение журнала безопасно и злоумышленники не могут легко получить к нему доступ, заменив пароли по умолчанию и разместив систему в безопасном месте внутри.

Как обнаружить недостаточное ведение журнала и мониторинг
Обнаружение этой уязвимости, безусловно, непростая задача, поскольку для этого потребуется хорошая система инвентаризации, которая отслеживает не только то, какое оборудование доступно в системе, но и какое программное обеспечение с их важными потоками, которые важны для заинтересованных сторон бизнеса. Коммуникация, безусловно, непростая задача и будет оставаться препятствием для многих компаний, поэтому на самом деле ожидать, что так много команд будут работать вместе, сложно без надлежащего надзора. Эта система должна быть централизована и управляться 1 инстанцией в компании, которая регулярно предоставляет обновления для системы.
Важно также исследовать новые уязвимости и CVE по мере их возникновения, поскольку они могут повлиять на организацию. Это можно сузить, чтобы исследовать компоненты, которые работают без нашей организации, например, мы можем перейти в exploit db и выполнить поиск “microsoft” и увидеть, что многие практические уязвимости все еще обнаруживаются довольно часто.
Инструменты
Конечно, мы можем выполнять наш мониторинг с использованием инструментов, но на рынке их так много. Что вы выбираете?
- Nagios: Этот инструмент с открытым исходным кодом отлично подходит для отслеживания ваших журналов и проверки того, что они не содержат записей журнала, которые могут указывать на проблемы. Могут быть некоторые ложные срабатывания, но тот факт, что это открытый исходный код и он может быть очень гибким в определенных областях, компенсирует это.
- SNORT: это то, что известно как IDS и IP, эти системы являются средствами обнаружения и предотвращения выполнения злоумышленниками своей миссии. Он поставляется с очень надежным базовым набором правил, который вы можете расширить или адаптировать к своим потребностям, и позаботится о мониторинге ведения журнала на предмет любых атак, уведомляя ответственных людей, если атака будет продолжаться, с помощью оповещений, которые мы можем установить.
- Splunk: Этот инструмент поможет вам внимательно следить за своими журналами, сначала собирая их со всей сети во всевозможных форматах, что упрощает управление журналами и данными для более легкого обнаружения и идентификации. Это может помочь нам сделать журналы более наглядными и удобными для поиска.
- OSSEC: Это бесплатное удостоверение личности поможет организациям отслеживать журналы и активно оповещать ответственных лиц в случае атаки. Обычно он не будет действовать самостоятельно для введения защит, но это не является целью IDS. Системный администратор должен принять надлежащие превентивные меры.
- Tripwire: этот бесплатный и открытый исходный код очень хорош для мониторинга наших инфраструктур, поскольку он будет следить за файловой системой и сравнивать ее с тем, что, по его мнению, должно быть базовым. Это отличный способ повысить уровень обнаружения, а в сочетании с другими инструментами это является отличным оружием.
https://github.com/Tripwire/tripwire-open-source
- Fluentd: Этот инструмент также имеет открытый исходный код, но работает по-другому, поскольку он предназначен для сбора данных и действует как единый уровень ведения журнала.
Сценарии атак
Один примечательный сценарий атаки, который мы можем исследовать, можно найти в CVE, где злоумышленники, по-видимому, имеют возможность загрязнять журналы и скрывать информацию аудита от системных администраторов, это, конечно, нехорошо, но это не оказывает очень большого влияния, как мы можем видеть на “seclists.org ” веб-сайт:
https://seclists.org/fulldisclosure/2016/Oct/53
8 октября 2019 года Magneto, распространенная платформа электронной коммерции, также выпустила исправление для этого типа уязвимости, целью которого является решение проблемы, описанной здесь. Уязвимость возникает из-за того, что администраторы не регистрируют свои действия должным образом. Более подробную информацию можно найти здесь:
https://magento.com/security/patches/magento-2.3.3-and-2.2.10-security-update
Как предотвратить недостаточное ведение журнала и мониторинг
Предотвращение этого типа уязвимости во многом зависит от того, насколько тщательно ваша организация ведет учет того, что должно регистрироваться, а что нет, и насколько тщательно отслеживаются эти журналы. Мы можем использовать инструменты, которые помогут нам в этом процессе, но нам нужно убедиться, что наше программное обеспечение также разработано для оптимального ведения журнала. Помимо создания этих журналов, нам нужен хороший способ их мониторинга. Давайте опишем несколько советов, которые помогут вам предотвратить эту распространенную проблему безопасности, прежде чем мы перейдем к другим инструментам.
- Нам необходимо убедиться, что мы регистрируем по крайней мере все следующие действия: события, связанные с аутентификацией и авторизацией, любые события, связанные с ограниченными ресурсами, такими как кошельки, и критически важные для бизнеса события. При этом нам необходимо убедиться, что мы регистрируем достаточно данных, чтобы гарантировать возможность последующего мониторинга, таких как пользовательские контексты, события в данный момент, связанные с конечными точками и сообщения об ошибках.
- Создаваемые нами журналы должны легко агрегироваться и консолидироваться в централизованной системе, при этом их легко использовать с помощью инструментов управления журналами.
- Для действительно важных процессов нам необходимо убедиться, что ведение журнала аудита включено и что мы можем отслеживать вызовы от 1 конкретного пользователя. Если их трафик теряется среди стога другого трафика во время выполнения атаки, они все еще очень запутаны, что затрудняет выяснение того, что происходит.
- Когда компонент ведения журнала будет проверен, нам нужно включить мониторинг этих журналов, и мы должны убедиться, что соответствующие заинтересованные стороны уведомляются о возникновении события.
- Для нас были разработаны способы управления любым возможным инцидентом, поэтому мы должны, по крайней мере, рассмотреть их и составить план реагирования на инциденты на случай, если нам потребуется отреагировать, чтобы организациям не приходилось импровизировать, когда накаляется. Один из этих примеров можно найти по адресу https://csrc.nist.gov/publications/detail/sp/800-61/rev-2/final и был создан NIST. Он очень всеобъемлющий и охватывает большинство, если не все сценарии атак.
- Мы должны использовать инструменты, которые помогут нам собирать журналы и управлять ими. Мы рассмотрим некоторые из них в следующем разделе.
- Инструменты управления данными журналов
- Nlog: этот комплексный, гибкий инструмент с открытым исходным кодом для различных платформ .net поможет вам упростить поиск в журнале, позволяя вам выполнять запись на несколько платформ, таких как базы данных, файлы и консоль. Вы можете изменить ведение журнала на лету, используя этот инструмент, который добавляет еще больше мощности в ваш защитный арсенал.
- Nmap: Это очень мощный инструмент для сканирования и аудита сети, полностью бесплатный и с открытым исходным кодом.
- Httpry: Этот полностью бесплатный инструмент для отслеживания пакетов предназначен для сбора и отображения журналов. Даже находясь в бета-версии (0.1.8 на момент написания статьи), он предлагает множество мощных инструментов, которые помогут вам предотвратить эту проблему.
https://dumpsterventures.com/jason/httpry/
- OpenAudIT: этот инструмент управления конфигурацией предназначен для предоставления вам великолепной информации о вашей сети, показывая вам, что в ней есть и какую конфигурацию она выполняет. Кроме того, он также отслеживает изменения в конфигурации и распространяет их сразу после обнаружения.
Советы по ведению журнала и мониторингу
- Записи в журнале могут помочь вам обнаружить атаку, пока не стало слишком поздно, убедитесь, что вы регистрируете полный журнал аудита транзакций с высоким уровнем безопасности, таких как аутентификация и авторизация. Также проведите полные аудиторские испытания критически важных для бизнеса потоков.
- Хорошее ведение журнала бесполезно, если за ним никто не следит, поэтому убедитесь, что у вас установлен надлежащий мониторинг.
- Узнайте, что находится в вашей сети, и объедините свои журналы, чтобы вы могли искать их с помощью такого инструмента, как elasticsearch, создавая надлежащие визуализации и панели мониторинга с помощью такого инструмента, как kibana.
- Это может стоить вашей организации огромных денег, если ваш компонент ведения журнала или мониторинга недостаточно настроен, а вы даже не знаете об этом. Эта проблема увеличивает время отладки кода и в случае атаки может негативно сказаться на скорости реагирования организации.
- Работайте с инструментами для интеграции человеческого глаза с усердием робота. Это позволит вам охватить гораздо более широкую область, а инструменты в наши дни превратились в большие преимущества.
Заключение
Хотя на первый взгляд этот тип уязвимости может показаться не очень серьезной проблемой, он может стать серьезной проблемой в то время, когда вам это нужно больше всего. В случае атаки или критической ошибки у вас нет возможности выполнить правильную отладку, или ваши возможности могут быть серьезно ограничены, поэтому инвестиции в правильное ведение журнала и мониторинг действительно окупаются. Это значительно поможет пассивному веб-приложению, серверной инфраструктуре и безопасности API, которые у вас есть.