Автор работы: Пользователь скрыл имя, 23 Ноября 2014 в 17:53, контрольная работа
Для того, чтобы раскрыть основной вопрос уязвимости операционной системы Android, необходимо указать основные понятия, которыми оперирует теория компьютерной безопасности. Выделяют три основных понятия: это угроза, уязвимость и атака. Итак, угроза безопасности компьютерной системы - это потенциально возможное происшествие, неважно, преднамеренное или нет, которое может оказать нежелательное воздействие на саму систему, а также на информацию, хранящуюся в ней. Уязвимость компьютерной системы - это некая ее неудачная характеристика, которая делает возможным возникновение угрозы. Другими словами, именно из-за наличия уязвимостей в системе происходят нежелательные события.
1. Понятие "уязвимости" в компьютерной безопасности
Для того, чтобы раскрыть основной вопрос уязвимости операционной системы Android, необходимо указать основные понятия, которыми оперирует теория компьютерной безопасности. Выделяют три основных понятия: это угроза, уязвимость и атака. Итак, угроза безопасности компьютерной системы - это потенциально возможное происшествие, неважно, преднамеренное или нет, которое может оказать нежелательное воздействие на саму систему, а также на информацию, хранящуюся в ней. Уязвимость компьютерной системы - это некая ее неудачная характеристика, которая делает возможным возникновение угрозы. Другими словами, именно из-за наличия уязвимостей в системе происходят нежелательные события.
Атака на компьютерную систему - это действие, предпринимаемое злоумышленником, которое заключается в поиске и использовании той или иной уязвимости. Таким образом, атака - это реализация угрозы.
Стоит отметить, что такое толкование атаки (с участием человека, имеющего злой умысел) исключает присутствующий в определении угрозы элемент случайности, но, как показывает опыт, различить преднамеренные и случайные действия бывает невозможно, и хорошая система защиты должна адекватно реагировать на любое из них.
Исследователи обычно выделяют три основных вида угроз безопасности - это угрозы раскрытия, целостности и отказа в обслуживании.
Угроза раскрытия заключается в том, что информация становится известной тому, кому не следовало бы ее знать. В терминах компьютерной безопасности угроза раскрытия имеет место всякий раз, когда получен доступ к некоторой конфиденциальной информации, хранящейся в вычислительной системе или передаваемой от одной системы к другой. Иногда вместо слова "раскрытие" используются термины "кража" или "утечка".
Угроза целостности включает в себя любое умышленное изменение (модификацию или даже удаление) данных, хранящихся в вычислительной системе или передаваемых из одной системы в другую. Обычно считается, что угрозе раскрытия подвержены в большей степени государственные структуры, а угрозе целостности - деловые или коммерческие.
Угроза отказа в обслуживании возникает всякий раз, когда в результате определенных действий блокируется доступ к некоторому ресурсу вычислительной системы. Реально блокирование может быть постоянным, так чтобы запрашиваемый ресурс никогда не был получен, или может вызвать только задержку, достаточно долгую для того, чтобы он стал бесполезным. В таких случаях говорят, что ресурс исчерпан. В локальных вычислительных системах наиболее частыми являются угрозы раскрытия и целостности, а в глобальных- на первое место выходит угроза отказа в обслуживании.1
Рассмотрим более подробно сам термин уязвимости в компьютерной безопасности.
Термин Уязвимость означает параметр, характеризующий возможность нанесения описываемой системе повреждений любой природы теми или иными внешними средствами или факторами.
В компьютерной безопасности термин «уязвимость» (англ. vulnerability) используется для обозначения недостатка в системе, используя который, можно намеренно нарушить её целостность и вызвать неправильную работу. Уязвимость может быть результатом ошибок программирования, недостатков, допущенных при проектировании системы, ненадежных паролей, вирусов и других вредоносных программ, скриптовых и SQL-инъекций. Некоторые уязвимости известны только теоретически, другие же активно используются.
Обычно уязвимость позволяет атакующему «обмануть» приложение — заставить его совершить действие, на которое у того не должно быть прав. Это делается путем внедрения каким-либо образом в программу данных или кода в такие места, что программа воспримет их как «свои». Некоторые уязвимости появляются из-за недостаточной проверки данных, вводимых пользователем, и позволяют вставить в интерпретируемый код произвольные команды (SQL-инъекция, XSS, SiXSS). Другие уязвимости появляются из-за более сложных проблем, таких как запись данных в буфер без проверки его границ (переполнение буфера). Поиск уязвимостей иногда называют зондированием, например когда говорят о зондировании удалённого компьютера - подразумевают, поиск открытых сетевых портов и наличии уязвимостей, связанных с приложениями, использующими эти порты.
Метод информирования об уязвимостях является одним из пунктов спора в сообществе компьютерной безопасности. Некоторые специалисты отстаивают немедленное полное раскрытие информации об уязвимостях, как только они найдены. Другие советуют сообщать об уязвимостях только тем пользователям, которые подвергаются наибольшему риску, а полную информацию публиковать лишь после задержки или не публиковать совсем. Такие задержки могут позволить тем, кто был извещён, исправить ошибку при помощи разработки и применения патчей, но также могут и увеличивать риск для тех, кто не посвящён в детали.
Существуют инструментальные средства, которые могут помочь в обнаружении уязвимостей в системе. Хотя эти инструменты могут обеспечить аудитору хороший обзор возможных уязвимостей, существующих в системе, они не могут заменить участие человека в их оценке.
Для обеспечения защищённости и целостности системы необходимо постоянно следить за ней: устанавливать обновления, использовать инструменты, которые помогают противодействовать возможным атакам. Уязвимости обнаруживались во всех основных операционных системах, включая Microsoft Windows, Mac OS, различные варианты UNIX (в том числе GNU/Linux) и OpenVMS.
Так как новые уязвимости находят непрерывно, единственный путь уменьшить вероятность их использования против системы — постоянная бдительность.2
2. Уязвимость операционной
Android («Андро́ид») — операционная система для смартфонов, планшетных компьютеров, электронных книг, цифровых проигрывателей, наручных часов, игровых приставок, нетбуков, смартбуков, очков Google и других устройств.3
ОС Android за небольшой промежуток времени стала одной из самых популярных систем для всевозможных мобильных устройств. Ее используют как крупные производители с мировым именем, так и небольшие компании.
Однако такое огромное число пользователей не могло остаться без внимания со стороны злоумышленников. Они постороили на разработке и распространении вредоносных программ целую индустрию со своими законами.
Как и любая другая система, Android не может быть полностью безопасной, так как люди, участвующие в разработке, никогда не смогут создать идеальный код. Тем не менее, разработчики прикладывают усилия для того, чтобы в конечном счете потребители получили качественный продукт. На примере Android можно наблюдать очередное подтверждение тому, что чем популярнее продукт, тем больше он подвержен атакам злоумышленников.
Когда в августе 2010 года была
обнаружена первая вредоносная программа
для ОС Android, многие восприняли эту новость
как попытку антивирусных компаний запугать
их и получить деньги за свои продукты.
С течением времени число угроз для Android
только продолжает расти.
Список вредоносных программ для ОС Android
уверенно возглавляют СМС-троянцы (семейство
Android.SmsSend). Целью таких программ является
отправка сообщений с повышенной тарификацией
на короткие номера. Часть стоимости этих
сообщений поступает в карман злоумышленников,
обогащая их. Подобные программы практически
ничем не отличаются друг от друга, кроме
как незначительными изменениями в интерфейсе
и короткими номерами, на которые будет
выполняться отправка сообщений. Чаще
всего они распространяются под видом
популярных приложений и игр, таких как
Opera Mini, Skype, Angry Birds и т. п., при этом используется
соответствующая иконка.
Далее идут более опасные троянские программы.
К ним относятся, например, Android.Gongfu, Android.Wukong,
Android.DreamExploid, Android.Geinimi, Android.Spy и пр. Эти вредоносные
программы обладают таким функциями как,
например, сбор конфиденциальной информации
пользователя, добавление закладок в браузер,
выполнение команд, поступающих от злоумышленников,
отправка СМС-сообщений, установка других
приложений и т. п. Чтобы реализовать возможность
установки приложений, не вызывая подозрений
со стороны пользователя, этим троянским
программам необходимы права root (права,
с которыми работает ядро системы).
Следует отметить коммерческие
программы-шпионы. Эти приложения используются
для слежки за пользователями. В их арсенал,
в зависимости от класса, стоимости и производителя,
входят такие функции, как перехват входящих
и исходящих СМС-сообщений и звонков, аудиозапись
окружения, отслеживание координат, сбор
статистических данных из браузера (например,
закладки, история посещений) и т. п.
Такие программы представляют существенную
угрозу, так как после внедрения в устройство
не создают значок среди прочих установленных
программ, и обнаружить их присутствие
можно лишь по косвенным признакам, в том
числе зайдя в системное меню со списком
приложений.
Отдельно стоит сказать о рекламных модулях,
используемых создателями программ и
игр и применяемых для заработка. Когда
пользователь нажимает на демонстрируемое
рекламное сообщение и переходит к рекламируемому
товару или услуге, разработчик приложения
получает определенную денежную сумму.
В большинстве случаев такие модули не
представляют опасности для пользователя,
однако среди них встречаются и менее
безобидные. Например, рекламные сообщения
могут появляться не внутри приложений,
а в статусной строке устройства. Такие
сообщения легко можно принять за системные,
чем и пользуются злоумышленники, применяя
для рекламы фразы типа «Требуется срочное
обновление системы» (почти наверняка
вместо обновления вы получите очередного
вируса).
Ряд модулей ведет себя слишком агрессивно,
собирая конфиденциальную информацию
пользователей (IMEI, номер телефона, название
используемого оператора и т. п.), а также
добавляя ярлыки на рабочий стол и закладки
в браузер. Приложения, использующие подобные
модули, детектируются как рекламные программы
или Adware (например, Adware.Airpush, Adware.Leadbolt, Adware.Startapp
и пр.).
Архитектура Android построена таким образом,
что все приложения работают с ограниченными
правами и не имеют доступа к защищенным
данным других приложений.
Одна из главных проблем, с которыми могут
столкнуться пользователи, — уязвимости
системы, позволяющие получить права root.
Существуют специальные приложения, скрипты
и программные модули, выполняющие эту
задачу. В повседневной жизни подобные
вещи пользователям не страшны, так как
чаще всего их используют осознанно для
получения большего контроля над устройством.
Другое дело, что эти же уязвимости (например,
CVE-2009-1185, CVE-2011-1823) взяли на вооружение создатели
вредоносных приложений. Используя эксплойты
(программные модули и скрипты) для повышения
своих прав до уровня root, они получают
возможность, например, беспрепятственно
устанавливать другие программы без разрешения
пользователя (как это делают различные
модификации Android.Gongfu и Android.DreamExploid). Некоторые
вредоносные программы не используют
эксплойты сами, напрямую, а вводят пользователя
в заблуждение и побуждают его самого
выполнить необходимые действия, тем самым
дав вредоносной программе требуемые
ей возможности.
Одним из ключевых элементов безопасности
Android является система разрешений (Permission
System). При установке приложений пользователю
демонстрируется список всех функций,
которые будут доступны той или иной программе.
После установки приложения получают
возможность выполнять заложенные в них
функции без участия пользователя. С одной
стороны, демонстрация возможностей программ
перед установкой должна обеспечивать
надлежащий уровень безопасности, однако
далеко не все пользователи внимательно
изучают список функций. Более того, нельзя
с уверенностью сказать, не будет ли в
дальнейшем использована та или иная функция
во вред пользователю. Но это не последний
недостаток данной системы. Например,
существует возможность создания приложений,
которые не будут требовать никаких разрешений
для своей работы, что может создать ложное
ощущение полной безопасности. Однако
на самом деле такие приложения смогут
получить доступ к определенной информации
(например, файлам, хранящимся на карте
памяти в незащищенном виде, списку установленных
программ, используемому оператору мобильной
связи) и даже отправить эту информацию
злоумышленникам через Интернет.
Угрозу также может представлять использование
неофициальных или сторонних прошивок.
Поводов для беспокойства здесь несколько.
Во-первых, в такие прошивки изначально
могут быть встроены вредоносные программы.
Во-вторых, когда цифровой подписью образа
системы подписывается какое-либо приложение,
оно получает те же права, что и сама система,
в которой оно работает. В рамках Android Open
Source Project (AOSP) подписи для образов являются
приватными, поэтому такой сценарий возможен,
например, в случае кражи соответствующей
подписи. Подобный способ заражения применялся,
в частности, вредоносной программой Android.SmsHider,
которая могла незаметно для пользователей,
использующих определенные сторонние
прошивки, установить содержащийся в ней
троянский apk.
Если разработчики прикладного ПО не уделяют
достаточное внимание безопасности при
работе с данными пользователей, эти данные
могут быть скомпрометированы. Атаке могут
подвергаться хранящиеся в незащищенном
виде регистрационные данные, пароли от
банковских карт и прочая конфиденциальная
информация. В случае если при работе приложения
эти же данные передаются по сети напрямую
в незашифрованном виде, то они также потенциально
подвержены компрометации со стороны
злоумышленников.
Одним из факторов уязвимости является
открытость системы Android.
Во-первых, доступность кода,
который может быть использован, модифицирован
и улучшен разработчиками в зависимости
от их потребностей и идей. С одной стороны,
для производителей устройств и разработчиков
это несомненный плюс, с другой стороны,
это дает возможность не только исследователям,
но и злоумышленникам более продуктивно
находить уязвимости и ошибки.
Во-вторых, существует возможность установить
приложения как из официального каталога
приложений Google Play (ранее назывался Android
Market), так и из любого другого доступного
источника.
В-третьих, создание приложений является
практически общедоступным, так как необходимо
заплатить всего $25 в случае, если разработчик
желает размещать свои продукты в официальном
каталоге, а для распространения программ
вне его материальные затраты вообще не
нужны.
В-четвертых, размещаемые в Google Play программы
до недавнего времени не подвергались
предварительной проверке или тестированию
со стороны Google. Ожнако была разработана
система Bouncer, которая должна проверять
приложения, размещенные в каталоге Play,
на наличие вредоносных функций; проверке
также будут подвергаются учетные записи
разработчиков. Несомненно, это увеличивает
безопасность, однако все же не решает
проблему, так как создатели вредоносных
программ могут применять различные ухищрения
для успешного обхода системы Bouncer.
Из-за того, что систему Android использует
большое количество производителей мобильных
устройств, и при этом не существует определенных
рамок по их техническим характеристикам,
потребителям доступны устройства с самым
различным функционалом. По мере выхода
очередного обновления системы в нее добавляются
не только новые функции, но и закрываются
обнаруженные ранее уязвимости. Производители
на свое усмотрение выпускают соответствующие
версии обновлений. Иногда случается так,
что аппарат, еще недавно бывший флагманом,
не получает новую версию ОС или программного
обеспечения и, соответственно, остается
незащищенным от потенциальных угроз.
Причиной этому могут быть как экономические
соображения (адаптация обновления потребует
слишком больших финансовых вложений,
или же производитель просто хочет заработать
на продажах новых устройств), так и чисто
технические (обновление не сможет корректно
функционировать на устаревшем аппаратном
обеспечении, либо для установки не хватит
физической памяти устройства).
Каким бы ни был уровень защищенности
системы, далеко не последнюю роль в обеспечении
безопасности играет человеческий фактор.
В качестве примера можно привести элементы
социальной инженерии, которую используют
злоумышленники, например, уже упоминавшийся
ранее способ распространения вредоносных
программ через рекламу в приложениях
с использованием громких фраз («Требуется
срочное обновление системы», «Ваша версия
браузера устарела», «Немедленно установите
обновление Skype» и т. п.). То же самое можно
сказать и о случаях распространения вредоносных
программ при помощи спам-рассылок по
СМС (таким способом, например, распространялся
бэкдор Android.Crusewind).
Еще одним элементом социальной инженерии
служит игра на стремлении многих людей
к чему-то бесплатному («Новая версия Need
for Speed», «Обновление Asphalt бесплатно.
Кроме этого, важна и внимательность со
стороны самих пользователей. Очень часто
злоумышленники подделывают известные
сайты, имитируя их оформление, структуру
или же пытаются создать точную копию.
На первый взгляд, подобный сайт может
выглядеть точь-в-точь как настоящий, однако
при более внимательном изучении можно
будет заметить подвох. Например, в адресной
строке будет указан сайт, полностью отличный
от оригинала, либо имеющий небольшие
искажения (например, vkontlakte.com, vkontakne.b1.ru),
либо на нем не будет работать какой-либо
привычный элемент, либо вовсе будет отсутствовать
что-то знакомое.
Информация о работе Понятие "уязвимости" в компьютерной безопасности