Как анализировать компьютерную программу

Обновлено: 08.07.2024

У каждого из команды ][ — свои предпочтения по части софта и утилит для
пентеста. Посовещавшись, мы выяснили: выбор так разнится, что можно составить
настоящий джентльменский набор из проверенных программ. На том и решили. Чтобы
не делать сборную солянку, весь список разбит на темы. Сегодня мы разберем
статические анализаторы кода для поиска уязвимостей в приложениях, когда на
руках – их исходники.

Наличие исходных кодов программы существенно упрощает поиск уязвимостей.
Вместо того чтобы вслепую манипулировать различными параметрами, которые
передаются приложению, куда проще посмотреть в сорцах, каким образом она их
обрабатывает. Скажем, если данные от пользователя передаются без проверок и
преобразований, доходят до SQL-запроса – имеем уязвимость типа SQL injection.
Если они добираются до вывода в HTML-код – получаем классический XSS. От
статического сканера требуется четко обнаруживать такие ситуации, но, к
сожалению, выполнить это не всегда так просто как кажется.

Современные компиляторы

Может показаться забавным, но одними из самых эффективных анализаторов
кода являются сами компиляторы. Конечно, предназначены они совсем для
другого, но в качестве бонуса каждый из них предлагает неплохой верификатор
исходников, способный обнаружить большое количество ошибок. Почему же он не
спасает? Изначально настройки такой верификации кода выставлены достаточно
лояльно: в результате, чтобы не смущать программиста, компилятор начинает
ругаться только в случае самых серьезных косяков. А вот и зря - если поставить
уровень предупреждений повыше, вполне реально откопать немало сомнительных мест
в коде. Выглядит это примерно следующим образом. Скажем, в коде есть отсутствие
проверки на длину строки перед копированием ее в буфер. Сканер находит функцию,
копирующую строку (или ее фрагмент) в буфер фиксированного размера без
предварительной проверки ее длины. Он прослеживает траекторию передачи
аргументов: от входных данных до уязвимой функции и смотрит: возможно ли
подобрать такую длину строки, которая бы вызывала переполнение в уязвимой
функции и не отсекалась бы предшествующими ей проверками. В случае если такой
проверки нет, находим практически 100% переполнение буфера. Главная сложность в
использовании для проверки компилятора - заставить его "проглотить" чужой код.
Если ты хоть раз пытался скомпилировать приложение из исходников, то знаешь,
насколько сложно удовлетворить все зависимости, особенно в больших проектах. Но
результат стоит того! Тем более, помимо компилятора в мощные IDE встроены и
некоторые другие средства для анализа кода. К примеру, на следующий
участок кода в Visual Studio будет выдано предупреждение об использовании в
цикле функции _alloca, что может быстро переполнить стек:

char *b;
do b = (char*)_alloca(9)
> while(1)

В этом заслуга статического анализатора PREfast. Подобно FxCop,
предназначенной для анализа управляемого кода, PREfast изначально
распространялся в виде отдельной утилиты и лишь позже стал частью Visual Studio.

RATS - Rough Auditing Tool for Security

Ошибка ошибке - рознь. Часть тех огрех, которые допускают программисты,
некритична и грозит только нестабильностью программы. Другие, напротив,
позволяют инжектировать шелл-код и выполнять произвольные команды на удаленном
сервере. Особый риск в коде представляют команды, позволяющие выполнить buffer
overflow и другие похожие типы атак. Таких команд очень много, в случае с C/C++
это функции для работы со строками (xstrcpy(), strcat(), gets(), sprintf(),
printf(), snprintf(), syslog()), системные команды (access(), chown(), chgrp(),
chmod(), tmpfile(), tmpnam(), tempnam(), mktemp()), а также команды системных
вызовов (exec(), system(), popen()). Вручную исследовать весь код (особенно,
если он состоит из нескольких тысяч строк) довольно утомительно. А значит, можно
без труда проглядеть передачу какой-нибудь функции непроверенных параметров.
Значительно облегчить задачу могут специальные средства для аудита, в том числе,
известная утилита RATS (Rough Auditing Tool for Security) от
известной компании Fortify. Она не только успешно справится с обработкой кода,
написанного на C/C++, но сможет обработать еще и скрипты на Perl, PHP и Python.
В базе утилиты находится внушающая подборка с детальным описанием проблемных
мест в коде. С помощью анализатора она обработает скормленный ей сорец и
попытается выявить баги, после чего выдаст информацию о найденных недочетах.
RATS работает через командную строку, как под Windows, так и *nix-системами.

Yasca

Cppcheck

Разработчики Cppcheck решили не разбрасываться по мелочам, а потому
отлавливают только строго определенные категории багов и только в коде на С++.
Не жди, что программа продублирует предупреждения компилятора - он обойдется без
суфлера. Поэтому не поленись поставить для компилятора максимальный уровень
предупреждений, а с помощью Cppcheck проверь наличие утечек памяти, нарушений
операций allocation-deallocation, различных переполнений буфера, использования
устаревших функций и многого другого. Важная деталь: разработчики Cppcheck
постарались свести количество ложных срабатываний к минимуму. Поэтому, если
прога фиксирует ошибку, можно с большой вероятностью сказать: "Она действительно
есть!" Запустить анализ можно как из-под консоли, так и с помощью приятного
GUI-интерфейса, написанного на Qt и работающего под любой платформой.

graudit

Этот простой скрипт, совмещенный с набором сигнатур, позволяет найти ряд
критических уязвимостей в коде, причем поиск осуществляется с помощью всем
известной утилиты grep. О GUI-интерфейсе тут неуместно даже упоминать: все
осуществляется через консоль. Для запуска есть несколько ключей, но в самом
простом случае достаточно указать в качестве параметра путь к исходникам:

Наградой за старание будет цветастый отчет о потенциально эксплуатируемых
местах в коде. Надо сказать, что, помимо самого скрипта (а это всего 100 строчек
кода на Bash), ценность представляют сигнатурные базы, в которых собраны
регекспы и названия потенциально уязвимых функций в разных языках. По умолчанию
включены базы для Python, Perl, PHP, C++ - можно взять файлы из папки signatures
и использовать в своих собственных разработках.

SWAAT

Если в graudit для задания сигнатуры уязвимости используются текстовые файлы,
то в SWAAT – более прогрессивный подход с помощью XML-файлов. Вот так
выглядит типичная сигнатура:

vuln match - регулярное выражение для поиска;
type - указывает на тип уязвимости:
severity - обозначает уровень риска (high, medium или low)
alt - альтернативный вариант кода для решения проблемы

PHP Bug Scanner

Если тебе нужно провести статический анализ PHP-приложения, рекомендую
попробовать PHP Bug Scanner, которую написал наш автор - raz0r. Работа
проги основана на сканировании различных функций и переменных в PHP-скриптах,
которые могут быть задействованы при проведении веб-атак. Описание таких
ситуаций оформляется в виде так называемых пресетов, причем в программу уже
включены 7 специальных прессетов, сгруппированных по категориям:

  • code execution;
  • command execution;
  • directory traversal;
  • globals overwrite;
  • include;
  • SQL-injection;
  • miscellaneous.

Забавно, что прога написана на
PHP/WinBinder и скомпилирована
bamcompile, поэтому выглядит так же, как и обычное Windows-приложение. Через
удобный интерфейс пентестер может включить или отключь анализ кода на наличие
тех или иных уязвимостей.

Сайт:
pixybox.seclab.tuwien.ac.at
Лицензия: Freeware
Платформа: Unix, Windows
Языки: PHP

В основе работы инструмента - сканирование исходного кода и построение графов
потоков данных. По такому графу прослеживается путь данных, которые поступают
извне программы - от пользователя, из базы данных, от какого-нибудь внешнего
плагина и т.п. Таким образом строится список уязвимых точек (или входов) в
приложениях. С помощью паттернов, описывающих уязвимость, Pixy проверяет такие
точки и позволяет определить XSS- и SQL-уязвимости. Причем сами графы, которые
строятся во время анализа, можно посмотреть в папке graphs (например,
xss_file.php_1_dep.dot) - это очень полезно для того чтобы понять, почему именно
тот или иной участок кода считается Pixy-уязвимым. Вообще, сама разработка
крайне познавательна и демонстрирует, как работают продвинутые утилиты для
статического анализа кода. На страничке

документации разработчик доходчиво рассказывает о разных этапах работы
программы, объясняет логику и алгоритм того, как должен анализироваться прогой
тот или иной фрагмент кода. Сама программа написана на Java и распространяется в
открытых исходниках, а на домашней страничке есть даже простенький онлайн-сервис
для проверки кода на XSS-уязвимости.

Ounce 6

Увы, существующие бесплатные решения пока на голову ниже, чем коммерческие
аналоги. Достаточно изучить качество и детальность отчета, который составляет
Ounce 6 – и понять, почему. В основе программы лежит специальный
анализирующий движок Ounce Core, который проверяет код на соответствие правилам
и политикам, составленными командой профессиональных пентестеров,
аккумулировавших опыт известных security-компаний, хакерского комьюнити, а также
стандартов безопасности. Программа определяет самые разные уязвимости в коде: от
переполнения буфера до SQL-инъекций. При желании Ounce несложно интегрируется с
популярными IDE, чтобы реализовать автоматическую проверку кода во время сборки
каждого нового билда разрабатываемого приложения. Кстати говоря,
компанию-разработчика - Ounce Labs - летом этого года приобрела сама IBM. Так
что продукт, скорее всего, продолжит развитие уже как часть одного из
коммерческих приложений IBM.

Klocwork Insight

Coverity Prevent Static Analysis

OWASP Code Crawler

WARNING

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

10 лучших программ для диагностики компьютера

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

Большинство из этих сбоев в работе является следствием проблем, связанных с оборудованием. Если не предпринимать никаких мер, последствия могут быть очень печальными.

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

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

AIDA64

Начнем с одной из самых известных и комплексных программ для получения информации о компонентах системы, проверке стабильности и тесте производительности. Конечно же, это AIDA64. Интерфейс программы предельно понятен и прост, все разделено на группы.


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


Также вы можете сравнить производительность своих комплектующих с уже протестированными.


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


Программа OCCT предназначена для комплексной проверки комплектующих компьютера на стабильность (CPU, GPU, RAM, Power).


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

Известная, а главное, полностью бесплатная программа CPU-Z,в которой можно посмотреть подробную информацию о процессоре, материнской плате, оперативной памяти и видеокарте. Тут также присутствует тест производительности процессора для сравнения с наиболее популярными моделями.




Есть возможность проверки процессора на стабильность, однако лучше это делать сторонними программами. Как, например, Linx, Prime95 или упомянутые ранее AIDA64 и OCCT.



Работает по аналогии с CPU-Z, только все заточено на работу с видеокартами. Поможет досконально узнать все про аппаратные характеристики видеокарты и информацию, зашитую в биос.




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

Есть возможность проверки на стабильность, но, как и с CPU-Z, имеются специальные программы, которые справляются с этим намного лучше. Например, MSI Kombustor.

MSI Kombustor

Это утилита-бенчмарк, созданная на основе всем знакомого Furmark. Позволяет проверить видеокарту и ее память на стабильность. Также проверит на прочность систему охлаждения видеокарты.


MSI Afterburner

Самая известная и широко используемая утилита для разгона видеокарт. Кроме разгона, присутствует возможность мониторить информацию о видеокарте и системе в целом, а также выводить эту информацию на экран поверх игры.


Thaiphoon Burner

Нужно узнать всю подноготную о планках оперативной памяти? Thaiphoon Burner считывает данные SPD, в которой хранится вся информация об оперативной памяти.


Вы получите полную информацию о памяти и производителе чипов памяти. Это одна из лучших программ подобного рода.

Коль речь зашла о памяти, и вам требуется узнать тайминги оперативной памяти, причем не только первичного порядка, на помощь придут несколько программ. Программы различаются по производителю процессоров (или лучше платформ) AMD или Intel.

Чтобы узнать всю информацию о таймингах для процессоров AMD Zen 1000-2000 серии, можно воспользоваться программами ZenTimings и Ryzen Timing Checker.



С процессорами Zen 3000 лучше воспользоваться программой Ryzen Master или ZenTimings.


Для процессоров Intel есть свои программы для получения информации о таймингах — это Asrock Timing Configurator и Asus MemTweakIt.



Пусть вас не пугает название Asrock и Asus в названии программ. Они работают на материнских платах любых производителей. Главное, чтобы был процессор от Intel.

Не будем вдаваться в подробности по поводу проверки памяти. Недавно на эту тему вышла отдельная статья — «Как проверить оперативную память на ошибки».

CrystalDiskInfo

Узнать о состоянии жесткого диска или SSD поможет программа CrystalDiskInfo.


Можно оценить состояние жёстких дисков при помощи считывания S.M.A.R.T, проверить температуру, количество включений и общее время работы накопителя. А в случае с дисками SSD — еще и объём данных, записанных на устройство за все время работы.

Оценить производительность диска можно при помощи программы CrystalDiskMark.


Victoria HDD

Лучшая программа для поиска и исправления ошибок жесткого диска. Досконально проверяет поверхность винчестера, обнаруживает повреждённые блоки и затирает их, чтобы в дальнейшем не записать туда файлы и не повредить их. Victoria HDD теперь работает и с SSD-дисками.


HWiNFO

Во время тестирования на стабильность главное — уделять внимание температуре компонентов. И тут наилучшее решение — это программа HWiNFO.

Программа мониторит все важные данные о состоянии аппаратных компонентов компьютера, включая процессор, видеокарту, оперативную память, жесткие диски, сетевые карты, показания датчиков и т. д.



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

Почти все приложения, рассмотренные сегодня, распространяются совершенно бесплатно. Даже не обладая обширными знаниями в области компьютерного железа, можно самостоятельно проверить работу комплектующих, не прибегая к услугам шарлатанов из компьютерных мастерских.

Если же не выходит диагностировать неисправность самостоятельно, можно обратиться в DNS, где стоимость этой услуги составляет всего 500 рублей.

Возможность поиска и очистки больших данных имеет важное значение в 21 веке. Правильные инструменты являются обязательным условием для конкуренции с конкурентами и добавления преимуществ для вашего бизнеса. Я делаю список из 30 лучших инструментов для больших данных для вас.

Часть 1. Инструменты извлечения данных

Parsehub es un rastreador basado en web (web-based crawler). Puede extraer datos que manejan sitios web dinámicos con AJax, JavaScripts y detrás del inicio de sesión. Tiene una ventana de prueba gratuita de una semana para que los usuarios experimenten sus funcionalidades.

Import.io - это веб-инструмент для извлечения данных. Впервые он был запущен в Лондоне. Теперь import.io меняет свою бизнес-модель с B2C на B2B. В 2019 году Import.io приобрел Connotate и стал платформой для интеграции веб-данных . Import.io - это отличный выбор для бизнес-анализа.

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

Часть 2: Инструменты с открытым исходным кодом

KNIME Analytics Platform - аналитическая платформа. Это может помочь вам обнаружить бизнес-идеи и весь потенциал на рынках. Он предоставляет платформу Eclipse вместе с другими внешними расширениями для интеллектуального анализа данных и машинного обучения. Он предлагает более 2 тысяч модулей для профессионалов-аналитиков, готовых к внедрению.

OpenRefine (ранее Google Refine) - это мощный инструмент для работы с грязными данными : очистки, преобразования и связывания наборов данных. С его групповыми функциями вы можете нормализовать данные, как вам нравится.

Это бесплатное программное обеспечение языка программирования и графики и статистического расчета программного обеспечения. Язык R популярен среди майнеров данных для разработки статистического программного обеспечения и анализа данных. Заработайте кредиты и популярность в последние годы благодаря простоте использования и обширной функциональности.

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

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

Это отличное программное обеспечение для бизнес-аналитики, которое помогает компаниям принимать решения на основе данных. Как и большинству компаний, трудно получить ценность из данных. Платформа объединяет источники данных , включая локальную базу данных, Hadoop и NoSQL. В результате вы можете легко анализировать данные и управлять ими.

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

Weka - это набор алгоритмов машинного обучения для задач интеллектуального анализа данных . Алгоритмы могут быть применены непосредственно к набору данных или вызваны из его собственного кода JAVA. Он также подходит для разработки новых схем машинного обучения. С помощью графического интерфейса вы можете привлечь профессионалов, которым не хватает навыков программирования, в мир наук о данных.

Это программный пакет с открытым исходным кодом для Microsoft Excel. В качестве дополнительного расширения у него нет сервисов и функций интеграции данных. Основное внимание уделяется анализу социальных сетей. Интуитивно понятные сети и описательные отношения облегчают анализ социальных сетей. Являясь одним из лучших статистических инструментов для анализа данных, он включает в себя расширенные сетевые метрики, доступ к импортерам данных из социальных сетей и автоматизацию.

Gephi также представляет собой пакет программного обеспечения с открытым исходным кодом для визуализации и анализа сети, написанный на Java на платформе NetBeans . Подумайте об огромной сети отношений, которые вы видите, которые представляют соединения LinkedIn или Facebook. Gephi идет дальше, предоставляя точные расчеты.

Microsoft PowerBI предоставляет локальные и облачные сервисы. Впервые он был представлен как надстройка Excel. Вскоре PowerBI набирает популярность благодаря своим мощным функциям. На данный момент вы воспринимаетесь как лидер в аналитике. Он обеспечивает визуализацию данных и возможности бизнес-аналитики, которые позволяют пользователям творчески и инновационно создавать отчеты и информационные панели с минимальными затратами.

Solver специализируется на программном обеспечении корпоративного управления эффективностью (CPM). Его программное обеспечение BI360 доступно для локального и облачного развертывания, которое сосредоточено на четырех ключевых аналитических областях, включая финансовую отчетность, бюджетирование и информационные панели, а также хранилище данных.

Qlik - это инструмент для визуализации и анализа данных самообслуживания . Визуализированные информационные панели, которые помогают компании с легкостью «понять» эффективность бизнеса.

Tableau - это интерактивный инструмент визуализации данных. «В отличие от» большинства инструментов визуализации, которые требуют сценариев. Tableau помогает новичкам «преодолеть» трудности практической работы. Функции перетаскивания упрощают анализ данных. У них также есть «стартовый комплект» и богатый источник обучения, чтобы помочь пользователям создавать инновационные отчеты.

Fusion Table - это платформа управления данными, предоставляемая Google . Вы можете использовать его для сбора, просмотра и обмена данными. Это похоже на электронную таблицу, но гораздо более мощный и профессиональный. Вы можете сотрудничать с университетами, добавив их CSV, KML и набор данных электронных таблиц. Вы также можете опубликовать свою работу с данными и встроить ее в другие веб-ресурсы.

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

Он имеет инструмент обратной связи с клиентами, который собирает отзывы и мнения клиентов. Затем они анализируют языки, используя НЛП, чтобы прояснить положительные и отрицательные намерения. Просмотр результатов с графиками и таблицами на панелях. Также вы можете подключить HubSpot ServiceHub к системе CRM. В результате вы можете связать результаты опроса с конкретным контактом. Таким образом, вы можете выявлять недовольных клиентов и своевременно предоставлять качественные услуги, чтобы увеличить удержание клиентов.

Часть 5. Databases

Нет сомнений в том, что Oracle является чемпионом среди баз данных с открытым исходным кодом. Благодаря многочисленным функциям, это лучший вариант для компании . Он также поддерживает интеграцию различных платформ. Простота настройки в AWS делает его надежным выбором для реляционной базы данных. Высокий уровень безопасности для интеграции личных данных, таких как кредитные карты, делает их незаменимыми.

Он превосходит Oracle, MySQL, Microsoft SQL Server и становится четвертой по популярности базой данных. Обладая высокой стабильностью, он может обрабатывать большие объемы данных.

Это облачное программное обеспечение для баз данных, которое имеет широкие возможности таблиц данных для сбора и отображения информации. Он также имеет электронную таблицу и встроенный календарь, чтобы легко отслеживать задачи. Работать с вашими начальными шаблонами легко с помощью Lead Management, Bug Tracking и Lead Tracking.

Это бесплатная база данных с открытым исходным кодом для хранения, вставки, изменения и восстановления данных. Кроме того, Мария поддерживает сильное сообщество с активными членами для обмена информацией и знаниями.

Обзор инструментов для анализа вредоносных программ

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

Введение

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

Лаборатория

В целом, есть два пути создания лаборатории для тестирования вредоносных программ: можно использовать программное обеспечение для виртуализации, например VirtualBox или VMware, или же использовать старые, но все еще работающие компьютеры, которые, скажем, завалялись у вас дома.

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

Посмотрим, какие инструменты могут вам помочь в этом вопросе.

Инструменты

Возможно, вы будете удивлены, но для анализа вредоносных программ существует множество инструментов, многие из которых доступны бесплатно. Разложим типы инструментов, которые нам понадобятся, по пунктам:

  1. Программа для мониторинга процессов, похожая на диспетчер задач Windows, однако она располагает гораздо большими возможностями.
  2. Сетевой анализатор, подобный wirehark, чтобы изучить способ подключения вредоноса к его автору.
  3. Анализатор кода. Как правило, очень сложно деобфусцировать вредоносный код, но если это удастся сделать, у вас будет много информации.
  4. Бесплатный онлайн-анализатор вредоносных программ, такой, как перечислены здесь, чтобы автоматизировать эти действия.

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

ProcDOT

ProcDOT уникален в своем жанре. Фактически он объединяет две основные функции: мониторинг процессов и анализатор сети. Обычно эти два инструмента разделены, что значительно усложняет понимание того, как вредоносный процесс делится информацией.

Рисунок 1. Схема работы ProcDOT

Схема работы ProcDOT

ProcDOT решает эту проблему как инструмент «все-в-одном», поэтому его наличие в вашей лаборатории будем считать обязательным. Функциями ProcDOT являются:

  • Корреляция данных Procmon и PCAP
  • Представление в виде интерактивного графика
  • Режим анимации для легкого понимания аспектов тайминга
  • Умные алгоритмы для фокуса на релевантной информации
  • Обнаружение и визуальное представление вредоносных инъекций (thread injection)
  • Корреляция сетевых действий и процессов
  • Временная шкала активности
  • Полнотекстовый поиск содержимого графика, также отображается в строке временной шкалы активности
  • Фильтры для очистки ненужной информации (глобальные и сеансовые)
  • Поддержка различных режимов согласования

Чтобы загрузить ProcDOT, воспользуйтесь следующими ссылками: для Linux, для Windows.

Process Monitor v3.40

Process Monitor v3.40, как вы можете догадаться по его названию, ориентирован только на мониторинг процессов. Он предназначен для работы исключительно с Windows и представляет собой расширенный диспетчер задач, способный выполнять проверку работоспособности в реальном времени, а также фиксирующий детали процесса включая пользователя, идентификатор сеанса, командную строку и тому подобное.

Рисунок 2. Рабочее окно Process Monitor

Рабочее окно Process Monitor

Process Monitor v3.40 также позволяет регистрировать время загрузки для всех операций, он сочетает в себе функции двух программ sysinternal, которые в данный момент не поддерживаются, — Filemon и Regmon. Filemon предоставляет полезную информацию об активности системы, а Regmon подробно показывает использование реестра Windows.

Все эти функции делают Process Monitor v3.40 полезным инструментом, используемым для системного администрирования, компьютерной криминалистики и отладки приложений. Более того, он тоже полностью бесплатен.

Выводы

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

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

Читайте также: