5 утилит с открытым исходным кодом, которые слишком хороши, чтобы их игнорировать

5 утилит с открытым исходным кодом, которые слишком хороши, чтобы их игнорировать

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

Открытый исходный код — замечательная штука. Значительная часть современных IT компаний и личных технологий зависит от программного обеспечения с открытым исходным кодом. Но, даже несмотря на то, что программное обеспечение с открытым исходным кодом широко используется в области сетевых технологий, операционных систем и виртуализации, платформы безопасности компании по-прежнему остаются закрытыми. К счастью, это меняется.

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

Открытый исходный код всегда был богатым источником утилит для специалистов, работающих в сфере безопасности. Metasploit является, пожалуй, самым известным, но информационная безопасность не ограничивается деятельностью исследователей и аналитиков. Это касается и тех пяти утилит, которые мы рассмотрим далее. ИТ-администраторы и разработчики программного обеспечения играют ключевую роль в обеспечении безопасности. Используя названные ниже пять утилит, они смогут достичь заметных успехов.

Commit Watcher: проверьте кодовые репозитории на наличие секретов

В хранилищах с открытым исходным кодом не должны храниться никакие секретные данные. Но это не мешает рассеянным разработчикам оставлять их там. Не раз мы читали сообщения о людях, случайно обнародовавших закрытые данные Amazon Web Services, закодированные пароли, или API токены, загрузив их в GitHub или другие кодовые хранилища.

Для борьбы с этим, компания SourceClear придумала Commit Watcher , бесплатную утилиту с открытым исходным кодом, которая ищет потенциально опасные данные в публичных и частных репозиториях. Разработчики и администраторы могут использовать Commit Watcher для мониторинга собственных проектов на случай случайного раскрытия секретных данных.

Commit Watcher периодически проверяет проекты на наличие новых записей и ищет совпадения с любыми ключевыми словами и фразами, определенными в правилах проекта. Правила включают в себя имена файлов, шаблоны кода, комментарии и имена авторов. Commit Watcher поставляется с десятками предварительно настроенных правил, которые осуществляют поиск учетных данных AWS, учетных данных Salesforce, ключей SSH, API токенов и дампов базы данных.

Jak: зашифруйте ваши секреты в Git

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

Вот достаточно распространенный сценарий: один из членов команды загружает исходный код из кодового репозитория и получает ключи с использованием метода out-of-band, который настолько же доступен, как сообщение электронной почты, сообщение в чате, флеш-карта USB или записка. Существует ли способ, чтобы сохранить эти секреты с исходным кодом в хранилище таким образом, чтобы ими было легко поделиться с другими членами команды, но чтобы при этом они оставались зашифрованными и не были легко доступными для посторонних?

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

Yara: используйте метод сопоставления, чтобы найти проблемы

Исследователи вредоносного ПО любят использовать Yara, проект с открытым исходным кодом, для идентификации и классификации образцов вредоносных файлов. Тем не менее, «метод соответствия» может сделать гораздо больше, чем просто классификация вредоносных программ. Он также может быть полезным для реагирования на инциденты и в процессе расследования инцидентов. Вы создаете правила — состоящие из текстовых строк, шестнадцатеричных значений или регулярных выражений — и Yara проверяет подозрительные каталоги и файлы на предмет совпадения. Хотя сканирование файлов является наиболее распространенной процедурой, Yara может также использовать правила для проверки уже запущенных процессов.

Анализируя файлы с использованием Yara, исследователи из Лаборатории Касперского и компании AlienVault смогли проследить связь злоумышленников, осуществивших атаку против Sony, с другими атаками в Азии в прошлом году.

Общий метод атаки состоит в том, чтобы заменить системные файлы другими и установить бэкдор на компьютере. Один из способов определить повреждены системные файлы или нет, состоит в том, чтобы посмотреть на хэши MD5 и SHA-1. Другой способ заключается в настройке правил Yara для строк или значений в системных файлах и осуществлении регулярных проверок этих файлов. Если во время сканирования не удалось обнаружить соответствия правилам, вы можете понять, что файлы были модифицированы. А значит, самое время исследовать, каким образом и когда это произошло. Если злоумышленник загружал копии командных оболочек в неизвестных местах, то Yara сможет найти эти копии.

В дополнение к правилам конфигурации и правилам, созданными пользователем, Yara может использовать сигнатуры вируса из антивируса ClamAV с открытым исходным кодом, а также набор правил, доступных из хранилища YaraRules . В этом репозитории находятся правила для обнаружения известных упаковщиков или вредоносных процессов. Нет необходимости запускать Yara с помощью командной строки; утилита имеет библиотеку Python для интеграции его в скрипты Python.

Способная обнаружить нежелательные изменения в файлах или контрольные совпадения (с такой конфиденциальной информацией, как номер полиса социального страхования, данные для доступа и т.д.) там, где их не должно быть (например, в исходящих вложениях электронной почты), утилита Yara является мощным инструментом с, казалось бы, бесконечным потенциалом. Однако, у нее имеются ограничения в обнаружении сигнатур, поэтому не стоит полагаться только на Yara для поиска вредоносных файлов.

ProcFilter: используйте метод сопоставления, чтобы остановить зловред

Утилита Yara является в высшей степени полезной для исследователей и специалистов, осуществляющих ответные действия и желающих проанализировать файлы после заражения. Тем не менее, использование Yara для активной защиты от известных угроз может оказаться проблематичным. ProcFilter , проект с открытым кодом от GoDaddy, решает эту проблему для рабочей среды Windows. ProcFilter позволяет применять правила Yara для уже запущенных процессов, а также блокировать исполняемые файлы на основе обнаруженных совпадений.

ProcFilter действует как служебная программа Windows, а также интегрируется с Microsoft Event Tracing для Windows (ETW) API, так что он может регистрировать свою деятельность непосредственно в журнале событий Windows. Интеграция также означает, что ProcFilter может создавать правила для блокировки, регистрации или карантина, и предпринимать соответствующие действия при обнаружении совпадений. ProcFilter может быть настроен для сканирования файлов и памяти всякий раз, когда процессы запускаются или останавливаются, когда загружается исполняемый файл.

ProcFilter не предназначен для замены антивирусной защиты от вредоносных программ, но помогает вам сосредоточиться на конкретной, известной угрозе, например, на фишинг-атаке, от которой уже пострадали другие организации. Если сигнатура Yara используется для того, чтобы помочь другим избежать той же участи, то вы можете использовать ProcFilter для поиска совпадений во входящих сообщениях электронной почты и блокировать их.

OSquery: запрашивайте конечную точку относительно состояния системы

Представьте себе, что определение местонахождения вредоносных процессов, мошеннических плагинов или уязвимостей ПО в конечных точках Windows, MacOS и Linux зависело бы только от написания SQL запроса. Именно эта идея лежит в основе утилиты OSquery с открытым исходным кодом, разработанной специалистами Facebook. Она собирает информацию о запущенных процессах, загружаемых корневых модулях, открытых сетевых соединениях, плагинах для браузеров, аппаратных событиях и хеш-файлах. Если вы можете написать SQL запрос, то это все, что требуется для получения информации – никакого сложного кода не нужно

Например, следующий запрос помогает обнаружить все процессы прослушивания в сетевых портах:

SELECT DISTINCT process.name, listening.port, listening.address, process.pid FROM processes AS process JOIN listening_ports AS listening ON process.pid = listening.pid;

Этот запрос поможет обнаружить аномалии в протоколе определения адресов (ARP), который содержит информацию о IP-адресах и о физических адресах Ethernet:

SELECT address, mac, COUNT (mac)AS mac_count FROM arp_cache GROUP BY mac HAVING COUNT(mac)>1;

Это гораздо проще, чем написание кода в Python. OSquery решает важную проблему простым и элегантный способом (получив за это награду « Технология Года »).

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

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

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Мы расшифровали формулу идеальной защиты!

Спойлер: она начинается с подписки на наш канал

Введите правильный пароль — подпишитесь!

Евгений Царев

Персональные данные, Информационная безопасность и ИТ-инновации