Page 5 of 6

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 1:09 pm
by SoUrcerer
У меня однажды Касперский удалил cygwin. Так что не верьте антивирусникам безоговорочно. :) Только и всего.
А вот с правами пользователей и с группами... Может, стоит создать тему отдельную и обсудить всё это? Вроде уже давно проблема существенная, и решать её придется.

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 1:26 pm
by Mario
SoUrcerer wrote:У меня однажды Касперский удалил cygwin. Так что не верьте антивирусникам безоговорочно. :) Только и всего.
Это ты будешь прокурору типичным пользователям объяснять, что Кошмарский дурак. Поверят скорее более долгосрочному Кошмарскому. Даже если ложечки найдутся, осадочек опять таки останется. Я вот сейчас пишу карту города и все терзает мысль, как бы один из кошмарских не объявил вирусом написанное на ассемблере, потому что ему померещилось. Вирустотал в этом случае даже наоборот противопоказан - изучат найдут 5% совпадений и объявят заразой с рекомендацией для всей пачки антивирусов.

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 3:09 pm
by pixelizator
Политики доступа можно организовать совершенно любые на основе контроля запуска.

Ну не разрешил антивирус запускать файлы и себя удалять, а запускать только доверенные - и ничего не сделаешь.

Думаю надо включить несколько системных функций:
1. Регистрация программы-антивируса как обработчика для протектора запуска. Протектор запуска - код для остановки задачи до подтверждения прав запуска, встроен в функцию запуска.
2. Возврат от антивируса результата (только от зарегистрированного как антивирус процесса) код возобновление работы задачи после подтверждения.
3. Отключение антивируса (в результате выхода из антивируса)
3. Рекомендация антивирусу по добавлению файла в список доверенных
4. Рекомендация антивирусу по удалению файла из списка доверенных
5. Проверка файла без запуска
6. Добавление файла в черный лист
7. Удаление файла из черного листа

Настройки антивируса (да-нет):
1. Включено
2. Блокировать по черному списку
3. Доверять белому списку
4. Выполнить анализ (по сигнатурам, базам, эвристикам)
5. Запрашивать подтверждение
6. Запускать только при подтверждении
7. Добавлять запускаемые в список

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 3:24 pm
by SoUrcerer
Зачем так сложно?
Пусть каждый файл и каждая папка имеют права стандартного набора - r/w/x для всех, r/w/x для владельца, r/w/x для определенной группы.
Пусть имеются пользователи и группы. Обычный пользователь не может менять права на чужих файлах, и не может ставить флаг x для своих, в том числе скачанных из инета.
Хочешь запустить программу - установи флаг запуска через учетку суперпользователя. Компилятор можно поместить в группу, которая создает запускаемые файлы с правами на запись для всех (чтобы пользователь мог их удалить, если что). Когда программа отлажена, флаг w для обычного пользователя с нее нужно снять. В общем, на словах это довольно-таки просто. На деле - потребует для каждого потока хранить имя группы и пользователя, который поток запустил, и отслеживание в модуле ФС доступа к файлам. Потребуется так же запись в ext2/3-разделы, и формат rd придется сменить с fat 12 на что-нибудь другое. И ОС будет безопаснее.
А если пользователь захочет выстрелить себе в ногу - ничто не сможет помешать ему в этом.

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 3:45 pm
by XVilka
тогда уж ext4, но без журнала. И еще у него есть ACL

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 3:47 pm
by SoUrcerer
Насчет ext4 - если будет стабильная реализация :twisted: а то я уже в ubuntu год назад наигрался, когда восстанавливал 200 гиг файлов

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 3:59 pm
by XVilka
ext4 вполне стабилен. А вот убунта - она и в африке убунта :D
Кроме прав доступа имеет смысл впиливать аналог fanotify/dnotify

Но в первую очередь надо выбрать систему контроля доступа - дискретную (DAC), мандатную (MAC) или ролевую (RBAC)

в случае реализации rbac антивирус в принципе не нужен.

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 4:44 pm
by SoUrcerer
Представил: ext4 на флопике. Хотя, можно сделать на fat-томе какой-нибудь tar.7z, и распаковывать потом. В таком случае нельзя будет перезаписать ядро на флоппи командой rdsave - и это хорошо. Хотя доступ к самому kernel.mnt останется :(
DAC простой и понятный. MAC необходим для систем класса МСВС. RBAC выглядит сложным.

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 5:12 pm
by pixelizator
SoUrcerer wrote:Пусть каждый файл и каждая папка имеют права стандартного набора - r/w/x для всех, r/w/x для владельца, r/w/x для ...
Ненавижу эту тупую систему. :evil:

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

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 5:17 pm
by Mario
Пока что это лучшее в плане надежности из того что есть. Вне зависимости от того нравится это кому-то или нет.

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 5:30 pm
by pixelizator
Надёжности чего? Флаг это не криптография, а системная защита. А уж системная защита может быть и совсем не через флаги.

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Wed Dec 07, 2011 6:06 pm
by Mario
Что-то другие виды не сильно распространены.

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Sun Dec 11, 2011 8:14 am
by pixelizator
Я занял второй бит параметров запуска, это будет "запуск без блокировки протектором".
Он нужен исключительно для того, чтобы показать принцип защиты: Если зловред был запущен, защита не поможет. (Он же просто выполнит запуск без блокировки!)

Ещё мне нужно будет три системных функции.
1. Регистрация антивируса в системе
2. Обращение системе от антивируса (О разморозке или закрытии проверяемого процесса, о де-регистрации антивируса при выходе)
3. Просьба антивирусу от программы (Например, обновить доверенный список после установки или обновления программы)
Подскажите какие номера брать.

И ещё мне нужно будет системные переменные:
1. Признак работы защиты
2. Идентификатор зарегистрированного как антивирус процесса.
По каким адресам их разместить?

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Sun Dec 11, 2011 9:48 am
by SoUrcerer
Зачем три системных функции? Нет-нет, одна функция и несколько подфункций!

Re: Предлагаю новую тему для разговора - вирусологию

Posted: Fri Dec 16, 2011 5:52 am
by pixelizator
Подскажите где почитать про момент распаковки kpack, а то в вики написано, что распаковывается ещё до проверки заголовка, а это скорее всего не так.