Индийская мстя

masterok.livejournal.com — Бывший сотрудник ИТ-консалтинговой компании Дипаншу Кхер (Deepanshu Kher) решил отомстить за свое увольнение удалением аккаунтов сотрудников одной из компании-клиента, расположенной в Карлсбаде (Калифорния, США) в сервисе Microsoft 365. Текст в первом.
Новости, Разное | Сова 04:24 01.04.2021
14 комментариев | 54 за, 0 против |
#1 | 07:09 01.04.2021 | Кому: Всем
> В апреле 2017 г. в США завели уголовное дело против Нимеша Пателя (Nimesh Patel), который в течение 14 лет работал системным администратором в компании Allegro MicroSystems. Ему пришлось уйти из компании, и он решил отомстить бывшему работодателю путем заражения вирусом базы данных его бухгалтерии на СУБД Oracle.

Базу!!! Оракл!!! Вирусом!!!

[убегает ставить антивирусы на свои оракловые базы]
#2 | 07:24 01.04.2021 | Кому: spitfire
> DROP TABLE *;

Оракл не любит дураков и саботажников, он так не позволит. DROP DATABASE тогда уж.
#3 | 07:41 01.04.2021 | Кому: TPEHEP
> Опять какой-то хер виноват!!!

- Что случилось с нашей сетью?
- А хер его знает!
- И где же этот хер, который знает?
#4 | 09:05 01.04.2021 | Кому: честный
> не силен в ИТ, а что здесь не так?

База данных - это упорядоченная совокупность данных, она хранится в файлах базы. Но эти файлы - не исполняемые. Вирус же может существовать в системе как сам по себе, так и встраиваться в другие файлы ("заражать" их), но для работы его код обязательно должен быть запущен. Испортить файлы данных - без проблем, заразить исполняемые файлы СУБД - без проблем, а вот "заразить базу вирусом" - никак невозможно. Поэтому смешно.
#5 | 09:37 01.04.2021 | Кому: Mayor
> А как же триггеры на события в наиболее часто используемой таблице? Не совсем вирус, наверное.

Не то, что "не совсем вирус", а "совсем не вирус".

> С ораклом не сталкивался, но в ms sql криво написанный триггер может и базу положить.


И в оракле может.

> Другое дело, что можно относительно быстро вычислить источник проблемы.


Совершенно верно. С точки зрения СУБД это пользовательский объект, и спрятать его от SYS (ораклового SA) никак не получится.
#6 | 09:39 01.04.2021 | Кому: tarasz
> а как на счет хранимых процедур и внешних библиотек из них вызываемых?

Есть такое. Но это тоже не вирусы.
#7 | 09:52 01.04.2021 | Кому: Mayor
> Но вопить будут про вирус! Так дороже в устранении последствий и ответственность виновному больше.

Топ-менеджеры и изнасилованные вирусами журналисты вовсе не обязаны разбираться в подобных технических нюансах!!!
#8 | 10:59 01.04.2021 | Кому: честный
> а когда эти самые базы под шифровальщик попадают.
> это не значит что база заражена?

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

Кстати, нормальные современные базы данных типа Oracle или MS SQL строго бдят за своей внутренней целостностью, и при малейшей модификации файлов данных (физической или логической) в обход СУБД безжалостно эти файлы помечают как испорченные. Вплоть даже до отказа стартовать и открываться.
#9 | 11:29 01.04.2021 | Кому: честный
> спасибо за разъяснения.

Да не за что, был рад помочь разобраться.

Для дополнительного понимания просто прими как факт, что абсолютное большинство современных вредоносных программ, называемых в обиходе "вирусами", в каноническом смысле вирусами вовсе не является. Черви, трояны, шифровальщики - но не вирусы. Механизмы распространения и вредоносные проявления - схожи, устройство и принципы работы - нет.
#10 | 11:50 01.04.2021 | Кому: Швейк
> Надо портить/менять данные нежно и месяцами, чтоб бекапы были все битые.
> Оно все будет целое но совершенно не пригодное для работы.

С ораклом точно не проканает, там целостность блоков на лету отслеживается, и при работе, и при бэкапе. Вот бэкапы сами можно попытаться испортить, это да, если админ лох или неопытный.
#11 | 12:22 01.04.2021 | Кому: Швейк
> Так он целый будет. Просто все числовые показатели немножко другие станут, но так чтоб итог сохранился прежний))

Ты про сами данные, что ли, говоришь? Просто для меня, например, "битый бэкап" - это битый на блочном уровне или неконсистентный.
#12 | 04:24 02.04.2021 | Кому: Longint
> Скрипт вполне себе можно накатать в теории и сделать компонентом БД.
> Чем не вирус?

Тем, что ты не сможешь сделать скрипт компонентом БД, не имея доступа к БД "изнутри", как минимум от имени юзера с определенными грантами.

> Внешнюю dll можно.

> Чем не вирус?

Смотри выше.

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

> Тоже вирус.

Конечно, можно задать кривые данные. Но задашь их для этого ты сам, а не какая-то посторонняя программа.

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

Ход твоих мыслей мне понятен, технически он верный, но все приведенные тобой примеры - это "бомбы" и "закладки", а не вирусы.
#13 | 06:19 02.04.2021 | Кому: Longint
> Определение компьютерного вируса по сути в том или ином виде содержит лишь одну четкую деталь - вирус это алгоритм самовоспроизведения, который начинает каким то образом выполнять заражаемая подсистема, не имея это в качестве своей целевой подзадачи. Ну и до кучи внедрение этого алгоритма в иные алгоритмы.
>
> И то, что я описал - вполне в это вписывается.

Полностью с тобой согласен.

> А вот дальше, с учетом того, что ты сказал, - начинается интересное.

>
> Дело в том, что ты, насколько я понял, исходишь из того, что если вирус нельзя привнести извне в подсистему - то он и не вирус.
> Если, конечно, ты имеешь в виду именно это.

Именно так. Я исходил изначально из этого.

> Но тут дискуссионно как бы.

> Вирус всегда создается человеком (про самозарождение пока не слышал) внутри некой подсистемы и для нее.
> Почему, если алгоритм самовоспроизведения создан изначально внутри ОС в виде исполняемого ей кода, то мы считаем его вирусом, а если внутри БД изначально создан скрипт с такой же задачей - не считаем?
>
> Или ты имеешь в виду, что если алгоритм не может выйти за границы подсистемы в которой он создан, то т.к. он не распространяется, то это не вирус, а просто зловредная закладка?

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

> Но даже в этом случае скрипт, изначально заложенный в БД, может содержать алгоритм распространения вовне.

> Представь себе экзотический скрипт, который порождает в определенный момент исполняемые файлы.
> Да, БД не заражалась, напр., именно извне.
> Но можем ли мы не считать зараженной подсистему, в которой есть такое?

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

> Не оспариваю возможности оракла в отношении такого контроля.

>
> Но ведь это как всегда зависит от того, как это все настроено в конкретном случае.

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

Нам с тобой нет смысла спорить, у нас просто несколько разное видение вопроса. Я (как, наверное, и ты) еще застал "классические вирусы" с инъекцией в код носителя, перехватом исполнения, полиморфизмом и прочими интересными вещами. Поэтому по старой памяти придерживаюсь своей точки зрения.
#14 | 07:13 02.04.2021 | Кому: Fr.Z Николай79
> И всë что-ли? Пришли к общему мнению? Что вы за люди то такие?...
> [злобно бурча собирает попкорн, выключает вентиляторы]

А ты думал, мы тут будем насмерть хлестаться до погон с лампасами? ;)
Войдите или зарегистрируйтесь чтобы писать комментарии.