TLSH (Trend Micro Locality Sensitive Hash) - это алгоритм нечёткого хеширования (fuzzy hashing), разработанный компанией Trend Micro для анализа схожести файлов и данных, особенно в контексте кибербезопасности и цифровой криптографии.
Содержание
Основные принципы работы
- Нечёткое хеширование: В отличие от традиционных хешей (например: SHA-256), TLSH генерирует хеш-значения, которые позволяют оценивать степень схожести файлов. Чем меньше "расстояние" между хешами, тем более похожи исходные данные.
- Минимальный размер данных: Для генерации хеша требуется минимум 50 байт (в "консервативном" режиме - 256 байт).
- Формат хеша: Результат представляет собой строку из 70 шестнадцатеричных символов с префиксом T1 (в новых версиях), что упрощает версионную совместимость.
Применение в кибербезопасности
- Обнаружение схожих вредоносных файлов: TLSH используется для кластеризации malware, выявления модифицированных версий одного и того же вредоносного ПО.
- Белые списки (whitelisting): Помогает идентифицировать легитимное ПО, даже если оно было обновлено или слегка изменено, снижая количество ложных срабатываний.
- Быстрый поиск: Благодаря использованию деревьев (например: HAC-T), алгоритм обеспечивает быстрое сравнение хешей даже в больших наборах данных (например: миллионы записей).
Преимущества перед другими алгоритмами
- Устойчивость к атакам: TLSH сложнее обмануть, чем SSDEEP или SDHASH, благодаря использованию k-skip-ngrams и другим методам.
- Фиксированный размер хеша: В отличие от SSDEEP, TLSH всегда выдаёт хеш одинаковой длины, что упрощает хранение и обработку.
- Поддержка кластеризации: Алгоритм оптимизирован для масштабируемой кластеризации, что полезно при анализе больших наборов данных (например: Malware Bazaar).
Технические детали
- Расстояние между хешами: Измеряется по шкале от 0 (идентичные файлы) до нескольких тысяч (совершенно разные). Например, значение 55 считается порогом для определения схожести.
- Использование в Python: Существует библиотека py-tlsh, позволяющая легко интегрировать TLSH в скрипты для анализа данных.
- GIT репозиторий: https://github.com/trendmicro/tlsh
Примеры использования
- VirusTotal и Malware Bazaar: TLSH применяется для анализа вредоносных образцов.
- Uber: Использовал LSH-подход (к которому относится TLSH) для оптимизации маршрутов и устранения несоответствий в GPS-данных.
Заключение
TLSH - это мощный инструмент для анализа схожести данных, особенно востребованный в антивирусных решениях, цифровой криминалистике и системах whitelisting. Его ключевые преимущества — скорость, устойчивость к атакам и возможность масштабирования