Мы уже давно не заикаемся об ассемблере, поскольку привыкли к тому, что большая часть современной малвари пишется на C++, C# или даже VB. Однако из антивирусных компаний передают, что вирмейкеры XXI века пользуются не только классическими языками программирования. Оказывается, вполне злая и функциональная малварь теперь пишется на батниках, AutoIt, Lua, Python, 1C… Сегодня мы попробуем заглянуть под капот этому «программному обеспечению» и рассмотреть ключевые, ответственные за главный функционал участки кода.
Bat-скрипты
Если ты думаешь, что единственный возможный вариант такого рода малвари — это классический школьный батник со строкой format c: внутри, то ты ошибаешься.
Возможность автоматизировать всякие рутинные операции в системе с помощью bat-скриптов уже давно переросла в целое направление создания малвари, для которой почти все антивирусные компании отвели целый раздел в своих классификациях вредоносного программного обеспечения.
К примеру, с помощью команды ftp можно загрузить из сети нужный файл, сохранить его в нужном месте и запустить на выполнение, а также добавить этот файл в автозагрузку, написав внутри что-нибудь вроде этого:
В итоге получается простейший Bat.Downloader, который исправно будет выполнять свои функции.
Помимо этого, с помощью команды taskkill можно попытаться остановить работающие процессы мешающих вредоносному функционалу программ:
// Убиваем explorer.exe
@taskkill /im explorer.exe /f > nul
// Убиваем некий антивирус aver.exe. С большой вероятностью не получится
@taskkill /im aver.exe /f > nul
Обычно малварь перед началом своей деятельности проверяет наличие в системе антивирусов и далее действует по результатам. В bat-скрипте это можно сделать с помощью команды tasklist:
// Проверяем наличие процесса aver.exe
@for /F "delims=" %%A in ('tasklist /FI "imagename eq aver.exe"')
do @set sr=%%A
@if "%sr:~,11%"=="aver.exe" goto ff
...
// Процесс обнаружен
// Выполняем соответствующие действия
...
@goto bb
:ff
...
// Процесс не обнаружен
// Выполняем соответствующие действия
...
:bb
...
// Работаем дальше
Что касается непосредственно вредоносных действий, то здесь имеется достаточно широкое поле для деятельности: можно удалять или перемещать различные системные файлы, изменять содержимое конфигурационных файлов (в том числе и файла hosts), изменять значения в реестре, блокируя тем самым, например, возможность вызова taskmgr.exe или запрещая вносить изменения в реестр.
Вот так меняет содержимое файла hosts Trojan.BAT.Qhost.abq
Кусочек кода bat-winlocker’а BAT/LockScreen.B (выделена блокировка диспетчера задач, блокировка запуска командной строки и запрет на изменения в реестре)
В Сети можно найти большое количество генераторов bat-малвари. Конечно, всерьез воспринимать все то, что выходит из-под пера этих генераторов, вряд ли стоит, но для не слишком искушенных пользователей даже остановка explorer.exe может стать неразрешимой проблемой.
Один из многочисленных генераторов bat-малвари
Для приведения вредоносных скриптов в более привычный вид исполняемого файла создатели этих скриптов нередко пользуются утилитами конвертации типа bat2exe. Это работает, хотя ни о какой полноценной компиляции здесь говорить не приходится: сам скрипт пишется в exe-файл в виде ресурсов, а затем вызывается cmd.exe, где скрипт и выполняется.
Самораспаковывающиеся архивы
Self-extracting archive (SFX-архивы), а точнее возможность сложить несколько файлов в один архив с автоматическим запуском одного из них после распаковки уже давно приглянулись распространителям сомнительного софта и контента. Зачастую в эти архивы кладут вполне легальные программы вместе с конфигурационным или запускающим батником (или скриптом на VBS), который позволяет использовать такие архивы с не совсем благими намерениями.
К примеру, SFX-архив RemoteAdmin.Win32.RAdmin.20 содержит в себе серверный модуль широко известной утилиты удаленного администрирования Radmin и bat-скрипт, с помощью которого производится конфигурирование и скрытый запуск серверного модуля Radmin. Свою конфигурацию Radmin хранит в реестре, и скрипт, находящийся в архиве, перед запуском Radmin’а прописывает необходимые параметры в нужных ветках реестра.
С появлением в широком обиходе различных криптовалют SFX-архивы полюбились и многим желающим помайнить цифровую наличность на чужих вычислительных мощностях. В большинстве случаев утилиты для майнинга состоят из нескольких файлов, и самораспаковывающийся архив как нельзя лучше подходит для того, чтобы все эти файлы туда спрятать. Разумеется, в архив помещается bat- или VBS-скрипт, запускающий все это дело с нужными параметрами.
В некоторых SFX-архивах такого рода также содержится утилита Hidden Start, которая обеспечивает скрытый запуск основной программы вредоносного архива.
AutoIt
Изначально AutoIt предназначался для автоматизации и выполнения часто повторяющихся задач (например, инсталляции софта на большое количество компьютеров). В более поздних версиях язык обрел черты большинства распространенных языков общего назначения.
В настоящее время на AutoIt пишется довольно большое количество малвари. Язык позволяет взаимодействовать с системой на достаточно низком уровне и поддерживает вызов API-функций. Например, чтобы внедрить свой код в какой-нибудь процесс, нужно написать нечто вроде:
Помимо всех возможностей этого языка, большим плюсом для создателей малвари выступает возможность обфускации кода при его компиляции. Для этого достаточно в начале программы написать две строки вида:
// Запустить обфускатор перед компиляцией
#Autoit3Wrapperr_Run_Obfuscator=y
// Установить параметры обфускации
#Obfuscator_Parameters=/StripOnly /OM
В целом, если не принимать во внимание объем создаваемого компилятором AutoIt исполняемого кода, язык неплохо справляется с большинством задач, которые ставят перед собой вирусописатели. Нередко попадаются весьма продвинутые экземпляры, использующие разные техники внедрения и сокрытия кода, шифрование тела малвари и прочие хитрости.
Python, Lua и прочая экзотика
Несмотря на то что Python — настоящий хакерский язык программирования, малварь на нем под винду встречается не очень часто. В большей степени написание ее оправданно для OS Х или Linux, в которых Python установлен вместе с системой.
Сомнительный Python-скрипт для Linux под названием Backdoor.Python.RShell
Python-скрипт для Mac Backdoor.Python.Aharm.a
Для винды вредоносные Python-скрипты, как правило, компилят в исполняемый файл (на самом деле это тоже не полноценная компиляция — в exe-файл кладется сам скрипт и интерпретатор Python’а).
Что касается языка программирования Lua, то самым известным вредоносом, который был написан с его использованием, был Worm.Win32.Flame. Для большей части компонентов этого червя логика верхнего уровня реализована именно на Lua. Всего в Worm.Win32.Flame можно насчитать 57 Lua-компонентов, каждый из которых выполняет какую-либо вредоносную функцию. К примеру, скрипт ATTACKOP _ JIMMY _ PRODS.lua производит атаку на другой ПК, скрипт с названием casafety.lua служит для обнаружения антивирусного ПО, CRUISE _ CRED.lua — для кражи учетных данных, а euphoria.lua эксплуатирует уязвимость в LNK-файлах.
Часть списка Lua-скриптов из состава Worm.Win32.Flame
Кусочек скрипта ATTACKOP _ JIMMY _ PRODS.lua
Заключение
Как показывает повседневная практика вирусных аналитиков, вредоносный код можно написать на чем угодно, и в коллекциях семплов вредоносного кода многих антивирусных компаний встречаются весьма экзотические образцы, написанные, к примеру, на встроенном языке программирования системы «1С:Предприятие» (Virus.1C.Bonny.a, Virus.1C.Bonny.b или Virus.1C.Tanga.а). Мы можем называть перечисленные в статье поделки странными и нетипичными, но они есть, они работают, а «1С:Предприятие», как известно, установлено на очень большом количестве компьютеров нашей родины…
Компания Topface провела расследование инцидента с утечкой 20 млн почтовых адресов пользователей сайта знакомств. Около недели назад база появилась в продаже на одном из подпольных форумов.
Как сообщалось, база не содержит паролей к аккаунтам, а только имена пользователей и почтовые адреса.
По результатам расследования удалось выявить уязвимость, через которую хакер получил доступ к адресам электронной почты пользователей, сообщается в официальном блоге Topface.
«Касательно характера утечки — речь идет только о самих адресах электронной почты — мы уверены, что доступа к другой информации — ни к паролям, ни к содержанию самих аккаунтов (личная переписка или фотографии) у взломщика не было, — сказано в официальном блоге. — В связи с тем, что мы не храним платёжной информации, а авторизация более чем 95% пользователей происходит через социальные сети, мы уверены, что третьи лица не могли получить ни к каким секретным данным пользователей. Тем не менее, мы уведомили тот небольшой процент наших пользователей, которые используют электронную почту в качестве логина в нашем сервисе, о необходимости профилактической смены паролей.
Мы смогли найти и связаться с хакером, который опубликовал объявления о продаже базы (а потом удалил их). Он подтвердил результаты нашего расследования, а также заключил с нами соглашение о дальнейшем нераспространении полученной им базы адресов электронной почты. В связи с тем, что он никому не продавал полученные данные и не собирается делать этого в будущем, мы не будем привлекать его к ответственности, более того, мы выплатили ему премию за обнаруженную уязвимость и договорились о дальнейшем сотрудничестве в сфере безопасности данных. Также, мы хотели бы поблагодарить компанию Easy Solutions, первую обнаружившую объявление об утечке и оказавшую содействие в нашем расследовании.
Несмотря на то, что мы уверены в отсутствии каких-либо последствий данного инцидента для пользователей, мы сожалеем о причиненных неудобствах и значительно усиливаем меры по охране данных на сервисе».
В наше время цикл жизни смартфона обычно составляет всего несколько лет. Хотя девайс остаётся работоспособным, но производители техники склоняют пользователей покупать новое устройство.
Но старому смартфону или планшету тоже можно найти полезное применение. Например, использовать его как камеру видеонаблюдения. Специально для этих целей разработано приложение Salient Eye для операционной системы Android, которое можно бесплатно скачать из каталога Google Play. Версия для iOS скоро выйдет, хотя в App Store можно найти и альтернативы, например, приложение Manything.
На видео показано, как работает программа. Камера постоянно активна, а если в кадре обнаружено движение, то Salient Eye отправляет сообщение хозяину по SMS или электронной почте. Одновременно активируется запись видеопотока. Видео сохраняется на бесплатный облачный хостинг. Через несколько секунд после начала видеозаписи активируется звуковая сигнализация (вероятно, с целью испугать вора). Чтобы отключить звук, нужно ввести пароль.
Программа нормально работает и при отсутствии подключения к сотовой сети или WiFi, хотя в таком режиме, естественно, отсутствуют функции уведомления по SMS и электронной почте. Однако, Salient Eye всё равно записывает видео и включает звуковую сигнализацию.
Разработчик заявляет, что программа работает 10 часов от одного заряда аккумулятора, но на всякий случай лучше подключить смартфон к электрической сети, мы ведь не хотим остаться без видеонаблюдения в самый неподходящий момент.
Исследователи из Массачусетского технологического института разработали технологию, которая позволяет определить личность человека по истории его платежей с банковской карты. Авторы научной работы показали, что для идентификации конкретного гражданина с точностью 90% на выборке 1,1 млн человек достаточно истории платежей за три месяца.
Такой результат получен, если учитывать только даты покупок и географические координаты. Но если принимать в расчёт суммы покупок, то точность идентификации значительно повышается. В частности, достаточно всего лишь трёх записей из базы данных, чтобы идентифицировать человека с точностью 94% (на той же выборке 1,1 млн человек).
Исследователи говорят, что результаты научной работы демонстрируют, почему история платежей по кредитным картам представляет собой такую ценность. Хотя эта информация представляется банками в анонимном виде, но в реальности есть довольно простой способ распознать личность конкретных людей.
Аналогичную работу по деанонимизации клиентов могут осуществлять и магазины. Для них это несёт конкретную пользу, ведь анализ истории покупок человека позволяет выдвинуть персонализированное предложение для него, как в истории про девушку, о беременности которой система аналитики магазина узнала раньше, чем её родной отец.
Президент США Барак Обама огласил план бюджета на 2016 финансовый год. Характерной особенностью этого плана стало увеличение расходов на кибербезопасность. С нынешних $12,5 млрд они выросли до $14 млрд.
Информационные технологии являются одной из самых актуальных статей расходов в американском бюджете. По крайней мере, с каждым годом на них выделяется всё больше денег. Так, в 2013 году на это направление выделили $10,3 млрд, годом позже — $12,5 млрд, а сейчас и вовсе $14 млрд.
Деньги планируется направить на внедрение систем распознавания и предотвращения вторжений, распространение систем по обмену данными об атаках между государственными и частными компаниями, а также информационный обмен с другими странами.
В плане финансирования предусмотрена поддержка нескольких программ, в том числе программы по мониторингу и диагностике федеральных компьютерных сетей, системы EINSTEIN для распознавания атак и общенациональной программы курсов квалификации для сотрудников. Вдобавок, $227 млн предлагается потратить на строительство Civilian Cyber Campus, а ещё $160 млн — на программу информационной защиты Национальной администрации по ядерной безопасности министерства энергетики.
Бюджетное предложение Обамы ещё предстоит одобрить Конгрессу. Пока неизвестно, сколько средств контролируемый республиканцами парламент согласится выделить на кибербезопасность. Нужно учитывать, что на ИБ предусмотрена отдельная статья расходов Пентагона: а это, ни много ни мало, $5,5 млрд.
6-7 февраля 2015 в Digital October пройдет первый общероссийский форум PGCONF.RUSSIA 2015.
В России уже сложилось сообщество пользователей PostgreSQL, среди которых несколько человек являются ведущими разработчиками и авторами многих значимых подсистем PostgreSQL. Сообщество уже провело несколько встреч – PgDay минувшим летом собрал в Санкт-Петербурге около 300 человек, а сентябрьская встреча в «Яндексе» – около 200 человек. Также, представители сообщества собирают целые залы на крупнейших конференциях в России и за рубежом.
PostgreSQL – это свободно распространяемая объектно-реляционная система управления базами данных (ORDBMS), наиболее развитая из открытых СУБД в мире и являющаяся реальной альтернативой коммерческим базам данных. PostgreSQL обеспечивает высокий подтвержденный опытом уровень надежности, расширяемости, сохранности данных и качественную поддержку со стороны сообщества.
Крупные коммерческие компании, например Avito, уже активно используют PostgreSQL и строят свой бизнес на его основе. Проявляют интерес к PostgreSQL и крупные финансовые институты, перед которыми возник вопрос об импортозамещении и независимости от крупных иностранных поставщиков.
Цель форума – собрать вместе всех разработчиков, пользователей и администраторов PostgreSQL, а также представителей бизнеса, государственных органов и компаний, стоящих перед выбором платформы, для свободного обмена знаниями по интересующим их вопросам. Таким образом, государство должно увидеть зрелость сообщества PostgreSQL и его способность решать сложнейшие задачи. На форуме предполагается обсудить альтернативы коммерческим продуктам в системах, важных для государства и бизнеса, продемонстрировать возможность использования свободно-распространяемых продуктов, в т. ч. PostgreSQL, в критически важных приложениях.
В конференции примут участие ведущие российские и зарубежные разработчики, представители компаний, внедряющих PostgreSQL. В рамках сформированной программы форума будут обсуждаться альтернативы коммерческим продуктам в системах, важных для государства и бизнеса, возможность использования в критически важных приложениях, эксплуатация высоконагруженных систем, инструменты для администрирования и разработки масштабируемых приложений.
Корпорация Microsoft выложила в открытый доступ исходный код движка CoreCLR, который является ключевым элементом .NET Core, осуществляя различные функции, в том числе сборку мусора и компиляцию в машинный код.
Систему .NET Core можно использовать в различных сценариях, например, для разработки консольных утилит или веб-приложений. Для освоения Microsoft рекомендует прочитать статью с введением в .NET Core.
Microsoft позволяет делать форки и использовать исходный код каким угодно образом. Доступна последняя версия .NET Core, которая включает в себя RyuJIT и .NET GC и другие компоненты .NET.
Нужно заметить, что ещё раньше Microsoft выложила в открытый доступ библиотеки .NET Core, так что это явно демонстрирует новую стратегию Microsoft по улучшению отношений с сообществом open source.
Пока что .NET Core работает только под Windows, но Microsoft обещает в ближайшие несколько месяцев выпустить версии под Linux и Mac OS.
Microsoft говорит, что код CoreCLR очень похож на CoreFX, который опубликовали раньше. По размеру он занимает 2,6 млн строк, в том числе 320 тыс. строк JIT и 55 тыс. строк GC.