Как создать систему, которая будет устойчива в агрессивной среде без дополнительных средств защиты?

Александр Винявский
Технологический евангелист

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

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

Уязвимости систем с монолитным ядром

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

Большинство систем сегодня используют для своей работы ОС с так называемым монолитным ядром, содержащим миллионы строк кода. Так, в ядре Linux порядка 35 млн строк кода, а в ядре Windows — порядка 70 млн. По статистике на каждые две тысячи строк кода приходится в среднем одна ошибка. Итого получается порядка 17 тыс. ошибок для ядра Linux и 35 тыс. — для ядра Windows.

ОСКол-во строк кода в ядреПредполагаемое кол-во ошибок
Linux35 000 00017 500
Windows70 000 00035 000
По статистике на каждые 2000 строк кода приходится по ошибке

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

Получается, что технические системы с ОС на базе огромных монолитных ядер остаются уязвимы перед киберугрозами. Парадокс Пето здесь не работает: чем больше система, тем больше у нее риск «заболеть».

Решение — ОС на базе микроядра

Решить проблемы с безопасностью ОС можно по-другому: сегодня набирают популярность операционные системы на базе микроядер, которые содержат всего несколько десятков тысяч строк кода. В них вероятность вредных «мутаций» (то есть ошибок в коде) ниже на три-четыре порядка, поэтому они устойчивы ко внешней среде и без дополнительных средств защиты.

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

Подробнее про микроядра вы можете посмотреть в моем недавнем интервью с Андреем Наенко, руководителем разработки KasperskyOS. В ролике мы говорим о том, что из себя представляют микроядерные операционные системы, как и зачем они появились, рассуждаем о их производительности и перспективах развития.

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

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

Уязвимости систем с монолитным ядром

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

Большинство систем сегодня используют для своей работы ОС с так называемым монолитным ядром, содержащим миллионы строк кода. Так, в ядре Linux порядка 35 млн строк кода, а в ядре Windows — порядка 70 млн. По статистике на каждые две тысячи строк кода приходится в среднем одна ошибка. Итого получается порядка 17 тыс. ошибок для ядра Linux и 35 тыс. — для ядра Windows.

ОСКол-во строк кода в ядреПредполагаемое кол-во ошибок
Linux35 000 00017 500
Windows70 000 00035 000
По статистике на каждые 2000 строк кода приходится по ошибке

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

Получается, что технические системы с ОС на базе огромных монолитных ядер остаются уязвимы перед киберугрозами. Парадокс Пето здесь не работает: чем больше система, тем больше у нее риск «заболеть».

Решение — ОС на базе микроядра

Решить проблемы с безопасностью ОС можно по-другому: сегодня набирают популярность операционные системы на базе микроядер, которые содержат всего несколько десятков тысяч строк кода. В них вероятность вредных «мутаций» (то есть ошибок в коде) ниже на три-четыре порядка, поэтому они устойчивы ко внешней среде и без дополнительных средств защиты.

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

Подробнее про микроядра вы можете посмотреть в моем недавнем интервью с Андреем Наенко, руководителем разработки KasperskyOS. В ролике мы говорим о том, что из себя представляют микроядерные операционные системы, как и зачем они появились, рассуждаем о их производительности и перспективах развития.

Консультация по решению

Остались вопросы или требуется дополнительная информация по решению? Оставьте заявку на консультацию, и мы с вами свяжемся!

Задать вопрос

Отвечаем на самые популярные вопросы о KasperskyOS и решениях на ее основе

Перейти в FAQ