История борьбы с трояном-файлошифровальщиком – поход в центр управления за ключом

Введение


История началась с того, что в начале дня раздался звонок. Взволнованный голос клиента рассказал, что комп не загружается, документы не открываются, а вместо привычного рабочего стола на экране угрожающая надпись с приблизительным смыслом: «заплати нам деньги и мы вернем тебе рабочий стол и документы». Знакомая многим ситуация: вероятнее всего на компьютере очередной винлокер, работы по выпилу вымогателя займут максимум 10 минут.

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

Получил системник, включил. Загрузился виндовс ХР. Появился рабочий стол – никаких признаков винлокера, с первого взгляда все нормально. Однако, попытавшись открыть первый попавшийся документ с рабочего стола, получил в ответ «страшное» сообщение:

image

Естественно, как и любой человек, который не первый раз сталкивается с троянами-вымогателями, я отнесся к данному тексту с изрядной долей скепсиса. Наверняка, подумал я, здесь все дело в обычной программе, которая перенастроила на себя обработку открытия файлов с расширением .doc и .xls для того, чтобы пугать неопытных пользователей текстом с непонятными словами. Чтобы убедиться в этом предположении и поймать программу-хулигана, загрузил компьютер с образа для восстановления системы, открыл диск C в файловом менеджере и увидел совсем нерадостную картину: все файлы на локальных дисках внезапно приобрели расширение M5bFu, а их содержимое стало похоже на результат работы генератора случайных чисел. От прежнего содержимого файлов не осталось ни следа.

Итак, сообщение о том, что файлы зашифрованы оказалось чистой правдой. Зашифрованными оказались все файлы размером менее 2 гигабайт с расширением doc, xls, dbf, avi, jpg, txt, rar, zip – в общем все, что может представлять ценность для владельца информации. Среди зашифрованных файлов – база 1С и важные документы. Если 1С еще можно было восстановить из свежего бэкапа, то пропажа ценных документов и фотографий могла бы сильно пошатнуть здоровье клиента. Таким образом, выбора не было – пришлось взяться за расшифровку данных.

Этап 1. Поиск алгоритма шифрования


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

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



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

Таким образом, пришлось принять как гипотезу использование шифра RC6, указанного в сообщении от создателей трояна. Впоследствии гипотеза подтвердилась, а именно шифрование выполнено алгоритмом RC6 с длиной блока 16 байт, причем применяется он «влоб», по блок-схеме. Авторы реализации даже не озаботились о шифровании неполных блоков, менее 16 байт, оставив их как есть, незашифрованными.

Итак, алгоритм известен. Осталось дело за малым: найти ключ.

Этап 2. Поиск ключа


Для поиска ключа найдем сначала тело вредоносной программы (или то, что от этого тела осталось). В каталоге %SYSTEMROOT%\System32 находим 2 «лишних» exe-файла: system.exe и еще один исполняемый файл с рандомным именем (H3w2DWg.exe). Оба файла являются частью заразившего систему троянца, однако ни один из файлов на момент обнаружения (апрель 2012 года) не опознавался антивирусами как вредоносный. На данный момент некоторые антивирусы опознают троянскую программу верно как Trojan.Encoder.136 (DrWeb) или как Win32/Filecoder.AF (ESET-NOD32), однако большинство антивирусов в лучшем случае думают что это просто слегка подозрительный файл. Вот ссылка на virustotal.

Раз троянец не опознается антивирусами, придется препарировать его самому. Вооружившись hiew32, OllyDbg и виртуальной машиной, приступил к вскрытию. Вскрытие показало, что файлы троянца не упакованы, не зашифрованы и написаны на Borland Delphi. Внутри также были обнаружены ссылки на зашифрованные файлы account.cfg, config.cfg и lock.cfg, лежащие также в %SYSTEMROOT%\System32. Путем отладки в недрах exe-файлов также был найден некий ключ в виде строки символов «1kv9yha029v9vi71xioa7h812ga811n9» длиной 32. С помощью этого ключа троянец расшифровывал файл lock.cfg.
Осталось понять каким образом данная строка преобразуется в ключ RC6. Длина ключа RC6 – от 128 бит и больше. В качестве первой попытки попробуем преобразовать каждый символ в 8-битное представление через ASCII-код. В результате получаем ключ длины 32*8=256 бит. Пишем программу на С++, подаем программе на вход ключ и файл lock.cfg. Запускаем процесс расшифровки. Неудача. Файл не расшифровался.

Какие остались варианты? Самый долгий и кропотливый – выдернуть алгоритм формирования ключа отладчиком из исполняемого файла. Оставил этот вариант на крайний случай из-за его избыточной трудоемкости. Вместо этого немного подумаем и поставим себя на место создателей вредоносной программы. Вряд ли авторы трояна самостоятельно реализовывали алгоритм шифрования. С большой вероятностью готовая реализация алгоритма на дельфи была скачана из интернета. Также вряд ли использовались готовые скомпилированные библиотеки, в них криптоалгоритм был бы реализован гораздо качественнее и уж точно не оставлял бы незашифрованными блоки менее 16 байт. Делаем вывод, что в троянце скорее всего использовалась студенческая учебная программа, исходники которой злоумышленники стащили из интернета.

Залазим в Гугль и ищем что-нибудь по ключевым словам Delphi RC6. Находим ссылку http://www.delphi-club.ru/delphi/rc6_encryption.html. Так и есть, модуль на Дельфи, который шифрует файл блоками без гаммирования и оставляет незашифрованным последний блок длиной менее 16 байт. Берем из реализации особенности формирования ключа, переписываем их на С++, компилируем программу расшифровки. Скармливаем программе 32-символьный ключ, пытаемся расшифровать файл lock.cfg. Опять неудача.

Остался вариант с OllyDbg и телом троянца. Не буду утомлять подробностями получения секретного алгоритма, по которому формировался ключ, тем более что сама процедура заняла не так уж много времени. Секрет был прост. Строка символов с ключом считывалась из ресурсов файла в кодировке ASCII (32 символа=32 байта), затем (видимо самим Delphi) преобразовывалась в UTF-16LE – получалось 64 байта (на практике байты просто разбавлялись нулями). И этот результат уже скармливался известному, благодаря исходникам на дельфи, алгоритму получения ключа. Длина ключа на выходе — 512 бит.

Полученным ключом файл lock.cfg был успешно расшифрован. Внутри файла обнаружился ключ к файлам config.cfg и account.cfg, а также список доменных имен сайтов для блокировки через файл hosts и список «вредных» по мнению троянца процессов (антивирусы, файрволлы) – тоже, вероятно, для блокировки.

Файл account.cfg содержал пару дополнительных ключей (в том же формате строки из 32 символов), номер счета на Деньги@Mail.ru, чей-то e-mail адрес, сведения о зараженном компьютере и еще какую-то мелкую информацию. В файле config.cfg, помимо всего прочего, был ip-адрес компьютера, который, по всем признакам, являлся управляющим сервером вредоносной программы.

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

Этап 3. В центр управления за ключом


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

На виртуальную машину была установлена чистая операционная система, на основной машине запущен WireShark, на виртуальной – троянец. Выяснилось, что для связи используется незашифрованное соединение через TCP-порт 80. При первичном заражении на сервер уходят данные компьютера (ОС, процессор, память), а с сервера скачиваются дополнительные модули троянца, а также dll-файлы библиотеки SSLeay, которые затем используются для работы с сайтом Деньги@Mail.ru.

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

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

Обмен с управляющим сервером ведется в формате: «команда клиента – ответ сервера». Покопавшись в недрах вредоносной программы, вытащил список допустимых команд: mail, rekey, key, check_pay, get_masks, ssl, winlock и много других. Из WireShark’а узнал формат клиентских команд и параметров. Настало время экспериментов. Зайдя на сервер с помощью telnet и представившись зараженным компьютером (команда client_info с параметром в виде ключа), ввел команду key, в ответ на которую получил готовый ключ для расшифровки файлов.

В итоге дописал программу на С++, расшифровывающую все файлы на диске. Клиент получил обратно все свои файлы и рабочий стол впридачу.

Заключение


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

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

Подробнее
Реклама
Комментарии 263
  • +25
    Если бы при команде key выполнялась проверка на оплату, ничего бы не вышло
    • +2
      Троянцу надо получать свой ключ для продолжения шифрования файлов, поэтому проверки быть не может…
      • +2
        Можно устроить.
        Первый раз троян запрашивает ключ без оплаты и сервер его отдает без проблем.
        Но на повторных он уже будет вести проверки, совершена ли оплата по данному токену.

        Если да, держи ключик, если нет, то держи ошибку.

        Единая трабла — новые файлы он не сможет дошифровать.
        • +14
          Подход просто неправильный… RC6 дешевый алгоритм в плане скорости… надо было брать любой потяжелее, но с открытым ключем, тогда ключ для дешифровки получить бы не удалось. (надеюсь, школота, пишущая подобные «вирусы» — это не читает)
          • 0
            Очевидно даже для школоты.
            А если алгоритм тяжелый — можно просто выборочное шифрование делать.

            Но какая кому разница, если даже дешевые поделки работают?
            • 0
              Вот и я так подумал.
              Моих знаний, к примеру, не хватилось бы, чтоб разобраться в этом, в результате я бы 100% потерял старую инфу.
              То, что троянчик не сможет новые файлы шифровать — не беда, свещие данные намного проще получить, чем откопать старые исходники, например…
            • 0
              Шифрование ассиметричным алгоритмом достаточно «дорого», измеряется в лучшем случае сотнями килобит в секунду.
              • +6
                Ну так давно уже все придумано — генерируем ключ, все шифруем симметричным алгоритмом с этим ключом, сам ключ шифруем ассиметричным — стандартная схема…
                • +3
                  Вот не надо подсказывать, а то вымогатели выпустят новую версию, где шифрование сделано правильно.
                  • 0
                    Да не я первый — ниже уже человек 5 то же предложили… ИМХО если вымогатели ходят на хабр, то и как пользоваться симмеричным шифрованием могут хотя бы в той же Википедии прочитать.
              • +2
                Читает.
                • +1
                  Сочетаем быстрое и надежное:
                  1. Новый агент при первом запуске генерирует свой уникальный номер, в который включает серийные номера железа, номер и имя пользователя и прочую информацию, которая с большой долей вероятности останется неизмененной на время жизни агента.
                  2. Агент связывается с сервером и отправляет свой номер.
                  3. Сервер генерирует пару закрытый-открытый ключ для асимметричного алгоритма, например, RSA, и отправляет агенту в ответ открытый ключ.
                  4. Агент сохраняет открытый ключ.
                  5. Агент проходит по списку всех «интересных» файлов в системе и для каждого генерирует полностью случайный уникальный ключ.
                  6. Файл соответствия ключей затем шифруется асимметричным алгоритмом при помощи открытого ключа, полученного от сервера, и хранится в общедоступном месте под провокационным названием, при желании — вместе с открытым ключом.
                  7. Каждый файл из «интересного» списка затем шифруется его персональным ключом при помощи какого-нибудь быстрого симметричного простого алгоритма.
                  8. Готово! Можно вымогать деньги.
                  • +1
                    Можно проще — зачем на каждый файл свой ключ? Нормальный симметричный алгоритм с обратной связью вполне позволит зашифровать все файлы одним ключом…
                    • +1
                      Вы исходите из предположения, что ключ для симметричного алгоритма нельзя каким-то образом восстановить. Вынужден признать, что в большинстве случаев это так и есть :), но есть вероятность того, что наличие открытой копии зашифрованного файла и достаточные вычислительные ресурсы позволят открыть ключ для одного из файлов, расшифровав тем самым все остальные. Да, я знаю, что AES не подвержен known-plaintext attack, но так как накладные расходы на хранение уникальных ключей настолько низки, а повышение устойчивости системы в целом пропорционально количеству файлов, имеет смысл это реализовать.

                      Простая оценка — в моей домашней директории порядка 150 000 файлов. Если для каждого файла хранить sha512-хеш полного пути (64 байт), 32 байта ключа, 16 байт IV, получим в сумме 112 байт на файл. Даже если добить одну запись до 128 байт (резервные поля для будущих версий), получим страшную цифру в 18 МиБ на все, что, в принципе, себя оправдывает.
                      • 0
                        AES — симметричный алгоритм. При чём тут ассиметричные ключи?
                        • 0
                          А где я говорю про асимметричные ключи?
                        • 0
                          Даже AES-128 не вскрыть на домашнем компе. Я согласен с вашим подходом если бы мы разрабатывали, скажем, систему криптохранения файлов «на века» или что то в этом роде (хотя и там просто делается контейнер и шифруется одним ключом) — но для трояна ИМХО это все ненужное усложнение системы.
                      • +1
                        Применять уникальные ключи для файлов имеет смысл потому, что шифрование — процесс не мгновенный, он может быть прерван выключениями компьютера и т.д. Ключ нельзя хранить на диске — иначе аналитик его там найдет. Только в памяти. Поэтому, как минимум после каждой перезагрузки, нужно генерировать уникальный ключ. Это очень просто делается средствами CryptoAPI.
                  • 0
                    Можно использовать ассиметричное шифрование. И при запросе ключа проверять статус оплаты.
                    • 0
                      ассиметричное в чистом виде нигде не используется
                      • 0
                        Почему это? Вполне себе используется. Тот же RSA.
                        • НЛО прилетело и опубликовало эту надпись здесь
                          • +4
                            Из этого вытекает другое решение. Зловред генерирует рандомный ключ под симметричный алгоритм, шифрует им данные, а затем шифрует сам ключ захардкоденным или скачанным открытым ключем RSA. Мне такой вариант кажется более правильным (хотя блин, тяжело соотнести «правильно» и «злонамеренная порча данных с целью вымогательства»).
                          • +1
                            По факту RSA — очень медленный алгоритм (несколько КБ/сек). Поэтому в реальности RSA шифруется только случайный сессионный ключ для какого-нибудь симметричного алгоритма (обычно AES — благо, современные процессоры имеют специальные наборы инструкций для него).

                            UPD: опередили
                      • +3
                        А что если бы шифрование происходило открытым ключом (специально созданной под сессию парой)? Не дай, конечно, Бог злоумышленникам это реализовать. Проверка оплаты я вообще не понимаю зачем на клиентской машине. Конечно в плане автономности данное решение лучше, но в плане защищенности, можно же было даже фейковый яндекс мани под это сделать, чтобы бот, проверив оплату. удостоверился, что деньги поступили и дальше запустил механизм расшифровки.
                        Т.е. самый злой вариант, который я могу представить, это шифрование открытым ключом, проверка оплаты на стороне сервера и передача закрытого ключа для расшифровки после поступления оплаты. Честно говоря меня всегда пугала перспектива появления подобных вещей, тут мне кажется не столько техническая сторона вопроса, сколько моральная. Ведь каким надо быть мудаком чтобы такое сделать.
                        • +3
                          Наверно у Вас еще много хороших идей? Продолжайте, очень интересно
                          • +6
                            Вы думаете тот, кто может реализовать подобное не сможет до этого додуматься и выуживает информацию из подобных топиков? Для того, чтобы строить защиты нужно понимать как работают зловреды и где-то мыслить как они. Без этого, к сожалению, никак.
                            • –1
                              Свои мысли я изложил чуть ниже… повторюсь — те кто писал этот код только учаться и многого еще не умеют. В комментариях большинство занято тем что рассуждают как сделать код более устойчивым к ошибкам и тем самым помогают в обучении пободным юнцам. Вопрос — зачем? свою гордость потешить? показать что Вы знаете как лучше писать зловлеров чем эти юнцы? :-)
                              Я всегда радовался тому что профессионалам Ваши 500 рублей не нужны, они заработают куда больше с меньшим кол-вом пыли, а вот натасканная молодежь может крови попить почти на пустом месте.

                              • +1
                                Ограждение людей от знаний в данном случае проблему не решит. Тем более всё здесь упомянутое это тривиальные общеизвестные вещи.
                                • –1
                                  Тривиальные, но почему то этими тривиальными вещами не воспользовались, а вы их на блюдечке приносите. Вас не удивляет почему у военных есть секретность? почему ведущие антивирусные компании не трубят на всех углах КАК они лихо всех побеждают, не рассказывают как они это делают всем и каждому, не проводят семинары «вы все дураки, вирусы нужно писать вот так».
                                  Наверно помните случай как американский подросток «косил» по морского котика и разместил фотографии в униформе на своей странице в фэйсбуке? его потом долго пытали. Когда его освободили люди в масках прокомментировали его поведение как «дебил, мы скрываем информацию о себе потому что идет война, не стоит дарить подарки врагу».
                                  PS: то что для Вас очевидно, для какого нибудь писателя будет «О, надо же, щас ...»

                                  • +1
                                    Срочно запретить продажу книг по криптографии и о внутреннем устройстве Windows.
                                    И не надо панически бояться того, что некое знание будет использовано во вред. Рано или поздно это все равно произойдет, вы лишь пытаетесь отодвинуть этот момент во времени, но забываете что благодаря тому, что данная информация открыта, умный человек уже думает не только о том, как ею воспользоваться во зло, но и как с этим бороться.
                                    • 0
                                      Я не предлагаю скрывать информацию, но предлагаю не указывать на ошибки вирусописателей и не проводить коллективных треннингов «ты не прав, надо было протокол защищать вот так».
                                    • 0
                                      Здесь же не примеры кода пишут, а идеи. Не стоит недооценивать «школьников», они и без нас догадаются. А вот знать что еще можно ожидать полезно.

                                      Я ниже написал в основном для тех кто думает, что «цена в 500р не такая и большая». Иначе после этой дискуссии у людей отложится в голове «надо только заплатить и все будет ОК». А ведь мало того что гарантий никаких нет, так даже если платить, это надо делать с отдельной чистой машины. Много ли людей об этом задумаются, когда «диплом горит» или что-то в этом роде?
                                      • 0
                                        они и без нас догадаются.
                                        Странно, но этот не догадался, представляете как было бы весело автору статьи будь «школьник» посообразительней и будь у него под рукой поваренная книга рецептов :-)
                                        А как было бы весело Вам, узнав, что все ваши файлы зашифрованы, ключа нет и не предвидиться, сервер работает по защищенному каналу только пассивно и включается в коммуникацюи только после поступления платежа, классные ведь советы здесь привели и это только маленькая толика того как можно защитить свое «детище», после этого либо нести денежку либо форматировать винт :-))))
                                        • 0
                                          Мораль сей басни: не надо надеяться, что у вирусописателей всегда будут пробелы в образовании, не надо и готовиться нести деньги непонятно кому. Надо учиться делать резервные копии, т.к. это единственное 100% средство предотвращения ущерба.
                                          • 0
                                            Даже не все админы делают бэкапы, хотя для них это должностное преступление. Надеятся что бэкапы будут у обычных пользователей… кмх… наивно.
                                            Я верю что Вы себя сможете защитить, как и многие на этом ресурсе, но речь ведь идет о пользователях вообще и на нас с вами в т.ч. лежит ответсвенность будем ли мы помогать шантажистам и прочей нечести или нет.
                                            • 0
                                              Надо делать бэкапы за него — теневые копии всякие, тайм-машины и облака, это ведь принуждение к правильному :)
                                              • 0
                                                Святая обязанность любого будущего вируса-вымогателя первым делом убивать все известные резервные копии стандартных пользовательских бэкаперов…
                                                • 0
                                                  Святая обязанно делателя бекапов — оффлайн хранение и использование worm.
                                                  • 0
                                                    Ок, вирус с часовым механизмом. Вин чих помните? Заразил систему — выждал день-два-неделю-год, начал промышлять: сначала размножаться и заражать, по таймеру — шифровать файлы. При таком подходе с очень большой вероятностью бэкапы заражены и, если вирус пропишется в предзагрузку системы (к примеру, как это делают антивирусы или дефрагментаторы, чтоб работать с системными файлами)…

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

                                                    Конечно это снижает эффективность вируса и дает возможность частично восстановить данные из бэкапа…
                                                    • 0
                                                      Не совсем понял механизм работы в последнем комментарии. Будет просто так — обнаружили вирус, выключили систему, вытащили сохранившиеся данные, остальные из бэкапа (если в последнем уже зашифрованы — смотрим назад, прошлый бэкап, до момента пока не найдём нешифрованные), после этого систему форматировать под ноль, накатывать ос/софт и в конце данные.

                                                      Все остальные методы — от лукавого :)
                                                      • 0
                                                        >Будет просто так — обнаружили вирус.

                                                        Сложно обнаружить то, что ничего не делает.

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

                                                        Т.е. нужно разделить действие вируса во времени на несколько фаз:
                                                        — заражение
                                                        — спящая фаза
                                                        — распространие
                                                        — вредоносная фаза (шифрация данных, удаление данных, выжигание матрицы монитора и т.д.).
                                                        • 0
                                                          Все равно не понимаю. Если вирус ничего не делает, то в чём с ним проблема? Если вирус шифрует данные, пусть и помаленьку — то его обнаружат, и дальше будет по моему сценарию.
                                                          • 0
                                                            >Если вирус ничего не делает, то в чём с ним проблема? Если вирус шифрует данные, пусть и помаленьку

                                                            Это делает один и тот же вирус. Сначала ждет, чтоб пройти карантин, закопаться поглубже в бэкапы, и т.д. Ведет себя как партизан. Потом по таймеру начинает действовать, что почти автоматически означает его деконспирацию. Но уже поздно: вирус в бэкапах и т.д. При разворачивании бэкапа вирус не будет выжидать карантин, а приступит немедленно к текущей фазе — к вредительству.
                                                            • 0
                                                              Вы понимаете, что вирус это просто программа, а не какой-то там злой дух? Как он развернётся из бэкапа, если оттуда восстановить только данные? Программы из бэкапа при вирусном заражении не восстанавливают.
                                                              • 0
                                                                Макровирусы опровергают вашу теорию.

                                                                К примеру, можно написать вирус, который будет прятаться в базе данных MS SQL и при разворачивании базы активизироваться.
                                                                • 0
                                                                  Т.е. пишется макро-вирус дроппер для подмешивания к данным, который будет разворачивать вирус-хозяин.

                                                                  Развернули базу MS SQL, 1С, открыли документ Автокад, Ворд, Excel, и т.д. — произошло само-заражение.
                                                                  • 0
                                                                    Макровирусы? Вы серьезно? Вот вам небольшой список причин, почему вероятность этого ничтожна — а) Современные форматы офисных файлов не содержат макросы, только специально сохраненные (это отличается на глаз, по расширению), б) современные офисные продукты не запускают макросы на выполнение, пока 100 раз не переспросят, с) в современных офисных продуктах значительная часть функционала перекрыта, д) антивирусы реагируют на макросы в файлах ну очень параноидально. В общем, не слышал ни одной истории заражения за последние лет пять наверное (хотя это конечно не значит, что их не было).

                                                                    Ну а вирус в SQL базе, даже не знаю что тут сказать, он на базу как пролез, там механизмов авторизации нет что ли? И что у хранимых процедур всяких прямо есть права писать в файловую систему и т.д.? Кошмар если так :)
                                                                    • 0
                                                                      Вы не заметили, что я привел в пример офис в конце списка? Именно по причине того, что в новых версиях с этим сложнее.

                                                                      Самое легкое в этом списке будет 1C — тут без макросов никак. Заразил конфигурацию и привет.

                                                                      Попасть в MS SQL просто: нашел .mdf, подключил как персональную базу, внес изменения. Прописался в одну из встроенных процедур с помощью, к примеру, CLR Stored Procedure, или еще как — суть не меняется.

                                                                      >Ну а вирус в SQL базе, даже не знаю что тут сказать, он на базу как пролез, там механизмов авторизации нет что ли? И что у хранимых процедур всяких прямо есть права писать в файловую систему и т.д.? Кошмар если так :)

                                                                      К сожалению, если руки кривые, то да. В старых версиях по умолчанию включено, в новых можно включить, если есть соответствующие права. Но если ты уже забрался на машину с админскими правами — то можешь внутри MS SQL делать что хочешь.

                                                                      Можно читать файлы, писать файлы и исполнять файлы.
                                                                      • 0
                                                                        Еще как подарок программистам можно писать инжекторы во всякие msbuild/nant/ant/maven и т.д. Еще заодно себя коммитить во все известные репозитории маскируяюсь под новые полезные тулзы или обновления существующих.

                                                                        В общем задача написать вирус который будет успешно переживать бэкап и частичное восстановление _только_ данных вполне выполнима.
                                                                        • 0
                                                                          Всё возможно, можно и в биос и в прошивку дисков запихать вирус. Однако, хотел бы я посмотреть на вирус, который разложит себя по офисным файлам, потом залезет на SQL-сервер с админскими правами и заразит все репозитарии у программистов, а потом скромно так выведет на экран — заплатите 500 рублей, а то все ваши данные будут уничтожены %)
                                                                          • 0
                                                                            Вы уже придираетесь. Конечно ради вымогателя 500р никто такого не будет делать, но если выживаемость вируса одна из критических задач — будут делать. Примеры таких вирусов придумайте сами.
                                                                            • 0
                                                                              Я не придираюсь, такие вирусы действительно могут существовать, но мы просто своим обсуждением ушли сильно сильно в сторону, и мне показалось забавным объединить итог обсуждения и тему с которой оно началось :)
                                                                        • 0
                                                                          Вот вам дроппер на основе MS Word habrahabr.ru/post/163641/ судя по всему это не макровирус, а может и он.
                                                  • 0
                                                    Вирус это лишь один из многих способов потерять ценные данные. Если люди научатся делать резервные копии из боязни вирусов, то они также будут защищены от поломок оборудования и собственных ошибок (что случается гораздо чаще).
                                          • 0
                                            Что же решит проблему? Семинары «Какой метод шифрования выбрать для защиты коммуникации зловлера ?». :-) Тренировочные лагеря для вирусописателей? :-) Заживем.

                                            Я не предлагаю скрывать информацию, но рассказывать вирусописателю в чем он ошибся и как нужно исправить положение это сюр. и очень странно что Вы защищаете это подход
                                    • –1
                                      Всё может быть гораздо хуже, если троян имитирует интерфейс платежных систем, он может переводить гораздо больше средств чем написано. Т.е. он может например говорить, что расшифровка стоит 50р а переводить всё что есть.
                                      • 0
                                        Тут, как правило, все проще. Обычно заставляют сделать перевод через уличный терминал, а там уже вы контролируете, сколько купюр кладете в купюроприемник.
                                  • 0
                                    Ок, вот ситуация — вы троян, шифруете себе файлы, шифруете, ключ не храните на винте, только в ОП. Тут система выключается, включается снова и шифрование нужно продолжить, Ваши действия?
                                    • 0
                                      как альтернатива — пока весь список файлов не зашифровался, ключ храним на винте. Как только все зашифровано — ключ удаляем и забываемся под пальмами.

                                      Снова — новые файлы, зашифровать не получится.
                                      • +6
                                        Предлагаю не подкидывать идеи, хороший инженер может сделать серьезный софт с высоким порогом взлома, те кто делал этот троян явно еще только учаться и я не хотел бы их натаскивать и подсказывать как нужно и не нужно делать.
                                        • +1
                                          Да, действительно, чего это мы обсуждаем — как сделать эту фигню максимально устойчивой…
                                    • 0
                                      Ага, командный сервер постоянно ломился бы на ЯД ради проверки кошельков. Что, в общем, довольно подозрительно.
                                      • 0
                                        Так он всё равно проверяет оплату по check_pay. Можно, скажем, результат проверки записывать где-нибудь на стороне сервера после check_pay, и пока он не будет paid по key ключ не отдавать
                                        • 0
                                          Оплату проверяет клиент, с разных адресов. Можно, перехватив контроль над системой (что и было сделано), сказать серверу, что результат=paid.
                                      • 0
                                        «А ты вообще за кого, за меня или за медведя?»
                                      • +31
                                        Меня больше всего удивила честность авторов трояна. Всегда полагал, что данные просто шифруются случайным ключом без возможности расшифровки и после оплаты ничего не происходит.
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                          • +4
                                            Ну, тут двояко — с одной стороны, так сделать проще всего. С другой — если уж человек пишет подобный вирус, значит, он не полный идиот. А если так — понимает, что в следующий раз жертва, зная, что её файлы утрачены безвозвратно, ничего платить не будет. Что разумнее: сделать больше работы, и оставить возможность повторной наживы, либо влёгкую срубить денег всего один раз?
                                            • +10
                                              Ага тем более, что после оплаты и расшифровки файлов, не обязательно же троян удаляется, просто выжидает скажем месяц и по новой :)
                                              • –3
                                                Зачем подкидываете идеи? :(
                                              • +3
                                                Навели на мысль: можно провести иммунизацию интернета, выпустив пачку вирусов, которые будут просить денег (платежи при этом роутить на благотворительность), но при этом ничего не расшифровывать. После этого никто платить не станет.
                                                • +2
                                                  Ещё хорошая идея, правда частного порядка: таким образом компрометировать кошельки личных врагов…
                                                  • +5
                                                    Не только частного. Указать в качестве адреса для оплаты реквизиты счёта какой-нибудь особо вредной организации. Например, РАО.
                                                    • 0
                                                      Ага, «на вашем компьютере обнаружен нелицензионный мультимедиа-контент» и далее по сценарию… хорошая, годная идея…
                                              • +4
                                                Авторы просят денег даже меньше, чем стоит вызов мастера по удалению вирусов и установке системы.
                                                • +1
                                                  Мастер дает гарантии, несет ответственность + принципы.
                                                  Так же даст совет как не попасть повторно
                                                  • +1
                                                    >>Мастер дает гарантии, несет ответственность
                                                    Да-да.
                                                  • +5
                                                    Пользователей которые считают, что дешевле заплатить автору вируса, бью линейкой по пальцам, но хочется, мордой об стол и здесь дело не в том, что мне деньги нужнее, из-за того что труд этих пидарасов оплачивается, антивирус на рабочей машине с виндой, не паранойя, а необходимость.
                                                    • +1
                                                      С одной стороны я с вами согласен. И если бы это был любой другой вирус, трой или обычный винлокер, почти любой мастер быстро бы избавил незадачливого юзера от этой дряни. Но здесь совершенно другое дело.
                                                      Какова вероятность за короткое время найти в вашем городе специалиста, способного так же глубоко залезть во внутренности вируса, понять логику его работы и суметь получить ключ для расшифровки. А если автор выполнит все рекомендации из этого топика? :)
                                                      99% вероятности, что не один провинциальный «мастер» не справится с такой заразой, если в инете как минимум еще нет способа с ней справиться.

                                                      Суммируя все вышесказанное, если у вас на диске, например, единственная версия диплома, который через короткое время защищать; у лопухового юзера еще будет надежда на «мастера» у продвинутого айтишника, находящегося не в Москве, уже вряд ли; и при этом в окне тикает таймер… Цена в 500 руб. не такая и большая за не до конца убитые нервы.
                                                      • 0
                                                        Если зашифрованы, очень важные данные и у вас нет резервной копии, поздравляю вы ССЗБ, заплатите автору вируса и на будущее делайте копии! Вообще если у вас вирусы на машине где есть важные данные вы уже ССЗБ, а если при этом у вас нет еще и копий, это что то с головой, неизвестно лечится такое или нет.
                                                    • 0
                                                      Вопрос к автору: примерно сколько часов вы потратили на решение проблемы и сколько стоит час вашей работы?
                                                      Что-то мне подсказывает, что клиенту было дешевле заплатить авторам вируса :)
                                                      • +1
                                                        Сомневаюсь, что автора интересовала оплата его труда. Есть такое понятие — профессиональное любопытство. Да и вполне вероятно, что это кто-то из друзей. Вы с друзей за консультации деньги берёте?
                                                    • 0
                                                      В этом случае проще и быстрее просто записать всё псевдослучайным мусором.
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                        • 0
                                                          Наверное совесть не позволяет пообещать расшифровать и не сделать этого.
                                                          • 0
                                                            В случае невозможности расшифровки шанс, что автора найдут и засудят(в лучшем случае засудят), устремляется к единице.
                                                          • +1
                                                            > В конце концов, удалось выяснить, что шифр блочный, без обратной связи и гаммирования. Длина блока – 16 байт.

                                                            чуть подробней можно?
                                                            • 0
                                                              Блочность и обратную связь/гаммирование можно проверить на последовательносятх нулей тех же самых.
                                                              • 0
                                                                Да, тоже интересно как это выяснилось, можно подробнее?
                                                                • +22
                                                                  Если в кратце… Это называется эксперемент с черным ящиком. Создаем файл из нулей, отдаём его на съедение шифравальщику, смотрим, что стало с файлом после зашифрования.

                                                                  Например, наш исходный файл из нулей имеет размер 6 байт, а на выходе получаем, например, 16 байт. Увеличим размер исходного файла до 17, и на выходе получим уже 32. От сюда вывод — длина блока 16 байт. Если бы было поточное шифрование, то кол-во байт в исходном файле было бы равно кол-ву байт в зашифрованном (ну или почти равно, шифратор может добавлять какие-то свои спец байтики, но это тоже ловится путем различных экспериментов с разным размером файла).

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

                                                                  Гамма находится путем зашифрования файла из нуликов, длины… ну по больше, т.к. размер гаммы может быть различным. И что бы поймать гамму на повторении нужно, что бы она повторялась). Таким образом, если в зашифрованном файле мы увидим периодически повторяющуюся последовательность байт, то значит перед нами та самая гамма.
                                                                  • 0
                                                                    Спасибо, интересно.
                                                              • +23
                                                                Похоже ваша работа стоила больше 500 рублей, по крайней мере энергозатраты.
                                                                • +55
                                                                  Имхо лучше потратить своих сил/времени даже более чем на вымогаемую сумму, чем поощрять вымогателей выплатами…
                                                                  • +4
                                                                    Принципиально Вы правы, но экономически, к сожалению, — нет. Может, авторы трояна именно на это и рассчитывали. Поэтому для многих будет проще заплатить заплатить вымогателям (либо заплатят столько же или больше «компьютерным докторам»).

                                                                    И, полагаю, из экономических же соображений не стали заморачиваться с защитой — проще быстренько написать, запустить и добраться до большинства жертв, чем потратить кучу время, увеличив покрытие всего на пару процентов.
                                                                    • 0
                                                                      Пока в России люди будут думать как вы, такие «программисты» не переведутся.
                                                                      • +13
                                                                        Дело в том, что перспективы найти специалиста такого, как автор топика, которому я аплодирую стоя, очень невелики, даже если отбросить финансовую и временную сторону вопроса. С большей вероятностью можно получить вообще невосстановимое нечто. Поэтому, к сожалению, в большинстве случаев все же будут платить вымогателям.
                                                                        • +3
                                                                          Если файлы и правда зашифрованы, то в худшем случае придется заплатить. Если злоумышленники применят, например, RSA и будут проверять статусы платежей на сервере, то тут уже никакой специалист не поможет.

                                                                          Но часто бывает так, что даже винлокер после оплаты не отключается, так как изначально не предусмотрена возможность проверки статуса платежа (пользователя просят перевести деньги на какой-то кошелек без указания какого-либо id). И как рядовому пользователю понять, насколько серьезна угроза, и реально ли решить проблему деньгами?
                                                                          • 0
                                                                            Винлокер — хрен с ним, лечится при помощи фара и регедита, сам два или три раза так делал, и не оставляет ничего кроме неприятных воспоминаний. Тут-то проблема хуже.

                                                                            Если файлы и правда зашифрованы, то в худшем случае придется заплатить.
                                                                            В худшем случае придется распрощаться с файлами… 500 рублей на этом фоне — мелочи…
                                                                        • 0
                                                                          К сожалению, в России таким образом много чего не переводится. Зачастую, экономически нецелесообразно с каждой отдельной проблемой бороться. Так и живём.
                                                                          • +1
                                                                            Совсем не все определяет «экономическая целесообразность». Отжимать айфоны на улице экономически гораздо целесообразнее, чем трудиться, зарабатывать и покупать их, тем не менее в нормальном обществе приняты другие нормы и с преступностью борются.
                                                                            • 0
                                                                              Отжимать айфоны на улице экономически гораздо целесообразнее, чем трудиться, зарабатывать и покупать их, тем не менее в нормальном обществе приняты другие нормы и с преступностью борются.
                                                                              Сильно зависит от величины и степени неотвратимости наказания. Если учитывать все косвеные издержки, но совсем не целесообразно.

                                                                              «Экономическая целесообразность» — вещь довольно виртуальная и определяется множеством внешних факторов, минимум половина из которых нематериальные.
                                                                              • 0
                                                                                Да нифига :) Чтобы определить целесообразность, нужно брать в расчёт не только чисто финансовые показатели, но и множество других, которые тоже имеют ценность. Поэтому отжимание айфонов имеет весьма низкую «маржинальность»
                                                                                • 0
                                                                                  «Экономическая целесообразность» вообще штука очень подверженная и волатильная…
                                                                                • 0
                                                                                  Дык, я вам про российское общество в связке с государством, а не какое-то утопическое.
                                                                                • –1
                                                                                  «К сожалению», в России нет таких дурацких составов как ложь под присягой и использование почты и телекоммуникаций для совершения преступлений. А то можно было бы за такую мелочь лет на 100-200 загреметь.
                                                                                  • +1
                                                                                    Не всегда экономическая выгода является главным критерием. Бывает, что интерес дороже денег.
                                                                                    В данном случае пользователь получил свои данные обратно, топикстартер, в свое удовольствие, решил интересную для него задачу. А нехороший человек не получил очередную подачку.
                                                                                • +1
                                                                                  >Принципиально Вы правы, но экономически, к сожалению, — нет.
                                                                                  И экономически тоже. Сходив к «компьютерщику» пользователь вдобавок получит советы, как избежать такой гадости в дальнейшем. А заплатив автору троянца пользователь лишь поощрит его, что увеличит его активность, а, следовательно, и шанс повторного заражения.
                                                                            • +3
                                                                              Зато мы все теперь знаем, как выпилить заразу.
                                                                              Мир держится на таких людях.
                                                                            • +24
                                                                              А в органы вы обратились? Адрес сервера есть, он наверняка на кого-нибудь, да зарегистрирован, а дальше эт вообще работа отдела К. Пусть отрабатывают свой хлеб, дармоеды.
                                                                              • –8
                                                                                Ну накроют адрес — тогда следующие жертвы даже за небольшие, в общем, деньги никогда не увидят своих файлов…
                                                                                • +2
                                                                                  Скорее всего сервера берут на тестовый период. Потому и 7 дней. А вообще, если уж они такие честные и расшифровывают данные в обмен на оплату, то можно же взять хостинги бесплатные с пхп и общаться по HTTP, зачем было писать целый протокол…
                                                                                  • 0
                                                                                    Скорее всего сервера берут на тестовый период. Потому и 7 дней.
                                                                                    О! точно!
                                                                                    • +1
                                                                                      А что, если сервер взят на тестовый период, то невозможно отследить кто его взял?
                                                                                      • 0
                                                                                        ХЗ, мож только по IP вычислить…
                                                                                      • 0
                                                                                        ага, а при коннекте к серверу, клиенту выдается дополнительное поле — сколько дней осталось серверу на тестовом периоде? или он заражает всех в первый день?
                                                                                        по-моему про тестовый период притянуто за уши
                                                                                        • 0
                                                                                          Знаете, ничему не удивлюсь при такой реализации. Может они купили айпишник, а теперь просто меняют тестовые сервера, привязывая к ним один и тот же айпишник, может и всегда один сервер, я не знаю.
                                                                                          • 0
                                                                                            слишком сложно, не имеет смысла покупать ip и менять сервера, тем более если это и можно сделать, то только в рамках одного хостинга, если у них конечно AS под это не куплена =)
                                                                                            • 0
                                                                                              Ну на один сервер полагаться тоже нельзя ) я бы не стал.
                                                                                              • 0
                                                                                                вы думаете у них там целый кластер на обработке?) если бы они думали о резервировании то захардкодили бы доменное имя, его можно легко масштабировать по разным площадкам.
                                                                                                пока это, как уже сказали тестовый вариант. Несмотря на кажущийся непрофессионализм защиты кода и тп, как тут уже многие сказали, разработчики сделали все правильно, так как от второй версии такого вируса ни один «компьютерный мастер» уже не спасет, а от этой версии спасут единицы и себестоимость такого занятия гораздо выше, чем заплатить им денег и уже после этого почистить комп и сделать бэкапы — а за напоминание про то что нужно делать бэкапы — это небольшая цена)
                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                        • +1
                                                                                          Физлицо потом за физзадницу не взяли?
                                                                                        • +1
                                                                                          Сервер, судя по некоторым признакам, был развернут на одной из затрояненных машин. Так что вряд ли его местонахождение поможет найти злоумышленников.
                                                                                          • 0
                                                                                            Не по серверам надо искать, а по баблу:

                                                                                            1. Проплатить 500 руб. на счет на деньгах.мэил.ру, предупредив их, что там плохие.
                                                                                            2. Отследить, где будут снятия.
                                                                                            3. Найти и взять под контроль управляющий сервер, не обнаруживая себя, чтобы отследить тех, кто на него заходит для управления.

                                                                                            Короче, писать надо в полицию, а через месяцок — в прокуратуру, чтобы узнать новости.
                                                                                            • +1
                                                                                              Да какая разница, это работа отдела К, пусть хоть «по айпи вычислят» и «едальник набьют», лишь бы эти уроды-вымогатели получили то, что заслуживают.
                                                                                              • +2
                                                                                                … Стук в дверь к хакеру
                                                                                                — Кто там?
                                                                                                — Распространители вазелина. Вы какой сорт предпочитаете?

                                                                                                И ещё за одно оперативные съемки — чтобы все контрацептивы видели, что у нас не только дармоеды в «К» сидят.

                                                                                                А вдруг это — реально? :)
                                                                                                • 0
                                                                                                  Ну пока я не видел ни разу, чтобы отдел К занимался хоть чем-нибудь полезным. Так что имею полное право с подозрением относиться к их работе и творчеству.
                                                                                          • –1
                                                                                            Понимаю «Challenge accepted», но это полностью неправильное решение, через неделю к вам вернётся этот же клиент с новой модификацией трояна от этого же производителя.
                                                                                            • 0
                                                                                              Не думаю. Клиент теперь понимает, что на компьютере с важными документами (базой 1С) лучше перестраховаться.
                                                                                              А так как дело было в апреле, то автор знает были ли рецидивы
                                                                                            • +2
                                                                                              однако ни один из файлов на момент обнаружения (апрель 2012 года) не опознавался антивирусами как вредоносный.
                                                                                              Похоже единственным путём решения проблемы, в случае чуть более грамотно написанного трояна, является регулярный бакап.
                                                                                              • 0
                                                                                                Сначала прочитал как «регулярный факап» )
                                                                                                • +1
                                                                                                  Это потенциальная альтернатива регулярному бэкапу…
                                                                                                • +1
                                                                                                  Главное, чтобы и бэкапы не пошифровали :)
                                                                                                  • +1
                                                                                                    Регулярный бэкап является решением для защиты и от многих других рисков.
                                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                    • +1
                                                                                                      Раз носят компы, то может быть и не админом, а учителем истории запросто. Или разработчиком, или ещё кем угодно… :)
                                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                        • +1
                                                                                                          Термин «клиент» в данном случае может быть только ролью для упрощения повествования. Написали «клиент» и сразу ясно, что человек обратился к топикстратеру, считая его специалистом в области айти, с целью решить проблему за деньги. Я так воспринял. И судя по соседнему комментарию на втором уровне не ошибся :)
                                                                                                      • +6
                                                                                                        Лечить компы — это просто хобби. А так занимаюсь 1С программированием.
                                                                                                        • +10
                                                                                                          1С-программист с такими скиллами? Не верю :) Но респект всё равно!
                                                                                                          • 0
                                                                                                            Средний по больнице 1С-программист имеет больший шанс оказаться крутым эникейщиком, чем средний по больнице Java-программист…
                                                                                                            • 0
                                                                                                              Автор по вашему крутой эникейшик? Ну блин, извините, тогда это слово нельзя применять к… ну этим, те которые картриджи меняют и всё такое.
                                                                                                      • +31
                                                                                                        Создателям подобных вирусов хочу раздробить пальцы молотком.

                                                                                                        Достали, программирование не должно использоваться для зла. IMHO
                                                                                                        • +4
                                                                                                          Кажется, вас минусанул один создатель вирусов.
                                                                                                          • 0
                                                                                                            Их уже целых пять.
                                                                                                            • 0
                                                                                                              Теперь уже вся шайка.
                                                                                                            • 0
                                                                                                              Атомная энергия не должна использоваться для создания ОМП.
                                                                                                              Взрывчатые вещества не должны использоваться для применения в снарядах и патронах.
                                                                                                              Химия не должна использоваться для создания БОВ.
                                                                                                              Программирование не должно использоваться для зла.
                                                                                                              Молоток не должен использоваться для раздробления пальцев.
                                                                                                            • +1
                                                                                                              Круто. Насчет промахов — легендарную энигму тоже на промахах сломали. Прогнозы погоды по утрам + искуственное ограничение в виде запрещения использования «простых» перестановок, которые уменьшили количество вариантов более чем существенно. Человеческий фактор наше все :)
                                                                                                              • +7
                                                                                                                Если бы мне такой системник принесли, даже не знаю, что бы я делал. Что бы так все «раскрутить» боюсь мозгов не хватило бы. Автору моё почтение.
                                                                                                                • 0
                                                                                                                  Вопрос в том сколько бы времени пришлось потратить. Самое сложное тут было убедиться, что все что написано на самом деле правда, т.е. потратить время на разбор алгоритма шифрования, изучение исходников программы и т.д.
                                                                                                                • +2
                                                                                                                  Автор поста молодец. Подобных же вредоносных программ, к сожалению, все больше. Есть и другие реализации, когда, например, ключ хранится на самом компьютере, но в зашифрованном виде(открытым ключем), а закрытый ключ у вирусописателей, которые после оплаты предоставляют(или нет) расшифрованный ключ для отдельного ПК.
                                                                                                                  Печально, что соответствующие органы занимаются не тем, чем надо. Поймать гадов, конечно, задача сложная, но вот ахрхимегаусложнить процесс и возможность получения денег можно легко. Это резко снизит кол-во подобных программ и простых винлокеров.

                                                                                                                  Какие выводы тут можно сделать и что надо рекомендовать людям? Бекап! Без всяких вирусов может банально навернуться ЖД или БП унести все внутренности с собой на тот свет.
                                                                                                                  • +5
                                                                                                                    Как минимум стоило написать жалобу в деньги(@)mail.ru, а лучше еще и в милицию/полицию.

                                                                                                                    То что не упакован не удивительно (легче обойти эвристики антивируса на начальном этапе пока в базы не попал). А вот с ключами конечно не на уровне, достаточно было шифровать каждый файл случайным ключом, а сам ключ приписывать в конце зашифрованный публичным ключом.
                                                                                                                    • –4
                                                                                                                      Давайте как-нибудь обойдемся без подкидывания идей вирусописателям?

                                                                                                                      Автор несомненно молодец, выражаю свою благодарность за статью. Было бы интересно узнать продолжение истории, если оно имеется.
                                                                                                                      • 0
                                                                                                                        Длина файла меняется — подозрительно…
                                                                                                                        • +2
                                                                                                                          А то что содержимое меняется не подозрительно?)
                                                                                                                      • +4
                                                                                                                        Мне не очень понятно, чем занимаются писатели антивирусов? Если такое, и подобные приложения очень легко можно детектировать — программа начинает обращаться к различным файлам на всей ФС и скачана недавно — следует предупредить пользователя об этом хотя бы. Более того, разумно предупреждать, если программа пишет в любую папку отличную от:
                                                                                                                        1. AppData
                                                                                                                        2. директории запуска программы
                                                                                                                        3. рабочей директории программы
                                                                                                                        4. любой папки, которая не была выбрана пользователем в FileDialog.
                                                                                                                        Разрешаем делать это только подписанным программам, одобренным пользователем или по white-list'ам.
                                                                                                                        • +2
                                                                                                                          Что-то мне это напоминает… А, точно. Win8
                                                                                                                          • +3
                                                                                                                            > чем занимаются писатели антивирусов?
                                                                                                                            Как в анекдоте:
                                                                                                                            — Как три программиста могут организовать бизнес?
                                                                                                                            — Первый пишет вирусы, второй — антивирусы.
                                                                                                                            — А третий?
                                                                                                                            — Операционные системы, под которыми это все работает!
                                                                                                                            PS. Мораль: Разработчикам антивирусов не выгодно, чтобы не было вирусов.