vak: (Daemon)
[personal profile] vak
Убил три дня, пытаясь устранить глюки в /bin/sh от 2.11BSD.  Динамическое выделение памяти там сделано настолько хитро, что разобраться невозможно.  Вспомнил, что двадцать пять лет назад мы эти грабли уже проходили.  Извлёк дистрибутив ОС Демос 2.2, поправил некоторые мелочи (gcc гораздо более строгий компилятор чем pcc) и вуаля!  Теперь RetroBSD имеет вполне стабильную командную оболочку.  И кучу новых возможностей: встроенные команды echo, test, pwd, хеширование команд и прочее.

Date: 2011-08-14 06:12 (UTC)
From: [identity profile] dom3d.livejournal.com
Сергей, скажите мне пожалуйста.
Возможно ли сделать так ОС чтобы вирус не мог запустить свой процесс?

Мне кажется, что создатели ОС специально создали дырки, для возможности управлением компьютером извне.

Date: 2011-08-14 07:26 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Reuse - великое дело.

А я, наконец, нашел время посмотреть, как обстоит дело с пресловутым Тераком, и обнаружил, что тераковский "мини-юникс" - это в точности LSX, с необходимыми драйверами устройств, конечно. Некоторые исходники в имеющихся у меня образах дисков запорчены, но, вроде, они не критичны. Приписывать тераковские трюки к SIMH мне, правда, лень.

Date: 2011-08-14 13:14 (UTC)
From: [identity profile] f-andrey.livejournal.com
Кстати, любопытно, а современный FreeBSD sh http://svnweb.freebsd.org/base/head/bin/sh/ далеко отклонился от той версии, а то там даже автодополнение недавно добавили :)

Date: 2011-08-14 13:17 (UTC)
From: [identity profile] f-andrey.livejournal.com
А чем процесс вируса, отличается от любого дргугого процесса?

Да, да, создатели ОС, над этим думают в первую очередь, а то как же. И всякие системы ограничения прав, которыми ни одна зараза в последствии не пользуется, именно для этого придумывают :)

Date: 2011-08-14 13:59 (UTC)
From: [identity profile] dmytrish.livejournal.com
С точки зрения ОС вирус мало чем отличается от обычных программ, нельзя чисто машинно определить, вирус ли это или полезная (для пользователя) программа. Поэтому вопрос звучит приблизительно как «Возможно ли так создать ОС, чтобы программа не могла запустить процесс».

Дырка — понятие тоже относительное, любая возможность сделать что-то полезное таит в себе возможность использовать это не по назначению, например, управление компьютером извне — тоже весьма полезная для пользователя фича (когда управляет он сам).

Date: 2011-08-14 14:10 (UTC)
From: [identity profile] dmytrish.livejournal.com
Единственный рецепт безопасности — это использовать надежные, проверенные инструменты и контролировать, что происходит.

Date: 2011-08-14 16:38 (UTC)
From: [identity profile] dom3d.livejournal.com
Вот я и спрашиваю, что наверное возможно сделать так, чтобы ОС знала, что процесс запущен именно пользователем.

Date: 2011-08-14 16:52 (UTC)
From: [identity profile] kondybas.livejournal.com
Можно сделать проще - сделать так, чтобы ОС было по барабану, что там запущено. Например, вместо запуска реальной ОС запускать ее снапшот в виртуальной машине. Это не означает, что она не сможет заразиться, но зараза продержится ровно до останова виртуалки и следующего подъема из снапшота, доступного только на чтение.

Date: 2011-08-14 18:37 (UTC)
From: [identity profile] dom3d.livejournal.com
Это вариант. Но я спрашивал немного другое.

Я полагаю, что создатели ОС специально оставили возможность запускать процессы извне.

Date: 2011-08-14 18:45 (UTC)
From: [identity profile] kondybas.livejournal.com
Что значит - извне? Вирус не прогрызает дырку в оси снаружи. Вирус всегда внедряется по инициативе другого софта, явно или неявно, вольно или невольно запущенного на поражаемой ОС.

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

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

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

Date: 2011-08-14 19:29 (UTC)
From: [identity profile] dom3d.livejournal.com
Спасибо за разъяснения.

Вы пишете- Ваша ОС слушает сетевые подключения, и к вам подключается зараженная машина, которая передает данные.

Вот этот момент мне не понятен.
Еще в фильмах некоторых показывают как хакер подсоединяется к удаленному компьютеру и получает над ним контроль.

Внимание вопрос!
Этот хакер может получить контроль только подобрав пароль?

Каким образом этот хакер может сканировать порты компьютера, или что он делает когда узнает пароль.

Date: 2011-08-14 20:55 (UTC)
From: [identity profile] kondybas.livejournal.com
Ну, в фильмах много чего показывают :) Обычно со взрывами в процессе взлома :)

На самом деле все иначе. Лет десять тому был смешной баг в телнет-сервере, который позволяет по сети ввести логин-пароль и получить командную строку на удаленной машине. Так вот баг был следущий. Подключаемся к серверу, он спрашивает: ваш логин? А мы ему вместо логина начинаем загружать много-много данных одной строкой. Мегабайт 16, примерно. Он эти данные принимает, сохраняет в памяти, потом пытается найти такого пользователя, разумеется, не находит, и пытается вернуться и переспросить другой логин, более подходящий. Но вот эти 16 мегабайт в процессе сохранения в памяти затерли код переспрашивания, и поставили другой код - принятия логина, как корректного, с корректным паролем, да еше и администраторским, рутовым. И вот мы подключаемся к серверу, загоняем ему в мозги гвоздь, и получаем полный контроль над чужой машиной.

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

Date: 2011-08-16 01:48 (UTC)
From: [identity profile] alogic.livejournal.com
Вообще поразительно, какие вещи могут, оказывается, пригодиться. Ведь, казалось бы, 2.11BSD, не говоря уже о Демос, ушли в прошлое и никому не будут нужны в мире гигабайтов памяти и гигагерцев в процессорах.

Date: 2011-08-23 13:58 (UTC)
From: [identity profile] eentropy.livejournal.com
Похожий баг был в веб-почте (OWA) одной из версий MS Exchange - создаем письмо, тыкаем кнопочку "вложение", выбираем файлик побольше (pagefile.sys - почему бы и нет) и ОК

и получаем классический DoS - сервер MS Exchange занят только тем, что тащит к себе гигабайт-другой

а если повезет, получаем еще и disk overflow со всеми вытекающими (это ведь сейчас диском на терабайт никого не удивишь, а тогда каждый гигабайт был на счету)