Информация занимает одно из важнейших мест в жизни нашего общества, поэтому защита информации является неотъемлемой частью ее использования.
Защита информации чаще всего рассматривается в контексте защиты ее носителей. Защита носителей требует сложного и разнообразного программного и аппаратного обеспечения. При существовании множества архитектурных решений носителей, существует такое же множество их защит.
Вредоносное ПО постоянно совершенствуется, в связи с этим производители
антивирусов постоянно обновляют базу уже известных сигнатур (участков кода
известного вирусного ПО, по которому это ПО детектируется) или вовсе
запрещают модификацию и добавление ПО, а также файлов в критичных местах ЭВМ.
Для борьбы с новыми угрозами используют механизмы эвристического и
сигнатурного анализа и проактивные (поведенческие) защиты, которые анализируют
ПО в процессе работы и выявляют подозрительные действия. Также часто
используется метод проверки контрольных сумм.
|
|
Сейчас начали появляться концептуально новые руткиты, основанные на работе вне операционной системы.
Один из таких методов используется в Boot-руткитах. Они переписывают загрузочную запись (MBR – главная загрузочная запись) и после загрузки BIOS выполняют вредоносный код, и только затем загружается операционная система.
Более интересен класс руткитов, которые основаны на использовании аппаратной виртуализации их называют Blue Pill (англ. «Голубая пилюля»). Впервые этот класс руткитов был публично продемонстрирован в виде демонстрационной программы Йоанны Рутковской на конференции Black Hat Briefings 3 августа 2006 года в виде образца реализации для ядра ОС Microsoft Windows Vista [1].
Концепция «Голубая пилюля» заключается в захвате запущенного экземпляра операционной системы (захват производится при запуске ОС) «тонким» гипервизором и виртуализацией им остальной части работы компьютера.
Предыдущая операционная система будет все еще поддерживать существующие в ней ссылки на все устройства и файлы, но почти все, включая аппаратные прерывания, запросы данных и даже системное время будут перехватываться гипервизором, который будет отсылать фальшивые ответы.
Единственным способом обнаружить «голубую пилюлю» является определение того факта, что загруженная в виртуальную среду реализация функционирует не так как положено. Виртуализация может быть обнаружена при атаке по времени, основанной на внешних источниках времени [1].
Реализация защит от подобных угроз делится на два класса:
Защита на аппаратном уровне сложна в реализации и дорога, а надежных способов обнаружения и обезвреживания таких угроз на данный момент не существует.
Метод обнаружения формы виртуализации тонким гипервизором «Красная пилюля» был предложен Йоанной Рутковской.
Он основан на подсчете количества таблиц векторов прерываний в оперативной памяти ЭВМ. Данный метод может адекватно работать только в системах с одним процессорным ядром.
Атаки по времени и по производительности основаны на искажении временных и скоростных характеристик ЭВМ при внедрении гипервизора.
С развитием телекоммуникационных систем многие антивирусные компании начали обращать внимание на облачные вычисления [3, 4, 5].
Концепция облачных вычислений заключается в предоставлении конечным пользователям удаленного динамического доступа к услугам, приложениям (включая ОС и различную инфраструктуру) и вычислительным ресурсам различной мощности [Рис. 1][6].
Облачные вычисления делятся на два типа:
Платформенные облака предоставляют доступ к какой-либо платформе. Это может быть операционная система, система для научных расчетов и т. п.
Облака услуг предоставляют лишь услуги. Обычно пользователи не имеют доступа к широким настройкам облака, данных и конфигураций. Антивирусные системы начинают активно использовать оба типа облаков.
Платформенные облака весьма специализированны и служат, обычно, большим вычислителем и накопителем статистики работы настольных антивирусных систем или базой данных новейших сигнатур. Облака услуг используются для предоставления пользователям возможности загрузки подозрительных файлов в облако и антивирусного анализа без потребления ресурсов ЭВМ пользователя [5].
Подробности работы коммерческих антивирусных систем с антивирусными облаками скрыты коммерческой тайной. Но проанализировав открытые источники можно выделить несколько способов организации работы антивирусных облаков:
Все приведенные технологии имеют свои преимущества и недостатки, но основную роль здесь начинают играть облачные вычисления. Антивирусные облачные вычисления перенимают все проблемы, присущие облакам. К ним также добавляются проблемы антивирусного ПО [7].
Современные облачные антивирусы оперируют такими понятиями как метаданные, хеш-функции, рейтинговая система оценки опасности объектов. Все эти подходы не обеспечивают достойный отпор принципиально новому ПО. Они экстенсивно борются с угрозами, лишь наращивая мощность оборудования и ускоряя время реакции на новые эпидемии.
Также серьезной проблемой является работа антивирусных систем в незащищенных средах [Рис. 2.]. По этой причине многие антивирусные средства содержат механизмы защиты целостности, но и сегодня эта проблема является актуальной [8, 9].
Облачные антивирусные системы сделали лишь маленький шаг в сторону освоения всех возможностей облачных вычислений. Эти шаги призваны снизить потребление пользовательских ресурсов, ускорить обновление вирусных сигнатур [7] и создать экспертную базу современных угроз. Такое решение не станет “серебряной пулей” [10]. Оно не привнесло новых методов борьбы с вредоносным ПО, а лишь модифицировало, и без того уже сильно устаревшие подходы.
Все подходы, применяемые в работе современных антивирусных систем оказываются беспомощны против руткитов, выполняющихся вне ОС и принципиально нового вредоносного ПО [1, 11].
Вредоносные программы в виде тонкого гипервизора частично или вовсе не используют ресурсов ОС, не инфицируют ее файлы, работают с оборудованием ЭВМ без использования драйверов ОС, то они абсолютно невидимы для современных антивирусных систем, в том числе и облачных.
Облачные вычисления могут решить эту проблему, за счет переноса системы принятия решений об инфицировании в защищенную среду облака.
Облако применяется при серьезных вычислениях для снижения нагрузки на клиентов. В антивирусных системах оно служит быстрым каналом распространения новых антивирусных баз, а так же накопителем известных угроз.
Можно пойти дальше и сделать все облако одной большой антивирусной средой. В этом случае на ЭВМ пользователей будут располагаться лишь клиенты, работающие в роли датчиков. Они циклически будут снимать показания характеристик клиентских ЭВМ, и отсылать их в облако. В облаке будет проводиться статистический подсчет изменений характеристик пользовательских ЭВМ. В таком случае, при инфицировании пользователя новым вирусом, облако занесет искаженные показания характеристик ЭВМ в свою базу данных, а экспертная система сделает вывод о зараженности ЭВМ. Если же ЭВМ пользователя подключена к сети, но при этом отсутствует связь с клиентом антивирусной системы, то эта ЭВМ считается скомпрометированной, и следует принять меры по выявлению и обезвреживанию вредоносного ПО.
Главным, и самым сложным, в таком подходе будет выявление характеристик ЭВМ, которые искажаются при внедрении вредоносного ПО в ЭВМ пользователя, и безопасная передача их в облачный вычислитель.
Такой подход позволит гораздо быстрее реагировать на новые угрозы, потому что существует всего один узел, принимающий решение. Это позволит избегать эпидемий, которые сейчас приобретают все более массовый характер.
В клиентских ЭВМ антивирусное ПО все равно должно иметь средства самозащиты, защищенной передачи по сети, а также детектирования «элементарных» вирусных угроз («элементарных» — угроз, с которыми данная антивирусная система умеет бороться).
В идеальном случае защищенной средой выполнения считается выполнение программ, действия которых и их возможные последствия полностью известны. Эти программы выполняются в ОС, о которой также все известно (например, имеется доступ к исходным кодам). Таким образом, будет исключена возможность скрытого внедрения программных «закладок» и недокументированных возможностей. ОС работает на ЭВМ и устройствах, которые собраны из компонентов, изготовленных под надлежащим контролем по известной технологии. В этом случае будет исключена возможность внедрения аппаратных «закладок» и недокументированных возможностей. А дальше питание, помещение, здание и т. д. Также доступ к работе с ЭВМ должен быть строго регламентирован и ограничен доверенным кругом лиц.
В жизни создание настоящей защищенной среды необходимо различным государственным и военным ведомствам. Особенно если они имеют дело с государственной тайной, от их работы зависит безопасность страны.
В остальных областях использования ЭВМ такой режим почти не используется в виду его дороговизны и пониженной гибкости.
Очень много аппаратных и программных решений на современном рынке не могут обеспечить защищенную среду выполнения, поэтому программы приобретают защитные механизмы: контроля целостности, антиотладочные приемы, упаковка и обсфукация (запись мусорного кода в исполняемый модуль, с целью усложнить изучение ПО).
Под защищенной средой следует понимать сбор информации, анализ и принятие решения об инфицировании клиентской ЭВМ в среде, которая находится вне зоны сбора информации. Эта среда имеет большую надежность и управляемость, по сравнению с клиентской ЭВМ, и не может быть скомпрометирована вследствие инфицирования клиентской ЭВМ.
Создание защищенной среды выполнения требует серьезных материальных и ресурсных затрат, а также серьезного усложнения программного обеспечения. Когда данные не являются государственной тайной, считается, что защита будет эффективной, если на ее преодоление потребуется больше средств, чем стоят сами данные. Поэтому всегда необходимо находить компромиссы, позволяющие за приемлемую стоимость получать достаточно надежные программные или аппаратные решения.
Клиентская ЭВМ может быть скомпрометирована, но облако останется в работающем состоянии, потому что от клиента облако получает только данные для ведения статистики и расчетов, обратно может отсылаться любая необходимая информация.
При полном отказе клиента антивирусной системы облако может уведомить пользователя об имеющихся проблемах с его ЭВМ любым другим доступным способом (мобильное текстовое сообщение, электронная почта, сайт антивирусной системы).
В таком случае из строя может выйти лишь клиентская часть, облачный вычислитель остается работоспособным в не зависимости от состояния клиентских ЭВМ.
Конечно же, при обмене сообщениями облака с клиентом антивирусной системы должен быть обеспечен достаточный уровень контроля качества входящих сообщений, реализован контроль целостности и идентификация клиентской ЭВМ.
Предлагаемое решение более эффективно, чем обычные настольные антивирусные системы с централизованным сервером обновлений баз сигнатур:
Стоит упомянуть, что немногие антивирусные системы обладают полноценной облачной архитектурой. Это связано с новизной облачных вычислений, как подхода к обеспечению антивирусной безопасности.
Экспертами в области безопасности было предложено несколько способов определения загрузки тонкого гипервизора до основной ОС:
Атака по времени основана на внешнем источнике времени. По этому источнику времени контролируется время выполнения команд и отдельных операций на пользовательской ЭВМ. При наличии в памяти загруженного гипервизора, его код тоже выполняется, а также вмешивается в работу ОС и отдельных программ. При выполнении постороннего кода на ЭВМ, время выполнения команд искажается, и становится осуществима атака по времени.
Атака по производительности основана на снижении производительности пользовательской ЭВМ при выполнении на ней постороннего кода.
Метод противодействия «Красная пилюля» основан на подсчете количества таблиц векторов прерываний в оперативной памяти ЭВМ. Данный метод может адекватно работать только в системах с одним процессорным ядром.
Актуальным методом обнаружения тонкого гипервизора можно считать контроль состава и характеристик оборудования. Работающий гипервизор, для полного контроля над пользовательской ЭВМ, должен полностью виртуализировать работу с работу ОС с оборудованием. Ввиду многообразия и различий в характеристиках оборудования, тонкий гипервизор должен обладать огромным набором подмодулей работы с оборудованием. При этом можно основываться на том же времени реакции и производительности отдельного оборудования при поиске гипервизора. Естественно весь анализ должен проводиться на безопасной ЭВМ или облаке.
Например, при проверке оперативной памяти пользовательской ЭВМ ее объем уменьшится при работе тонкого гипервизора. Некоторые эксперты по безопасности высказывали мнение, что при проверках подобного рода, гипервизор может выгрузить себя из памяти, тем самым скрыться от антивируса. При таких действиях гипервизора становятся доступны стандартные способы борьбы с вредоносным ПО: сканирование дисков, сигнатурный анализ, анализ загрузочных областей и пр.
Стоит обратить внимание на технологии динамического изменения производительности процессоров, шин, памяти и накопителей информации. В современных переносных ЭВМ существует множество технологий призванных экономить энергопотребление при работе от батарей, снижать шумность и нагрев оборудования. В большинстве случаев эти технологии динамически изменяют производительность ЭВМ для достижения нужного эффекта. В таких случаях интерпретация статистических данных, полученных от клиента, должна быть модифицирована с учетом изменяющейся производительности (ввод поправочных коэффициентов). В данной работе вопросы динамического изменения производительности ЭВМ не рассматриваются, потому что они никак не влияют на демонстрацию представленных подходов и алгоритмов.
Атака по времени, атака по производительности, метод противодействия «Красная пилюля», контроль оборудования, все эти методы обнаружения работы тонкого гипервизора дадут серьезный отпор вредоносному ПО при грамотной реализации антивируса и вынесении системы принятия решений об инфицировании в защищенную среду, например, облако.
К плюсам облачных антивирусов можно отнести:
Недостатков тоже достаточно, многие из них возникают из-за использования облачных вычислений, поэтому облачным антивирусным системам присущи все недостатки облачных вычислителей:
Для массового пользователя преимуществ у облачных антивирусных систем гораздо больше, чем недостатков. Современное ускоренное развитие телекоммуникационных сетей сделает большую часть проблем использования облачных вычислений неактуальными. Также очень большим преимуществом является созданная защищенная среда выполнения. Она позволяет вывести современные антивирусные средства на новый уровень в борьбе с современными угрозами.