Kylin — подход к информационной безопасности по-китайски

Антон Борисов

Дорогое удовольствие

Анализ финансирования ИT в КНР

Интрига разворачивается

Инструменты безопасности

Что дальше?

 

Некоторое время назад в прессе, по большей части зарубежной, муссировались слухи о том, что в КНР создали уникальную операционную систему. Причем по архитектуре она настолько отличается от существующих операционок, что угрозы от Windows, Linux и FreeBSD ей не страшны. Причем внятных и правдивых объяснений, как всегда, найти не удалось. Что это — очередной миф или реальность?

Дорогое удовольствие

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

Правда, изначально Linux создавалась не как операционная система, а как простой терминал в уже существующей Minix — академической (в хорошем смысле слова) операционке от Andrew Tannenbaum. То есть фактически использовала определенные идеи по архитектуре и дизайну. Не все, но некоторые моменты у них общие — например строение файловой системы. Более того, не стоит забывать, что полное название операционной системы от простого финского парня звучит как GNU/Linux. Ядро операционной системы Linux практически ничего не значит без пакета программ для пользователя — bash, vi, X11 и пр.

Эти и другие моменты были приняты во внимание сотрудниками LinuxFoundation, когда они попытались дать оценку стоимости разработки дистрибутива Fedora 9. Они подсчитали количество строк в исходном тексте ядра и приложений, учли среднегодовую стоимость оплаты труда занятых программистов, срок разработки и получили следующий результат:

  • общее количество строк кода — 204 500 946;
  • согласно методике COCOMO, потрачено 59 389,53 (712 674,36) человеко-лет (человеко-месяцев);
  • примерный срок разработки, согласно методике COCOMO, — 24,64 (295,68) лет (месяцев);
  • примерная стоимость разработки — 10 784 484 309 долл.

Справедливости ради стоит учесть, что анализ стоимости разработки Linux в 2002 году дал цифру в 1,2 млрд долл. (в ценах 2002 года). То есть получившаяся общая стоимость разработки операционной системы с учетом входящих в нее userspace-приложений, подсчитанная LinuxFoundation в прошлом году, — это суммарная стоимость ее разработки в 2002 году и за прошедшие с того момента шесть лет.

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

Анализ финансирования ИT в КНР

Исходя из того, что мы не единственные, кто знает о реальной стоимости разработки ОС, предположим, что подобные расчеты проводились и в КНР (впрочем, как и в любой другой стране, которая озаботилась разработкой национальной операционной системы). Зная, что весь стек приложений для userspace уже фактически разработан, его можно взять и использовать в любом «закрытом» дистрибутиве, практически никого не уведомляя — даже несмотря на наличие меток GPL и подобных им. Уверяю, что возможностей FSF для отстаивания интересов открытости никогда не хватит при общении с отдельно взятой страной, особенно с каким-либо «ответственным» министерством.

Остается одно — разработать ядро для национальной системы. В этом случае затраты могут быть на два порядке ниже, чем на разработку всей ОС. Яркий пример — современный openSolaris, ядро и некоторая часть системных утилит которого созданы внутри Sun Microsystems, а практически все остальное идет под заголовком GNU. А каковы были затраты Китая на информационные технологии?

Согласно сделанным в 2000 году прогнозам, Министерство КНР по информационным технологиям планировало инвестировать в ближайшие 5 лет до 400 млрд юаней (примерно 120 млрд долл.) в развитие информационных технологий. Планы планами, но страна большая, округов и муниципалитетов много, исследовательских институтов тоже предостаточно. Что на выходе? Остались ли деньги на собственно интеллектуальные разработки?

В 2006 году компания IDC по заказу Business Software Alliance провела анализ, как и сколько инвестировалось в Китае на ИT за прошедшие годы (рис. 1 и 2).

 

Рисунок

Рис. 1. Анализ IDC фактических и прогнозируемых затрат на ИT в КНР,
сделанный в 2005 году

Рисунок

Рис. 2. Доля КНР на рынке ИT в мировом разрезе

Как видите, суммы инвестирования во всю ИT-индустрию за 2005 год не так уж и велики. Примерно оценить затраты за 2000-2005 годы тоже вполне реально. Главный вопрос: что же сделали в Китае на самом деле?

Интрига разворачивается

Лучше один раз увидеть, нежели несколько раз услышать. Вооружимся дистрибутивом Kylin 2.1 и попробуем установить его в виртуальной машине VirtualBox.

При установке системы стало видно, что в качестве корневой файловой системы используется UFS2. Вроде для Linux эта система нехарактерна, не правда ли? Может, что-то из семейства BSD? Идем дальше. Применяются пакеты RPM. Может, все-таки Linux?

Итак, установка завершена. Входим и запускаем uname:

$ uname -a

Linux localhost.localdomain 2.4.18 KYLIN 2.1-01 #0: Mon May 8 15:15:02 CST 2006 i686 i686 i386 GNU/Linux

Вот как. Пожалуй, Linux.

Дабы и дальше не гадать на кофейной гуще, скажу, что это смесь: ядро от FreeBSD (рис. 3), а все остальное — GNU/Linux, то есть на самом деле GNU-утилиты без Linux-ядра.

 

Рисунок

Рис. 3. Сообщения от ядра операционной системы Kylin 2.1 похожи на FreeBSD

Остается выяснить, что за версия ядра FreeBSD используется. Согласно Квингбо Ву (Qingbo Wu), одному из разработчиков дистрибутива Kylin, применяются ядро и сетевой стек от FreeBSD 5.3. Независимое исследование подтверждает — используется ядро именно от FreeBSD, и его наиболее предполагаемая версия — 5.3.

Спрашивается, зачем потребовалось городить такой огород, где часть утилит от Linux, а часть — из проекта FreeBSD? Смею предположить, что ядро от FreeBSD применялось по следующим причинам: оно чуть более стабильно и с ним проще проходить сертификацию. Заметьте, что начало принятия решения об использовании архитектуры датируется 2002 годом (если не раньше). А применение userspace-окружения в виде GNU-приложений гарантирует беспроблемный запуск, например, СУБД от Oracle. Более того, если считать Kylin первым национальным проектом Китая (финансируемым государством) в области построения операционных систем, то достигнутые результаты заслуживают одобрения. Под лежачий камень вода не течет, и результаты обычно проверяются на практике. А она такова, что организации National University of Defense Technology, China Soft, Inc., Lenovo, Inc., профинансировав проект, получили на выходе работоспособный материал, который учитывает автономность авторского права для ядра, бинарную совместимость с Linux на уровне приложений, а также с 64-битной поддержкой. Так что в целом овчинка стоила выделки.

Где применяется Kylin2? Ведь нельзя затратить усилия и посчитать проект чисто академическим, без реального приложения в народном хозяйстве. Да, реальное применение есть. Например, в системе реального времени по управлению объектами электроснабжения на севере Китая. В системе электронного правительства города Penglai (провинция Shandong). В финансовом секторе — в филиале банка China Construction Bank в Shan’Xi, а также в фирме Xiangcai Securities, работающей на фондовом рынке.

Инструменты безопасности

Нам стало интересно, как столь широко разрекламированная система позволяет защититься от внешних и внутренних вторжений? И здесь нас ждал небольшой сюрприз. Мы рассчитывали увидеть список правил пакетного фильтра ipfw, а встретили Lokkit — Gnome-оболочку для iptables. Сказать, что это очень упрощенный подход к знаниям администрирующих персон, — значит не сказать ничего. В качестве оружия от внешнего вторжения используется snort 2.1.0. А для контроля целостности данных есть средство tripwire, как и в любой Linux-системе. Остальные GNU-утилиты и приложения не отличаются от списка приложений в RedHat того времени (2004-2005 годы). В том числе и Perl-программа cosixupdate, предназначенная для получения обновлений системы. Ее просто переименовали из autoupdate. В остальном ничего экстраординарного и специфического во время работы замечено не было. Обычная стабильная система.

Что дальше?

Разговор бы свелся к обычному обзору очередного UNIX-дистрибутива, правда с необычной компоновкой, если бы не панические слухи о супероружии Китая в области информационных технологий и недоступном дистрибутиве Kylin 3, про который все слышали, но который никто не видел. Давайте подумаем, а что могло прийти на смену Kylin 2.1? Действительно ли что-то новое?

Смею утверждать, что, по всей видимости, в качестве Kylin 3 выступает обычный Linux-дистрибутив NeoShine Server (рис. 4), разработанный в том же самом месте, что и Kylin 2.1, но в силу определенных причин теперь уже полностью с Linux-ядром.

 

Рисунок

Рис. 4. NeoShine Linux Server и есть неуловимый Kylin 3?

Что это могут быть за причины? Первое — основной упор в области микропроцессорного строения КНР делает на свой 64-разрядный MIPS-процессор. Зачем? — спросит читатель. Чтобы не быть зависимым от компаний Intel и AMD. Лицензия и дальнейшая разработка уже полностью принадлежат китайской стороне.

Второе — на данный момент из открытых систем лишь Linux может работать на MIPS-архитектуре. Для FreeBSD 8 осуществляется поддержка только указанной платформы.

И третий, бытовой аргумент: зачем тратить ресурсы на поддержку почти двух систем (FreeBSD-ядро и Linux userspace), когда логичнее пока продвигать Linux? Да и присутствие таких Linux-компаний в сфере ИT-технологий Китая, как Red Flag Software, позволяет подготовить пользователей и системных инженеров к миру UNIX. А как именно он будет смотреться на картинке дисплея — это уже совершенно другой вопрос.

 

В начало В начало

КомпьютерПресс 8'2009

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует