Pull to refresh

Comments 59

Заменит ли велосипед топор?
Заменит ли ложка ножницы?
Заменит ли карандаш вентилятор?
Продолжать или уже поняли к чему я?
Я-то понял :-)

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

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

Была кстати в 90-х годах такая полезная утилита которая при запуске системы сверяла все файлы по контрольным суммам и выдавала отчет какие из них изменились. Что-то нынче такого софта уже не найти…
По настройке — не моя тема, тут я рекомендовать не буду.

А вот по подсчету контрольных сумм вы не правы. Сейчас такого ПО много. Из того, что на памяти — продукция Safe'n'Sec. Продвигается такое ПО для защиты мест, где антивирус поставить нельзя — например для АСУТП. Также предлагается для банкоматов, но туда им не попасть — стандарты требуют там антивирус.
Но верить нельзя и такому ПО. Из того с чем сталкивался. Подмена пути, пол которому стартует файл. Контролируемый файл не меняется, но если он стартует по имени, а не по полному пути, то можно поменять список директорий, в которых ищутся файлы. Также такое средство не сможет предохранить от вирусов, не сохраняемых на диск (скрипты в браузере например) или не сохраняемых в виде файла (например сохраняемых в реестр)
Такая программа позволяет выявить нарушение целостности системных файлов. И как правило, вирусы прописывают себя во временные папки и в папку «мои документы» пользователя, что сразу же бросается в глаза.
У программы же совсем другая задача — обеспечить контроль целостности системных файлов, что может быть дополнительным признаком вторжения в систему.
Но, к сожалению, такой софт непопулярен из-за частых ложных сигналов — софт постоянно сам себя обновляет и файлы на системном диске практически беспрерывно меняются. Как в таких случаях рядовому пользователю разобраться где вредонос а где программа обновилась? Только в некоторых ситуациях будет польза от такого софта — там где системный раздел операционки практически read-only но в таком случае эффективней разрешить проблему правами доступа, а софт будет только защитой от дурака-администратора или индикатором заражения через уязвимости.
Реестр можно точно так же сверять, и кстати по поводу реестра я такой софт видел. Делает снапшоты реестра и выводит все различия между двумя снапшотами, но это инструмент скорей разработчика софта/хакера нежели защиты от вирусов.
Насколько я знаю в таких программах не чисто подсчет контрольных сумм, но и некая база данных о контрольных суммах, какие они должны быть. Тоесть на стороне вендора должна быть система, контролирующая в том числе обновления известных программ и заносящая новые значения типовых контрольных сумм в базу.

Контролировать можно что угодно. Антивирус он как ядерная бомба — накрывает все контролируемую территорию сразу и без настроек. Все остальные средства — и поведенческие анализаторы вместе с системами подсчета контрольных сумм требуют настройки и обучения (тоесть это спецназ :-) ).Устанавливая антивирус мы знаем, что он будет контролировать все, а если появится новый вирус, то будет контролировать и еще что-то. А если мы ставим более продвинутое средство — знаем ли мы что точно оно контролировать будет? Я не зря привел пример про изменения пути. Да это дыра реализации конкретной программы. Но знали ли мы о ней, когда приобретали? Тут мы опять возвращаемся к вопросу уверенности и квалификации типичного пользователя (и на всякий случай — я ни за кого не агитирую)
Смотря какие фалы, и какого размера, можно например поднять GIT/SVN и комитить туда каждый день нужные файлы, этакий версионный бэкап. Либо поднять веб сервис который только принимает файлы и раскладывает их на сервере, а доступа для удаления/изменения не даёт.
> Смотря какие фалы, и какого размера
И добавим, какой важности каждое изменение в них
Ну скажем 4гиговые mp4 я бы в любом случае в систему контроля версий не стал ложить. А 100/200 метров ворд/эксель пофиг что там за важность, можно спокойно бэкапить. Но может я чего и упускаю.
Из того, что сталкивался — центральная база данных банка. Потеря каждой записи — это не есть хорошо.
ИМХО база данных в любом(ну скажем 98% случаев) случае либо бэкапится целиком, либо никак. И с базой банка думаю не будет идти разговоров о NAS Synology и подобное, там по идее должен быть особый регламент всех процедур бэкапа/востановления из бэкапа и прочего.
Поднять можно, а скрестить решение с программами бекапа? Не вручную же файлы туда ложить.
Ну тут незнаю, по крону/таксшедулеру комитить каталог… надо разбираться.
Ага, и уйдет он в хранилище уже зашифрованным… может даже только на половину.
Так это же система контроля версий, достанешь прошлую не зашифрованную и всего то делов.
Я написал такую программу для контроля целостности данных. Довольно развитая. Продвижением не занимался, использую сам. Если интересует — пишите в личку.
Я и сам не знаю зачем она мне. Проще из бэкапа восстановить только когда все явно пойдет в разос, уровень паранойи пока еще не зашкаливает.
На всякий случай, хранится еще бэкап свежеустановленной системы, если не поможет восстановление 2-х недельной давности, так хоть сэкономит время на установку. Дополнительно документы и всякого рода проекты бэкапятся отдельно как особо ценное. Система то фиг с ней, на бытовом уровне можно и переустановить её с нуля если вообще ничего не поможет.
Напрашивается простая система, на самом деле. Есть некий архив, проверенный вручную, где у файлов есть хэш.
Клиентская программа обновляет этот архив, всегда сохраняя предыдущую копию, при этом сравнивает, какая доля файлов была изменена — если число измененных файлов выше некоего порога — оповещать оператора. Если изменилось или удалилось адекватное количество файлов — то просто добавлять их в архив как проверенные файлы. Эта операция может проводиться ежедневно. А ежечасно можно делать копию рабочих документов на сервер по защищенному каналу.
Тут важно, чтобы программа общалась с местом хранения архивов не как с подключенным диском, а по отдельному каналу.
Можно на разные серверы архивов по очереди писать данные…
В статье я не затронул еще один момент. Данные имеют разную ценность. Скажем банковские данные. Понятно, что антивирус всегда может пропустить некую заразу. Но и бекап не решает проблемы — нужно не допустить потери даже одной записи в базе. То есть ни антивирус, ни резервное копирование проблемы защиты сами по себе не решают.

Я к сожалению не нашел информации, как ведут себя вирусы на кластерах и кластерных базах данных. Теоретически заражение одного узла вполне может привести к потере всех данных кластера. Если у кого есть примеры действий вирусов на кластере — был бы благодарен
А вы знаете хотя бы один вирус, который поражает СУБД на уровне данных, а не файлов?
Вирус сейчас — это потоковое производство, рассчитанное на заражение всех подряд (спец атаки не рассматриваем). Соответственно сложно рассчитывать, что вирусу нужно будет переработать некие данные в базе. Навскидку примеров подобного не помню, запрошу сейчас

А вот примеров шифрования баз банных в числе прочих файлов.
В таком случае заражение (нормально построенного) кластера БД таким образом невозможно — у них нет прямой репликации файлов, как следствие, один из серверов просто отвалится из-за нарушения целостности БД, остальные будут работать.
Если зашифрована будет база целиком — конечно. А вот если будут зашифрованы файлы в ней?
Если база данных это файловое хранилище и вирус обставит шифрование как замену/апдейт файлов из хранилища, то я не вижу причин, почему эти изменения не расползутся по подчиненным серверам.
Естественно случай, когда нарушается целостность — не рассматриваем.
База данных — это не файловое хранилище, поэтому ваше рассуждение неприменимо. Я специально задавал вопрос про СУБД и заражение на уровне данных.
Про спец вирусы я запросил, если что ответят — напишу

Типичная база данных конечно не хранилище файлов, но бывает и наоборот. Не хочу, чтобы меня поняли, что я упираюсь. Вопрос чисто теоретический. Просто интересно
Дело в том что давным давно ни в чем серьезнее домашнего компа не используются БД, тупо состоящие из кучи текстовых файлов без индексов и служебной информации. В любой БД есть как минимум контрольные суммы данных и соответственно она сразу заметить битый или зашифрованный файл.
Нет там контрольных сумм. По крайней мере не в «любой БД». Подсчет контрольных сумм будет сказываться на производительности поэтому используется только в критичных местах.
Так же заметить сразу БД не может, максимум — это только в момент обращения к требуемым данным.
Обычно как минимум в заголовке файлов пишется служебная информация, строятся индексы, констрейнты и т.п., я не знаю ни одной БД, которая не заметить что её таблицы зашифрованы.
Если не трогать заголовки а зашифровать только данные, простые БД даже носом не поведут.
Ошибки будут возникать на другом уровне, когда приложение попытается считать из поля число а там будет тарабарщина.
вирус обставит шифрование как замену/апдейт файлов из хранилища, то я не вижу причин, почему эти изменения не расползутся по подчиненным серверам.

Слишком сложно для вируса, не говоря уже о том что в серьезных хранилищах сохраняются все последние версии файлов и проверяются права. Такое возможно только для другого типа вирусов — «дающих рут доступ в систему хакеру, который уже делает деструктивные действия руками»
Поражающих базу данных не нашлось, но вот анализирующих ее — имеется:
— JS.Proslikefan.7 — червь, одна из функций — поиск сайтов, уязвимых для SQL-инъекций, инфу сливает на управляющий сервер.
— BackDoor.NetHood — RAT-троянец c обширным функционалом, может выполнять много разных манипуляций с базами данных SQL.
— Trojan.Dyre.27 — умеет воровать cookies из SQL-баз в профилях юзеров chrome и Firefox (этой функцией, обладает несколько троянцев подобного типа)

Извиняюсь за задержку — народ в отпусках
Ну, во-первых, SQL-инъекция — это вообще не имеет отношения к БД, это уязвимость в прикладном слое.
Во-вторых, я как-то не знаю, что такое SQL-база.

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

Цитировать-то, не разобравшись, зачем?
А если цитату править это уже будет не цитата а авторское сочинение…
Не хотел отвечать, но не могу, не ответить. Галочка висит незавершенных дел
Как вы думаете сколько вирусов мы/касперские заносим в базу ежедневно? Не удивлюсь, если порядка тысячи (давно не считал, а число растет). Описать полностью и корректно все — нереально. Да и будем честными — особо это и не интересует никого. Антивирус должен поймать и уничтожить. Соответственно аналитиков интересует как обнаружить и как откатить заражение.

Качественных описаний вредоносного ПО — очень и очень мало. Это требует времени и сил. Что предпочтительнее клиентам — хорошее описание или сотня вручную обработанных вирусов? Философский вопрос

Плюс я, хотя и являюсь сотрудником компании, пишу свои статьи сам — это не проект компании. Соответственно я не могу заказать описание. Я могу лишь попросить по знакомству поискать информацию. Что и было сделано.

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

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

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

как ведут себя вирусы на кластерах и кластерных базах данных. Теоретически заражение одного узла вполне может привести к потере всех данных кластера.

Никак себя не ведут, слишком сложная логика, близкая к уровню системы с элементами ИИ. В целом намного проще открыть хакеру-злоумышленнику черный вход в систему.
Как и предполагалось. Спасибо!
Это не панацея. Как только способ станет очень распространенным, трояны станут его учитывать. Тут поможет только жесткое разграничение полномочий. Программа которая делает бэкап не должна иметь доступа к предыдущим резервным копиям. она вообще не должна знать в принципе что они существуют. Ибо простейшая инъекция DLL и троян будет действовать от лица программы имеющей доступ ко всем резервным копиям.
Вообще надо поменять концепцию резервных копий, было бы лучше чтобы процесс копирования инициировался извне, а резервируемая система только предоставляла бы доступ на чтение. Тогда, кстати многие стелс-вирусы окажутся в пролёте и в резервную копию не попадут…
+ у системы резервного копирования должна быть самозащита (контроль попыток изменения), как у тех же антивирусов. Хотя это приводит нас к тому, что в системе появляется несколько систем самозащиты, что приведет скорее всего к проблемам
Должна быть, но увы… не для простых смертных. Ведь это дополнительные глюки и ресурсы на разработку.
Это называется «отчуждение». Когда после бэкапа система, являющаяся источником бэкапа, оный бэкап не может ни зашифровать, ни удалить. И да, это требует отдельных усилий.

В мою бытность офисным сисадмином у нас было два уровня бэкапа: на диск на «бэкап-сервере» (старый десктоп с рейдом под столом в серверной) и на болванки. Причём только '-R'. Которые хранились в другом здании. На выходе получилась чертовски надёжная система, которая была способна пережить всё вообразимое. И которая ещё и «историю» давала (два раза в жизни компании приходилось смотреть «а что происходило год назад с такого-то по такое-то»).

А антивирусы — глупость и паллиативное средство.
Давно хочу написать статью о психологии выбора :-)

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

И кстати недавно отличная статья была в Хакере недавно с примерами по социальной инженерии. Или вот
А антивирусы — глупость и паллиативное средство.

Я тоже в свое время насмехался над глупыми вирусами под виндой, которые было легко видно в task manager. И, будучи программистом, внимательно относясь к своему компьютеру, отключал антивирус или вообще его не ставил, чтобы не терять производительность компьютера. Но потом пару раз заразился и понял, что недооцениваю опасность. Без антивируса нельзя. Даже если вы программист, работающий в антивирусной компании. Достаточно один раз попасть на вредоносный веб-сайт — и всё. Вы даже ничего не заметите.
Антивирусы нужны для одного — защищать от эксплоитов для которых не вышел или не установлен патч. В остальное время это бесполезная трата ресурсов, так как от неизвестных уязвимостей или таргетированных атак они не спасут.
От неизвестных уязвимостей — частично могут. Проверка трафика до его попадания в клиентские приложения. Но вообще защита от неизвестных уязвимостей — не дело антивируса

От таргетированных атак не спасет никто. Другой вопрос — какой процент пользователей подвергается таргетированным атакам?

Но в ваших словах есть и истина. По моему опыту проблема антивирусной защиты зачастую не в самом антивирусе, а в непонимании клиентом зачем он нужен и как его нужно использовать
Я тоже не дописал свою мысль, самый действенный способ защиты — это application whitelisting. Без него антивирус будет полезен, но кардинально ситуацию не спасёт.
Абсолютно верно. Урезание прав, списка софта + антивирус на проверку входящего + периодические проверки во избежание.

Вот то-то и грустно, что в 19 из 20 случаев по моей практике в компаниях этого не понимают и считают, что антивирус это панацея и он должен ловить все на входе. А потом начинается переход на иной (или наш) антивирус по причине «наш антивирус пропускает!»
Скажем так — бэкап заменяет антивирус не на 100%, но гораздо лучше, нежели наоборот.
Совсем недавно по рассылке пришла инфа по Veeam Endpoint Backup FREE. По характеристикам очень вкусно и бесплатно! Еще не смотрел, что это за сыр, но думаю в качестве решения для ТС подойдет.
хоть ответьте в чем не прав. Я ведь не говорю отказаться от антивируса, но для выполнения бекапа вполне хорошее решение (совместно с антивирусом).
Мне вот тоже интересно, за что меня заминусовали. Статью специально писал выдержанно-нейтрально
Не заменит, пока не будет деактуализации информации.
Sign up to leave a comment.

Articles