Рубрика:
Спецвыпуск «Развитие Open Source в России»
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Арутюн Аветисян: «Мы должны создать стопроцентную технологическую независимость страны. Чтобы этого достичь, нам потребуется 5–7 лет»
Академик РАН, доктор физико-математических наук, директор Института системного программирования РАН рассказывает о том, как был создан Технологический центр исследования безопасности ядра Linux, почему так важен образовательный аспект в работе центра, как можно создать сильную экосистему вокруг него и где взять перспективных разработчиков
– Ровно год тому назад в рамках нацпрограммы «Цифровая экономика» заговорили о необходимости создания Технологического центра исследования безопасности ядра Linux. И вот он появился. Что главное для него сейчас на первом этапе?
– По сути, будущая работа Центра сейчас только формируется, однако идея его создания, действительно, давно витала в воздухе. Мы выиграли в прошлом году тендер ФСТЭК на выполнение работ по созданию технологического центра. А сейчас обсуждаем, как наши сотрудники и разработчики компаний, которые делают решения на базе ядра Linux, могут работать вместе над обеспечением безопасности операционных систем Линукс, что невозможно без исследования безопасности ядра.
Создание центра, с моей точки зрения, это чуть ли не единственный способ консолидации усилий всех разработчиков внутри страны с целью ответа на вызов, на который даже отдельные страны не могут ответить. Потому что обеспечение безопасности на уровне ядра – это одна из самых важных задач, хотя в ее решение мало инвестируется в мировом масштабе. Этой задачей нужно заниматься системно, постоянно, необходимо иметь регламенты, помогающие быстро создать патч, когда найдена уязвимость.
Мне кажется, у нас есть достаточно высокий интеллектуальный потенциал для того, чтобы мы решили эту задачу и построили более безопасное будущее.
– Как вы собираетесь построить работу Технологического центра? На каких принципах?
– Здесь есть несколько аспектов – организационный, технологический. И есть ещё образовательная компонента. Про нее обычно не говорят, но мне она представляется едва ли не самой главной – когда нет образовательной составляющей, вы не можете обеспечить долгосрочное развитие отрасли.
Первый аспект – организационный. Для эффективной работы центра мы должны создать Наблюдательный совет. В его состав войдут представители ИТ-отрасли, которые смогут принимать решения по самым разным вопросам. Например, какую версию ядра мы хотим зафиксировать и с ней работать? Какая следующая версия ядра будет выбрана? Ясно, что мы должны иметь минимум две версии, а скорее, даже три, потому что это важно для развития индустрии.
Есть и много других вопросов. Куда двигаться, какие запросы удовлетворять в первую очередь? Это же не просто научная деятельность, не обеспечение безопасности ради безопасности. Решение данных вопросов позволит обеспечить конкурентоспособность наших компаний на мировом рынке.
Второй аспект – технологический. Как создать сообщество профессионалов из всех отечественных компаний, которые при желании могли бы участвовать в работе Технологического центра и заниматься развитием ядра с целью сделать его более безопасным? Для этого, конечно же, не нужно придумывать что-то совсем свое, я считаю, что все должно быть более-менее синхронизировано с тем, как разрабатывается ядро в мире.
Одна из задач, которая в проекте заложена изначально – это синхронизация нашей работы с международным сообществом. Если вы не развиваетесь вместе с сообществом, оно может уйти в сторону, совершенно неожиданную для вас.
Если наша версия ядра Linux будет настолько отличаться, что каждый раз, когда будет появляться что-то новое, нам придется ее переделывать, чтобы синхронизироваться с глобальной, то на это потребуются огромные материальные ресурсы. Мы просто это не сможем сделать в какой-то момент. Потому что это никто не сможет сделать. Дело не в недостатке знаний – они есть. Людей не хватит. Слишком много работы будет.
Это как лавина – вы никогда не знаете, куда она уйдёт. Вы не можете учесть все нюансы. Она вдруг может уйти влево, может уйти вправо. Если вы от нее отстали, то никакой энергии не хватит. Именно поэтому мы должны правильно выбрать ядро, версию, синхронизировать следующее ядро, и так далее.
Если говорить об образовательном аспекте, то мы собираемся до лета привлечь студенчество к необходимым проектам и задачам по обеспечению безопасности ядра. К сожалению, в региональных вузах этой тематикой занимается очень мало человек. Поэтому они вынуждены смотреть, что делается на Западе.
У нас в институте сложилась достаточно сильная команда по операционным системам. Мы читаем лекции по операционным системам в МГУ им. М.В. Ломоносова, МФТИ, в Высшей школе экономики. Это наша основная тема. Наряду с ней мы специализируемся на компиляторной тематике, которая тоже очень важна, при адаптации под отечественную аппаратуру без этого вообще не обойдешься.
Мы компиляторами занимаемся с мировым сообществом GCC и LLVM. Я надеюсь, что в ближайшие 2-3 года, когда в работу Технологического центра вовлекутся уже многие компании и разработчики, это существенно повысит образовательные возможности в регионах, что положительно повлияет на рост ИТ-кадров, особенно в такой специфичной области, как компиляторные технологии.
Сейчас очень много внимания уделяется искусственному интеллекту, большим данным, машинному обучению. Но при этом забывается, что если нижнюю часть операционной системы, компиляторы вы не контролируете, то, по сути дела, всё строите на чужой земле. Вы все время находитесь в зависимости от сторонних разработчиков, в любую минуту вас могут отключить – и вы ничего не сможете сделать.
Но всё-таки наша цель не кого-то обогнать-перегнать. Цель – обеспечить безопасное функционирование Linux у нас в стране, повысить наш уровень безопасности, чтобы он был не хуже мирового. Если сделают патч за рубежом раньше, чем мы, прекрасно. Мы его возьмём, посмотрим, проверим, если будет удовлетворять всем требованиям, применим. Когда мы раньше сделаем патч – поделимся им с сообществом. У нас есть все для этого. Другое дело, что мы, в первую очередь, у себя должны его применить и решить свои задачи.
Справка
Технологический центр исследования безопасности ядра Linux
- Заказчик: Федеральная служба по техническому и экспортному контролю (ФСТЭК России)
- Подрядчик: Институт системного программирования (ИСП РАН)
- Бюджет проекта: 300 млн руб.
Причины создания проекта
Предпосылки создания центра исследования безопасности ядра Linux связаны с тем, что, операционная система – это один из ключевых элементов в информационной системе и одно из оснований для доверия к безопасности систем. Без решения проблемы безопасности ОС решить вопросы защиты в целом и обеспечения безопасности не получится. Число разработчиков дистрибутивов и программно-аппаратных средств, в основе которых лежит ядро Linux, весьма значительное, и заинтересованность в повышении уровня защищенности этого компонента ПО также существенная.
Исследование безопасности ядра является одним из важнейших проблемных вопросов. Организации, которые используют ядро, адаптировались и ведут у себя работы по собственным доработкам, изменению политик безопасности и т.д. Но в части кода самого ядра есть недостаток в ресурсном обеспечении исследования безопасности. Не хватает и инструментария, и средств тестирования, и специалистов. В итоге доля исследований ядра в исследованиях безопасности при разработке отечественных дистрибутивов Linux пока незначительная. Эту ситуацию надо менять, поскольку выявляемое количество уязвимостей в open source – огромно.
Кроме того, сейчас существует большая зависимость российских разработчиков от сторонних разработчиков ядра и от устранения уязвимостей в нем.
Задачи проекта
Задачами центра станут повышение защищенности отечественных дистрибутивов ОС на базе Linux и всего, что на них создано, от угроз, а также обеспечение технологической независимости российских компаний-разработчиков дистрибутивов и программно-аппаратных средств от внешних игроков.
Центр будет способствовать систематическому применению лучших практик разработки безопасного ПО. Для этого планируется проводить статический анализ исходного кода ядра, архитектурный анализ, полносистемный динамический анализ помеченных данных, фаззинг-тестирование ядра, а также системное и модульное тестирование.
Новый технологический центр будет совершенствовать отечественные средства разработки и тестирования ПО, повышать квалификацию специалистов и развивать нормативное и методическое обеспечение процессов безопасной разработки в РФ.
Масштаб проекта
Планируется, что в 2022 году начнётся «опытная эксплуатация» этого центра, а в 2023-м – «промышленная». Там будут работать и сотрудники ИСП РАН, и представители других разработчиков продуктов на базе Линукса. На общественных началах или «на возмездной основе». Это должно помочь делающим продукты на Линуксе обеспечить поиск уязвимостей на должном уровне, на что сейчас средства есть не у всех.
Ожидаемые результаты
Результаты работы центра могут быть использованы компаниями-разработчиками ПО и программно-аппаратных средств в своей деятельности.
В числе ожидаемых эффектов работы центра предполагается формирование компетенции и инфраструктуры для подготовки отечественной ветки ядра Linux и ведение ветки ядра, прошедшей требуемые исследования.
Также планируется разработка патчей по устранению уязвимостей и ошибок и разработка новых возможностей, нацеленных на повышение безопасности, подготовка методик и рекомендаций по реализации мер безопасной разработки ядра Linux.
Планируется использовать результаты центра по исследованиям безопасности ОС, созданных на базе ядра Linux, и при сертификации различных дистрибутивов ОС. Это должно разгрузить ресурсы ФСТЭК по сертификации при оценке безопасности дистрибутивов.
На первом этапе основным эффектом работы центра должно стать повышение безопасности, которое заключается в предоставлении сообществу разработчиков средств, методик, инструментов, результатов тестирований и исследований.
На базе центра предполагается также создание отечественной ветки ядра Linux, которая синхронизировалась бы с глобальной. Поддерживать ее планируется на тех же принципах, на которых поддерживается сообществом общее ядро. В идеале она не должна никак отличаться от стабильной основной ветки ядра, но сопровождаться артефактами анализа. Версия, с которой предварительно планируется начать поддержку собственной ветки – Linux-stable-5.10.
По информации портала TAdviser
|
– Существуют ли подобные центры в других странах?
– Есть очень близкий проект Linux Foundation в США, который, как пишут о нем, «продвигает, защищает и стандартизует Linux, предоставляет ресурсы и сервисы сообществу открытого ПО». Он поддерживает три версии ядра. Работа Linux Foundation финансируется за счет пожертвований. Но, наверное, для нас это был бы не самый разумный подход. Для нас более правильная модель, мне кажется, это, с одной стороны, быть абсолютно независимыми, а, с другой стороны, быть открытыми миру, общаться с мировым сообществом и передавать ему свои наработки.
– Как вы собираетесь объединить вокруг Технологического центра специалистов? Каков должен быть их уровень?
– Я надеюсь, что во всех наших компаниях найдутся специалисты, которые будут вовлечены в работу Центра. Многие из них уже участвуют в наших проектах. Кроме того, будем привлекать новых людей к работе Центра.
Ядро Linux – это более 22 миллионов строк кода, в них очень долго нужно разбираться, исследовать. Участвуя в этой работе в Технологическом центре, компании получат гарантированно надёжную систему, которая фактически с нулевыми проблемами проходит сертификацию. Вот почему им это может быть интересно.
Кроме того, компаниям наверняка полезно при подготовке кадров взаимодействовать с вузами, однако сегодня им очень сложно выстраивать взаимоотношения с университетами. Поэтому они пытаются хантить специалистов друг у друга. Работая в Технологическом центре, мы вместе сможем создать экосистему, в которой студенты из разных вузов получат доступ к ресурсам центра, где будут также и образовательные курсы. Участвуя наряду с компаниями в проектах, они смогут приобрести необходимые компетенции, и тогда взаимодействовать институтам и компаниям станет гораздо легче, вузам проще будет учить студентов, а компаниям – находить необходимые кадры.
Я думаю, что использование результатов исследований безопасности Linux при сертификации различных дистрибутивов ОС и обеспечение безопасной разработки ядра Linux внутри страны могут быть полезны для всех наших компаний.
Очевидно, что проблема безопасности существует. Об этом говорят все разработчики, и в решение этой проблемы нужно инвестировать. Мы не знаем, сколько инвестируют в разработку безопасного ПО в других странах. Но мы понимаем, что должны делать то же самое.
Надо считать, что у нас есть версия ядра, которая промышленно работает функционально, всё, давайте смотреть, как туда добавлять безопасность, улучшать ее. Главное, делать это на мировом уровне. При этом всегда знать, что даже когда ты будешь на самом переднем уровне, это не значит, что у тебя нет ошибок, и тебя никогда не взломают. Нет, это не так. Ошибки будут, но можно обеспечить высокий уровень доверия. Что для этого необходимо сделать? Объединить усилия, опираясь на передовую науку. Других вариантов нет. Сил только самих компаний не хватает для решения этой проблемы, без науки их усилия бессмысленны, потому что все быстро устаревает.
– Какие компании могут стать членами сообщества, участвовать в работе центра?
– Все компании, которые использует ядро в своих разработках, могут стать членами экосистемы.
Участвовать в работе центра также могут практически все, даже если они не являются специалистами по ядру Linux. Например, если компания, для своих специфичных задач станет выявлять новые ошибки, она уже этим будет помогать в соответствии с нашими методиками. Ведь не только нужно ликвидировать проблему, ее прежде необходимо выявить.
Выявление проблемы – это множество инструментов: статика, динамика, будут обнаруживаться сотни тысяч ошибок. Эти ошибки необходимо посмотреть, разметить, которые более критичны, которые менее критичны, на что нужно сразу обратить внимание. На этом этапе многие компании могли бы участвовать. И в этом смысле объединение профессионального сообщества очень хорошо. Любая ошибка, ее же кто-то обнаружил. Посмотрели миллионы глаз, а обнаружил кто-то один.
– Как будет определяться уровень проблемы безопасности, которую нужно вместе обсуждать?
– Это экспертно. Поэтому, я говорю, нужен Технический Комитет. Он должен опираться на лучших своих экспертов, иначе бессмысленно. Когда мы что-то обнаружили – будет регламент, как мы отфильтровываем, потом экспертно оцениваем. После этого принимается решение, что делать. Максимально быстро оповещать всех, писать быстро патч. Если эксперт определил, что это супер-проблема, но нет вообще никаких ресурсов и по регламенту ничего нельзя сделать, тогда срочно собирается Технический комитет и решает, что делать.
Сообщество просто необходимо. Когда есть сообщество, мы с разных точек зрения вопрос обсудили – плюс экспертное мнение, плюс грамотный Технический комитет, состоящий из представителей индустрии, – и нашли решение проблемы. Здесь самое главное – Технический комитет не просто формально инициировать, а накачивать его знаниями, создать работающий механизм. Одна из главных функций и задач нашего института – создать это сообщество. Это как ядерная реакция, если она запустится, дальше ее поддерживать легче.
– Технологический центр, по сути, становится идеологическим центром, вокруг которого собираются разработчики продуктов на базе Linux?
– По сути, да. Экспертным, технологическим, идеологическим центром, совместно, конечно, с нашими госорганами и сообществом. Проблема одна у всех, на самом деле. Просто на нее кто-то смотрит с точки зрения денег и бизнеса, кто-то – с точки зрения науки. Решение этой проблемы помогает справиться с задачами и бизнеса, и науки.
– Есть ли в России в институтах и университетах учебный курс по операционным системам?
– У нас есть достаточное количество вузов, где ещё преподают курс по операционным системам. Не важно, на базе Линукса это проходит или нет. Студентам нужно дать возможность получить знания на специализированных курсах, которые у нас в стране читаются в МГУ им. М.В. Ломоносова, МФТИ, в Высшей школе экономики, они у нас есть. Мы можем дать этот материал для региональных вузов, чтобы они там его могли читать.
Заинтересованный преподаватель способен создать научную группу и развивать это направление. Таким образом мы сможем получать в нашу экосистему новых людей.
Мы создадим финансовые условия этим ребятам, чтобы они получали стипендии. У нашего института такой опыт есть. Мы достаточно много стипендий даем студентам в Орле, в Великом Новгороде. Даже в Армении есть ребята, которые получают нашу стипендию.
Почему бы в рамках этого проекта не привлекать к работе способных студентов из стран СНГ? Это же открытый проект. Де-факто мы являемся центром компетенций внутри бывшего Союза. Почему бы не стать им и де-юре? Нам нужны люди, а не деньги. Представляете, если каждый регион даст в нашу экосистему двух-трёх человек? Это уже сотни людей. С учетом того, что ядро Linux – это операционная система, связанная и с облачными технологиями, и с технологиями виртуализации, она очень привлекательна для профессиональных ребят, которые хотят заниматься системным программированием.
На самом деле речь идет о создании отрасли в части системного программирования, которой пока как таковой в стране нет. Она необходима для того, чтобы мы могли долгосрочно развиваться. Чтобы это развитие зависело не от компаний X, Y, а от страны и общества.
Мы должны создать стопроцентную технологическую независимость страны. Чтобы этого достичь, нам потребуется 5-7 лет. Нужно принимать правильные решения – если сейчас запустимся, то к 2030 году будем более-менее в конкурентоспособном положении. Да, сейчас мы уже являемся конкурентоспособными, но можем отстать. Если вдруг что-то произойдёт, как говорят, вообще интернет переключат, то все коды у нас будут. Что нам мешает дальше развиваться самим? Ничего не мешает, хотя мы открыты к взаимодействию со всеми.
Ещё по теме
Как привлекать и обучать молодых специалистов работе над ядром?
Дмитрий Анисимов руководитель отдела информационной безопасности НТЦ ИТ РОСА
В настоящее время подавляющее число технических вузов выпускает молодых специалистов со знаниями и базовыми навыками программирования, причем зачастую на нескольких языках.
Вместе с тем большинство нынешних выпускников не имеет представления о принципах и подходах безопасного программирования. Хотя уже довольно давно такие знания являются одним из важнейших требований к практическим навыкам современного программиста. Особенно высоко эти компетенции ценятся среди специалистов, разрабатывающих средства защиты информации, где ошибки программирования могут привести к раскрытию конфиденциальных данных, потере репутации как пользователя, так и самого разработчика, а также к огромным финансовым убыткам.
Поэтому приходится переучивать выпускников на практике, «ломать» привычные им навыки и в программировании, и в управлении продуктом. Ведь проверка кода на уязвимости – это непрерывный, цикличный процесс, охватывающий не только этап написания продукта, но и период его поддержки.
Открытие на базе ИСП РАН им. В.П. Иванникова, при поддержке ФСТЭК России, Технологического центра исследования безопасности ядра Linux позволит, помимо решения его основных технических задач, сформировать базу знаний о принципах безопасной разработки и методах тестирования программного обеспечения, и на этой основе внедрить в учебные программы новые дисциплины, позволяющие студентам еще в вузе получить требуемые знания. Насколько мне известно, ИСП РАН уже разработал несколько новых специальностей для вузов по данному направлению.
Сотрудники ИСП РАН делятся накопленными знаниями по безопасной разработке с инициативными представителями ИТ-отрасли, которые, в свою очередь, стараются донести их до студентов в рамках дополнительных дисциплин в некоторых учебных заведениях страны. На занятиях отечественные разработчики стараются заинтересовать молодых специалистов темой безопасной разработки программного обеспечения, а также привлечь их к работе Технологического центра.
К сожалению, по моей оценке, сейчас не более 5% высших учебных заведений ввели в свой план такие специальности или проводят подобные дополнительные занятия – в основном, это ведущие вузы страны. Поэтому очень важно не ограничиваться вузами Москвы и Санкт-Петербурга. Необходимо нести эти знания в регионы, где много толковых выпускников университетов и технических вузов с большим потенциалом в ИТ-сфере.
Для работы с молодыми специалистами в Технологическом центре необходимо создать точки входа, назначить им кураторов. Такими точками входа могут стать специализированный сайт и группы в социальных сетях, объединяющие в сообщество желающих участвовать в работе Технологического центра.
|
Ключевые слова: технологический центр, образование, ядро Linux, технологическая независимость, безопасность, Open Source.
Подпишитесь на журнал Купите в Интернет-магазине
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|