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

Applications development, KoOS API questions

POLL Нам нужна вирусология в МЕ|CO оси?

Total votes: 66
Да, это нужная тема.
56%
37
Нет, не надо, нам это не грозит
44%
29

  • Для минимальной защиты достаточно модифицировать процедуру запуска так, чтобы можно было делать проверки, вроде контроля по списку или анализатором.

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

    Считаю, что кроме этой модификации в ОС не надо делать ничего.
  • Вообще давно-давно были антивирусные мониторы, которые при каждом запуске компьютера смотрели, как изменялись файлы. Пока был DOS - в этой идее всё было хорошо. А сейчас...
    Сценка "Первый запуск компьютера"
    Spoiler:Добрый день. Вы только что первый раз включили компьютер. Разрешить запуск ядра? Да.
    Разрешить загрузку видеодрайвера vesa? Да.
    Разрешить загрузку драйвера USB? Да.
    Разрешить загрузку драйвера USB HID? Да.
    Разрешить загрузку просмотрщика графики для установки обоев? Да.
    Разрешить загрузку библиотеки PNG? Да.
    Разрешить загрузку библиотеки JPG? Да.
    Разрешить загрузку библиотеки GIF? Да.
    Разрешить загрузку библиотеки libimg? Да.
    Разрешить загрузку библиотеки libini? Да.
    Разрешить загрузку панели? Да.
    Разрешить загрузку приложения ICON? Да.
    Разрешить загрузку менеджера обновлений? Да.
    Менеджер обновлений обнаружил новую версию системы.
    Обновить систему? Да.
    Пакеты обновлены.
    Разрешить загрузку программы REBOOT? Да.
    Перезагрузка.
    Разрешить загрузку видеодрайвера vesa? Да.
    Разрешить загрузку драйвера USB? Да.
    Разрешить загрузку драйвера USB HID? Да.
    Разрешить загрузку просмотрщика графики для установки обоев? Да.
    Разрешить загрузку библиотеки PNG? Да.
    Разрешить загрузку библиотеки JPG? Да.
    Разрешить загрузку библиотеки GIF? Да.
    Разрешить загрузку библиотеки libimg? Да.
    Разрешить загрузку библиотеки libini? Да.
    Разрешить загрузку панели? Да.
    Разрешить загрузку приложения ICON? Да.
    Разрешить загрузку менеджера обновлений? Да.
    Клац... Меню.
    Разрешить загрузку приложения @menu? Да.
    Разрешить загрузку приложения KFAR? Да.
    Разрешить........
  • Это же убиться об стену - человек для компьютера. :mrgreen:
    Они и так при нашей помощи размножаются! Доколе терпеть будем?!
  • Вобще, достаточно при компиляции создать список хешей первоначально доверенных приложений и драйверов, эмулируя этим первый запуск.

    Если я реализую функцию... Я в проект включался когда ещё не было разделения веток и вобще SVN... Тогда вроде понятно было. А как работать теперь? Куда, так сказать, заносить изменения?
  • pixelizator wrote:Вобще, достаточно при компиляции создать список хешей первоначально доверенных приложений и драйверов, эмулируя этим первый запуск.
    Ок, а если таблицу хешей подменят? А если самого проверяльщика подменят? Когда KOS зашита в BIOS - тогда бояться нечего. Когда она на CD-диске и хранит информацию на секретном сервере с супер-пупер шифрованием и привязкой к MAC-адресу компьютера и еще чему-нибудь - тогда всё тоже хорошо. А вот поставил я Колибри на жесткий, и какой-нибудь скриптовый троян перезаписал мне проверяльщика. Ну или там ядро. И что тогда делать? Не факт, что вирус себя проявит, и у пользователя появится желание запуститься с CD, чтобы проверить комп. Вирус может втихую работать как часть DDoS или спам-бота. Вот над такими тонкостями нужно подумать.
    Если я реализую функцию... Я в проект включался когда ещё не было разделения веток и вобще SVN... Тогда вроде понятно было. А как работать теперь? Куда, так сказать, заносить изменения?
    Скачай репозиторий SVN с помощью SNV-клиента. Ядро найдешь в папке /kernel/trunk. Изменения можно вносить прямо туда. Как будет готово - можно смело показывать людям. Правда, я думаю, может разгореться бурная дискуссия, нужен ли UAC файловый монитор в транке, или лучше создать отдельную ветку.
  • самоподписанное приложение, цифровая подпись могут решить проблему интрузии монитора
  • XVilka wrote:самоподписанное приложение, цифровая подпись могут решить проблему интрузии монитора
    Дело говоришь. А я туплю.
    Только если добавлять цифровые подписи, придется менять заголовок программы, или добавлять новую версию. Нет?
    А если вирус тоже самоподписанное приложение? Или если подпись не от кого-нибудь серьезного, то пользователь сам решает, что делать? Вот если бы можно было запрещать приложению запись на жесткий диск, к примеру... Типа "запуск в песочнице".

    Кстати. Я посмотрел внимательно на clamav. Код легко переносимый. Если кому-то действительно нужен тяжелый юниксовый антивирь в Колибри - можете заняться. Или очень-очень меня попросить. Потому что мне в Колибри антивирус не нужен пока что будет никогда, я надеюсь.
  • SoUrcerer wrote:Ок, а если таблицу хешей подменят? А если самого проверяльщика подменят?
    Принцип в том, что запуск говорит о доверии, а не доверие о запуске. Если запустили - значит доверяете.
    И значит подменять можно что угодно - моментом заражения будет момент первоначального оказания доверия.
    Важно то, что такой момент будет выделен и подконтролен, а не как сейчас - всё всему можно.
  • Ок. Кажется, я просто чего-то не понимаю.

    Насчет clamav. Не удержался, руки чешутся. Осталось сделать заглушки для симлинков, putenv и что-нибудь придумать с fsync.

    upd: собралось, жрет процессорное время с базами данных и не жрет без баз данных. Осталось придумать, что делать с выводом сообщений - переопределение stdout и stderr не помогает.
  • Вопрос такой, что лучше: Держать процесс антивируса замороженным и разморажвать на время вопроса о запуске. Или реализовать в приложении антивируса получение такого системного события как "производится запуск, проверьте файл, пожалуйста".

    Думаю, что первое. Потому что получится больше похоже на UAC.
  • По моему мы фигней страдаем - есть множество статей описывающих как дырявое решето эксплуатировать без антивирусов. Для этого нужны две вещи - права доступа и групповые политики (куда можно приложению ломиться, а куда нельзя). По сути система должна вести себя с приложением как мама с недоразвитым ребенком "Вот твоя песочница, а чтобы ты не вылезал я заборчик поставлю".
  • Mario прав, надо не бороться с нарушителем, а предотвращать его. Права доступа и политики доступа решат всю проблему.
  • И всё же тот же clamav может быть полезен, если Колибри будет использоваться в качестве ОС-лечилки.
  • Колибри могут вполне объявить саму - пример с KlbrInWin уже имеется в наличии.
  • Who is online

    Users browsing this forum: No registered users and 10 guests