pascendi: (Default)
pascendi ([personal profile] pascendi) wrote2010-09-29 09:20 am

О Винде, червях и безопасности

Вот тут опубликована история про нового загадочного сетевого червя Stuxnet, который:
- внедряется с флэшки в операционную систему MS Windows, используя сразу четыре ранее неизвестные уязвимости;
- распространяется по сети, пока не найдет систему управления промышленным производством какого-то, заранее определенного типа;
- найдя, меняет программу контроллеров Siemens -- скорее всего, таким образом, чтобы разрушить это производство.

Дай Бог, чтобы это не была атомная электростанция (тем более, с российскими реакторами).

Для меня это еще один совершенно очевидный аргумент, почему ни в какой mission critical системе никогда не должна применяться операционная система MS Windows.

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

UNIX-based системы можно сконфигурировать так, что вирус просто не запустится, так как не найдет заложенных в него по умолчанию библиотек, модулей, путей и прочих элементов. И я бы советовал любую mission-critical систему делать уникальной по конфигурации, чтобы разработчики подобного вредоносного софта не могли знать ее особенностей (например, как называется user, от лица которого запускается тот или иной модуль программы, которую червь собирается использовать, в каком каталоге лежит тело программы и т.п.).

[identity profile] yosha-orlow.livejournal.com 2010-09-29 08:36 am (UTC)(link)
Вы излагаете уже знакомую и показавшую свою неэфективность концепцию безопасность через неясность. Как показывает опыт нет ничего тайного, что бы не стало явным.

Если в чем можно упрекать MS - это как раз в закрытости и непрозрачности.

Компьютерра много писала на эту тему, взять хотя бы историю с замками: http://www.computerra.ru/focus/330103/

[identity profile] pascendi.livejournal.com 2010-09-29 08:43 am (UTC)(link)
Кстати, моя ссылка как раз на его заметку :-)

[identity profile] yosha-orlow.livejournal.com 2010-09-29 08:50 am (UTC)(link)
АА, я просто тут до его описания 2 поста нашел:
http://malaya-zemlya.livejournal.com/584125.html
http://malaya-zemlya.livejournal.com/586908.html

[identity profile] pascendi.livejournal.com 2010-09-29 08:43 am (UTC)(link)
Вы правы, если речь идет о массовых системах (и именно в этом причина многих провалов MS), но по отношению к системам уникальным это как раз работает.

[identity profile] yosha-orlow.livejournal.com 2010-09-29 08:48 am (UTC)(link)
Это потому, что уникальные системы на виду (они защищены хотя бы режимом доступа к ним), но и уникальную систему можно вскрыть приложив больше мозгов. Даже этот червь использовал стандартный пароль к SCADA системе Сименс. Иными словами двери достаточно хорошо закрываются, просто люди ключик под коврик кладут:)

[identity profile] pascendi.livejournal.com 2010-09-29 08:51 am (UTC)(link)
Между прочим, парольная защита -- это как раз один из видов security through obscurity :-)

[identity profile] yosha-orlow.livejournal.com 2010-09-29 09:00 am (UTC)(link)
Немного не соглашусь. Обычно этим термином называют принцип работы ключа, а не сам ключ.

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

А security through obscurity - это тайная кнопка в тайном месте, которая открывает дверь.

[identity profile] pascendi.livejournal.com 2010-09-29 09:08 am (UTC)(link)
Никакая кнопка не должна открывать дверь без соблюдения двух вещей:
1. идентификация, аутентификация и авторизация пользователя;
2. регистрация события в защищенном системном логе и уведомление службы безопасности.

Если, конечно, речь идет о серьезных системах.

[identity profile] p_govorun.livejournal.com 2010-09-29 09:01 am (UTC)(link)
Дело не в массовости. Как раз массовость и нужна для того, чтобы находить дырки. Дело в том, что MS Windows изначально задумана так, чтобы управляться извне. "Ткните эту ссылку, и мы настроим вашу машину". "Откройте этот файл, и у вас установится замечательная выскакивающая примочка".

В результате этой идеологии поддержка вирусов оказалась встроенной в Windows везде. Даже в "текстовые" документы Ворда.

[identity profile] klammeraffe.livejournal.com 2010-09-29 09:12 am (UTC)(link)
+1 к yosha_orlow сокрытие параметров системы это не лучший вид охраны, по крайней мере не стоит возводить его в принцип. иначе это уникально само по себе навернется, даже без помощи злоумышленника.

[identity profile] pascendi.livejournal.com 2010-09-29 09:17 am (UTC)(link)
Такое тоже может случиться.
Однако для уникальных систем выгодно создать неопределенность для злоумышленника, не используя общеизвестные конвенции.

[identity profile] klammeraffe.livejournal.com 2010-09-29 09:19 am (UTC)(link)
Ага, а в данной истории достаточно было не использовать флешки, что и было бы тем отказом от конвенции, который бы закрыл дыру полностью.

[identity profile] pascendi.livejournal.com 2010-09-29 09:21 am (UTC)(link)
Это верно, но на самом деле сложнее, чем не использовать винду. :-)

[identity profile] klammeraffe.livejournal.com 2010-09-29 09:33 am (UTC)(link)
Насколько я помню по нашим стандартам безопасных систем, при таком уровне секретности все машины должны проходить спецпроверку перед установкой на объект, а программноаппаратных фиговин, которые контролируют работу с внешними носителями - полно.

А еще, все-таки, неломаемых систем нет, если, как многие считают, за этим стояло какое-нибудь homeland security, то абсолютно неважно - windows или *nix, думаю порядок сумм, для создания узконаправленного вируса был бы одинаков.

[identity profile] pascendi.livejournal.com 2010-09-29 09:37 am (UTC)(link)
Вот-вот. При соблюдении хотя бы такого режима, как был в конце СССР, и запрете на винду на объекте -- не было бы таких проблем.

[identity profile] klammeraffe.livejournal.com 2010-09-29 10:07 am (UTC)(link)
И все-таки Винда - это ваш личный пунктик. Я пользуюсь виндой без антивируса уже лет 8 - и ни вирусов, ни система не падала, бывалли только аппаратные сбои. И программно-аппаратные решения, в созданиии которых я принимал участие - та же фигня, они переставали работать, когда материнка расплавлялась, но из-за винды проблем не было ) Конечно я не атомные станции автоматизировал, но достаточно сделал своими руками, чтоб избежать категоричности. Дело в руках и голове, а не инструменте, а ОС - это инструмент.

[identity profile] p_govorun.livejournal.com 2010-09-29 09:28 am (UTC)(link)
"Мне же неумение поможет: этот Фишер ни за что не сможет угадать, чем буду я ходить." :-)

[identity profile] p_govorun.livejournal.com 2010-09-29 09:15 am (UTC)(link)
P.S. И ещё: как раз в этом случае проблема оказалась не в том, что в критическом месте стоит MS Windows, а в том, что есть среда из виндов, по которой и шёл вирус. Сименсовский контроллер, в который он целился, естественно, работал не под Windows.

[identity profile] pascendi.livejournal.com 2010-09-29 09:16 am (UTC)(link)
Не было бы там винды -- не добрался бы вирус до контроллеров.

[identity profile] p_govorun.livejournal.com 2010-09-29 09:33 am (UTC)(link)
Где -- там? Допустим, поставили бы управлять контроллерами суперзащищённый юникс. А оператор сидел бы под виндоус, и заходил бы туда дистанционно. Вирус пошёл бы так же, и с его паролем.

Примерно так сажают троянцев на вебсайты: виндовый троянец ворует пароль от ftp и грузит себя на сайт хозяина этой винды.

Или "там" -- это в Иране целиком? Тогда да, помогло бы. :-)

[identity profile] pascendi.livejournal.com 2010-09-29 09:36 am (UTC)(link)
Достаточно не в Иране, а на объекте запретить использование винды, в том числе на клиентских машинах. Доступ же извне там явно не нужен.

[identity profile] p_govorun.livejournal.com 2010-09-29 09:42 am (UTC)(link)
На объекте -- пожалуй да, поможет. Но на всём, и не принимать никаких отговорок типа "Эта машина вспомогательная", "Мы в винде только в косынку будем играть" и т.п.

[identity profile] pascendi.livejournal.com 2010-09-29 09:53 am (UTC)(link)
На таком объекте это делается на раз и без проблем.

(А я бы при постановке задачи вообще потребовал тупые терминалы, а не компы.)