Разработана удобная библиотека PyWhat , которая помогает классифировать данные в неструктурированном массиве. Например, у вас несколько мегабайт трафика, записанного в стандартном формате .pcap. Что с ним делать? PyWhat спарсит все строки, выделит:
кошельки криптовалют,
номера социального страхования,
кредитные карточки,
заголовки видеороликов Youtube ID,
любые хэши,
другие известные типы данных.
Так в трафике гораздо проще ориентироваться. Увидев нужный пакет, затем в Wireshark можно выбрать остальные пакеты конкретно из этого потока в реальном времени.
В принципе, всё то же самое можно сделать фильтрами в Wireshark, если искать в трафике что-то конкретное, но эта библиотека автоматизирует процесс и экономит время.
Иди другой пример. Посреди кода или в каком-то файле встречается таинственная строка 5f4dcc3b5aa765d61d8327deb882cf99 . Нет проблем. Запускаем PyWhat — и смотрим, что это такое, с помощью команды what "5f4dcc3b5aa765d61d8327deb882cf99" .
Задача команды what — выяснить происхождение строки символов, фрагмента, текста внутри файла или какого-то hex-значения.
Автор библиотеки приводит такой пример . Вы столкнулись с новым вариантом вредоносного ПО под названием WantToCry. Вспоминаете, что оригинальный Wannacry удалось остановить, потому что никому не известный паренёк обнаружил в коде «выключатель» с триггером на появление сайта по указанному адресу. Парень зарегистрировал этот домен — и остановил распространение Wannacry во всём мире.
«Итак, запускаем what — находим все домены во вредоносной программе — и через API регистратора доменов все их регистрируем. Если Wannacry появится снова, вы сможете остановить его за считанные минуты», — пишет автор.
В общем, библиотека помогает найти структурированные данные в любом файле, поддерживает рекурсивный поиск файлов в директориях, работает с API .
PyWhat относится к классу «вероятностных библиотек» на Python (probabilistic library), созданных в процессе машинного обучения моделей. В каком-то смысле, такие модели после обучения распознают форматы строк примерно как системы машинного обучения распознают лица конкретных людей, сверяясь с базой паттернов.
Из других полезных вероятностных библиотек/пакетов на Python можно назвать следующие:
probablepeople : парсер неструктурированных западных имён с разбиением их по полям (имя, фамилия и другие компоненты)
usaddress : парсер американских адресов с разбиением из одной строки на шесть полей
chardet : автоматическое определение кодировки символов
Gen.jl : система вероятностного программирования общего назначения с программируемым выводом. Например, позволяет наводить порядок в таблицах с плохо структурированными данными
DataProfiler : инструмент, похожий по функциональности на PyWhat. Принимает на входе файлы и данные любых форматов, а на выходе выдаёт структурированную информацию по следующим полям:
UNKNOWN
ADDRESS
BAN (bank account number, 10-18 digits)
CREDIT_CARD
EMAIL_ADDRESS
UUID
HASH_OR_KEY (md5, sha1, sha256, random hash, etc.)
IPV4
IPV6
MAC_ADDRESS
PERSON
PHONE_NUMBER
SSN
URL
US_STATE
DRIVERS_LICENSE
DATE
TIME
DATETIME
INTEGER
FLOAT
QUANTITY
ORDINAL
Возможно переобучение модели DataProfiler на новые типы данных.)
кошельки криптовалют,
номера социального страхования,
кредитные карточки,
заголовки видеороликов Youtube ID,
любые хэши,
другие известные типы данных.
Так в трафике гораздо проще ориентироваться. Увидев нужный пакет, затем в Wireshark можно выбрать остальные пакеты конкретно из этого потока в реальном времени.
В принципе, всё то же самое можно сделать фильтрами в Wireshark, если искать в трафике что-то конкретное, но эта библиотека автоматизирует процесс и экономит время.
Иди другой пример. Посреди кода или в каком-то файле встречается таинственная строка 5f4dcc3b5aa765d61d8327deb882cf99 . Нет проблем. Запускаем PyWhat — и смотрим, что это такое, с помощью команды what "5f4dcc3b5aa765d61d8327deb882cf99" .
Задача команды what — выяснить происхождение строки символов, фрагмента, текста внутри файла или какого-то hex-значения.
Автор библиотеки приводит такой пример . Вы столкнулись с новым вариантом вредоносного ПО под названием WantToCry. Вспоминаете, что оригинальный Wannacry удалось остановить, потому что никому не известный паренёк обнаружил в коде «выключатель» с триггером на появление сайта по указанному адресу. Парень зарегистрировал этот домен — и остановил распространение Wannacry во всём мире.
«Итак, запускаем what — находим все домены во вредоносной программе — и через API регистратора доменов все их регистрируем. Если Wannacry появится снова, вы сможете остановить его за считанные минуты», — пишет автор.
В общем, библиотека помогает найти структурированные данные в любом файле, поддерживает рекурсивный поиск файлов в директориях, работает с API .
PyWhat относится к классу «вероятностных библиотек» на Python (probabilistic library), созданных в процессе машинного обучения моделей. В каком-то смысле, такие модели после обучения распознают форматы строк примерно как системы машинного обучения распознают лица конкретных людей, сверяясь с базой паттернов.
Из других полезных вероятностных библиотек/пакетов на Python можно назвать следующие:
probablepeople : парсер неструктурированных западных имён с разбиением их по полям (имя, фамилия и другие компоненты)
usaddress : парсер американских адресов с разбиением из одной строки на шесть полей
chardet : автоматическое определение кодировки символов
Gen.jl : система вероятностного программирования общего назначения с программируемым выводом. Например, позволяет наводить порядок в таблицах с плохо структурированными данными
DataProfiler : инструмент, похожий по функциональности на PyWhat. Принимает на входе файлы и данные любых форматов, а на выходе выдаёт структурированную информацию по следующим полям:
UNKNOWN
ADDRESS
BAN (bank account number, 10-18 digits)
CREDIT_CARD
EMAIL_ADDRESS
UUID
HASH_OR_KEY (md5, sha1, sha256, random hash, etc.)
IPV4
IPV6
MAC_ADDRESS
PERSON
PHONE_NUMBER
SSN
URL
US_STATE
DRIVERS_LICENSE
DATE
TIME
DATETIME
INTEGER
FLOAT
QUANTITY
ORDINAL
Возможно переобучение модели DataProfiler на новые типы данных.)