Нельзя объять необъятное. Поэтому поговорим исключительно о резервном копировании как альтернативе антивирусу.
Естественно, что крупные (и/или богатые компании) могут себе позволить многое, но в быту наиболее часто данные резервируются путем простого копирования по сети или на внешний носитель, синхронизации с хранилищем в облаке, использованием теневого копирования (что очень часто вообще преподносится как панацея) или путем использования NAS. Насколько это надежно в плане защиты от вирусов?
Не будем долго рассуждать и рассмотрим четыре примера:
- AlphaCrypt. Он же Trojan.Encoder.1064. Попал в антивирусные базы 13 мая 2015 года. Достаточно свежий пример трояна.
AlphaCrypt, используя алгоритм шифрования RSA-2048, шифрует файлы, присваивая им после этого расширение .ezz, а затем, как и все шифровальщики требует выкуп. Стоимость расшифровки в случае AlphaCrypt $500 биткоинов.
Традиционно может распространяться с помощью спама с инфицированным вложением, рассылок сообщений в мессенджерах. Естественно можно скачать троян самостоятельно под видом какого-то легитимного приложения. Заражение происходит с помощью набора эксплойтов Angler.
В общем ничего особо выдающегося. Если не считать одной особенности — AlphaCrypt умеет удалять теневые копии Volume Shadow Copy Service, VSS. Естественно троян старается провести эту операцию втихую — без вывода каких либо уведомлений на экран компьютера.
Выполняется данная операция с помощью команды:
vssadmin.exe delete shadows /all /Quiet/
Еще немного информации о AlphaCrypt и Сryptolocker вообще можно получить тут и тут.
На Хабрахабре возможности и ограничения теневого копирования обсуждались например тут.
- Trojan.Encoder. За редким исключением шифруют все, до чего могут дотянуться. Если сетевая папка смонтирована как локальный сетевой диск, зашифровать содержимое могут практически все представители Trojan.Encoder. За исключением Trojan.Encoder.398, который шифрует только фиксированные диски (DRIVE_FIXED) и Trojan.Encoder.453, который также составляет список только локальных несъемных носителей, на которых он выбирает файлы по маске. Однако большинство шифровальщиков таких проверок не делает и шифрует сетевые папки наряду с локальными.
- Win32.Sector, сложный полиморфный вирус, существующий аж с 2008 года. Как вирус способен распространяться самостоятельно — в том числе заражая файлы, хранящиеся в общедоступных сетевых папках. Кстати может останавливать работу некоторых антивирусных программ и блокировать доступ к сайтам их разработчиков (обсуждение темы необходимости самозащиты как компонента антивируса было тут)
- Trojan.Encoder.737. Используя уязвимости в ПО сетевых хранилищ NAS (Network Attached Storage) производства компании Synology троян шифрует хранящихся на устройстве данных и требует у жертвы выкуп в размере 350 долларов. В настоящее время расшифровка файлов, пострадавших от действия Trojan.Encoder.737, не представляется возможной.
И еще один риск, о котором нельзя забывать. Современные вредоносные программы рассчитаны на длительное и незаметное присутствие в системе. В связи с тем, что антивирусы не могут знать все, вирусы и трояны могут оставаться необнаруженными годами (в качестве примеров можно привести практически любое из расследований последнего времени). Соответственно нет никакой гарантии, что восстановленная из резервной копии система не будет поражена (возможно впоследствии удаленным) трояном
Забавно, что резервное копирование не первая технология, позиционирующаяся как замена антивируса. Поведенческие анализаторы, облачные антивирусы… Кто кроме профессионалов помнит продукты, основанные чисто на этих технологиях? А традиционные антивирусы не только выжили, но и увеличили размер дистрибутивов на величину кода и данных, необходимых для реализации технологий, которые должны были их убить. Dr.Web Security Space и Kaspersky Cristal сейчас уже включают функции, которые можно отнести к резервному копированию…
Поживем — увидим. А пока рекомендации об использовании резервного копирования, как средства защиты от вредоносных программ являются настолько обиходными, что даже в новости о Trojan.Encoder.737 есть абзац о необходимости регулярного бекапа.
И чтобы не быть неверно понятым. Автор не принадлежит ни к одной из сторон темной силы и не считает, что существует какое-то единственно верное решение. Есть случаи, когда выгодно применять антивирус, если случаи, когда его использование принципиально противопоказано. Данной статьей хотелось показать, что нельзя доверять ни одному решению, сколь бы рекламируемым оно не было. И защита от вирусов тому отличный пример — многое из описанного выше возможно только при неверно настроенных правах доступа. Так команда удаления теневых копий работает только с правами администратора, поэтому после включения защиты необходимо работать только под пользователем с ограниченными правами и внимательно относиться ко всем предупреждениям UAC о попытке повышения прав.
О чем эта статья?
Нельзя доверять мифам и сложившимся предпочтениям (ничто не вечно под Луной. То, что считалось надежным вчера, завтра будет обходиться злоумышленниками без проблем), вестись на рекламу прокладок, утверждающую, что с ней все наладится. Особенно при выборе средств защиты, от которых будет зависеть судьба ваших данных и денег. А в скором времени (интернет вещей грядет!) и вашего здоровья.
Удачного вам выбора!
Комментарии (59)
Alexeyslav
06.07.2015 11:58Тогда такой простой вопрос, как задать права на папку, чтобы файлы текущий пользователь туда ложить мог, но не мог их удалять и модифицировать?
Можно ли эти права реализовать на стороне NAS Synology?
Была кстати в 90-х годах такая полезная утилита которая при запуске системы сверяла все файлы по контрольным суммам и выдавала отчет какие из них изменились. Что-то нынче такого софта уже не найти…teecat Автор
06.07.2015 12:13По настройке — не моя тема, тут я рекомендовать не буду.
А вот по подсчету контрольных сумм вы не правы. Сейчас такого ПО много. Из того, что на памяти — продукция Safe'n'Sec. Продвигается такое ПО для защиты мест, где антивирус поставить нельзя — например для АСУТП. Также предлагается для банкоматов, но туда им не попасть — стандарты требуют там антивирус.
Но верить нельзя и такому ПО. Из того с чем сталкивался. Подмена пути, пол которому стартует файл. Контролируемый файл не меняется, но если он стартует по имени, а не по полному пути, то можно поменять список директорий, в которых ищутся файлы. Также такое средство не сможет предохранить от вирусов, не сохраняемых на диск (скрипты в браузере например) или не сохраняемых в виде файла (например сохраняемых в реестр)Alexeyslav
06.07.2015 14:16Такая программа позволяет выявить нарушение целостности системных файлов. И как правило, вирусы прописывают себя во временные папки и в папку «мои документы» пользователя, что сразу же бросается в глаза.
У программы же совсем другая задача — обеспечить контроль целостности системных файлов, что может быть дополнительным признаком вторжения в систему.
Но, к сожалению, такой софт непопулярен из-за частых ложных сигналов — софт постоянно сам себя обновляет и файлы на системном диске практически беспрерывно меняются. Как в таких случаях рядовому пользователю разобраться где вредонос а где программа обновилась? Только в некоторых ситуациях будет польза от такого софта — там где системный раздел операционки практически read-only но в таком случае эффективней разрешить проблему правами доступа, а софт будет только защитой от дурака-администратора или индикатором заражения через уязвимости.
Реестр можно точно так же сверять, и кстати по поводу реестра я такой софт видел. Делает снапшоты реестра и выводит все различия между двумя снапшотами, но это инструмент скорей разработчика софта/хакера нежели защиты от вирусов.teecat Автор
06.07.2015 14:30Насколько я знаю в таких программах не чисто подсчет контрольных сумм, но и некая база данных о контрольных суммах, какие они должны быть. Тоесть на стороне вендора должна быть система, контролирующая в том числе обновления известных программ и заносящая новые значения типовых контрольных сумм в базу.
Контролировать можно что угодно. Антивирус он как ядерная бомба — накрывает все контролируемую территорию сразу и без настроек. Все остальные средства — и поведенческие анализаторы вместе с системами подсчета контрольных сумм требуют настройки и обучения (тоесть это спецназ :-) ).Устанавливая антивирус мы знаем, что он будет контролировать все, а если появится новый вирус, то будет контролировать и еще что-то. А если мы ставим более продвинутое средство — знаем ли мы что точно оно контролировать будет? Я не зря привел пример про изменения пути. Да это дыра реализации конкретной программы. Но знали ли мы о ней, когда приобретали? Тут мы опять возвращаемся к вопросу уверенности и квалификации типичного пользователя (и на всякий случай — я ни за кого не агитирую)
VBKesha
06.07.2015 13:20Смотря какие фалы, и какого размера, можно например поднять GIT/SVN и комитить туда каждый день нужные файлы, этакий версионный бэкап. Либо поднять веб сервис который только принимает файлы и раскладывает их на сервере, а доступа для удаления/изменения не даёт.
teecat Автор
06.07.2015 13:25> Смотря какие фалы, и какого размера
И добавим, какой важности каждое изменение в нихVBKesha
06.07.2015 13:29Ну скажем 4гиговые mp4 я бы в любом случае в систему контроля версий не стал ложить. А 100/200 метров ворд/эксель пофиг что там за важность, можно спокойно бэкапить. Но может я чего и упускаю.
teecat Автор
06.07.2015 13:37Из того, что сталкивался — центральная база данных банка. Потеря каждой записи — это не есть хорошо.
VBKesha
06.07.2015 13:46ИМХО база данных в любом(ну скажем 98% случаев) случае либо бэкапится целиком, либо никак. И с базой банка думаю не будет идти разговоров о NAS Synology и подобное, там по идее должен быть особый регламент всех процедур бэкапа/востановления из бэкапа и прочего.
Alexeyslav
06.07.2015 14:18Поднять можно, а скрестить решение с программами бекапа? Не вручную же файлы туда ложить.
VBKesha
06.07.2015 15:16Ну тут незнаю, по крону/таксшедулеру комитить каталог… надо разбираться.
Alexeyslav
06.07.2015 15:19Ага, и уйдет он в хранилище уже зашифрованным… может даже только на половину.
VBKesha
06.07.2015 15:23Так это же система контроля версий, достанешь прошлую не зашифрованную и всего то делов.
MichaelBorisov
06.07.2015 13:37Я написал такую программу для контроля целостности данных. Довольно развитая. Продвижением не занимался, использую сам. Если интересует — пишите в личку.
Alexeyslav
06.07.2015 14:27Я и сам не знаю зачем она мне. Проще из бэкапа восстановить только когда все явно пойдет в разос, уровень паранойи пока еще не зашкаливает.
На всякий случай, хранится еще бэкап свежеустановленной системы, если не поможет восстановление 2-х недельной давности, так хоть сэкономит время на установку. Дополнительно документы и всякого рода проекты бэкапятся отдельно как особо ценное. Система то фиг с ней, на бытовом уровне можно и переустановить её с нуля если вообще ничего не поможет.
serafims
06.07.2015 12:42Напрашивается простая система, на самом деле. Есть некий архив, проверенный вручную, где у файлов есть хэш.
Клиентская программа обновляет этот архив, всегда сохраняя предыдущую копию, при этом сравнивает, какая доля файлов была изменена — если число измененных файлов выше некоего порога — оповещать оператора. Если изменилось или удалилось адекватное количество файлов — то просто добавлять их в архив как проверенные файлы. Эта операция может проводиться ежедневно. А ежечасно можно делать копию рабочих документов на сервер по защищенному каналу.
Тут важно, чтобы программа общалась с местом хранения архивов не как с подключенным диском, а по отдельному каналу.
Можно на разные серверы архивов по очереди писать данные…teecat Автор
06.07.2015 13:08В статье я не затронул еще один момент. Данные имеют разную ценность. Скажем банковские данные. Понятно, что антивирус всегда может пропустить некую заразу. Но и бекап не решает проблемы — нужно не допустить потери даже одной записи в базе. То есть ни антивирус, ни резервное копирование проблемы защиты сами по себе не решают.
Я к сожалению не нашел информации, как ведут себя вирусы на кластерах и кластерных базах данных. Теоретически заражение одного узла вполне может привести к потере всех данных кластера. Если у кого есть примеры действий вирусов на кластере — был бы благодаренlair
06.07.2015 13:10А вы знаете хотя бы один вирус, который поражает СУБД на уровне данных, а не файлов?
teecat Автор
06.07.2015 13:21Вирус сейчас — это потоковое производство, рассчитанное на заражение всех подряд (спец атаки не рассматриваем). Соответственно сложно рассчитывать, что вирусу нужно будет переработать некие данные в базе. Навскидку примеров подобного не помню, запрошу сейчас
А вот примеров шифрования баз банных в числе прочих файлов.lair
06.07.2015 13:24В таком случае заражение (нормально построенного) кластера БД таким образом невозможно — у них нет прямой репликации файлов, как следствие, один из серверов просто отвалится из-за нарушения целостности БД, остальные будут работать.
teecat Автор
06.07.2015 13:27Если зашифрована будет база целиком — конечно. А вот если будут зашифрованы файлы в ней?
lair
06.07.2015 13:29А какая разница?
teecat Автор
06.07.2015 13:36Если база данных это файловое хранилище и вирус обставит шифрование как замену/апдейт файлов из хранилища, то я не вижу причин, почему эти изменения не расползутся по подчиненным серверам.
Естественно случай, когда нарушается целостность — не рассматриваем.lair
06.07.2015 13:37База данных — это не файловое хранилище, поэтому ваше рассуждение неприменимо. Я специально задавал вопрос про СУБД и заражение на уровне данных.
teecat Автор
06.07.2015 14:20Про спец вирусы я запросил, если что ответят — напишу
Типичная база данных конечно не хранилище файлов, но бывает и наоборот. Не хочу, чтобы меня поняли, что я упираюсь. Вопрос чисто теоретический. Просто интересноvedenin1980
06.07.2015 14:44Дело в том что давным давно ни в чем серьезнее домашнего компа не используются БД, тупо состоящие из кучи текстовых файлов без индексов и служебной информации. В любой БД есть как минимум контрольные суммы данных и соответственно она сразу заметить битый или зашифрованный файл.
Alexeyslav
06.07.2015 15:14Нет там контрольных сумм. По крайней мере не в «любой БД». Подсчет контрольных сумм будет сказываться на производительности поэтому используется только в критичных местах.
Так же заметить сразу БД не может, максимум — это только в момент обращения к требуемым данным.vedenin1980
06.07.2015 15:44Обычно как минимум в заголовке файлов пишется служебная информация, строятся индексы, констрейнты и т.п., я не знаю ни одной БД, которая не заметить что её таблицы зашифрованы.
Alexeyslav
21.07.2015 14:36Если не трогать заголовки а зашифровать только данные, простые БД даже носом не поведут.
Ошибки будут возникать на другом уровне, когда приложение попытается считать из поля число а там будет тарабарщина.
vedenin1980
06.07.2015 14:47вирус обставит шифрование как замену/апдейт файлов из хранилища, то я не вижу причин, почему эти изменения не расползутся по подчиненным серверам.
Слишком сложно для вируса, не говоря уже о том что в серьезных хранилищах сохраняются все последние версии файлов и проверяются права. Такое возможно только для другого типа вирусов — «дающих рут доступ в систему хакеру, который уже делает деструктивные действия руками»
teecat Автор
20.07.2015 10:47Поражающих базу данных не нашлось, но вот анализирующих ее — имеется:
— JS.Proslikefan.7 — червь, одна из функций — поиск сайтов, уязвимых для SQL-инъекций, инфу сливает на управляющий сервер.
— BackDoor.NetHood — RAT-троянец c обширным функционалом, может выполнять много разных манипуляций с базами данных SQL.
— Trojan.Dyre.27 — умеет воровать cookies из SQL-баз в профилях юзеров chrome и Firefox (этой функцией, обладает несколько троянцев подобного типа)
Извиняюсь за задержку — народ в отпускахlair
20.07.2015 11:15Ну, во-первых, SQL-инъекция — это вообще не имеет отношения к БД, это уязвимость в прикладном слое.
Во-вторых, я как-то не знаю, что такое SQL-база.
Ну и в-третьих, вы должны бы понимать, что чтение данных из хранилища и их изменение — это две большие разницы, и нас интересовало только последнее.teecat Автор
20.07.2015 11:42Совершенно не спорю. Я же и написал, что вирусов, изменяющих базы нет
Про SQL-базу. Мне так ответили. Поскольку речь не шла о возможности изменения баз, то уточнять я не сталlair
20.07.2015 11:43Вам написали терминологически неверно.
teecat Автор
20.07.2015 11:55Ничуть никого не оправдывая
Этот человек занимается описанием функционала вирусов. И знает эту область отлично. Но:
— все знать нельзя.
— это был ответ в переписке. Не могу сказать, что если бы делалось официальное описание этих вирусов, то там было бы написано неверно
lair
20.07.2015 11:59Цитировать-то, не разобравшись, зачем?
Alexeyslav
21.07.2015 14:38А если цитату править это уже будет не цитата а авторское сочинение…
lair
21.07.2015 14:39Так она и незакавычена.
teecat Автор
21.07.2015 14:44-2Не хотел отвечать, но не могу, не ответить. Галочка висит незавершенных дел
teecat Автор
21.07.2015 14:56-1Как вы думаете сколько вирусов мы/касперские заносим в базу ежедневно? Не удивлюсь, если порядка тысячи (давно не считал, а число растет). Описать полностью и корректно все — нереально. Да и будем честными — особо это и не интересует никого. Антивирус должен поймать и уничтожить. Соответственно аналитиков интересует как обнаружить и как откатить заражение.
Качественных описаний вредоносного ПО — очень и очень мало. Это требует времени и сил. Что предпочтительнее клиентам — хорошее описание или сотня вручную обработанных вирусов? Философский вопрос
Плюс я, хотя и являюсь сотрудником компании, пишу свои статьи сам — это не проект компании. Соответственно я не могу заказать описание. Я могу лишь попросить по знакомству поискать информацию. Что и было сделано.
Мне в частном порядке ответили. Я понял, что на вопрос ответ есть — вирусов, манипулирующих с данными баз — нету. Поэтому счел, что иным это также будет понятно и разместил информацию. Писать трактат и разбираться с темой в рабочее время — увы начальство не поймет
Соответственно приношу свои извинения, что ответ был сформулирован так, что допускал двойное прочтение
vedenin1980
06.07.2015 14:56Скажем банковские данные. Понятно, что антивирус всегда может пропустить некую заразу. Но и бекап не решает проблемы — нужно не допустить потери даже одной записи в базе. То есть ни антивирус, ни резервное копирование проблемы защиты сами по себе не решают.
В банковских данных задолго до записи на диск данные транзакции разлетятся на десятки серверов, причем изменения всех версий всегда сохраняются.
как ведут себя вирусы на кластерах и кластерных базах данных. Теоретически заражение одного узла вполне может привести к потере всех данных кластера.
Никак себя не ведут, слишком сложная логика, близкая к уровню системы с элементами ИИ. В целом намного проще открыть хакеру-злоумышленнику черный вход в систему.
Alexeyslav
06.07.2015 15:16Это не панацея. Как только способ станет очень распространенным, трояны станут его учитывать. Тут поможет только жесткое разграничение полномочий. Программа которая делает бэкап не должна иметь доступа к предыдущим резервным копиям. она вообще не должна знать в принципе что они существуют. Ибо простейшая инъекция DLL и троян будет действовать от лица программы имеющей доступ ко всем резервным копиям.
Вообще надо поменять концепцию резервных копий, было бы лучше чтобы процесс копирования инициировался извне, а резервируемая система только предоставляла бы доступ на чтение. Тогда, кстати многие стелс-вирусы окажутся в пролёте и в резервную копию не попадут…teecat Автор
06.07.2015 15:37+ у системы резервного копирования должна быть самозащита (контроль попыток изменения), как у тех же антивирусов. Хотя это приводит нас к тому, что в системе появляется несколько систем самозащиты, что приведет скорее всего к проблемам
Alexeyslav
06.07.2015 17:24Должна быть, но увы… не для простых смертных. Ведь это дополнительные глюки и ресурсы на разработку.
amarao
06.07.2015 12:53+4Это называется «отчуждение». Когда после бэкапа система, являющаяся источником бэкапа, оный бэкап не может ни зашифровать, ни удалить. И да, это требует отдельных усилий.
В мою бытность офисным сисадмином у нас было два уровня бэкапа: на диск на «бэкап-сервере» (старый десктоп с рейдом под столом в серверной) и на болванки. Причём только '-R'. Которые хранились в другом здании. На выходе получилась чертовски надёжная система, которая была способна пережить всё вообразимое. И которая ещё и «историю» давала (два раза в жизни компании приходилось смотреть «а что происходило год назад с такого-то по такое-то»).
А антивирусы — глупость и паллиативное средство.teecat Автор
06.07.2015 13:16+1Давно хочу написать статью о психологии выбора :-)
При выборе средства защиты всегда нужно учитывать квалификацию. Квалифицированный админ может работать и без антивируса (хотя самоуверенность это зло конечно, но не об этом речь). А вот обычный пользователь — нет. Он просто не может поднять у себя и обслуживать весь комплекс, нужный для безопасности. Есть места/пользователи/устройства, где альтернативы антивирусу нет. А есть и наоборот
И кстати недавно отличная статья была в Хакере недавно с примерами по социальной инженерии. Или вот
MichaelBorisov
06.07.2015 13:40-2А антивирусы — глупость и паллиативное средство.
Я тоже в свое время насмехался над глупыми вирусами под виндой, которые было легко видно в task manager. И, будучи программистом, внимательно относясь к своему компьютеру, отключал антивирус или вообще его не ставил, чтобы не терять производительность компьютера. Но потом пару раз заразился и понял, что недооцениваю опасность. Без антивируса нельзя. Даже если вы программист, работающий в антивирусной компании. Достаточно один раз попасть на вредоносный веб-сайт — и всё. Вы даже ничего не заметите.navion
09.07.2015 13:10Антивирусы нужны для одного — защищать от эксплоитов для которых не вышел или не установлен патч. В остальное время это бесполезная трата ресурсов, так как от неизвестных уязвимостей или таргетированных атак они не спасут.
teecat Автор
09.07.2015 13:20От неизвестных уязвимостей — частично могут. Проверка трафика до его попадания в клиентские приложения. Но вообще защита от неизвестных уязвимостей — не дело антивируса
От таргетированных атак не спасет никто. Другой вопрос — какой процент пользователей подвергается таргетированным атакам?
Но в ваших словах есть и истина. По моему опыту проблема антивирусной защиты зачастую не в самом антивирусе, а в непонимании клиентом зачем он нужен и как его нужно использоватьnavion
09.07.2015 14:36Я тоже не дописал свою мысль, самый действенный способ защиты — это application whitelisting. Без него антивирус будет полезен, но кардинально ситуацию не спасёт.
teecat Автор
09.07.2015 14:55Абсолютно верно. Урезание прав, списка софта + антивирус на проверку входящего + периодические проверки во избежание.
Вот то-то и грустно, что в 19 из 20 случаев по моей практике в компаниях этого не понимают и считают, что антивирус это панацея и он должен ловить все на входе. А потом начинается переход на иной (или наш) антивирус по причине «наш антивирус пропускает!»
dom1n1k
06.07.2015 13:54+1Скажем так — бэкап заменяет антивирус не на 100%, но гораздо лучше, нежели наоборот.
shtorman
09.07.2015 15:10-1Совсем недавно по рассылке пришла инфа по Veeam Endpoint Backup FREE. По характеристикам очень вкусно и бесплатно! Еще не смотрел, что это за сыр, но думаю в качестве решения для ТС подойдет.
Shrim
Заменит ли велосипед топор?
Заменит ли ложка ножницы?
Заменит ли карандаш вентилятор?
Продолжать или уже поняли к чему я?
teecat Автор
Я-то понял :-)
К сожалению многие не понимают, что информационная безопасность — оно как туман из знаменитого мультфильма про ежика. В ней нет ничего постоянного. Нельзя выбрать только одно средство и считать его панацеей. А именно это я постоянно наблюдаю у заказчиков.
По моему мнению специалист только тогда может считаться таковым, когда он понимает, что его знания не совершенны. Поскольку в комментариях к предыдущим статьям мнение о том, что бекап отличная альтенатива встречалось постоянно, то я собрал немного примеров того, что полагаться нельзя ни на что