LINUX.ORG.RU

Linux в опасности!

 , , , ,


1

2

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

Но такая ситуация не даёт покоя рептилоидам и прочим мошенникам.
«Что-же делать? ...» - думают они - "... Как нам зарабатывать деньги, заражать компьютеры, продавать антивирусы и прочую, оказавшуюся ненужной, херню?"
И решили: «Надо внедрить диверсантов и потихоньку всё испортить!»

Итак, заметил, что с каких-то пор, эти пидиверсанты внесли изменения дефолтных прав доступа при монтировании ntfs, vfat и прочих ф.с. - все файлы по умолчанию стали исполняемыми, установлен execute permissions флаг.
Теперь если скачать файл с вирусом и поместить его на диск с файловой системой ntfs или fat32, или воткнуть флешку с вирусом, то он сразу будет исполняемым и его можно случайно или преднамеренно запустить.
Такие вот дела.

Я конечно сразу это исправил себе вот таким патчем:

--- a/src/udiskslinuxfilesystem.c
+++ b/src/udiskslinuxfilesystem.c
@@ -331,7 +331,7 @@
 
 /* ---------------------- vfat -------------------- */
 
-static const gchar *vfat_defaults[] = { "uid=", "gid=", "shortname=mixed", "utf8=1", "showexec", "flush", NULL };
+static const gchar *vfat_defaults[] = { "uid=", "gid=", "shortname=mixed", "utf8=1", "showexec", "flush", "dmask=022", "fmask=133", NULL };
 static const gchar *vfat_allow[] = { "flush", "utf8", "shortname", "umask", "dmask", "fmask", "codepage", "iocharset", "usefree", "showexec", NULL };
 static const gchar *vfat_allow_uid_self[] = { "uid", NULL };
 static const gchar *vfat_allow_gid_self[] = { "gid", NULL };
@@ -339,7 +339,7 @@
 /* ---------------------- ntfs -------------------- */
 /* this is assuming that ntfs-3g is used */
 
-static const gchar *ntfs_defaults[] = { "uid=", "gid=", NULL };
+static const gchar *ntfs_defaults[] = { "uid=", "gid=", "dmask=022", "fmask=133", NULL };
 static const gchar *ntfs_allow[] = { "umask", "dmask", "fmask", "locale", "norecover", "ignore_case", "windows_names", "compression", "nocompression", "big_writes", NULL };
 static const gchar *ntfs_allow_uid_self[] = { "uid", NULL };
 static const gchar *ntfs_allow_gid_self[] = { "gid", NULL };
А что сделал ты, линупсоид?

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

Если перед этим преднамеренно смонтировать раздел с разрешением что-либо с него запускать.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)

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

annulen ★★★★★ ()
Ответ на: комментарий от mumpster

Смысл в том что стало возможно случайно запустить вирь кликом мышки в файловом менеджере.
Про ld-linux.so хомячкам пока рано говорить.

superuser ★★ ()
Последнее исправление: superuser (всего исправлений: 1)
Ответ на: комментарий от annulen

‘‘случайно’’ установить оттуда левый пакет

Для этого надо набирать пароль рута.

‘‘случайно’’ запустить левый скрипт интерпретатором

Это может произойти запросто если в *.desktop прописана соответствующая команда.

torvn77 ★★★★★ ()

Мне надо исполнять исполнямые файлы на ntfs, от того, что текстовые файлы будут исполняемыми, большой беды не случится. Да и на такой случай есть noexec в опциях монтирования.

anonymous ()

Главное правило построения безопасной *NIX OS.

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

Это касается как программы, так и ядра OS.

Проверка:

paxtest blackhat

anonymous ()

Главное правило построения безопасной *NIX OS.

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

Проверка:

mount |grep 'rw' |grep -v 'noexec'

anonymous ()

Noexec - необходим. Но его наличие не исключает необходимости проверки антивирусником файлов доступных на запись и всего интернет трафика: https://www.opennet.ru/opennews/art.shtml?num=51397 уязвимости подобного рода в ПО, в некоторых случаях, могут запускать вирус без участия пользователя и прямого выполнения exec.

anonymous ()

Итак, заметил, что с каких-то пор, эти пидиверсанты внесли изменения дефолтных прав доступа при монтировании ntfs, vfat и прочих ф.с. - все файлы по умолчанию стали исполняемыми, установлен execute permissions флаг.

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

/etc/sysctl.conf
kernel.grsecurity.rmount_protect = 1
Сравнение SysV и systemd (комментарий)

anonymous ()
Ответ на: комментарий от superuser

Про ld-linux.so хомячкам пока рано говорить.

гыгыгы )))

PS: кстати, я в своё время успешно боролся похожим способом - просто ставил -o noexec, в частности, для /tmp. один раз даже спасло от какого-то руткита, они не смоглди в ld-linux.so :)

mumpster ★★★★★ ()
Последнее исправление: mumpster (всего исправлений: 1)

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

anonymous ()
Ответ на: комментарий от superuser

Смысл в том что стало возможно случайно запустить вирь кликом мышки в файловом менеджере.

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

morse ★★★★★ ()
Ответ на: комментарий от mumpster

noexec, в частности, для /tmp.

Некоторые приложения генерируют исполняемые временные файлы, которые исполняют. Без указания переменной TMPDIR= срут в /tmp, который с noexec. Говнософт-с.

anonymous ()
Ответ на: комментарий от anonymous

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

anonymous ()
Ответ на: комментарий от anonymous

Антивирус никак не защищает от вирусов, кроме совсем уж старых, известных и примитивных в условиях отказа патчить уязвимость, эксплуатируемую малварью.

peregrine ★★★★★ ()