Как будут разрабатывать операционные системы и другое программное обеспечение в России?

19:08 23/08/2024

В России разработают свои безопасные операционные системы и другое программное обеспечение. На эти цели в рамках федерального проекта «Информационная инфраструктура» выделено более 1,5 миллиарда рублей. Насколько сложная задача стоит перед разработчиками, как и когда она может быть решена, телеканалу «МИР 24» рассказал генеральный директор компании – разработчика искусственного интеллекта Роман Душкин.

Уже известно, что 1,5 миллиарда рублей из федерального бюджета получит федеральная служба по техническому экспортному контролю, отвечающая за реализацию федерального проекта «Информационная инфраструктура». Всего в рамках проекта она курирует пять подпроектов, субпроектов, которые закреплены за разными вузами. Есть какая-то информация, что это за проекты, о чем они?

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

Национальные проекты: что это такое

С точки зрения человеко-часов, с точки зрения, может быть, и финансовых затрат насколько это сложная, серьезная задача – разработка программных продуктов вот такого уровня?

- Конечно, это очень сложная задача, но никто никогда не делает ее с нуля. Невозможно представить, что собралась группа программистов, у них чистый лист перед собой и они прям с нуля все начали делать. Нет. Есть с 1970-х годов прошлого века очень конкретные парадигмы разработки. Это применение повторно используемых компонентов. И таких компонентов много, в том числе разработанных у нас, если речь идет о безопасности, чтобы была гарантия, что там нет никаких вражеских закладок. То есть сам процесс разработки программного обеспечения или даже различного рода вот таких систем, операционных или информационных, – это достаточно зрелая уже индустрия, там все идет по накатанной. Есть этапность, есть стадии жизненного цикла и все зрелые разработчики, а вузы и институты, они, скорее всего, относятся к зрелым разработчикам, все это прекрасно знают и умеют.

Но трудозатраты действительно высокие, даже если мы базируем нашу разработку на каких-то готовых решениях, на кирпичиках, все равно это очень все непросто, потому что каждый новый продукт – это все равно разработка чего-то нового. Даже если мы вытачиваем на станке детали из каких-то готовых вещей, например, готовых болванок, мы все равно вытачиваем какую-то уникальную деталь. Так же и в разработке. Или вот в строительстве: мы строим дом, панельный дом, допустим, стандартизированный полностью. Все панели там железобетонные, они одинаковые, готовятся везде. То есть это тот же самый принцип повторно используемых компонентов. Но все равно дом – это уникальный объект. Всегда так получается, что даже если на какой-то конкретный объект внедрения мы приносим коробку с программным обеспечением, то сама система всегда уникальна, потому что объект внедрения уникальный.

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

- Здесь самое главное – это целеполагание. В техническом задании на разработку подобного рода систем всегда ставятся цели и задачи. И когда мы сажаем уже программистов или даже не программистов, а целые команды разработки под руководством руководителя разработки, есть руководители проекта, есть тимлид, то есть люди, которые непосредственно занимаются с людьми как играющий тренер. И вот эти люди – аналитики, архитекторы, непосредственно сами программисты, тестировщики, которые занимаются внедрением, то есть это огромное количество ролей, то же самое, как настройки.

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

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

- Да, все верно. У меня в голове только один есть пример, когда можно добиться 100% безопасности. Там сама математика встает на защиту. Но когда мы делаем такие сложные системы, конечно же, 100% безопасности добиться практически нереально. И более того, мы в текущем технологическом укладе можем сделать уровень безопасности настолько близким к 100%, что там потребуется время жизни миллионов и миллионов в наших вселенных для того, чтобы взломать так вот в лоб. Но это не значит, что завтра не появится новой технологии и, как следствие, новой угрозы, которая должна быть учтена заново в модели угроз. Поэтому должен проводиться постоянный аудит безопасности, должна актуализироваться и модель угроз, и модель нарушителей, и все эти и прочие аспекты информационной безопасности, о которых, кстати, у нас в стране прекрасно знают, в этом отношении наши специалисты одни из лучших в мире. И ФСТЭК тот же самый, и его подведомственная организация – это одни из лучших профессионалов, которые мне вообще известны. Я с ними прямо сейчас очень плотно работаю. Соответственно, при появлении новой технологии необходимо актуализировать модели угроз и пересматривать схемы информационной безопасности.

Это та самая бесконечная борьба брони и снарядов. При сегодняшних условиях сколько может занять разработка отечественной программной системной оболочки?

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

А сколько? Полгода? Год? Два?

- Цикл разработки длительный. Год, может быть, два, не могу сказать. Это опять же итерационный процесс. То есть реализовали, проверили, причем должен быть диверсионный анализ.