Вирусы, шпионы и диалеры: кто, зачем и как. Вирусы и борьба с ними

http://www.computermaster.ru/articles/secur2.html

Что нужно знать о компьютерных вирусах

(с) Александр Фролов, Григорий Фролов, 2002

[email protected]; http://www.frolov.pp.ru, http://www.datarecovery.ru

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

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

Краткий курс истории компьютерных вирусов

Что же такое компьютерный вирус?

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

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

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

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

Файловые вирусы

Исторически файловые вирусы появились раньше вирусов других типов, и первоначально распространялись в среде операционной системы MS-DOS. Внедряясь в тело файлов программ COM и EXE, вирусы изменяют их таким образом, что при запуске управление передается не зараженной программе, а вирусу. Вирус может записать свой код в конец, начало или середину файла (рис. 1). Вирус может также разделить свой код на блоки, поместив их в разных местах зараженной программы.

Рис. 1. Вирус в файле MOUSE.COM

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

Заметим, что файловые вирусы могут заражать не только программы COM и EXE, но и программные файлы других типов - оверлеи MS-DOS (OVL, OVI, OVR и другие), драйверы SYS, библиотеки динамической компоновки DLL, а также любые файлы с программным кодом. Разработаны файловые вирусы не только для MS-DOS, но и для других ОС, таких как Microsoft Windows, Linux, IBM OS/2. Однако подавляющее большинство вирусов данного типа обитает именно в среде ОС MS-DOS и Microsoft Windows.

Во времена MS-DOS файловые вирусы жили припеваючи благодаря свободному обмену программами, игровыми и деловыми. В те времена файлы программ имели относительно небольшой размер и распространялись на дискетах. Зараженную программу можно было также случайно загрузить с электронной доски объявлений BBS или из Интернета. А вместе с этими программами распространялись и файловые вирусы.

Современные программы занимают немалый объем и распространяются, как правило, на компакт-дисках. Обмен программами на дискетах уже давно ушел в прошлое. Устанавливая программу с лицензионного компакт-диска, Вы обычно не рискуете заразить свой компьютер вирусом. Другое дело - пиратские компакт-диски. Здесь ни за что ручаться нельзя (хотя нам известны примеры распространения вирусов и на лицензионных компакт-дисках).

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

Загрузочные вирусы

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

Сразу после включения питания компьютера начинает работать процедура проверки POST (Power On Self Test), записанная в BIOS. В ходе проверки определяется конфигурация компьютера и проверяется работоспособность основных его подсистем. Затем процедура POST проверяет, вставлена ли дискета в дисковод A:. Если дискета вставлена, то дальнейшая загрузка операционной системы происходит с дискеты. В противном случае загрузка выполняется с жесткого диска.

При загрузке с дискеты процедура POST считывает с нее загрузочную запись (Boot Record, BR) в оперативную память. Эта запись всегда расположена в самом первом секторе дискеты и представляет собой маленькую программу. Кроме программы BR содержит структуру данных, определяющую формат дискеты и некоторые другие характеристики. Затем процедура POST передает управление BR. Получив управление, BR приступает непосредственно к загрузке операционной системы.

При загрузке с жесткого диска процедура POST считывает главную загрузочную запись (Master Boot Record, MBR) и записывает ее в оперативную память компьютера. Эта запись содержит программу первоначальной загрузки и таблицу разделов, в которой описаны все разделы жесткого диска. Она хранится в самом первом секторе жесткого диска.

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

Теперь о том, как «работает» загрузочный вирус.

При заражении дискеты или жесткого диска компьютера загрузочный вирус заменяет загрузочную запись BR или главную загрузочную запись MBR (рис. 2). Исходные записи BR или MBR при этом запись обычно не пропадают (хотя так бывает не всегда). Вирус копирует их в один из свободных секторов диска.

Рис. 2. Вирус в загрузочной записи

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

Комбинированные вирусы

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

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

Когда вирус зашифрует половину жесткого диска, он отображает на экране надпись:

Dis is one half. Press any key to continue ...

После этого вирус ожидает, когда пользователь нажмет на какую-либо клавишу и продолжает свою работу

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

Вирусы-спутники

Как известно, в операционных системах MS-DOS, и Microsoft Windows различных версий существуют три типа файлов, которые пользователь может запустить на выполнение. Это командные или пакетные файлы BAT, а также исполнимые файлы COM и EXE. При этом в одном каталоге могут одновременно находиться несколько выполнимых файлов, имеющих одинаковое имя, но разное расширение имени.

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

Оказывается, в этом случае запустится файл COM. Если в текущем каталоге или в каталогах, указанных в переменной среды PATH, существуют только файлы EXE и BAT, то выполняться будет файл EXE.

Когда вирус-спутник заражает файл EXE или BAT, он создает в этом же каталоге еще один файл с таким же именем, но с расширением имени COM. Вирус записывает себя в этот COM-файл. Таким образом, при запуске программы первым получит управление вирус-спутник, который затем может запустить эту программу, но уже под своим контролем.

Вирусы в пакетных файлах

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

@ECHO OFF REM [...] copy %0 b.com>nul b.com del b.com rem [...]

В квадратных скобках [...] здесь схематично показано расположение байт, которые являются процессорными инструкциями или данными вируса. Команда @ECHO OFF отключает вывод на экран названий выполняемых команд. Строка, начинающаяся с команды REM, является комментарием и никак не интерпретируется.

Команда copy %0 b.com>nul копирует зараженный командный файл в файл B.COM. Затем этот файл запускается и удаляется с диска командой del b.com.

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

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

Шифрующиеся и полиморфные вирусы

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

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

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

Стелс-вирусы

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

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

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

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

Макрокомандные вирусы

До сих пор мы рассказывали о вирусах, обитающих в исполняемых файлах программ и загрузочных секторах дисков. Широкое распространение пакета офисных программ Microsoft Office вызвало лавинообразное появление вирусов нового типа, распространяющихся не с программами, а с файлами документов.

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

Однако на самом деле файлы документов Microsoft Office могут содержать в себе небольшие программы для обработки этих документов, составленные на языке программирования Visual Basic for Applications. Это относится не только к документам Word и Excel, но и к базам данных Access, а также файлам презентаций Power Point. Такие программы создаются с использованием макрокоманд, поэтому вирусы, живущие в офисных документах, называются макрокомандными.

Как распространяются макрокомандные вирусы?

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

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

Вирусы шпионы!

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

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

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

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

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

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

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

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

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

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

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

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

2 июня 2016 в 12:29

Пишем свое вредоносное ПО. Часть 1: Учимся писать полностью «не обнаружимый» кейлогер

  • Блог компании Varonis Systems ,
  • Информационная безопасность ,
  • Программирование
  • Перевод
  • Recovery Mode

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


1) «Skids» (script kiddies) – малыши, начинающие хакеры, которые собирают известные куски кода и утилиты и используя их создают какое-то простое вредоносное ПО.


2) «Byuers» - не чистые на руку предприниматели, тинэйджеры и прочие любители острых ощущений. Покупают услуги по написанию такого ПО в интернете, собирают с ее помощью различную приватную информацию, и, возможно, перепродают ее.


3) «Black Hat Сoders» - гуру программирования и знатоки архитектур. Пишут код в блокноте и разрабатывают новые эксплоиты с нуля.


Может ли кто-то с хорошими навыками в программировании стать последним? Не думаю, что вы начнете создавать что-то, на подобии regin (ссылка) после посещения нескольких сессий DEFCON. С другой стороны, я считаю, что сотрудник ИБ должен освоить некоторые концепты, на которых строится вредоносное ПО.


Зачем ИБ-персоналу эти сомнительные навыки?


Знай своего врага. Как мы уже обсуждали в блоге Inside Out, нужно думать как нарушитель, чтобы его остановить. Я – специалист по информационной безопасности в Varonis и по моему опыту – вы будете сильнее в этом ремесле если будете понимать, какие ходы будет делать нарушитель. Поэтому я решил начать серию постов о деталях, которые лежат в основе вредоносного ПО и различных семействах хакерских утилит. После того, как вы поймете насколько просто создать не детектируемое ПО, вы, возможно, захотите пересмотреть политики безопасности на вашем предприятии. Теперь более подробно.


Для этого неформального класса «hacking 101» вам необходимы небольшие знания в программировании (С# и java) и базовое понимание архитектуры Windows. Имейте ввиду, что в реальности вредоносное ПО пишется на C/C++/Delphi, чтобы не зависеть от фреймфорков.


Кейлогер


Кейлогер – это ПО или некое физическое устройство, которое может перехватывать и запоминать нажатия клавиш на скомпрометированной машине. Это можно представить как цифровую ловушку для каждого нажатия на клавиши клавиатуры.
Зачастую эту функцию внедряют в другое, более сложное ПО, например, троянов (Remote Access Trojans RATS), которые обеспечивают доставку перехваченных данных обратно, к атакующему. Также существуют аппаратные кейлогеры, но они менее распространены, т.к. требуют непосредственного физического доступа к машине.


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



Для подключения к клавиатуре вам всего лишь нужно использовать 2 строки на C#:


1. 2. 3. public static extern int GetAsyncKeyState(Int32 i);

Вы можете изучить больше про фунцию GetAsyncKeyState на MSDN :


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


1. while (true) 2. { 3. Thread.Sleep(100); 4. for (Int32 i = 0; i < 255; i++) 5. { 6. int state = GetAsyncKeyState(i); 7. if (state == 1 || state == -32767) 8. { 9. Console.WriteLine((Keys)i); 10. 11. } 12. } 13. }

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


Умный кейлогер

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


Давайте предположим, что я хочу заполучить учетные данные Facebook или Gmail для последующей продажи лайков. Тогда новая идея – активировать кейлоггинг только тогда, когда активно окно браузера и в заголовке страницы есть слово Gmail или facebook. Используя такой метод я увеличиваю шансы получения учетных данных.


Вторая версия кода:


1. while (true) 2. { 3. IntPtr handle = GetForegroundWindow(); 4. if (GetWindowText(handle, buff, chars) > 0) 5. { 6. string line = buff.ToString(); 7. if (line.Contains("Gmail")|| line.Contains("Facebook - Log In or Sign Up ")) 8. { 9. //проверка клавиатуры 10. } 11. } 12. Thread.Sleep(100); 13. }

Этот фрагмент будет выявлять активное окно каждые 100мс. Делается это с помощью функции GetForegroundWindow (больше информации на MSDN). Заголовок страницы хранится в переменной buff, если в ней содержится gmail или facebook, то вызывается фрагмент сканирования клавиатуры.


Этим мы обеспечили сканирование клавиатуры только когда открыто окно браузера на сайтах facebook и gmail.


Еще более умный кейлогер


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


Для упрощения, я сразу приведу готовые выражения, которые соответствуют именам логина и паролям:


1. //Ищем почтовый адрес 2. ^[\w!#$%&"*+\-/=?\^_`{|}~]+(\.[\w!#$%&"*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+{2,4})|(({1,3}\.){3}{1,3}))$ 3. 4. 5. //Ищем пароль 6. (?=^.{6,}$)(?=.*\d)(?=.*)

Эти выражения здесь как подсказка тому, что можно сделать используя их. С помощью регулярных выражений можно искать (т найти!) любые конструкции, которые имеют определенный и неизменный формат, например, номера паспортов, кредитных карт, учетные записи и даже пароли.
Действительно, регулярные выражения не самый читаемый вид кода, но они одни из лучших друзей программиста, если есть задачи парсинга текста. В языках Java, C#, JavaScript и других популярных уже есть готовые функции, в которые вы можете передать обычные регулярные выражения.


Для C# это выглядит так:


1. Regex re = new Regex(@"^[\w!#$%&"*+\-/=?\^_`{|}~]+(\.[\w!#$%&"*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+{2,4})|(({1,3}\.){3}{1,3}))$"); 2. Regex re2 = new Regex(@"(?=^.{6,}$)(?=.*\d)(?=.*)"); 3. string email = "[email protected]"; 4. string pass = "abcde3FG"; 5. Match result = re.Match(email); 6. Match result2 = re2.Match(pass);

Где первое выражение (re) будет соответствовать любой электронной почте, а второе (re2) любой цифро буквенной конструкции больше 6 символов.


Бесплатно и полностью не обнаружим


В своем примере я использовал Visual Studio – вы можете использовать свое любимое окружение – для создания такого кейлогера за 30 минут.
Если бы я был реальным злоумышленником, то я бы целился на какую-то реальную цель (банковские сайты, соцсети, тп) и видоизменил код для соответствия этим целям. Конечно, также, я запустил бы фишинговую кампанию с электронными письмами с нашей программой, под видом обычного счета или другого вложения.


Остался один вопрос: действительно такое ПО будет не обнаруживаемым для защитных программ?


Я скомпилировал мой код и проверил exe файл на сайте Virustotal. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.



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

  • информационная безопасность
  • Добавить метки

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

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

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

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

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

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

    Что можно сделать, чтобы обезопасить себя от spyware:

    1. Обзавестись антивирусом. Самый банальный, самый простой и самый надежный способ. Несмотря на свою тривиальность, перед всеми остальными он обладает почти неоспоримыми преимуществами. Перед тем, как запускать новые файлы, антивирус всегда проверяет их, автоматически блокирует в случае обнаружения угрозы и позволяет пользователю проверить компьютер на наличие вирусов в любой момент.
    2. Быть более внимательным. Опять же, банальный совет, но довольно действенный. Он прост до невозможности - не скачивать что попало, не устанавливать дешевые программы, обещающие золотые горы или решение всех проблем в мире. Бесплатный сыр бывает только в одном месте, и попадаться туда должны грызуны, а не люди.
    3. Повысить свою компьютерную грамотность. Это задача не из легких, особенно для тех, кто с компьютерами не слишком хорошо ладит. Однако стоит помнить, что с каждым годом компьютеризация охватывает все больше и больше сфер нашей жизни. Чем лучше каждый из нас начнет разбираться в том, как электронные вычислительные машины работают, тем безопаснее мы будем себя чувствовать. Этот совет, впрочем, распространяется не только на компьютеры, но и на все остальное. Времена таковы, что «уметь что-то делать» понемногу уходит в прошлое, и на его место становится «уметь научиться что-то делать». Технологии развиваются слишком быстро, чтобы привыкать к ним. Один и тот же способ выполнять какую-либо задачу неизбежно устаревает, причем с бешеной скоростью. Чтобы по-настоящему обезопасить себя, свою информацию, да и шансы на успех в жизни, нужно учиться находить способы, а не учиться самим способам.
    4. Очищать компьютер от важной информации. В отличие от предыдущего совета, здесь все просто. Каждый день удалять историю посещений в браузере, не сохранять паролей, не оставаться залогиненым на сайтах банков и платежных систем. Таким образом украсть информацию будет труднее, ведь большую часть времени ее и не будет на самом компьютере.

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

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

    Что такое шпионская программа?

    История шпионских программ

    Термин «шпионская программа» впервые был упомянут в 1996 году в одной из специализированных статей. В 1999 году этот термин использовался в пресс-релизах и уже имел то значение, которое закреплено за ним сегодня. Он быстро приобрел популярность в средствах массовой информации. Прошло немного времени, и в июне 2000 года было выпущено первое приложение, предназначенное для борьбы со шпионскими программами.

    «Первые упоминания о шпионских программах датируются 1996 годом».

    В октябре 2004 года медийная компания America Online и Национальный альянс кибербезопасности (NCSA) провели исследование данного феномена. Результат оказался невероятным и пугающим. Около 80 % всех пользователей сети Интернет так или иначе сталкивались с проникновением шпионских программ на свои компьютеры, приблизительно на 93 % компьютеров присутствовали компоненты шпионских программ, при этом 89 % пользователей не знали об этом. И почти все пользователи, пострадавшие от шпионских программ (около 95 %), признали, что не давали разрешения на их установку.

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

    Шпионские программы для Mac

    Исторически сложилось так, что авторы шпионских программ считают своей главной целью платформу Windows, поскольку она имеет более обширную базу пользователей, чем платформа Mac. Несмотря на это в 2017 году отрасль пережила существенный всплеск активности вредоносного ПО для компьютеров Mac, причем большая часть атак была совершена посредством шпионских программ. Шпионские программы для Mac имеют модель поведения, аналогичную шпионским программам для Windows, однако среди них преобладают программы для кражи паролей и бэкдоры общего назначения. К вредоносным действиям ПО, принадлежащего ко второй категории, относится удаленное выполнение вредоносного кода, кейлоггинг , захват изображения экрана, произвольная загрузка и скачивание файлов, фишинг паролей и т. д.

    «В 2017 году отрасль пережила существенный всплеск активности вредоносного ПО для компьютеров Mac, причем большая часть атак была совершена посредством шпионских программ».

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

    Шпионские программы для мобильных устройств

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

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

    Шпионские программы обычно проникают на смартфоны тремя способами:

    • Незащищенная бесплатная Wi-Fi-сеть, которая часто устанавливается в публичных местах, например в аэропортах и кафе. Если Вы зарегистрировались в такой сети и передаете данные через незащищенное соединение, злоумышленники могут следить за всеми действиями, которые Вы совершаете, пока остаетесь в сети. Обращайте внимание на предупреждающие сообщения, отображаемые на экране Вашего устройства, – особенно в том случае, если они указывают на сбой при проверке подлинности удостоверения сервера. Позаботьтесь о своей безопасности: избегайте таких незащищенных соединений.
    • Уязвимости операционной системы могут создать предпосылки для проникновения вредоносных объектов на мобильное устройство. Производители смартфонов часто выпускают обновления для операционных систем, чтобы защитить пользователей. Поэтому мы рекомендуем Вам устанавливать обновления, как только они становятся доступными (до того, как хакеры попытаются атаковать устройства, на которых установлены устаревшие программы).
    • Вредоносные объекты часто скрываются в обычных на первый взгляд программах – и вероятность этого возрастает в том случае, если Вы загружаете их не через магазин приложений, а с веб-сайтов или через сообщения. Во время установки приложений важно обращать внимание на предупреждающие сообщения, особенно если они запрашивают разрешение на доступ к Вашей электронной почте или другим персональным данным. Таким образом, мы можем сформулировать главное правило безопасности: пользуйтесь только проверенными ресурсами для мобильных устройств и избегайте приложений сторонних разработчиков.

    Кого атакуют шпионские программы?

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

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

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

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

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

    Что делать, если мой компьютер заражен?

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

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

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

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

    Как защититься от шпионских программ?

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

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

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

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

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