Что будет после Windows 8?

Computers_Windows_9_nine_026414_

Пока Microsoft готовит к выпуску очередную Windows, в ее лабораториях вовсю кипит работа над операционной системой нового поколения под кодовым названием Verve. Ее принцип — никаких уязвимостей и поразительная скорость работы…

Каждый второй вторник месяца Microsoft размещает в Сети новые обновления для Windows, чтобы устранить обнаруженные уязвимости.

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

microsoft

Только чтобы «заштопать» такие бреши, Microsoft приходится выпускать более 100 патчей для Windows в год. Но в новой системе Verve, разработанной отделом исследований компании, как утверждается, вообще не будет слабых мест.

Рискованный язык программирования

Причина, по которой операционные системы так сильно страдают от атак вредоносного ПО, — применяемый язык программирования. Windows, Linux и Mac OS для своих основных функций используют такие известные языки, как Cи, которые по определению не могут гарантировать безопасность.

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

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

С точки зрения эффективности компоненты ядра должны программироваться напрямую в ассемблере. Однако ни язык программирования Cи, ни классический код ассемблера не знакомы с типизацией, благодаря которой можно проверить безопасность кода.

1-1

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

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

Система, которая сама себя проверяет

ОС Verve непосредственно связана с проектом Singularity, которым Microsoft занималась еще в начале 2000-х.

Однако в Verve разработчикам удалось связать безопасность, которую дает проверка типа, с производительностью языка ассемблер. Важнейшие компоненты ОС записаны на типобезопасном машинном языке.

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

2-2Новая Verve: и быстро, и безопасно

При этом неважно, какие манипуляции совершает хакер — в случае с Verve он не сможет спровоцировать переполнение буфера. Также Verve отличается от ОС семейства Windows своей архитектурой: вместо расширенной структуры ее ядро дополнено лишь одним микроядром Nucleus, которое отвечает за связь с аппаратными средствами.

В отличие от спутника Windows — слоя аппаратных абстракций (Hardware Abstraction Layer) — в случае с таким микроядром речь идет о проверенном коде, при котором исключена возможность какой-либо ошибки.

У Nucleus есть и другие задачи — на пример, он управляет вводом и выводом данных, а также обработкой ошибок и исключений. Кроме того, он отвечает за «уборку мусора» — следит за тем, чтобы программа не занимала понапрасну слишком много памяти.

Выполнение ПО в безопасном коде

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

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

3-3Verve представлена в виде исходного кода. Перед тестированием нужно выполнить компиляцию

Однако количество приложений для этого проекта пока ограничено, и на данный момент существуют тестовые версии.

Еще не реализовано соединение с Интернетом через TCP, а также отсутствуют браузер и веб-сервер. Кроме того, эта операционная система работает только на одноядерном процессоре.

Несмотря на это, смельчаки могут сами протестировать новые разработки Microsoft, скачав исходные коды с портала www.singularity.codeplex.com.

 

источник


Похожие материалы:

Комментариев нет: