Найти в Дзене
Электромозг

Русская операционная система на русском языке программирования и русском железе

Оглавление

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

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

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

Более того, по мере повышения суверенитета России, будет расти и обеспокоенность этим фактом США. Логично предположить, что начнётся (а во многом, она уже началась, но основное ещё впереди) и более интенсивная разведывательная и даже подрывная деятельность с их стороны. И уже понятно, через какие каналы она будет осуществляться.

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

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

  1. Ограниченное количество экземпляров микропроцессоров отечественной разработки. В настоящее время в России нет возможности их производить, поскольку оборудование для этого находится ещё на стадии НИР'ов. Кроме того, если в Эльбрус на зарубежной фабрике внедрить «закладки» почти невозможно (разработчиком процессора используются специальные постпроизводственные методики выявления несанкционированных изменений в схеме), то с процессорами Байкал дела обстоят намного хуже. Купленные за рубежом IP-блоки его ядер уже могут иметь в себе недокументированный функционал, а определить его наличие крайне затруднительно. Таким образом, в нашем распоряжении есть только ограниченное количество надёжных Эльбрусов, которые имеет смысл целенаправленно задействовать в самых чувствительных областях, не размазывая их по не столь критичным направлениям.
  2. Отсутствие доверенной операционной системы. Во многих местах процессы до сих пор управляются операционной системой Windows, достоверно проверить функционал которой в отсутствии исходных кодов затруднительно. Там, где это возможно, осуществляется переход на Линукс, однако и это не панацея. В Линуксе годами не закрываются критические «дыры» безопасности. Даже в российской Астра Линукс, «проверенной» соответствующими структурами, несмотря на наложенные поверх её кода слои безопасности, потенциально могут оставаться различные «дыры», через которые может быть осуществлено вторжение. Таким образом, полностью доверенной операционной системы у нас нет, несмотря на те эфемерные «тысячи глаз», которые, якобы, мониторят код. Никто ничего не мониторит. Когда так говорят, речь идёт всего лишь о потенциальной возможности этого, но надо понимать, что по факту эту огромную гору кода никто качественно проверить не в состоянии, да и не пытается это делать.
  3. Менталитет программистов — очень серьёзная проблема. Нынешние программисты воспитаны в среде цифровых коммуникаций, где нет государственных границ. Они ощущают себя «людьми мира», в связи с чем сильно подвержены «западному» информационному влиянию. Задействовать такого программиста для внедрения в российскую ОС любой закладки иностранным спецслужбам вообще не представляет особого труда.

Решение проблем

Железо

Пока создаётся оборудование для производства микропроцессоров, не нужно сидеть на месте сложа руки. Отечественная промышленность уже сегодня в состоянии разрабатывать и выпускать свои материнские платы (что уже, кстати, делается), видеокарты, принтеры, сканеры и другое периферийное оборудование. Пусть они будут на иностранных процессорах, контроллерах и прочей ЭКБ (электронной компонентной базе), но они уже будут иметь собственные драйверы под нужную нам операционную систему. Вначале ассортимент будет небольшим, но со временем он закономерно будет расширяться.

ПО

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

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

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

Железо для рабочих станций и даже отчасти периферию в подавляющем большинстве случаев можно унифицировать, что решит проблему с необходимостью портировать большое количество драйверов. В дальнейшем железо и периферия будет замещаться российскими производителями и российскими же драйверами к ней по мере развёртывания соответствующих производств. Думаю, что и китайские товарищи тоже не откажутся сопровождать свою не ослабляющую безопасность продукцию (например, принтеры и сканеры) нужными нам драйверами.

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

Программисты

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

Кроме того, поскольку операционная система должна развиваться на протяжении всего своего длительного жизненного цикла, как и ПО для неё, в перспективе нужно принимать меры для повышения лояльности наших программистов. Поэтому уже сегодня нужно делать так, чтобы программисты становились максимально «отечественными».

Для этого имеет смысл сделать среду программирования (не важно, на каком языке, скажем, на том же Rust), в которой использовались бы русские ключевые слова и русские имена библиотек и функций. То есть, обучение и написание самой операционной системы нужно производить с использованием т.н. «русского» языка программирования.

Ранее я выступал против использования в исходном коде русских ключевых слов. Мне казалось, что мозг будет путать их с русскоязычными же комментариями. Но потом я нашёл веский довод в пользу этого, и даже год назад публиковал об этом соответствующую статью. Кроме того, англоязычный мир, судя по всему, не испытывает проблем с восприятием операторов и комментариев на одном и том же языке. Скорее, даже, наоборот. Так что всё дело в банальной привычке.

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

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

Перспектива

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

Более того, наверняка к тому времени в систему энтузиастами будут портированы игры с открытым исходным кодом. Бизнесу останется только всё причесать, добавить рюшечки, и продавать простым людям, причём не только в России, но и в странах российского влияния, которых с усилением суверенитета России, очевидно, станет больше.

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

Заключение

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

На этом всё. Ставьте нравлики, делитесь своими соображениями в комментариях и подписывайтесь на канал. Пока! :-)