Tripwire с открытым исходным кодом
Разработчик(и) | Трипвайр, Инк. |
---|---|
Стабильная версия | 2.4.3.7
/ 31 марта 2018 г |
Репозиторий | |
Написано в | С++ , Перл |
Операционная система | Linux , все POSIX / UNIX. системы |
Тип | Безопасность, мониторинг, HIDS |
Лицензия | лицензия GPLv2 [ 1 ] |
Веб-сайт | https://github.com/Tripwire/tripwire-open-source |
Tripwire с открытым исходным кодом — это бесплатный программный инструмент безопасности и целостности данных для мониторинга и оповещения об определенных изменениях файлов в ряде систем. [ 2 ] [ 3 ] первоначально разработанный Юджином Х. Спаффордом и Джином Кимом. [ 4 ] Проект основан на коде, первоначально предоставленном Tripwire, Inc. в 2000 году. [ 5 ] [ 6 ] Он распространяется на условиях GNU General Public License . [ 1 ] [ 7 ]
Он работает путем создания базовой базы данных , а затем регулярного сравнения состояния файловой системы с базой данных. Если он обнаруживает изменения (например, добавление или изменение некоторых файлов), он включает эти изменения в свой отчет, чтобы администраторы безопасности могли проверить эти изменения. [ 2 ]
История
[ редактировать ]Tripwire был создан доктором Юджином Спаффордом и Джином Кимом в 1992 году в ответ на серию скрытых вторжений, произошедших в начале 1991 года. Эти атаки обходили существующие системы безопасности, заражая общие библиотеки таким образом, что их контрольные суммы CRC не менялись. Tripwire был разработан для использования функций дайджеста сообщений из разных семейств хэшей (например, MD5 и Snefru ), чтобы оставаться надежными даже после того, как один из алгоритмов хеширования будет скомпрометирован. [ 4 ]
Название «Tripwire» происходит от файлов -ловушек или tripwire , которые предупреждают администраторов о доступе злоумышленников. [ 8 ] [ 9 ] : 4 Спаффорд вспоминает:
Мы слышали несколько историй о том, как в соответствии с нашим первоначальным замыслом были созданы файлы tripwire, которые использовались для обнаружения инсайдеров, просматривающих файлы и каталоги, исследовать которые у них не было причин. По крайней мере, одно такое использование было связано с нами как спусковой крючок, раскрывающий мошенничество, совершенное инсайдерами. [ 4 ]
Tripwire был написан на языке C программы и базы данных , и его дизайн подчеркивал переносимость . 2 ноября 1992 года он был выпущен для бета-тестирования . В декабре 1993 года после выявления и исправления нескольких ошибок был выпущен официальный релиз. Ранние версии разрабатывались в чистом помещении , где разработкой занимался Джин Ким, а приемочным тестированием руководил Юджин Спаффорд . [ 4 ]
Первоначально Tripwire был бесплатным и имел открытый исходный код, но стал коммерческим в 1997 году. Tripwire с открытым исходным кодом был выпущен в октябре 2000 года. [ 6 ] под лицензией GNU General Public License. [ 7 ]
4 мая 2015 года исходный код был перенесен с SourceForge на GitHub . [ 10 ]
Обзор
[ редактировать ]Во время установки Open Source Tripwire просит пользователя установить парольные фразы для ключа сайта и локального ключа . Парольная фраза ключа сайта шифрует файлы политики и конфигурации, которые используются несколькими системами. Локальная парольная фраза используется для защиты файлов на определенном компьютере. Файл политики содержит список файлов и каталогов для сканирования, а также правила (например, какие атрибуты следует дерева каталогов просматривать). [ 2 ]
Позже Tripwire с открытым исходным кодом запрашивает локальную парольную фразу при создании исходной базы данных с подписями файлов . Он запускает первое сканирование системы и сохраняет результат в базу данных. После этого он выполняет проверку целостности и сравнивает результат с базой данных. Например, если создается новый файл, он будет указан в последующем отчете о проверке целостности. [ 3 ] Tripwire с открытым исходным кодом можно настроить на регулярное выполнение проверок целостности и отправку отчетов по электронной почте системному администратору. [ 11 ] Базу данных следует инициализировать до того, как система окажется под угрозой взлома. [ нужна ссылка ]
Пользователь может создавать файлы Tripwire , которые выглядят так, будто содержат ценную информацию (например, файл с именем master-password.txt
) и настройте Tripwire с открытым исходным кодом для отслеживания этих файлов, чтобы поймать шпионящих злоумышленников. Когда злоумышленник читает эти файлы, его метки времени доступа обновляются, и администраторы безопасности получают уведомление об этом инциденте. [ 4 ]
В отличие от Tripwire Enterprise, Tripwire с открытым исходным кодом недоступен для Windows и имеет только базовые политики. [ 12 ] Пользователи Windows могут запустить Tripwire с открытым исходным кодом с помощью Cygwin , но он не будет сканировать определенные атрибуты Windows, такие как реестр Windows . [ 13 ]
Подробности
[ редактировать ]Файл политики
[ редактировать ]Файл политики называется twpol.txt
[ 11 ] (или tw.config
в предыдущих версиях) и сообщает, какие файлы и каталоги необходимо отслеживать. Он поддерживает предварительную обработку , которая позволяет администраторам писать только один файл политики для множества разных машин. В файле политики вместе с каждым файлом или каталогом существует маска выбора , которая сообщает, какие атрибуты игнорировать, а о каких сообщать. Например, маску выбора можно написать, чтобы сообщать об изменениях временной метки модификации, количества ссылок , размера файла, разрешений и режимов , но игнорировать изменения временной метки доступа. Кроме того, существует возможность указать, должен ли Tripwire рекурсивно обращаться к каталогу, т. е. проверять подкаталоги, подкаталоги этих подкаталогов и т. д. [ 14 ] [ 9 ] : 11–12
Пример файла политики: [ 14 ]
# system binaries
SYSBIN = +pngu+sm;
/usr/local/bin/pwgen -> $(SYSBIN);
/usr/bin -> $(SYSBIN);
/usr/sbin -> $(SYSBIN);
/etc/security -> +pug (recurse=-1);
# ignore last log
!/etc/security/lastlog;
# logs
SYSLOGS = +p-lum;
/var/adm/messages -> $(SYSLOGS);
/opt -> $(SYSBIN);
# ignore these do not scan
!/opt/dump;
!/opt/freeware;
В следующем примере файла политики из книги Спаффорда и Кима «Проектирование и реализация Tripwire: средство проверки целостности файловой системы» используется язык предварительной обработки. Здесь используется для игнорирования каталога с логами принтера на конкретном хосте, и этот каталог будет сканироваться на всех остальных хостах. Таким образом, предварительная обработка позволяет использовать один и тот же файл политики на этом конкретном хосте и на других хостах, иначе пользователю пришлось бы писать отдельные файлы политики. [ 9 ] : 12
# file/dir selection-mask
/etc R # all files under /etc
@@ifhost solaria.cs.purdue.edu
!/etc/lp # except for SVR4 printer logs
@@endif
/etc/passwd R+12 # you can't be too careful
/etc/mtab L # dynamic files
/etc/motd L
/etc/utmp L
=/var/tmp R # only the directory, not its contents
Конфигурационный файл
[ редактировать ]Конфигурационный файл называется twcfg.txt
, и он содержит информацию о путях к файлу политики, файлу базы данных, файлу отчета и т. д. Он также содержит записи для настроек почты (например, какую программу использовать для отправки электронного письма с отчетом). [ 14 ] [ 15 ] Пример файла конфигурации: [ 14 ]
ROOT =/opt/freeware/sbin
POLFILE =/etc/tripwire/tw.pol
DBFILE =/var/lib/tripwire/$(HOSTNAME).twd
REPORTFILE =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE =/etc/tripwire/site.key
LOCALKEYFILE =/etc/tripwire/$(HOSTNAME)-local.key
EDITOR =/usr/bin/vi
LATEPROMPTING =false
LOOSEDIRECTORYCHECKING =false
MAILNOVIOLATIONS =true
EMAILREPORTLEVEL =3
REPORTLEVEL =3
MAILMETHOD =SENDMAIL
SYSLOGREPORTING =false
MAILPROGRAM =/usr/sbin/sendmail -oi -t
Файл базы данных
[ редактировать ]Файл базы данных уникален для каждого компьютера, в отличие от файлов политики и конфигурации, которые могут использоваться несколькими компьютерами. Он хранит права доступа к файлам, даты изменения и подписи файлов. Для каждого файла в базе данных может храниться до десяти подписей. База данных не хранит само содержимое, поскольку для хранения содержимого файлов потребуется слишком много дискового пространства. [ 9 ] : 13–15 Файл базы данных удобен для чтения , и пользователь может проверять свойства отдельных файлов и проверять базу данных на предмет возможного вмешательства. [ 4 ] [ 9 ] : 7
Когда проверка целостности обнаруживает новый файл, но его путь не имеет записи в файле политики, Tripwire выбирает ближайшую родительскую запись и копирует ее маску выбора или использует маску выбора по умолчанию, если запись не может быть найдена по адресу. все. Tripwire имеет интерактивный режим обновления, который упрощает процесс просмотра каждого обновленного файла. Для каждого созданного, удаленного или измененного файла он запрашивает, следует ли изменить соответствующую запись базы данных. [ 9 ] : 13–15
Подписи
[ редактировать ]Чтобы свести к минимуму влияние коллизий хэшей (т. е. подпись не изменится даже при изменении файла) на безопасность, Tripwire использует несколько различных алгоритмов хеширования для вычисления нескольких подписей для каждого файла. [ 4 ] Поскольку разные алгоритмы хеширования имеют разную производительность , Tripwire позволяет настроить, какие подписи использовать и как часто. Например, систему можно настроить на сравнение подписей CRC32 каждый час и сравнение подписей MD5 каждый день. Таким образом, ежечасные проверки целостности будут выполняться быстрее, и даже если какой-либо файл будет изменен без изменения его контрольной суммы CRC32, об этом будет сообщено во время ежедневной проверки целостности. [ 9 ] : 7,15 Tripwire предоставляет общий интерфейс для процедур подписи, поэтому пользователь может включать свои собственные методы контрольной суммы. [ 9 ] : 15
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б «ЛИЦЕНЗИЯ» . Гитхаб . Проверено 5 сентября 2019 г.
- ^ Перейти обратно: а б с Майкл Кваку Абоагье (18 января 2018 г.). «Защита файловой системы Linux с помощью Tripwire» . opensource.com . Архивировано из оригинала 6 мая 2023 года . Проверено 14 января 2024 г.
- ^ Перейти обратно: а б Ли, Хуэй; МакГинти, Майкл; Фу, Синьвэнь (2012). «Мониторинг и защита системы Linux с помощью Tripwire с открытым исходным кодом» (PDF) . Массачусетский университет Лоуэлла. Архивировано (PDF) из оригинала 14 января 2024 г. Проверено 14 января 2024 г.
- ^ Перейти обратно: а б с д и ж г Спаффорд, Юджин Х. «Tripwire: новаторское сканирование целостности для кибербезопасности» (PDF) . Университет Пердью. Архивировано (PDF) оригинала 4 февраля 2023 г. Проверено 14 января 2024 г.
- ^ «Tripwire с открытым исходным кодом на SourceForge» . 21 октября 2018 года . Проверено 14 января 2024 г.
- ^ Перейти обратно: а б Бауэр, Мик (1 июля 2001 г.). «Пингвин-параноик: обнаружение вторжений для масс» . Linux-журнал . 2001 (87). Архивировано из оригинала 14 января 2024 года . Проверено 14 января 2024 г.
- ^ Перейти обратно: а б Меллем, Эрик; Олсен, Фроде (июнь 2004 г.). «Контроль целостности операционных систем в реальном времени» (PDF) . Агдерский университетский колледж . Проверено 17 января 2024 г.
- ^ ДеМара, Рональд Ф; Рок, Адам Дж (февраль 2004 г.). «Уменьшение взлома сети с помощью динамической отправки мобильных агентов». Компьютеры и безопасность . 23 (1): 31–42. дои : 10.1016/S0167-4048(04)00068-9 .
- ^ Перейти обратно: а б с д и ж г час я Ким, Джин Х.; Спаффорд, Юджин Х. (19 ноября 1993 г.). «Проектирование и реализация tripwire: средство проверки целостности файловой системы» . Материалы 2-й конференции ACM по компьютерной и коммуникационной безопасности - CCS '94 . стр. 18–29. дои : 10.1145/191177.191183 . ISBN 0-89791-732-4 . Архивировано из оригинала 22 марта 2016 года . Проверено 14 января 2024 г.
- ^ «Первоначальная фиксация кода из репозитория Sourceforge» . Гитхаб . Проверено 14 января 2024 г.
- ^ Перейти обратно: а б Линч, Уильям (21 марта 2001 г.). «Начало работы с Tripwire (выпуск Linux с открытым исходным кодом)» . LinuxSecurity . Проверено 17 января 2024 г.
- ^ Сен, Кошик (17 октября 2021 г.). «Tripwire Enterprise против бесплатного Tripwire с открытым исходным кодом» . АпГард . Архивировано из оригинала 19 января 2022 года . Проверено 14 января 2024 г.
- ^ Яухиайнен, Юхо (декабрь 2021 г.). «Обеспечение целостности и безопасности системы в системах с ограниченной средой» (PDF) . Университет Турку. п. 18 . Проверено 17 января 2024 г.
- ^ Перейти обратно: а б с д Тэнсли, Дэвид (13 декабря 2011 г.). «Работа с Tripwire: использование Tripwire для отслеживания изменений файлов» . IBM DeveloperWorks . Архивировано из оригинала 3 мая 2012 года.
- ^ Натараджан, Рамеш (8 декабря 2008 г.). «Учебное пособие Tripwire: Система обнаружения вторжений на базе Linux» . Компьютерные вещи . Проверено 17 января 2024 г.