<<НАЗАД |
К ОГЛАВЛЕНИЮ |
ВПЕРЁД>> Как достичь информационной независимости?
Когда-то продукция 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. Это продиктовано всё той же диверсификацией. Однако большой охват поддерживаемых платформ необходим лишь для считанных ключевых приложений, в остальных случаях - это будет неразумной тратой ресурсов, тут стоит ограничиться таким минимумом, чтобы охватывались только наиболее распостраннёные платформы.