Научная статья на тему 'ИНТЕГРАЦИЯ VIRUSTOTALAPI С PYTHON ДЛЯ АНАЛИЗА ФАЙЛОВ НА НАЛИЧИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ'

ИНТЕГРАЦИЯ VIRUSTOTALAPI С PYTHON ДЛЯ АНАЛИЗА ФАЙЛОВ НА НАЛИЧИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
кибербезопасность / вредоносное программное обеспечение / анализ файлов / интеграция / cybersecurity / malware / VirusTotal / file analysis / integration

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лукьянченко Л.С., Афанасьев П.В.

В условиях современной кибербезопасности, которая становится все более критической областью из-за возрастающих сложностей и изощренности киберугроз, эффективное обнаружение и анализ вредоносного программного обеспечения являются важными задачами для обеспечения безопасности информационных систем. VirusTotal — это один из наиболее популярных и эффективных инструментов для анализа файлов на наличие вредоносного ПО, который использует множество антивирусных движков и инструментов анализа. В данной статье рассматривается использование API VirusTotal для автоматизации процесса анализа файлов с помощью языка программирования Python. VirusTotal предоставляет ключевые функции для анализа файлов и URL-адресов, создания детализированных отчетов и статистики, что делает его незаменимым инструментом для специалистов по кибербезопасности.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INTEGRATION OF THE VIRUSTOTALAPI WITH PYTHON TO ANALYZE FILES FOR MALWARE

In the context of modern cybersecurity, which is becoming an increasingly critical area due to the increasing complexity and sophistication of cyber threats, effective detection and analysis of malicious software are important tasks to ensure the security of information systems. VirusTotal is one of the most popular and effective tools for analyzing files for malware, which uses a variety of antivirus engines and analysis tools. This article discusses the use of the VirusTotal API to automate the file analysis process using the Python programming language. VirusTotal provides key functions for analyzing files and URLs, creating detailed reports and statistics, which makes it an indispensable tool for cybersecurity professionals.

Текст научной работы на тему «ИНТЕГРАЦИЯ VIRUSTOTALAPI С PYTHON ДЛЯ АНАЛИЗА ФАЙЛОВ НА НАЛИЧИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

УДК 004.056 Лукьянченко Л. С., Афанасьев П.В.

Лукьянченко Л.С.

студент кафедры вычислительных систем и информационной безопасности Донской государственный технический университет (г. Ростов-на-Дону, Россия)

Афанасьев П.В.

студент кафедры вычислительных систем и информационной безопасности Донской государственный технический университет (г. Ростов-на-Дону, Россия)

ИНТЕГРАЦИЯ VIRUSTOTAL API С PYTHON ДЛЯ АНАЛИЗА ФАЙЛОВ НА НАЛИЧИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Аннотация: в условиях современной кибербезопасности, которая становится все более критической областью из-за возрастающих сложностей и изощренности киберугроз, эффективное обнаружение и анализ вредоносного программного обеспечения являются важными задачами для обеспечения безопасности информационных систем. VirusTotal — это один из наиболее популярных и эффективных инструментов для анализа файлов на наличие вредоносного ПО, который использует множество антивирусных движков и инструментов анализа. В данной статье рассматривается использование API VirusTotal для автоматизации процесса анализа файлов с помощью языка программирования Python. VirusTotal предоставляет ключевые функции для анализа файлов и URL-адресов, создания детализированных отчетов и статистики, что делает его незаменимым инструментом для специалистов по кибербезопасности.

Ключевые слова: кибербезопасность, вредоносное программное обеспечение, анализ файлов, интеграция.

В современном мире кибербезопасность является одной из наиболее критических областей, так как киберугрозы становятся все более сложными и

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

Один из наиболее популярных и эффективных инструментов для анализа файлов на наличие вредоносного ПО — это VirusTotal. Этот сервис позволяет проверять файлы и URL-адреса с помощью множества антивирусных движков и инструментов анализа. В этой статье мы рассмотрим, как можно использовать API VirusTotal для автоматизации процесса анализа файлов с помощью языка программирования Python.

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

К основным типам вредоносного программного обеспечения можно отнести:

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

2. Шпионские программы - это разновидность вредоносных программ, скрывающихся на устройстве, отслеживающих активность и осуществляющих кражу конфиденциальной информации: финансовых данных, учетных записей, данных для входа и прочих данных.

3. Программы-вымогатели - это вредоносные программы, осуществляющие блокировку или отказ доступа пользователей к системе или данным до момента выплаты выкупа.

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

5. Троянские программы маскируются под легальное программное обеспечение, чтобы обманом заставить пользователей запустить вредоносные программы на компьютере.

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

7. Вирус - это фрагмент кода, который вставляется в приложение и запускается при его запуске.

8. Клавиатурные шпионы - это разновидность шпионских программ, отслеживающих активность пользователей.

9. Потенциально нежелательные программы (ПНП) - это программы, которые могут включать рекламу, панели инструментов и всплывающие окна, не имеющие отношения к самой загруженной программе [1].

VirusTotal — это бесплатный онлайн-сервис, который анализирует файлы и URL-адреса с использованием более 70 различных антивирусных движков и инструментов анализа.

VirusTotal предоставляет несколько ключевых функций, которые делают его незаменимым инструментом для кибербезопасности:

1. Анализ файлов: Пользователи могут загружать файлы для анализа. VirusTotal проверяет каждый файл с помощью множества антивирусных движков и инструментов анализа, предоставляя детализированные отчеты о результатах.

2. Анализ URL: помимо файлов, VirusTotal позволяет проверять URL-адреса на наличие вредоносного контента.

3. API: VirusTotal предоставляет API, который позволяет автоматизировать процесс анализа файлов и URL-адресов. Это особенно полезно для разработчиков и специалистов по кибербезопасности, которые

хотят интегрировать возможности VirusTotal в свои собственные приложения и системы.

4. Отчеты и статистика: VirusTotal предоставляет детализированные отчеты и статистику по результатам анализа, включая информацию о конкретных вредоносных программах, обнаруженных в файлах или на вебстраницах [2].

Использование ресурса VirusTotal возможно не только напрямую, через официальный сайт, но и при помощи интегрированной среды разработки, такой как PyCharm.

К преимуществам такого использования можно отнести:

1. Автоматизация процесса анализа.

2. Интеграция в существующие системы.

3. Обработка и анализ данных.

4. Создание отчетов и визуализация.

5. Гибкость и масштабируемость.

6. Централизованное управление и контроль.

Реализация системы анализа файлов на наличие вредоносного программного обеспечения на языке Python представлена ниже: import os import time import requests from pprint import pprint API_KEY = 'API ключ пользователя' def analyze_file(filepath):

url_scan = https://www.virustotal.com/vtapi/v2/file/scan url_report = https://www.virustotal.com/vtapi/v2/file/report

try:

if not os.path.isfile(filepath):

print(f'The specified path '{filepath}' is not a file or does not exist.")

return

with open(filepath, "rb") as file:

params = {'apikey': API_KEY}

files = {'file': (os.path.basename(filepath), file)}

response = requests.post(url_scan, files=files, params=params)

if response.status_code != 200:

print(f'Error: {response.status_code}")

print(response.text)

return

response_json = response.json() scan_id = response_json.get("scan_id") if not scan_id:

print("Error: scan_id not found in the response")

print(response_j son)

return

print (f "File uploaded successfully. Scan ID: {scan_id}")

# Ждем достаточно времени для завершения анализа time.sleep(150)

# Получаем результат анализа

params = {'apikey': API_KEY, 'resource': scan_id} response = requests.get(url_report, params=params)

if response.status_code != 200: print(f'Error: {response.status_code}") print(response.text) return

result = response.json()

# Выводим результат анализа positives = result.get('positives', 0) total = result.get('total', 0)

scan_date = result.get('scan_date', 'Unknown date')

print(f'\nScan date: {scan_date}") print(f "Total scans: {total}") print(f "Positives: {positives}")

if positives > 0:

print(fThe file {filepath} is likely malware. {positives} scanners detected malware.") else:

print(f "The file {filepath} is likely safe. No malware detected

# Печать подробного отчета pprint(result)

# Вывод ссылки на отчет на сайте VirusTotal permalink = result.get('permalink') if permalink:

print(f'View the scan report at: {permalink}")

except Exception as e: print(f'An error occurred: {e}")

if __name__ == "__main__":

filepath = input("Please enter the path to the file you want to check: ") filepath = filepath.replace("\\", "\\\\") if os.path.isfile(filepath): analyze_file(filepath) else:

print("The specified file does not exist.")

out of {total}

.")

Для корректной работы программы необходимо скачать и установить необходимые библиотеки, а также зарегистрироваться на официальном сайте VirusTotal, после чего в настройках учетной записи пользователя узнать API Key и вставить его в поле «API_KEY» программы.

Please enter the path to the file you want to check: C: \Users\~Letine\Desktop\Hpunep. ilocx

File uploaded successfully. Scan ID: e3t>Gc4iiZ98fclcl49aft3f4c8996f!)?Z427ae41e46ii9t:93iica49b991!:7852b855-17190S0ij06

Scan date: 202*1-36-22 18:20:06 Total scans: b3 Positives: 0

The File C: WlsersWleone^OesktopWnpwwep , docx is likely safe. No ntelware detected. ■{ ' mdS ' : 1 d<51d8cd98f 00b2G<ie9BG0998ecf 8427e ',

Рисунок 1. Результат сканирования произвольного файла формата .ёосх

на наличие вредоносного ПО.

' shal1 : 'daîflaSeeSeàli^bOdSÎSSbfefÇSÎ.aiegeafdSeTe?',

'shaîSi,1 : 'eîhOc^îMf clcliWaf bfi cfi99Éf b924S7ae'He4(,'S9b9:Mcaii9S99:lb7S52bBS5 ■ , 'total1: f>ï,

1 verbose_tti9t]' 1 "Scan finished, information embedded1}-Vie« the seen report at: liftas : Цшеи . li rustotal .cmi/aui / Fil F^jHlr-WWclci ü9afhFfirE4lJf.fblj3JL'7aet.leiW9b9I^rai,.95991b76S;bü55/fi6tei:ti3n; F a5bPc4429&fclcl49Bfbf3cB99bfb92427ae4ie4649b91frca495991b7fi52bfl55-i719QB0406

Рисунок 2. Результат сканирования произвольного файла формата .ёоех

на наличие вредоносного ПО.

СПИСОК ЛИТЕРАТУРЫ:

1. Какие существуют типы вредоносных программ? [Электронный ресурс]. URL: https://www.kaspersky.ru/resource-center/threats/types-of-malware?ysclid=lxq2o4j6i812279404 (дата обращения 19.05.2024);

2. Как это работает? [Электронный ресурс]. URL: https://docs.virustotal.com/docs/how-it-works (дата обращения 19.05.2024)

Lukyanchenko L.S., Afanasiev P. V.

Lukyanchenko L.S.

Don State Technical University (Rostov-on-Don, Russia)

Afanasiev P.V.

Don State Technical University (Rostov-on-Don, Russia)

INTEGRATION OF THE VIRUSTOTAL API WITH PYTHON TO ANALYZE FILES FOR MALWARE

Abstract: in the context of modern cybersecurity, which is becoming an increasingly critical area due to the increasing complexity and sophistication of cyber threats, effective detection and analysis of malicious software are important tasks to ensure the security of information systems. VirusTotal is one of the most popular and effective tools for analyzing files for malware, which uses a variety of antivirus engines and analysis tools. This article discusses the use of the VirusTotal API to automate the file analysis process using the Python programming language. VirusTotal provides key functions for analyzing files and URLs, creating detailed reports and statistics, which makes it an indispensable tool for cybersecurity professionals.

Keywords: cybersecurity, malware, VirusTotal, file analysis, integration.

i Надоели баннеры? Вы всегда можете отключить рекламу.