#3: Стратегические задачи

Oct 04, 2009 00:35

<<НАЗАД | К ОГЛАВЛЕНИЮ | ВПЕРЁД>>


Как достичь информационной независимости?

Когда-то продукция Microsoft казалась такой же гегемонией, как доллар США. Но мир стал рушиться под ногами, наступил этот самый... «экономический кризис». Короче, кто-то из высшего руководства страны высказался на днях по телевизору, что все страны лопухнулись, забыв о диверсификации. Грубо говоря, нефиг было складывать все яйца в одну корзину, так можно и вообще без яиц остаться! =)))

Что касается независимости, как таковой, то она может быть представлена в разных ипостасях: экономическая (финансовая) независимость от единственного поставщика, юридическая, патентная независимость от каких-либо изменений или требований, и т.д. Но вот информационная независимость недостижима, если нет собственного продукта (сделанного собственными силами от и до), либо если нет гибкой адаптации к быстрой смене внешних (по отношению к государству) поставщиков решений, каковых может быть один и более, но лучше больше, ввиду вышеупомянутой диверсификации.

Создать с нуля собственный набор программ, включая ОС - сложно, долго, дорого, рисково и т.д., и это будет явно не-Linux! Но даже, если сделать всё перечисленное, этого тоже будет недостаточно, чтобы получить 100%-ую информационную независимость. Почему? Да потому что информационная система государства - это далеко не только ОС на десктопе госчиновника! А подробнее раскрою далее...

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

Однако следует учесть, что в случае поставщиков внешних решений нет 100%-ой независимости, так или иначе именно информационная зависимость от каждого из них присутствует. При этом снижается уровень других видов зависимостей, но не более того! ;)

А как насчёт информационной безопасности?

Не будем тут говорить о недостатках засилия Windows на десктопах, английских субмаринах, банковских терминалах и т.д. Microsoft сделала очень небезопасную платформу, в этом плане значительно уступающую UNIX-системам, но не это её главная вина. Она раскрутила свою платформу, всеми правдами и неправдами популяризовала её, и именно это повлияло на высокий интерес к Windows со стороны злоумышленников. Теперь Microsoft расплачивается сразу за всё, хотя на её месте мог бы оказаться кто угодно.

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

И в чём правда? UNIX-системы от аналогичной беды спасает несколько вещей: более продуманная модель безопасности, открытая модель разработки (которая в редких случаях, напротив - ставит безопасность системы под угрозу), более высокая скорость исправлений критических ошибок, небольшой интерес к ней ввиду небольшой распространённости, немыслимо огромное число вариаций (помните о диверсификации, да?), небольшой ассортимент продвинутых средств двоичной отладки (если сравнивать с изобилием аналогичных инструментов в Windows-системах), сравнительно небольшое число злоумышленников, разбирающихся во взломе UNIX-систем.

Однако безопасность - «наука» не теоретическая, а практическая! :) В каждом конкретном случае всё зависит от выбранного дистрибутива, рук администратора и много чего ещё. Но вот специалистов по безопасности в нашей стране именно по UNIX-системам может оказаться даже меньше, чем по Windows-системам (это если говорить именно о десктопах, а не о серверах), что явно не в плюс UNIX-системам…

А если мы сертифицируем госдистрибутив(ы)?

Поскольку сертификация ПО во многом является откатоёмким способом ограничения конкуренции, я бы не стал делать ставку на неё. Получив сертификат для одной системы (некое формальное одобрение каких-то специалистов по безопасности), не факт, что мы получим истинную безопасность в натуре, и мы совершенно точно лишимся ряда достоинств, дающих истинные преимущества безопасности. Будет ли сертифицироваться каждое исправление безопасности? Насколько это замедлит попадание обновлений в апстрим? Не нарушат ли исправления целостности уже т.н. «сертифицированного решения»? Каковы основания в отдельных случаях переплачивать за эти «сертифицированные решения»? А главное: как насчёт диверсификации, ведь чем больше корзин с яйцами, тем меньше вероятности уронить все сразу!? Кто и как будет определять, кому положено дать сертификат, а кому - нет? Вот где основная проблема! ;)

То, что сегодня называется сертификацией - не более, чем вымогательство денег, причём элементарно в этом убедиться. В России уже есть дистрибутивы GNU/Linux, сертифицированные на предмет отсутствия т.н. «недокументированных возможностей» и в них включено довольно большое число программ, тот же OpenOffice.org. На момент сертификации ещё не были обнаружены многие ошибки, о котрых уже известно теперь, они как раз демонстрируют те самые «недокументированные возможности», позволяющие в нужный момент переполнить буфер и «завладеть миром»! :) Но если «вызвать на ковёр» главного эксперта соответствующего ведомства, выдавшего сертификат, едва ли он сможет пояснить вообще архитектуру того же OpenOffice.org!!! Я уже не говорю про ядро Linux и множество других, больших и сложных проектов.

Так что сертификация - это ширма на глаза, сравнимая разве что с антивирусным ПО, хотя от второго иногда больше толку! :)

Так мы говорим о дистрибутиве для военных?

Когда я читаю блог Виктора Алксниса или его комментарии на форуме, у меня складывается именно такое впечатление! Пройдя апробацию в школах, единый ГосЛинукс должен попасть на компьютер КАЖДОГО чиновника, в т.ч. в ФСБ, военным и т.п. Иначе, зачем тогда ведутся разговоры о безопасности и сертификации ПО? Цитата:

«Вы рассуждаете с точки зрения обычного пользователя, никогда не имевшего опыта обеспечения режима секретности. Я, в отличие от Вас, 24 года прослужил в Вооруженных Силах, и занимался эксплуатацией, например, системы государственного опознавания и засекречивающей аппаратуры связи и прекрасно знаком с ограничениями, которые приходится вводить для обеспечения этого режима. Эти ограничения вводятся исходя из предполагаемых, подчеркиваю - предполагаемых, возможностях вероятного противника для получения необходимой ему информации. Именно поэтому "государственный" дистрибутив должен полностью соответствовать этим ограничениям и требованиям. "Государственный" дистрибутив будет иметь обязательную сертификацию ..... Еще раз подчеркиваю, что школьный проект это первый этап перехода всех госструктур РФ и бюджетных организаций на этот "государственный" дистрибутив...».

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

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

Что же такое гипотетическая «госструктура»?

Когда мы говорим о внедрении ПО в госструктуры, причём, именно о централизованном внедрении, где в качестве заказчика выступает государство, меня всегда мучает этот вопрос! Насколько я понимаю, у различных госучреждений не может быть одинаковых потребностей по определению. Детские сады, школы, Министерство финансов, Счётная палата, Военный трибунал, Налоговая инспекция, ОВИР, Генштаб, Мосгорсуд, и т.д.... неужели можно всех и вся под одну гребёнку!?

Хорошо, не напомните мне тогда схожий проект централизованного внедрения не-СПО, а какого-либо ДРУГОГО ПО? Я припоминаю лишь одно такое внедрение, несравнимое по масштабам и разнообразию... «госструктур» - это т.н. «Первая ПОмощь». Все хорошо помнят, как выполнялся этот проект. ИМХО, ничего хорошего, сплошное разбазаривание госбюджета!

Замечательное объяснение абсурдности такой централизации госзакупок от clown: «Государству не должно быть никакого дела до того, у какого производителя покупается парта в школе N8, у какого поставщика услуг больница N5 заказывает выведение крыс на кухне, и кто поддерживает ПО в Администрации СПб - сами хозяйствующие субъекты выберут и заключат все сделки. Нужны лишь общие стандарты, чтобы исключить коррупцию...». По какой причине я считаю, что для «ПО стратегического значения» тут не может быть исключений, раскрою далее…

Ограничивается ли информационная безопасность выбором десктопной ОС?

Конечно же нет! Вспомним хорошенько, кто и зачем придумал Интернет, как много времени ушло на обкатку стандартов этой сети до выхода из проекта APRANET, чьи программисты реализуют сегодня весь нижний уровень стека протоколов TCP/IP, чьё оборудование используется во всех критических местах этой сети!

Для защиты данных и целостности ресурсов необходим целый комплекс мер. Прежде всего нужно исключить зарубежное производство сетевого оборудования: серверов и коммутаторов, начать массово производить (а не только собирать) собственные персоналки и ноутбуки. Для военных нужд - собственное оборудование связи, свои протоколы, свои сети.

Информационная угроза из-за гипотетического недостатка ОС имеет последнее значение! В ситуации, когда на процессоре зарубежного производства нам показывают трюк, как вылазя на сайт, независимо от браузера и платформы ломается система защиты из-за какой-то ошибки в процессоре, контроль производства которого мы осуществить не в состоянии, о какой вообще тотальной безопасности может идти речь!?

Для тотальной безопасности необходим тотальный контроль ВСЕХ технологических процессов производства и поддержки оборудования и ПО, отсутствие аутсорсинга в производстве - только собственные специалисты. Но тотальная безопасность актуальна лишь для соблюдения режимов строгой секретности, что же касается «народного десктопа», достаточно обезопасить коммуникации и серверы, и... конечно же, не складывать все яйца в одну корзину!

Тем не менее, только лишь заменив Windows на десктопах на различные версии UNIX-систем, мы безусловно значительно повысим безопасность информационных систем страны.

Нужна ли стране своя собственная ОС?

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

Но согласитесь, идеология UNIX несколько устарела. Всё же ей годков под 40 уже будет, а информационные технологии должны двигаться вперёд. Появление принципиально новой ОС возможно в некоей научной среде, и я не считаю, что государство этот вопрос должен сильно волновать. Разрабатывать собственную ОС стоит исключительно в тесной связи с разработкой собственного железа. Голая ОС на «вражеском» железе - это миллиарды рублей коту под хвост. Государство не должно финансировать в самом приоритетном порядке столь сомнительные проекты, совсем другое дело - обеспечить стимул появления стоящих результатов.

В чём главная идея Национальной Программной Платформы (НПП)? Мне кажется, в возрождении утраченной школы программирования. Это попытка реанимировать отрасль науки, называвшуюся когда-то кибернетикой. Даже если мы используем СПО, не имея в его разработке роль ведущего, как можно говорить о тотальной информационной независимости? Но, как уже было замечено выше, разработка ОС с нуля - дело хлопотное и дорогое, да и быстрых результатов ожидать не стоит. Руслан Петрович Богатырёв предлагает куда более реалистичный и менее болезненный план перехода.

Важно понять, что ОС давно уже не является ключевым элементом, даже при построении информационной среды типового десктопа. В ракурсе перспектив развития и достижения поставленных целей куда более значимыми являются прослойки между прикладными программами и библиотеками нижнего уровня (или ядром ОС). Такие прослойки иногда называют платформой, иногда - средой исполнения, иногда - высокоуровневыми библиотеками приложений. JRE или Qt4 - это всего лишь примеры (не самые лучшие).

Вот на чём стоило бы сосредоточиться в ближайшей перспективе, чтобы в отдалённом будущем получить всё своё и достичь стратегической цели на все 100%! Выработать стандарты для создания такой среды исполнения на различных платформах, включая Windows, Mac OS X, GNU/Linux, etc. Создать и отладить эту среду исполнения, сделать её конкурентноспособной. Прикладное ПО, в первую очередь для государственных нужд, разрабатывать только под эту среду исполнения.

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

Есть ли альтернативный путь? Я в этом сомневаюсь. Несомненно, мы можем сделать форк существующей свободной среды исполнения, но сможем ли мы продолжить его развивать, избавить его от недостатков, привнести туда нечто новое, революционное? Проще начать с чистого листа, с оглядкой на возможности конкурентов и изначально ориентируясь на революционные новшества.

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

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

Нужна ли кросс-платформенность?

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

Но пока нет такой среды исполнения и есть нужды госорганизаций, прикладной софт тоже должен ориентироваться не на единственный дистрибутив СПО и не только на платформу GNU/Linux. Это продиктовано всё той же диверсификацией. Однако большой охват поддерживаемых платформ необходим лишь для считанных ключевых приложений, в остальных случаях - это будет неразумной тратой ресурсов, тут стоит ограничиться таким минимумом, чтобы охватывались только наиболее распостраннёные платформы.

информационная независимость, bsd, gnu, тактика, высокие техрологии, СПО, ИТ, стратегия, linux, государство, ОС, информационная безопасность

Previous post Next post
Up