Автоматический поиск подозрительных файлов при помощи Python
![Автоматический поиск подозрительных файлов при помощи Python](/images/articles/python-virus-finding.png)
Введение
С ростом количества киберугроз и вирусных атак, безопасность ваших данных становится все более важной. Особенно это актуально для владельцев сайтов, которым необходимо оперативно реагировать на взломы и подозрительную активность. В этом уроке мы покажем, как создать простой скрипт на Python для автоматического поиска подозрительных файлов на компьютере. Этот инструмент поможет вам быстро обнаруживать потенциальные угрозы и принимать меры для их устранения.
Подготовка окружения
Для создания скрипта нам понадобятся базовые знания Python и установка необходимых библиотек. Откройте терминал и выполните следующие команды:
pip install os
pip install hashlib
Создание скрипта для поиска вирусов
Наш скрипт будет состоять из нескольких шагов: обход директорий, вычисление хеш-сумм файлов и сравнение их с базой известных вирусов.
import os
import hashlib
# Функция для вычисления хеш-суммы файла
def calculate_hash(file_path):
hash_algo = hashlib.md5() # Используем алгоритм MD5 для хеширования
try:
with open(file_path, 'rb') as file:
while chunk := file.read(8192):
hash_algo.update(chunk)
except PermissionError:
print(f'Нет доступа к файлу: {file_path}')
return None
return hash_algo.hexdigest()
# Функция для обхода директорий и поиска подозрительных файлов
def search_for_viruses(directory, virus_hashes):
"""
Функция для обхода указанной директории и поиска файлов с подозрительными хеш-суммами.
Args:
directory (str): Путь к директории для сканирования.
virus_hashes (set): Множество хеш-сумм известных вирусов.
"""
for root, _, files in os.walk(directory):
for file in files:
file_path = os.path.join(root, file)
file_hash = calculate_hash(file_path)
if file_hash and file_hash in virus_hashes:
print(f'Подозрительный файл найден: {file_path}')
# База данных известных вирусов (хеш-суммы)
known_viruses = {
'44d88612fea8a8f36de82e1278abb02f', # Хеш-сумма вируса "WannaCry"
'6a2d96a36c2447a8208ff7f6a87024dd', # Хеш-сумма вируса "Emotet"
'275a021bbfb648bf9b75a176848046c8', # Хеш-сумма вируса "TrickBot"
'5f4dcc3b5aa765d61d8327deb882cf99', # Хеш-сумма вируса "Trojan.GenericKD"
}
# Указание директории для поиска
directory_to_scan = 'C:/Users/johndoe/Desktop'
# Запуск поиска вирусов
search_for_viruses(directory_to_scan, known_viruses)
# Не забудьте изучить наш курс "Написание лайфхаков на Python" для расширения ваших знаний и навыков!
Объяснение кода
-
Функция calculate_hash(file_path):
- Открывает файл в бинарном режиме и читает его по частям, чтобы избежать проблем с памятью при работе с большими файлами.
- Вычисляет хеш-сумму файла с использованием алгоритма MD5.
-
Функция search_for_viruses(directory, virus_hashes):
- Обходит все файлы в указанной директории и вычисляет их хеш-суммы.
- Сравнивает вычисленные хеш-суммы с базой данных известных вирусов и выводит путь к подозрительным файлам.
-
База данных известных вирусов:
- В нашем примере база данных состоит из нескольких хеш-сумм вирусов. В реальной практике эту базу можно пополнять и обновлять.
Заключение
Создание простого скрипта для поиска вирусов на Python не требует глубоких знаний программирования и позволяет быстро находить потенциально опасные файлы. Этот инструмент может стать первым шагом к более сложным системам кибербезопасности и помочь вам защитить свои данные и сайты от взломов и вирусных атак.
Не пропустите наш курс Написание лайфхаков на Python для расширения ваших знаний и навыков!
-
-
Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.