Работа над KasperskyOS началась в 2002 году с идеи о том, что индустрии требуется полноценная безопасная операционная система, обеспечивающая превентивную защиту от злоумышленников. На тот момент решения по обеспечению безопасности были в роли догоняющих — сначала «плохие» ребята находили какую-нибудь дыру в системе, а потом «хорошие» парни бросались ее закрывать, и инициатива всегда принадлежала первым. А что, если сделать операционную среду, в которой вообще будет невозможно каким-либо программам выполнять посторонние функции? Например, сегодня никто из разработчиков ПО и оборудования смартфона не может гарантировать, что при выполнении умножения 2 на 2 на калькуляторе мобильного устройства оно не будет параллельно отправлять SMS или связываться с сервером. В большинство существующих ОС изначально не закладывались меры безопасности, поэтому соответствующие инструменты обеспечения надежности интегрировались в них в виде дополнительных модулей и функций, что не решало фундаментальной проблемы уязвимости.

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

В качестве теоретической базы разработчики KasperskyOS использовали книги «Радужной серии», в которых описываются стандарты информационной безопасности, сформулированные в США в период с 1980 по 1990 год и ставшие с тех пор эталонными [1]. В них, в частности, отмечается, что безопасность компьютерных систем никогда не будет идеальной и правильнее говорить не о безопасных, а о доверенных системах. В одной из книг описывается концепция доверенной вычислительной базы (Trusted Computer Base, TCB) — совокупности механизмов, реализующих политику безопасности и определяющих степень доверия к системе. TCB предусматривает «мониторинг обращений» для контроля всех взаимодействий компонентов системы между собой, с системными функциями и с оборудованием. Все без исключения взаимодействия происходят только по указанию и с разрешения TCB, а основное правило — «запрещено все, что не разрешено».

KasperskyOS — микроядерная операционная система, в ядре которой (рис. 1) прописаны диспетчер процессов, механизм межпроцессного взаимодействия (inter-process communication, IPC) и система мониторинга обращений (reference monitor), получившая название Kaspersky Security System (KSS). Все остальные процессы и компоненты: управление памятью и периферийными устройствами, драйверы файловых систем и т. п. — в данном случае работали бы против концепции безопасности.

Рис. 1. Архитектура Kaspersky OS
Рис. 1. Архитектура Kaspersky OS

 

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

При...

Это не вся статья. Полная версия доступна только подписчикам журнала. Пожалуйста, авторизуйтесь либо оформите подписку.
Купить номер с этой статьей в PDF