Оценка потенциальных угроз безопасности в АС
Шестая часть документа МОДЕЛЬ УГРОЗ БЕЗОПАСНОСТИ ИНФОРМАЦИИ Автоматизированной системы.
6. ОЦЕНКА ПОТЕНЦИАЛЬНЫХ УГРОЗ БЕЗОПАСНОСТИ ИНФОРМАЦИИ В АС
6.1. Оценка значимости объектов защиты
Проведение оценки возможности реализации потенциальных угроз существенно зависит от значимости объектов защитыОценка потенциальных угроз безопасности в АС .
Оценка значимости объектов защиты включала в себя категорированияОценка потенциальных угроз безопасности в АС защищаемой информации по установленным градациям важности базовых свойств защищаемой информации: конфиденциальности, целостности и доступности. Каждое свойство в зависимости от его важности в процессах защиты информации принимало одно из четырех возможных значений:
- Высокий уровень важности оцениваемого свойства защищаемой информации «3» — нарушение свойства защищаемой информации на объекте защиты приводит к существенным негативным последствиям, связанным со значительным материальным и/или моральным ущербом.
- Средний уровень важности оцениваемого свойства защищаемой информации «2» — нарушение свойства защищаемой информации на объекте защиты приводит к негативным последствиям, связанным с незначительным материальным и/или моральным ущербом.
- Низкий уровень важности оцениваемого свойства защищаемой информации «1» — нарушение свойства защищаемой информации на объекте защиты приводит к нарушениям штатного режима функционирования СВТ (негативным последствиям), не связанным с материальным и/или моральным ущербом обладателя информации.
- Нулевой уровень важности оцениваемого свойства защищаемой информации «0» — нарушение свойства защищаемой информации на объекте защиты не приводит к каким-либо негативным последствиям, связанным с проявлением угроз.
В случае, если то или иное свойство объекта защиты является неактуальным – оценка важности данного свойства не производилась.
Результаты оценки значимости объектов защиты АС представлены в Приложении 2 к Модели угроз.
6.2. Возможности реализации угроз с использованием социального инжиниринга
Возможности реализации угроз с использованием приемов социального инжиниринга оценивались на результатах оценки основных психокомлексов человека, включающих в себя:
- Страх.
Самый используемый и самый опасный психокомплекс человека. Существуют десятки и сотни разновидностей страха, начиная от боязни потерять работу и боязни понижения в должности и заканчивая боязнью потери престижа и боязни сделать что-то не так.
- Любопытство.
В качестве примеров использования любопытства в хакерских целях могут рассматриваться «обманные» серверы с заманивающими сообщениями, на которых доверчивые пользователи оставляли конфиденциальную информацию о себе, включая пароли. А так как обычно пользователи используют один и тот же пароль для доступа и к своему компьютеру, и к internet, и к почтовому ящику, то узнав один пароль, с высокой вероятностью нарушитель получает доступ и к другим защищенных паролем сервисам и хранилищам с данными. Допустим, категорически не рекомендуется заходить на страницу http://chatcenter.virtuaiave.net/delwin, потому что это очень опасно. Особенно, если вы используете браузер internet Explorer, сможет ли пользователь удержаться от того, чтобы не посмотреть, что же находится по этому адресу? В большинстве случаев не сможет.
- Жадность.
Этот психокомплекс может быть использован нарушителем для достижения своих целей. Одной их форм реализации данного вида угроз является рассылка от лица потенциального работодателя электронных писем с предложениями престижной, высокооплачиваемой работы. При этом в письме, направленном в адрес потенциальной «жертвы», содержаться вопросы, ответы на которые должны содержать сведения конфиденциального характера.
Как правило, в организации среди персонала, допущенного к обработке конфиденциальной информации, всегда находится сотрудник, который при заполнении анкеты-запроса псевдоработодателя раскроет известные ему сведения конфиденциального характера.
- Превосходство.
Нарушители нередко используют этот психокомплекс в своих целях. Как правило, в качестве нарушителя выступает посетитель, представляющийся «крутым» специалистом по какому-либо техническому вопросу. Желая показать свое превосходство потенциальная «жертва», начинаете опровергать его, указывать ему его место и т.д. В результате, в словесном споре, «жертва» раскрывает сведения конфиденциального характера. Например, по вопросам организации защиты информации.
- Великодушие и жалость.
Эти два похожих психокомплекса ориентированы на то, что почти каждому человеку свойственны жалость и великодушие. Если к сотруднику — мужчине обратиться красивая девушка (кстати, эротический психокомплекс является одним из самых опасных — на него «ведутся» даже профессионалы) и, протягивая дискету, попросить помочь, ей распечатать какой-то файл. То, по простоте душевной, сотрудник вставляет дискету в свой компьютер и… получает целый набор троянских коней, которые, активизируясь, начинают красть пароли, отчеты, персональные данные и другую конфиденциальную информацию.
- Доверчивость.
Людям свойственно надеяться на лучшее и верить, что именно их никто не обманет. Данный психокомплекс с успехом применяется в IT-области. Как правило, пользуясь доверчивостью персонала, нарушитель может успешно сыграть роль полномочного лица, представляющего контролирующий орган государственной власти со всеми вытекающими последствиями, в виде реализации угроз НСД к защищаемой информации, либо создания условий для их реализации.
Оценка возможностей потенциальных источников угроз, в лице нарушителей безопасности информации в АС, позволяет сделать вывод, что в качестве актуальных угроз данного типа должны рассматриваться все виды угроз, включая:
- утрату, хищение, утечке, искажение, подделку и уничтожение информации, приводящих к нарушению целостности, доступности и конфиденциальности, при ее обработке, передаче и хранении посредством входящих в состав АС технических и программно-технических средств обработки, хранения и передачи информации;
- незаконное использование или нарушение работы технических и программно-технических средств, приводящих к недоступности и нарушению целостности информации при ее обработке, хранении и передачи;
- несанкционированные действия по уничтожению, модификации, искажению, копированию, блокированию информации;
- несанкционированные изменения в процессах функционирования АС, в частности в процессах обработки, хранения, передачи и защиты ее информационных ресурсов.
6.3. Возможности реализации угроз утечки информации по техническим каналам
При обработке Конфиденциальных сведений и иной конфиденциальной информации в АС возможно возникновение угроз за счет реализации следующих технических каналов утечки информации:
- Угрозы утечки акустической (речевой) информации;
- Угрозы утечки видовой информации;
- Угрозы утечки информации по каналам ПЭМИН.
6.3.1. Оценка возможностей реализации угроз утечки акустической (речевой) информации
Возникновение угроз утечки акустической (речевой) информации, содержащейся непосредственно в произносимой речи пользователя, возможно при наличии функций голосового ввода Конфиденциальных сведений или функций их воспроизведения акустическими средствами.
Утечка акустической (речевой) информации может быть осуществлена:
- с помощью аппаратных закладок;
- за счет съема виброакустических сигналов;
- за счет излучений, модулированных акустическим сигналом (микрофонный эффект и ВЧ облучение);
- за счет оптического излучения, модулированного акустическим сигналом.
В АС не реализованы функции голосового ввода данных. Акустические средства воспроизведения информации также не предусмотрены.
Дальнейшее рассмотрение угроз утечки акустической (речевой) информации в АС не целесообразно в связи с отсутствием каких-либо условий и предпосылок для возникновения данной вида угроз.
6.3.2. Оценка возможностей реализации угроз утечки видовой информации
Угрозы утечки видовой информации реализуются за счет съема (просмотра) защищаемой информации с помощью оптических (оптико-электронных) средств с экранов дисплеев и других средств отображения информационно-вычислительных комплексов, технических средств обработки графической, видео- и буквенно-цифровой информации,
Кроме этого просмотр (регистрация) информации, выводимой на устройства отображения возможен с использованием специальных электронных устройств съема, внедренных в конструкции помещения со СВТ АС или скрытно используемых физическими лицами при посещении ими территории АС.
Необходимым условием осуществления просмотра (регистрации) защищаемой информации является наличие прямой видимости между средством наблюдения и устройством отображения.
Утечка видовой информации может быть осуществлена:
- за счет удаленного просмотра экранов дисплеев и других средств отображения информации;
- с помощью видео-аппаратных закладок.
В АС отсутствует возможность неконтролируемого пребывания физических лиц в помещении, в котором расположены СВТ, расположения мониторов и МФУ расположены так, что отсутствует возможность непосредственного наблюдения выводимой на устройства отображения защищаемых сведений.
В связи с этим дальнейшее рассмотрение угроз утечки видовой информации не целесообразно в связи с отсутствием условий и предпосылок возникновения данного вида угроз.
6.3.3. Оценка возможностей реализации угроз утечки информации по каналам ПЭМИН
Возникновение угрозы утечки информации по каналам ПЭМИН возможно за счет перехвата техническими средствами побочных (не связанных с прямым функциональным назначением элементов АС) информативных электромагнитных полей и электрических сигналов, возникающих при обработке защищаемой информации техническими средствами.
Генерация защищаемой информации, циркулирующей в технических средствах, в виде электрических информативных сигналов, обработка и передача указанных сигналов в электрических цепях технических средств сопровождается побочными электромагнитными излучениями, которые могут распространяться за пределы защищаемого помещения в зависимости от мощности излучений СВТ.
Необходимо отметить, что регистрации ПЭМИН осуществляется с целью перехвата информации, циркулирующей в технических средствах, осуществляющих обработку информации (средствах вычислительной техники, информационно-вычислительных комплексах и сетях, средствах и системах передачи, приема и обработки информации, средствах и системах звукозаписи, звукоусиления, звуковоспроизведения, переговорных и телевизионных устройствах, средствах изготовления, тиражирования документов и другие технические средства обработки речевой, графической, видео- и буквенно-цифровой информации).
Для регистрации ПЭМИН используется аппаратура в составе радиоприемных устройств и оконечных устройств восстановления информации.
Утечка информации по каналам ПЭМИН может быть осуществлена:
- за счет побочных ЭМ излучений ЭВТ;
- за счет наводок по цепям питания;
- за счет радиоизлучений, модулированных информационным сигналом.
Оценка возможностей потенциальных источников угроз в АС позволяет сделать следующий вывод — Реализация угроз безопасности информации, связанных с перехватом ПЭМИН СВТ АС, маловероятна, так как носители информации (технические средства, создающие физические поля, в которых информация находит свое отражение в виде символов, образов, сигналов, технических решений и процессов, количественных характеристик физических величин):
- находятся в пределах КЗ;
- большое количество СВТ, расположенных в каждом помещении АС делает невозможным выделение информативного сигнала конкретного СВТ на фоне высокого уровня помех, создаваемых другими СВТ, расположенными в непосредственной близости;
- отсутствуют актуальные источники угроз из числа потенциальных нарушителей, имеющих необходимые опыт и знания в области использования средств съема информации по каналам ПЭМИ и наводкам;
- кроме этого, реализация данного вида угроз маловероятна из-за несоответствия стоимости средств съема информации и полученных в результате съема информации по каналам ПЭМИН разведываемых данных.
6.4. Возможности реализации угроз создания нештатных режимов работы функционирования СВТ
Важным аспектом в обеспечении безопасности информации в АС является обеспечение непрерывности процессов ее функционирования. Проявления угроз, связанных с созданием нештатных режимов работы СВТ, непосредственно связано с обеспечением целостности и доступности информационных ресурсов, поэтому минимизация рисков проявления данной группы угроз должно рассматриваться как обязательное условие защиты информации в данной системе.
В качестве источников угроз создания нештатных режимов выступают физические лица, из числа потенциальных носителей угроз, технические, программные и физические средства АС, а в ряде случаев и инженерные коммуникации, расположенные как в границах контролируемой зоны, так и в непосредственной близости от нее.
В качестве уязвимостей, используемых для реализации угроз создания нештатных режимов, рассматриваются: свойства потенциальных источников угроз, особенности процессов функционирования СВТ, которые при создании определенных условий могут привести к реализации той или иной угрозы.
Оценка возможностей потенциальных источников угроз в АС позволяет сделать следующий вывод.
Реализация угроз создания нештатных режимов работы СВТ АС приводит:
- к предпосылкам нарушения конфиденциальности информации (хищение, ознакомление с защищаемой информацией);
- к нарушению целостности информации (несанкционированная модификация (искажение) или уничтожение информации, следствием чего могут быть компрометация и дезинформация);
- к нарушению доступности информации (блокирование информации, нарушение нормального функционирования СВТ).
Основными формами проявления данной группы угроз являются:
- перебои и отключение электроэнергии;
- сбои и отказы технических средств;
- выход из строя физических устройств, как результат старения или внутреннего дефекта;
- прорывы водопровода или канализации;
- программные сбои и конфликты, как результат применения некачественных программных продуктов и/или невыполнение требований разработчика по установке (инсталляции);
- программные конфликты
- террористические акты или их угроза;
- беспорядки среди персонала;
- пожары;
- конфликты на базе межличностных отношений;
- природные катаклизмы.
6.5. Возможности реализации угроз несанкционированного доступа
6.5.1. Оценка возможностей реализации угроз несанкционированного доступа к оборудованию СВТ
Оборудование СВТ АС в контексте защиты информации рассматривается в качестве носителей информации и средств ее обработки. Защита информации от угроз НСД к оборудованию СВТ, в том числе от угроз НСД к съемным носителям информации, должно рассматриваться как одна из первоочередных задач по защите информации от таких источников угроз, как внутренние, так и внешние нарушители.
Существенной уязвимостью, используемой для реализации угроз НСД, является отсутствие регламентированной системы учета и контроля состояния оборудования СВТ. Данная уязвимость позволяет нарушителю не только реализовать такие угрозы как хищение и/или подмена оборудования, содержащего в своем составе постоянные запоминающие устройства. Например, жесткие магнитные диски, но и скрыть следы своего преступления.
Наличие неконтролируемого доступа к оборудованию СВТ, а также к местам хранения съемных носителей с конфиденциальной информацией, позволяет нарушителю не только реализовать угрозы хищения и подмены, но и вывести из строя оборудование и/или его компоненты, либо создать условия следствием которых является нарушение штатного режима функционирования СВТ АС.
В ходе проведения оценки угроз НСД к оборудованию СВТ АС были получены следующие результаты:
- В настоящее время в АС приняты меры по установке и использованию средств контроля физического доступа к оборудованию и его компонентам. Места хранения съемных носителей информации оборудованы. Регламентированы порядок и правила их использования.
- Реализация угроз НСД к оборудованию СВТ приводит:
- к нарушению конфиденциальности защищаемой информации путем хищения компонентов СВТ, используемых для хранения информации;
- к нарушению целостности процессов функционирования АС путем подмены компонентов СВТ и внесение несанкционированных изменений в физическую топологию ЛВС АС;
- к нарушению доступности путем уничтожения оборудования АС;
- к созданию предпосылок реализации угроз (получение информации о составе используемых СВТ, в том числе аппаратных средств защиты, создание условий для реализации угроз НСД на уровне системного и прикладного программного обеспечения, а также создания нештатных режимов функционирования СВТ).
- В качестве актуальных уязвимостей, используемых для реализации угроз НСД к оборудованию СВТ, рассматривались:
- вхождение в доверие и/или сговор с персоналом АС, имеющим право санкционированного доступа в помещения АС;
- создание и использование противоречий между сотрудниками по вопросам разграничения прав доступа;
- нарушения правил доступа к оборудованию СВТ.
6.5.2. Оценка возможностей реализации угроз НСД к защищаемой информации в среде ОС
К угрозам НСД в среде ОС СВТ относятся угрозы доступа к информации и программному обеспечению с нарушением установленных правил разграничения доступа.
Примечание — Угрозы НСД обусловлены возможностями воздействия нарушителя на объективно существующие информационные потоки в среде ОС. При эксплуатации СВТ несколькими пользователями усложняется возможность установления факта НСД и истинного нарушителя, так как каждый из пользователей потенциально имеет доступ к аналогичным ресурсам доступным другим пользователям.
Для получения НСД в АС могут использоваться как штатные, так и специальные, программные и программно-аппаратные средства, использующие уязвимости системного и прикладного программного обеспечения.
Основными причинами возникновения уязвимостей в используемом в АС системном и прикладном ПО являются:
- ошибки при проектировании и разработке программного (программно-аппаратного) обеспечения;
- преднамеренные действия по внесению уязвимостей в ходе проектирования и разработки программного (программно-аппаратного) обеспечения;
- неправильные настройки программного обеспечения, неправомерное изменение режимов работы устройств и программ;
- несанкционированное внедрение и использование неучтенных программ с последующим необоснованным расходованием ресурсов (загрузка процессора, захват оперативной памяти и памяти на внешних носителях);
- внедрение вредоносных программ, создающих уязвимости в программном и программно-аппаратном обеспечении;
- несанкционированные неумышленные действия пользователей, приводящие к возникновению уязвимостей;
- сбои в работе аппаратного и программного обеспечения, вызванные сбоями в электропитании, выходом из строя аппаратных элементов в результате старения и снижения надежности, внешними воздействиями электромагнитных полей технических устройств и др.).
Реализация угрозам НСД в среде системного ПО СВТ АС возможна путем использования уязвимостей:
- В микропрограммах, в прошивках запоминающих устройств;
- В средствах операционной системы, предназначенных для управления локальными ресурсами СВТ АС (обеспечивающих выполнение функций управления процессами, памятью, устройствами ввода/вывода, интерфейсом с пользователем и т.п.), драйверах, утилитах;
- В ПО ОС, предназначенном для выполнения вспомогательных функций – утилитах (архивирования, дефрагментации и др.), системных обрабатывающих программах (компиляторах, компоновщиках, отладчиках и т.п.), программах предоставления пользователю дополнительных услуг (специальных вариантах интерфейса, калькуляторах, играх и т.п.), библиотеках процедур различного назначения (библиотеках математических функций, функций ввода/вывода и т.д.);
- В программных средствах коммуникационного взаимодействия (сетевых средствах) ОС.
Уязвимости в микропрограммах и в системном коде ОС, предназначенных для управления локальными ресурсами и вспомогательными функциями СВТ АС, представляют собой:
- функции, процедуры, изменение параметров которых определенным образом позволяет использовать их для несанкционированного доступа без обнаружения таких изменений операционной системой;
- фрагменты кода программ («дыры», «люки»), введенные разработчиком, позволяющие обходить процедуры идентификации, аутентификации, проверки целостности и др.;
- отсутствие необходимых средств защиты (аутентификации, проверки целостности, проверки форматов сообщений, блокирования несанкционированно-модифицированных функций и т.п.);
- ошибки в программах (в объявлении переменных, функций и процедур, в кодах программ), которые при определенных условиях (например, при выполнении логических переходов) приводят к сбоям, в том числе к сбоям функционирования средств и систем защиты информации.
Уязвимости протоколов сетевого взаимодействия связаны с особенностями их программной реализации в ОС СВТ АС обусловлены ограничениями на размеры применяемого буфера, недостатками процедуры аутентификации, отсутствием проверок правильности служебной информации и др.
В качестве актуальных уязвимостей прикладного ПО, используемых потенциальными нарушителями, в среде ОС СВТ АС должны рассматриваться:
- функции и процедуры, относящиеся к разным прикладным программам и несовместимые между собой (не функционирующие в одной операционной среде) из-за конфликтов, связанных с распределением ресурсов системы;
- функции, процедуры, изменение определенным образом параметров которых позволяет использовать их для проникновения в операционную среду АС и использования штатных функций операционной системы, выполнения несанкционированного доступа без обнаружения таких изменений операционной системой;
- фрагменты кода программ («дыры», «люки»), введенные разработчиком, позволяющие обходить процедуры идентификации, аутентификации, проверки целостности и др., предусмотренные в операционной системе;
- отсутствие необходимых средств защиты (аутентификации, проверки целостности, проверки форматов сообщений, блокирования несанкционированно-модифицированных функций и т.п.);
- ошибки в программах (в объявлении переменных, функций и процедур, в кодах программ), которые при определенных условиях (например, при выполнении логических переходов) приводят к сбоям, в том числе к сбоям функционирования средств и систем защиты информации, к возможности несанкционированного доступа к информации.
Наиболее распространенными формами проявления угроз в среде ОС являются:
- несанкционированное использование информационных ресурсов;
- хищение отчуждаемых (съемных) носителей информации;
- снятие неучтенной копии защищаемой информации;
- копирование информации из ОЗУ и электронных носителей;
- несанкционированное использование остаточной информации после ее обработки (в оперативной памяти, на ЖМД, ГМД и др. носителях);
- подключение специальной аппаратуры, с помощью которой можно регистрировать информацию;
- изменение конфигурации СВТ и установка постороннего устройства;
- ввод в систему вредоносных программ (ПМВ).
Предполагается, что субъектом НСД к информации в АС может быть, как нарушитель, так и инициализированный им процесс, действия которого приводят к нарушению правил разграничения доступа к информации.
НСД к информации на основе преодоления программных средств разграничения доступа к ресурсам к СВТ может осуществляться за счет:
- проникновения в систему с несанкционированными параметрами входа – подбор пароля или обход защиты («взлом системы»). Подбор пароля может быть осуществлен различными способами. Так, например, вскрытие пароля возможно простым перебором (который может выполнить специальная программа); используя системные файлы, в которых хранится информация о паролях; используя знания о типовых паролях, которые обычно применяются пользователями; используя программную закладку или вирус для «подсматривания» паролей. Обход парольной защиты можно осуществить, используя ошибки программы защиты или воздействуя на нее специальными программами;
- использования низкоуровневых процессов вычислительной системы, на которые не распространяется контроль средств защиты, например, каналов обмена информацией между процессами в операционной системе («скрытые каналы»). В операционной системе реализуются стандартные правила обмена информацией между устройствами и процессами, в связи с чем возможно осуществление контроля данной информации;
- использования скрытых, недокументированных разработчиками возможностей программного обеспечения («люк»). При разработке сложных программ многие их возможности не описываются в документации и могут быть неизвестны даже самим разработчикам данных программ;
- использования специальных ПМВ, осуществляемых вредоносными программами.
Примечание — Специальные программы для реализации угроз НСД разрабатываются на основе вскрытия функционирования алгоритма (программы) механизма защиты информации.
В связи с этим, одной из основных задач нарушителя или инициализируемого им процесса является изучение (исследование) функционирования ПО, в частности механизмов защиты информации. Как правило, нарушитель или инициализируемый им процесс имеет доступ только к исполняемым модулям или коду защищенной программы. Основным инструментальным средством, позволяющим исследовать код программы, являются дизассемблеры и отладчики, с помощью которых машинный код программы можно представлять в более удобном для понимания виде. В результате исследования кода программы с помощью отладчика выясняется семантика последовательности команд, определяющая выполнение функций защиты. После этого осуществляется корректировка кода программы или имитация запрашиваемых и идентифицируемых программой данных, что может быть оформлено в отдельную программу.
В обычных условиях, если не применяется специальных мер противодействия, пароль «защищенной» программы при использовании отладчика может быть вскрыт в течение 10-20 минут. Возможности отладчиков по исследованию программного кода во многом зависят от того, насколько действия отладчика «прозрачны», так как существуют достаточно эффективные методы противодействия средствам отладки.
При эксплуатации СВТ несколькими пользователями и наличии среди них возможного нарушителя опасность НСД возрастает, так как каждый из них имеет авторизованный (санкционированный) доступ к средствам загрузки, ввода-вывода информации, что усложняет возможности по установлению факта НСД и истинного нарушителя.
6.5.3. Оценка возможностей реализации угроз НСД с использованием недокументированных возможностей в системном и прикладном программном обеспечении
При всей актуальности проблемы использования недокументированных (недекларированных) возможностей (далее НДВ) потенциальными нарушителями, необходимо отметить, что реализация угроз с использованием уязвимостей, в качестве которых выступают НДВ системного и программного обеспечения, маловероятна.
Данное утверждение подтверждается:
- Тем, что в процессах функционирования отсутствуют актуальные источники угроз, в лице нарушителей безопасности информации, потенциал которых соответствует уровню знаний и опыта специалиста в области использования НДВ системного и прикладного программного обеспечения.
- Конфиденциальных сведений и иная защищаемая информация, обрабатываемая в АС, не представляет интерес представителям специальных служб разведки иностранных государств, обладающих всеми необходимыми ресурсами (возможностями) по использованию НДВ в системном и прикладном программном обеспечении используемых СВТ.
- В АС отсутствуют необходимые условия для сговора между разработчиками системного и прикладного ПО и персоналом данной системы.
На основании выше изложенного можно утверждать: — «Угрозы с использованием НДВ системного и прикладного программного обеспечения не могут быть отнесены к актуальным угрозам в АС.
6.6. Возможности реализации угроз НСД путем применения средств программно-математического воздействия на информацию
Особенностью реализации угроз НСД путем применения средств программно-математического воздействия на защищаемую информацию, является тот факт, что источники угроз, в лице потенциальных нарушителей, являющихся авторами той или иной вредоносной программы, не рассматриваются.
Это связано:
- во-первых, с отсутствием необходимых исходных данных о потенциальных нарушителях;
- во-вторых, невозможностью принятия превентивных мер по локализации данной группы угроз на этапе создания вредоносной программы;
- в-третьих, для большинства АС, в которых не обрабатывается защищаемая информация, оценка возможностей нарушителя не целесообразна, что объясняется тем, что данную оценку проводят разработчики сертифицированных средств антивирусной защиты, а для принятия дополнительных организационных и технических мер защиты достаточно оценки возможностей реализации угроз распространенных в настоящее время вредоносных программ.
6.6.1. Оценка возможностей реализации угроз программно-математического воздействия, осуществляемые компьютерными вирусами
Компьютерные вирусы (программные вирусы) изменяют свойства системы и, как следствие этого, являются источниками угроз безопасности при подключении к международным информационным сетям.
Компьютерные вирусы могут иметь следующие свойства:
- способность скрытия признаков своего присутствия в программной среде СВТ;
- способность самодублирования (копирования), ассоциирования себя с другими программами и/или переноса своих фрагментов в области оперативной или внешней памяти;
- возможность разрушения, искажения или модификации кодов программ в оперативной памяти и других носителях информации;
- возможность копирования фрагментов информации из оперативной памяти во внешнюю память;
- искажение произвольным образом, блокирование и/или подмена выводимых во внешнюю память или в канал связи массивов информации, образовавшихся в результате работы прикладных программ, или уже находящихся во внешней памяти.
Самодублирование программы с потенциально опасными последствиями – процесс воспроизведения своего собственного кода в оперативной или внешней памяти СВТ.
Ассоциирование с другой программой – интеграция своего кода, либо его части в код другой программы таким образом, чтобы при некоторых условиях управление передавалось на код программы с потенциально опасными последствиями.
В настоящее время широкое развитие получили программные вирусы, новые виды которых появляются по несколько десятков в неделю.
Программные вирусы можно разделить на классы по следующим основным признакам:
- среда обитания;
- класс «заражаемой» операционной системы;
- особенности алгоритма работы;
- деструктивные возможности;
- характер воздействия на систему.
По среде обитания вирусы подразделяются на файловые, загрузочные, макро, сетевые.
Файловые вирусы либо различными способами внедряются в выполняемые файлы баз данных (наиболее распространенный тип вирусов), либо создают файлы-двойники (компаньон-вирусы), либо используют особенности организации файловой системы (link-вирусы).
Загрузочные вирусы записывают себя либо в загрузочный сектор диска (boot-сектор), либо в сектор, содержащий системный загрузчик винчестера (Master Boot Record), либо меняют указатель на активный boot-сектор.
Макро-вирусы заражают файлы-документы и электронные таблицы нескольких популярных редакторов.
Сетевые вирусы используют для своего распространения протоколы или команды компьютерных сетей и электронной почты.
Существует большое количество сочетаний вирусов — например, файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные сектора дисков. Такие вирусы, как правило, имеют довольно сложный алгоритм работы, часто применяют оригинальные методы проникновения в систему, используют стелс и полиморфик-технологии. Другой пример такого сочетания — сетевой макро-вирус, который не только заражает редактируемые документы, но и рассылает свои копии по электронной почте.
Заражаемая операционная система (вернее, ОС, объекты которой подвержены заражению) является вторым уровнем деления вирусов на классы. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких OС — DOS, Windows 3.Х — 2000, Windows NT, Windows XP, NetWare, NFS, OS/2 и UNIX. Макро-вирусы заражают файлы форматов Word, Excel, Office. Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков.
По особенностям алгоритма работы компьютерные вирусы подразделяются на следующие группы:
- резидентные;
- использующие стелс-алгоритмы;
- использующие самошифрование и полиморфность;
- использующие нестандартные приемы.
Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращения операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки операционной системы. Нерезидентные вирусы не заражают память компьютера и сохраняют активность ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.
Резидентными можно считать макро-вирусы, поскольку они постоянно присутствуют в памяти компьютера на все время работы зараженного редактора. При этом роль операционной системы берет на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из редактора.
В многозадачных операционных системах время «жизни» резидентного DOS-вируса также может быть ограничено моментом закрытия зараженного DOS-окна, а активность загрузочных вирусов в некоторых операционных системах ограничивается моментом инсталляции дисковых драйверов OC.
Использование стелс-алгоритмов позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс-алгоритмом является перехват запросов OC на чтение/запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо «подставляют» вместо себя незараженные участки информации. В случае макро-вирусов наиболее популярный способ — запрет вызовов меню просмотра макросов. Один из первых файловых стелс-вирусов — вирус «Frodo», первый загрузочный стелс-вирус — «Brain».
Самошифрование и полиморфность используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования вируса. Полиморфные вирусы (polymorphic) — это достаточно трудно обнаружимые вирусы, не имеющие постоянных сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфного вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.
По деструктивным возможностям программные вирусы подразделяются на следующие группы:
- безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);
- неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и пр. эффектами;
- опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера;
- очень опасные, в алгоритм работы которых заведомо заложены процедуры, которые могут привести к потере программ, уничтожить данные, стереть необходимую для работы компьютера информацию, записанную в системных областях памяти, и даже, как гласит одна из непроверенных компьютерных легенд, способствовать быстрому износу движущихся частей механизмов — вводить в резонанс и разрушать головки некоторых типов винчестеров.
По характеру воздействия на систему программные вирусы классифицируются следующим образом:
а) вирусы, не воздействующие на файловую структуру операционной системы (ОС):
1) размножающиеся в ОЗУ;
2) воздействующие на оператора;
3) имитирующие неисправность аппаратуры;
4) формирующие сообщения на терминале;
5) формирующие звуковые эффекты;
6) переключающие режимы настройки;
7) сетевые «черви»;
б) вирусы, воздействующие на файлы:
1) повреждающие исходные тексты программ, выполняемые программы, библиотеки программ;
2) повреждающие базы данных, текстовые документы, графические изображения, электронные таблицы;
в) вирусы, воздействующие на файловую подсистему ОС:
1) повреждающие системные области жесткого диска;
2) модифицирующие логическую структуру файловой подсистемы ОС;
3) производящие форматирование носителей информации;
4) воздействующие на файлы ОС;
5) криптующие информацию;
г) вирусы, воздействующие на аппаратуру:
1) воздействующие на графическую подсистему СВТ;
2) воздействующие на микросхемы СВТ (в том числе и на флэш-память);
3) воздействующие на жесткие магнитные диски;
4) воздействующие на принтер;
5) воздействующие на другие периферийные устройства СВТ.
Важнейшей особенностью компьютерных вирусов является высокая трудоемкость их выявления. В настоящее время не существует эффективных способов обнаружения неизвестных видов компьютерных вирусов в программном обеспечении.
6.6.2. Оценка возможностей реализации угроз программно-математического воздействия, осуществляемые программными закладками
Угрозы, создаваемые целевым образом в ходе проектирования и разработки аппаратного и программного обеспечения в виде вредоносного программного кода, рассматриваемого пользователем как часть системного и/ли прикладного программного обеспечения и т.п., реализуются в виде специально встроенных программных закладок.
Примечание — Программные закладки (далее ПЗ) – внесенные в программное обеспечение функциональные объекты, которые при определенных условиях (входных данных) инициируют выполнение неописанных в документации функций программного обеспечения, позволяющих осуществлять несанкционированные воздействия на информацию.
Как правило, любое сложное программное обеспечение содержит необъявленные возможности, которые предусмотрены разработчиком программного продукта. Кроме того, зачастую программный продукт может иметь скрытые возможности, о которых может не знать разработчик, и которые вскрываются в процессе эксплуатации программы. Более того, не существует четкой границы определения умышленно или не умышленно была предусмотрена в программном продукте та или иная возможность, которая, в конечном счете, привела к НСД.
Наличие в системе таких закладок открывает скрытые каналы доступа к информации и позволяет злоумышленнику обходить или блокировать защитные механизмы, предусмотренные в системе, в том числе парольную и криптографическую защиту.
ПЗ могут быть внесены в программное обеспечение, как на этапе разработки, так и в ходе эксплуатации и сопровождения программного продукта.
По признаку «время пребывания в оперативной памяти» программные закладки подразделяются на резидентные и нерезидентные.
ПЗ резидентного типа находятся в памяти постоянно с некоторого момента времени до окончания сеанса работы СВТ (выключения питания или перезагрузки). ПЗ может быть загружена в память при начальной загрузке СВТ, загрузке ОС, либо при запуске некоторой программы (которая по традиции называется вирусоносителем), а также запущена отдельно.
ПЗ нерезидентного типа – начинают работу аналогичным образом, но заканчивают ее самостоятельно по истечению некоторого промежутка времени или некоторому событию, при этом выгружая себя из памяти целиком.
По методу внедрения ПЗ подразделяются на следующие группы:
- закладки, ассоциированные с программно-аппаратной средой;
- загрузочные закладки, ассоциированные с программами первичной загрузки (драйверные закладки, ассоциированные с загрузкой драйверов ОС, сетевых драйверов, т.е. с загрузкой операционной среды);
- закладки, ассоциированные с прикладным программным обеспечением общего назначения (встроенные в клавиатурные и экранные драйверы, программы тестирования СВТ, утилиты и оболочки);
- закладки, ассоциированные с исполняемыми программными модулями, содержащие код этих закладок;
- закладки-имитаторы, интерфейс которых совпадает с интерфейсом некоторых служебных программ, требующих ввода конфиденциальной информации (ключей, паролей);
- закладки, маскируемые под программные средства игрового и развлекательного назначения.
6.7. Сетевые атаки
В АС могут быть выделены шесть наиболее часто предпринимаемых в настоящее время сетевых атак.
6.7.1. Типовые атаки на сетевые ресурсы
Данная атака позволяет:
- Изучить логику работы сетевой инфраструктуры ЛВС – получить однозначное соответствие событий, происходящих в Системе, и команд, пересылаемых при этом сетевыми объектами, в момент появления данных событий. В дальнейшем это позволит злоумышленнику на основе задания соответствующих команд получить, например, привилегированные права на действия в системе или расширить свои полномочия в ней;
- Перехватить поток передаваемых данных, которыми обмениваются компоненты сетевой операционной системы (ОС) – для извлечения секретной или идентификационной информации (например, статических паролей пользователей для доступа к удаленным сетевым объектам по протоколам FTP и TELNET, не предусматривающих шифрование), ее подмены, модификации и т.п.
- Сканирование сети
Сущность данной атаки заключается в передаче запросов сетевым службам сетевых объектов и анализе ответов от них. Цель атаки — выявление используемых протоколов, доступных портов сетевых служб, законов формирования идентификаторов соединений, определение активных сетевых сервисов, подбор идентификаторов и паролей пользователей.
- Подмена доверенного объекта сети
Подмена доверенного объекта сети и передача по каналам связи сообщений от его имени с присвоением его прав доступа.
Такая атака эффективно реализуется в системах, где применяются нестойкие алгоритмы идентификации и аутентификации сетевых объектов, пользователей и т.д. Под доверенным объектом будем понимать объект, легально подключенный к серверу. В более общем смысле «доверенная» система – это система, которая достигает специфического уровня контроля за доступом к информации, обеспечивая механизм предотвращения (или определения) неавторизованного доступа.
Могут быть выделены две разновидности указанной атаки:
- при установленном виртуальном соединении;
- без установления виртуального соединения.
Атака при установленном виртуальном соединении состоит в присвоении прав доверенного субъекта взаимодействия, что позволяет атакующему вести сеанс работы с объектом сети от имени доверенного субъекта. Реализация атаки данного типа требует преодоления системы идентификации и аутентификации сообщений (например, атака rsh-службы UNIX-хоста).
Атака без установления виртуального соединения может иметь место в случае, когда идентификация передаваемых сообщений осуществляется только по сетевому адресу отправителя. Сущность ее заключается в передаче служебных сообщений от имени сетевых управляющих устройств (например, от имени маршрутизаторов) об изменении маршрутно-адресных данных. Примером такой атаки может служить навязывание ложного маршрутизатора с использованием ICMP-протокола (ICMP-сообщения «Redirect Host»).
- Внедрение ложного объекта сети
Данная атака осуществляется двумя способами:
- Навязыванием ложного маршрута из-за недостатков, присущих алгоритмам маршрутизации (в частности из-за проблемы идентификации сетевых управляющих устройств), в результате чего можно попасть, например, на сетевой объект или в сеть злоумышленника, где с помощью определенных средств можно войти в операционную среду атакуемого компьютера. Этот способ состоит в несанкционированном использовании протоколов маршрутизации (RIP, OSPF, LSP) и управления сетью (ICMP, SNMP) для внесения изменений в маршрутно-адресные таблицы (таблицы маршрутизации). При этом атакующему необходимо послать от имени сетевого управляющего устройства (например, маршрутизатора) управляющее сообщение.
- Использованием недостатков алгоритмов удаленного поиска. В случае, если объекты сетевой инфраструктуры изначально не имеют адресной информации друг о друге, используются различные протоколы удаленного поиска (например, SAP в сетях Novell NetWare; ARP, DNS, WINS в сетях со стеком протоколов TCP/IP), заключающиеся в передаче по сети специальных запросов и получении на них ответов с искомой информацией. При этом существует возможность перехвата на атакующем объекте поискового запроса и выдачи на него ложного ответа, использование которого приведет к требуемому изменению маршрутно-адресных данных. В дальнейшем весь поток информации, ассоциированный с объектом-жертвой, будет проходить через ложный объект сети.
Внедрение ложного объекта позволяет проводить селекцию и сохранение потока информации, модифицировать информацию в передаваемых данных или в передаваемом коде, подменять информацию.
- Отказ в обслуживании
Данная атака заключается в передаче атакующим от имени легальных объектов большого количества запросов, адресованных сетевым службам. Эта атака может быть предпринята, если нет средств аутентификации адреса отправителя и с объекта атаки на атакуемый объект можно передавать бесконечное число анонимных запросов на подключение от имени других сетевых объектов.
Могут быть выделены несколько разновидностей атаки «отказ в обслуживании»:
- Скрытый отказ в обслуживании, вызванный привлечением части ресурсов компьютерной сети на обработку пакетов, передаваемых злоумышленником со снижением пропускной способности каналов связи, производительности сетевых устройств, нарушением требований к времени обработки запросов.
Примерами атак подобного рода могут служить:
- направленный шторм эхо-запросов по протоколу ICMP (Ping flooding);
- миништорм запросов на установление TCP-соединений (SYN-flooding).
- Явный отказ в обслуживании, вызванный исчерпанием ресурсов компьютерной сети при обработке пакетов, передаваемых злоумышленником (занятие всей полосы пропускания каналов связи, переполнение очередей запросов на обслуживание), при котором легальные запросы не могут быть переданы через сеть из-за недоступности среды передачи, либо получают отказ в обслуживании ввиду переполнения очередей запросов, дискового пространства памяти и т.д. Примерами атак данного типа могут служить:
- шторм широковещательных ICMP-эхо-запросов (Smurf);
- направленный шторм (SYN-flooding).
- Явный отказ в обслуживании, вызванный нарушением логической связности между объектами компьютерной сети при передаче атакующим управляющих сообщений от имени сетевых устройств, приводящих к изменению маршрутно-адресных данных (например, ICMP Redirect Host, DNS-flooding) или идентификационной и аутентификационной информации.
- Явный отказ в обслуживании, вызванный передачей злоумышленником пакетов с нестандартными атрибутами (атаки типа «Land», «TearDrop», «Bonk», «Nuke», «UDP-bomb» либо имеющих длину, превышающую максимально допустимый размер (атака типа «Ping Death», атака демона ftpd UNIX-хоста), что может привести к сбою сетевых устройств, участвующих в обработке запросов, при условии наличия ошибок в программах, реализующих протоколы сетевого обмена.
- Spoofing IP. Это подмена исходного адреса в заголовке пакетов. Однако Spoofing IP не является уникальным способ скрытия/изменения IP-адреса, аналогичный proxy или socks. Спуфинг лишь позволяет изменить IP-адрес в заголовке пакета, но не удерживать этот адрес как свой (т.е. невозможно получить ответ, его получит хозяин адреса, который указан вместо своего). Целью спуфинга обычно является вызов DoS (отказа в обслуживании) или провокация DDoS (распределённой атаки с целью вызова DoS). А вот способов обеспечения DoS/DDoS с помощью IP-спуфинга несколько:
- Чтобы выполнить DoS-атаку на сервер (А) необходимо отослать ему много ICMP-пакетов. Изменить свой ip просто на какой-то левый, чтобы пакеты, которыми отвечает сервер (А) не вызвали DoS на Вашей машине. А так сервер (А) будет отвечать на них другой машине, которой, возможно, даже не существует;
- Изменяем свой IP на IP «жертвы». Затем отсылаем пакеты серверу (В), а он, в свою очередь, атакует «жертву», адрес которой указан в этих пакетах;
- Как адрес отправителя, так и адрес получателя равен адресу «жертвы». Отсылаем множество таких пакетов, и «жертва» атакует сама себя.
Практически любой сервер уязвим к DoS-атаке, если не умеет резать пакеты, приходящие к нему с его же адреса, или не может отличить обычный пользовательский запрос от DoS-атаки.
На практике большое значение имеет ширина канала (Вашего, «жертвы» и сервера). Выигрывает обычно тот, у кого канал шире и мозгов больше.
В распределённой атаке спуфинг применяется обычно для скрытия адреса хозяина машин-зомби. Самим зомби спуфинг не обязателен. Здесь уже будет важна не столько ширина Вашего канала, сколько количество этих зомби.
- ARP-spoofing. Техника атаки в Ethernet сетях, позволяющая перехватывать трафик между хостами. Основана на использовании протокола ARP и позволяющая перехватывать трафик между узлами, расположенными в пределах одного широковещательного домена.
ARP spoofing — это атака, используемая для прослушивания сети, построенной на свитчах, и состоящая в том, что злоумышленник посылает ложные ARP-пакеты с целью убедить компьютер жертвы, что прослушивающий компьютер и есть конечный адресат. Далее пакеты логируются и пересылаются реальному получателю, mac-адрес отправителя в них подменяется, чтобы ответные пакеты тоже шли через прослушивающий компьютер. Прослушивающий компьютер становится «шлюзом» для трафика жертвы, и злоумышленники получают возможность прослушивать трафик. Например, общение по ICQ, почту жертвы и др. Соединение прослушивающего компьютера с сетью является узким местом, т.к. трафик жертвы совершает «петли» в сети, обязательно проходя прослушивающий компьютер. При попытке прослушать трафик нескольких активно общающихся компьютеров и соответственно возникающим при этом переполнением APR-таблиц возможна перегрузка, и, как следствие, падение сети.
Современные межсетевые экраны умеют выявлять и пресекать ARP-spoofing. Тем не менее, у «специалистов» есть свои возможности обходить запреты фаервола. Поэтому следует использовать 2 варианта пресечения ARP-атак:
- Использование фаервола;
- При знании всех mac адресов машин, с которыми нужно работать, необходимо прописать их статически в arp-таблицу, а в фаерволе запретить arp-трафик (использовать статические arp-таблицы на ключевых звеньях сети (серверах, шлюзах и т.п.).
В принципе, АРП-спуфинг бесполезен без сниффера. При сниффинге сетевой адаптер переходит в специфический режим работы, а отследить режим работы адаптера, возможно.
Результатом осуществления данной атаки может стать нарушение работоспособности соответствующей службы, предоставление удаленного доступа на атакуемый сетевой объект, переполнение очереди запросов и как следствие невозможность обработки атакуемым объектом новых запросов на соединение.
- Удаленный запуск приложений
Атака заключается во внедрении и запуске на атакуемом сетевом объекте различных вредоносных программ:
- программ-закладок;
- вирусов;
- «сетевых шпионов».
Основная цель перечисленных вредоносных программ – нарушение конфиденциальности, целостности, доступности информации и полный контроль за работой сетевого объекта.
Выделяют три подкласса данной типовой атаки:
1) Распространение файлов, содержащих несанкционированный исполняемый код.
2) Удаленный запуск приложения путем переполнения буфера приложений-серверов.
3) Удаленный запуск приложения путем использования возможностей удаленного управления системой, предоставляемых скрытыми программными и аппаратными закладками, либо используемыми штатными средствами.
Типовые атаки первого из указанных подклассов основываются на активизации распространяемых файлов при случайном обращении к ним. Примерами таких файлов могут служить:
1) Файлы, содержащие исполняемый код в виде макрокоманд (документы Microsoft Word, Excel и т.п.).
2) html-документы, содержащие исполняемый код в виде элементов ActiveX, Java-апплетов, интерпретируемых скриптов (например, тексты на JavaScript).
3) Файлы, содержащие исполняемые коды программ.
Для распространения файлов могут использоваться службы электронной почты, передачи файлов, сетевой файловой системы.
При атаках второго подкласса используются недостатки программ, реализующих сетевые сервисы (в частности, отсутствие контроля за переполнением буфера). Настройкой системных регистров иногда удается переключить процессор после прерывания, вызванного переполнением буфера, на исполнение кода, содержащегося за границей буфера. Примером атак данного типа может служить широко известный «вирус Морриса».
При атаках третьего подкласса атакующий использует возможности удаленного управления системой, предоставляемые скрытыми компонентами (например, «троянскими» программами Back Orifice, Net Bus), либо штатными средствами управления и администрирования компьютерных сетей (Landesk Management Suite, Managewise, Back Office и т. п.). В результате их использования удается добиться удаленного контроля над станцией в сети.
Схематично основные этапы работы этих программ выглядят следующим образом:
- Инсталляция в памяти;
- Ожидание запроса с удаленного сетевого объекта, на котором запущена головная сервер-программа и обмен с ней сообщениями о готовности;
- Передача перехваченной информации на головную сервер-программу или предоставление ей контроля над атакуемым компьютером.
Возможные последствия реализации угроз с применением сетевых атак представлены в таблице 10.
Таблица 10 — Возможные последствия реализации угроз с применением сетевых атак
Тип атаки | Возможные последствия | |
1. Анализ сетевого трафика | Исследование характеристик сетевого трафика, перехват передаваемых данных, в том числе идентификаторов и паролей пользователей | |
2. Сканирование сети | Определение протоколов, доступных портов сетевых служб, законов формирования идентификаторов соединений, активных сетевых сервисов, идентификаторов и паролей пользователей | |
3. Подмена доверенного объекта сети | Изменение трассы прохождения сообщений, несанкционированное изменение маршрутно-адресных данных. Несанкционированный доступ к сетевым ресурсам, навязывание ложной информации | |
4. Внедрение ложного объекта сети | Несанкционированное изменение маршрутно-адресных данных, анализ и модификация передаваемых данных, навязывание ложных сообщений | |
5. Отказ в обслуживании | Частичное исчерпание ресурсов | Снижение пропускной способности каналов связи, производительности сетевых устройств. Снижение производительности серверных приложений |
Полное исчерпание ресурсов | Невозможность передачи сообщений из-за отсутствия доступа к среде передачи, отказ в установления соединения. Отказ в предоставлении сервиса (электронной почты, файлового и т.д.) | |
Нарушение логической связности между объектами | Невозможность передачи, сообщений из-за отсутствия корректных маршрутно-адресных данных. Невозможность получения услуг ввиду несанкционированной модификации идентификаторов, паролей и т.п. | |
Использование ошибок в программах | Нарушение работоспособности сетевых устройств. | |
6. Удаленный запуск приложений | Рассылка файлов, содержащих деструктивный исполняемый код, вирусное заражение | Нарушение конфиденциальности, целостности, доступности информации |
Путем переполнения буфера серверного приложения | ||
Путем использования возможностей удаленного управления системой, предоставляемых скрытыми программными и аппаратными закладками, либо используемыми штатными средствами | Скрытое управление системой |
6.7.2. Этапы реализации сетевых атак и их характеристика
Типовая атака в общем случае состоит из четырех этапов:
- сбора информации;
- вторжения (проникновения в операционную среду);
- реализации деструктивных действий;
- ликвидации следов атаки.
На этапе сбора информации нарушителя могут интересовать различные сведения об атакуемом сетевом объекте, в том числе:
- О топологии сети, в которой функционирует атакуемая система. При этом может исследоваться область вокруг атакуемой сети (например, нарушителя может интересовать адреса доверенных, но менее защищенных сетевых объектов). Для определения доступности сетевого объекта могут использоваться простейшие команды (например, команда ping для посылки ICMP-запросов ECHO_REQUEST с ожиданием на них ICMP-ответов ECHO_REPLY). Существуют утилиты, осуществляющие параллельное определение доступности сетевых объектов (такие как fping), которые способны просканировать большую область адресного пространства на предмет доступности сетевого объекта за короткий промежуток времени. Топология сети часто определяется на основании «счетчика узлов» (дистанции между сетевыми объектами). Известны следующие методы:
- «модуляция TTL»;
- запись маршрута.
Метод «модуляции TTL» реализован программой traceroute (для Windows NT – tracert.exe) и заключается в модуляции поля TTL IP-пакетов. Для записи маршрута могут использоваться ICMP-пакеты, создаваемые командой ping.
Сбор информации может быть также основан на запросах:
- К DNS-серверу о списке зарегистрированных (и, вероятно, активных) сетевых объектов;
- К маршрутизатору на основе протокола RIP об известных маршрутах (информация о топологии сети);
- К некорректно сконфигурированным устройствам, поддерживающим протокол SNMP (информация о топологии сети).
В том случае, если атакуемая сеть находится за межсетевым экраном (МЭ), возможен сбор информации о конфигурации МЭ и о топологии сети за МЭ, в том числе путем посылки пакетов на все порты всех предполагаемых сетевых объектов защищаемой сети;
- О типе операционной системы (ОС) на атакуемых сетевых объектах. Самый известный способ определения типа ОС основан на том, что различные типы ОС по-разному реализуют требования стандартов RFC к стеку TCP/IP. Это позволяет нарушителю удалённо идентифицировать тип ОС, установленной на сетевом объекте путём посылки специальным образом сформированных запросов и анализа полученных ответов. Существуют специальные средства, реализующие данные методы, в частности, Nmap и QueSO. Можно отметить также такой метод определения типа ОС, как простейший запрос на установление соединения по протоколу удаленного доступа telnet (telnet-соединения), в результате которого по «внешнему виду» ответа можно определить тип ОС. Наличие определенных сервисов также может служить дополнительным признаком для определения типа ОС;
- О функционирующих на сетевых объектах сервисах. Определение сервисов, исполняемых на сетевом объекте, основано на методе выявления «открытых портов», направленным на сбор информации о доступности используемых на нем программных сервисов. Например, для определения доступности UDP-порта необходимо получить отклик в ответ на посылку UDP-пакета соответствующему порту:
- если в ответ пришло сообщение ICMP PORT UNREACHEBLE, то соответствующий сервис не доступен;
- если данное сообщение не поступило, то порт «открыт».
На этапе вторжения исследуется наличие типовых уязвимостей в системных сервисах или ошибок в администрировании системы. Успешным результатом использования уязвимостей обычно является получение процессом нарушителя привилегированного режима выполнения (доступа к привилегированному режиму выполнения командного процессора), внесение в систему учетной записи незаконного пользователя, получение файла паролей или нарушение работоспособности атакуемого сетевого объекта.
Этот этап развития атаки, как правило, является многофазным. К фазам атаки могут относиться:
- установления связи с атакуемым сетевым объектом;
- выявление уязвимости;
- внедрение вредоносной программы в интересах расширения привилегий и др.
Атаки на этапе вторжения подразделяются по уровням стека протоколов TCP/IP, поскольку формируются на сетевом, транспортном или прикладном уровне в зависимости от используемого механизма вторжения.
К типовым атакам, реализуемым на сетевом и транспортном уровнях, относятся такие как:
- Атака, направленная на подмену доверенного объекта;
- Атака, направленная на создание ложного маршрута;
- Атаки, направленные на создание ложного объекта с использованием недостатков алгоритмов удаленного поиска;
- Атаки типа «Отказ в обслуживании», основанные на IP-дефрагментации, на формировании некорректных ICMP-запросов (например, атака «Ping of Death» и «Smurf»), на формировании некорректных TCP-запросов (атака » Land «), на создании «шторма» пакетов с запросами на соединение (атаки «SYN Flood «) и др.
На этапе реализации деструктивных действий осуществляется собственно достижение цели атаки, то есть выполнение тех действий, ради которых осуществлялась атака:
- копирование;
- уничтожение;
- искажение информации;
- внедрение вредоносных программ и др.
На этом же этапе, если атака не принесла нарушителю наивысших прав доступа в системе, возможны попытки расширения этих прав до максимально возможного уровня. Для этого могут использоваться уязвимости не только сетевых сервисов, но и уязвимости системного программного обеспечения сетевых объектов АС. После указанных действий, как правило, формируется так называемый «черный вход» в виде одного из сервисов (демонов), обслуживающих некоторый порт и выполняющих команды нарушителя. «Черный вход» оставляется в системе в интересах обеспечения:
- возможности получить доступ к сетевому объекту, даже если администратор устранит использованную для успешной атаки уязвимость;
- возможности получить доступ к сетевому объекту как можно более скрытно;
- возможности получить доступ к сетевому объекту быстро (не повторяя заново атаку).
«Черный вход» позволяет нарушителю внедрить в сеть или на определенный сетевого объекта вредоносную программу, например, «анализатор паролей» (password sniffer) – программу, выделяющую пользовательские идентификаторы и пароли из сетевого трафика при работе протоколов высокого уровня (ftp, telnet, rlogin и т.д.). Объектами внедрения вредоносных программ могут быть программы аутентификации и идентификации, сетевые сервисы, ядро операционной системы, файловая система, библиотеки и т.д.
Наконец, на этапе ликвидации следов атаки осуществляется попытка уничтожения следов атаки. При этом удаляются соответствующие записи из всех возможных журналов аудита, в том числе записи о факте сбора информации.
6.7.3. Способы реализации сетевых атак
Сканирование позволяет осуществлять поиск каналов передачи данных. Идея сканирования заключается в том, чтобы исследовать как можно больше потенциальных каналов связи и определить, какие именно находятся в состоянии ожидания соединения.
Сканирование портов может являться первым шагом в процессе взлома или предупреждения взлома, помогая определить потенциальные цели атаки. С помощью соответствующего инструментария путем отправления пакетов данных и анализа ответов могут быть исследованы работающие на машине службы (Web-сервер, FTP-сервер, mail-сервер, и т. д.), установлены номера их версий и используемая операционная система.
Службы, находящиеся на хостах, адресуются двумя идентификаторами: IP-адресом и номером порта. Существует 65536 возможных номеров портов.
Некоторые сканеры портов ищут только наиболее часто используемые, или наиболее уязвимые порты определённого хоста или набора хостов.
Типы сканирований:
- Ping (определение состояния сервера по ICMP);
- SYN-сканирование;
- TCP-сканирование;
- UDP-сканирование;
- ACK-сканирование;
- FIN-сканирование;
- Другие типы сканированию
Результат сканирования порта обычно подпадает под одну из трёх категорий:
- Открыт, или соединение принято (open): хост послал ответ, подтверждающий, что хост «слушает» — принимает соединения на данный порт.
- Закрыт, не слушает (closed): хост послал ответ, показывающий, что соединения на данный порт будут отвергнуты.
- Заблокирован, отфильтрован (filtered, firewalled): от хоста не поступило ответа.
Уязвимости, связанные с открытыми портами, подразделяются на:
- проблемы с безопасностью и стабильностью, связанные с функционированием программ, предоставляющих сервисы,
- проблемы с безопасностью и стабильностью, связанные с операционной системой, работающей на хосте.
- Определение состояния сервера методом ICMP-сканирования
Перед непосредственным сканированием портов удаленного хоста необходимо выяснить его состояние — работает он в сети или нет.
В сетях, организованных на базе стека протоколов TCP/IP, для этой цели используется протокол ICMP (RFC 792: Internet Control Message Protocol).
Обмен информацией между маршрутизатором и хостом реализован с помощью т.н. ICMP-сообщений.
Хост отправляет серверу ICMP-сообщение и ожидает получения ответа, также представляющего собой ICMP-сообщение (т.н. ICMP-эхо).
В начале любого ICMP-сообщения находятся три поля: «Тип сообщения», «Код» (причина ошибки) и «Контрольная сумма». Поле «Тип» определяет смысл ICMP-сообщения и соответствующий ему формат.
Используются типы сообщений «Запрос эха» (8) и «Ответ на эхо» (0).
ICMP-запросы передаются в IP-пакетах, успешный прием ответа свидетельствует о работоспособности транспортной системы, т.е. выполнена маршрутизация, работоспособны все промежуточные маршрутизаторы, получатель активен и работает корректно, программное обеспечение протоколов IP и ICMP выполняет свои функции. Значение поля «Тип сообщения» представлены в таблице 11.
Таблица 11 — Типы сообщения ICMP-сканирования
Код | Значение |
0 | Ответ на эхо |
3 | Получатель недостижим |
4 | Подавление источника |
5 | Изменение маршрута |
8 | Запрос эха |
11 | Превышено время дейтаграммы |
12 | Ошибка параметров дейтаграммы |
13 | Запрос временной метки |
14 | Ответ на запрос временной метки |
17 | Запрос маски адреса |
18 | Ответ на запрос маски адреса |
Сканирование TCP-портов флагом SYN
Данный метод известен еще как «сканирование с установлением наполовину открытого соединения» (half-open scanning), поскольку полное установление TCP-соединения не производится (см. рисунок 3).
Рисунок 3 — Сканирование TCP-портов флагом SYN
В случае приема SYN|ACK-пакета хост немедленно отправляет RST-пакет для сброса устанавливаемого сервером соединения и не продолжает процесс обмена синхропакетами. Таким образом, производится проверка способности сканируемого сервера установить соединение по указанному порту.
Сканирование TCP-портов флагом FIN
Согласно RFC 793, на прибывший FIN-пакет на закрытый порт сервер должен ответить RST-пакетом. FIN-пакеты на открытые порты игнорируются сервером. Однако не все ОС придерживаются этой рекомендации. Таким образом, использование FIN-сканирования позволяет в ряде случаев с успехом обойти средства защиты сервера и просканировать его порты.
Атака Teardrop
Целью данной атаки является остановка или перезагрузка объекта атаки.
Как видно из представленного дампа в верхней строке показан фрагмент номер 242 с 36 октетами данных со смещением 0. Во второй строке представлены 4 дополнительных октета данных со смещением 24. Таким образом, чтобы обработать этот пакет, операционная система должна вернуться от 36 к 24. Отрицательные числа могут быть преобразованы в очень большие положительные. Вполне вероятно, что операционная система перезапишет бесполезными данными раздел памяти, используемый какой-то другой программой. После пары таких попыток система будет подавлена.
Атака Land
ping -l 65510 target ip
Цель — превысить максимально разрешенный размер пакета ICMP (65535 байтов). Если система не умеет обращаться с такими данными, происходит авария.
На рисунке 4 представлены варианты реализации атаки типа Smurf
Рисунок 4 (Вариант 1) – Реализации атаки Smurf
Рисунок 4 (Вариант 2) — Реализации атаки Smurf
Пример DDOS атаки представлен на рисунке 5.
Рисунок 5 — Реализации DDOS-атаки
6.7.4. Сценарии взлома сетевых узлов
- Сетевая разведка в Internet. Выявление активных систем, почтовых адресов.
- Определение типа системы и средств безопасности при помощи Nmap.
- Эксплойтинг с использованием зараженной Web-страницы или засылка «троянской» программы при помощи e-mail, подключение через нулевой сеанс…
- Сбор информации о системе, получение учётных записей и паролей пользователей.
- Компрометация средств защиты, установка удалённого управления.
- Установка скрытого канала.
- Установка вредоносного программного обеспечения.
- Сетевая разведка в Internet. Выявление активных систем, почтовых адресов.
- Идентификация системы UNIX. и средств безопасности при помощи Nmap.
- Сканирование портов при помощи Nmap и определение приложений, использующих порты с использованием программы Netcat.
- Эксплойтинг хоста — поиск эксплойта для активного приложения, его загрузка и компиляция.
- Получение shell (доступа к командной оболочке).
- Создание учётной записи, повышение привилегий.
- Компрометация средств защиты.
- Установка троянской программы, например, подмена утилит уровня ядра knark.
- Установка скрытого канала.
- Установка вредоносного программного обеспечения.
Шелл-код может быть использован как полезная нагрузка эксплойта, обеспечивающая взломщику доступ к командной оболочке в компьютерной системе.
При эксплуатации удаленной уязвимости шелл-код может открывать заранее заданный порт TCP уязвимого компьютера, через который будет осуществляться дальнейший доступ к командной оболочке, такой код называется привязывающим к порту (port binding shellcode). Если шелл-код осуществляет подключение к порту компьютера атакующего (с целью обхода брандмауэра или NAT), то такой код называется обратной оболочкой (reverse shell shellcode).
Обычно Шелл-код внедряется в память эксплуатируемой программы, после чего на него передается управление путём переполнения стека, или при переполнении буфера в куче, или используя атаки форматной строки. Передача управления шелл-коду осуществляется перезаписью адреса возврата в стеке адресом внедрённого шелл-кода, перезаписью адресов вызываемых функций или изменением обработчиков прерываний. Результатом этого является выполнение шелл-кода, открывающего командную строку для использования взломщиком.
Взломщики пишут шелл-коды часто используя приёмы, скрывающие их атаку. Они часто пытаются выяснить, как системы обнаружения вторжений распознают любую входящую атаку. Типичная система обнаружения обычно просматривает все входящие пакеты в поисках структуры специфичной для шелл-кода. Если она находит такую структуру, пакет уничтожается до того, как он достигнет своей цели. Слабая позиция системы обнаружения в данном случае состоит в том, что она не осуществляет действительно хороший поиск, иначе он займёт слишком много времени и таким образом замедлит соединение с интернетом.
Шелл-код почти всегда содержит строку с именем оболочки. Все входящие пакеты содержащие такую строку всегда рассматриваются как подозрительные в глазах системы. Также, некоторые приложения не принимают неалфавитно-цифровой ввод (они не принимают что-либо, кроме a-z, A-Z, 0-9, и несколько других символов.)
Для прохождения через все эти меры, направленные против вторжения, взломщики используют:
- шифрование;
- самомодифицирующийся код;
- полиморфный код;
- алфавитно-цифровой код.
Типы shell-кодов:
- Shell-код для привязки к порту (англ. port binding shellcode).
- Shell-код для использования существующего дескриптора сокета.
- Shell-код, выполняющий системный вызов.
- Shell-код для обратного соединения (англ. reverse shell shellcode).
- Кросплатформенный shell-код.
Пример shell-кода
Шелл-код обычно внедряется в память эксплуатируемой программы, после чего на него передается управление путём переполнения стека, или при переполнении буфера в куче, или используя атаки форматной строки. Передача управления шелл-коду осуществляется перезаписью адреса возврата в стеке адресом внедрённого шелл-кода, перезаписью адресов вызываемых функций или изменением обработчиков прерываний. Результатом этого является выполнение шелл-кода, который открывает командную строку для использования взломщиком.
Назначение зксплойтов:
- Эксплойты для операционных систем.
- Эксплойты для прикладного ПО (музыкальные проигрыватели, офисные пакеты).
- Эксплойты для браузеров (Internet Explorer, Mozilla Firefox, Opera и др.).
- Эксплойты для интернет-продуктов (IPB, WordPress, VBulletin, phpBB).
- Эксплойты для интернет-сайтов (facebook.com, hi5.com, livejournal.com).
- Другие эксплойты.
Эксплойты могут быть классифицированы по типу используемой ими уязвимости, такой как: переполнение буфера, SQL-инъекция, межсайтовый скриптинг, подделка межсайтовых запросов и т. д.
Типы уязвимостей, которые используют эксплойты:
- уязвимости форматной строки:
- уязвимости сетевых протоколов;
- уязвимости, возникающие в состоянии «Гонки»;
- ошибки при работе со стеком, позволяющие осуществить переполнение;
- ошибки при работе с кучей, позволяющие осуществить затирание;
- ошибки при работе с целыми числами.
Эксплойты, как правило, нацелены на уязвимости в конкретных целевых системах, поэтому к эксплойту, как правило, прилагается список версий ОС и оборудования, на которых он работает.
Связки (сборки) эксплойтов представляют из себя пакет эксплойтов сразу под несколько программ (версий) и/или под разные уязвимости в них. В последних версиях связок производится выбор эксплойта именно под конкретную программу пользователя.
Особой популярностью пользуются так называемые 0-day эксплойты (эксплойты «нулевого дня»), использующие недавно появившиеся уязвимости, которые еще не стали известны общественности.
Переполнение буфера является наиболее популярным способом взлома, так как большинство языков высокого уровня используют технологию «стекового кадра» — размещение данных в стеке процесса, смешивая данные программы с управляющими данными (в том числе адреса начала стекового кадра и адреса возврата из исполняемой функции).
Переполнение буфера может вызывать аварийное завершение или зависание программы, ведущее к отказу обслуживания (DoS). Отдельные виды переполнений позволяют загрузить и выполнить произвольный машинный код от имени программы и с правами учетной записи, от которой она выполняется.
В случае если буфер расположен в стеке и стек «растёт вниз» (например, в архитектуре x86), то с помощью переполнения буфера можно изменить адрес возврата выполняемой функции, так как адрес возврата расположен после буфера, выделенного выполняемой функцией. Тем самым есть возможность выполнить произвольный участок машинного кода в адресном пространстве процесса. Схема атаки типа «Срыв стека» представлена на рисунке 6.
Рисунок 6 — Схема атаки «срыв стека»
Пример переполнения буфера
Рассмотрим гипотетическую программу, которая исполняется с привилегиями суперпользователя и выполняет некоторые функции — например, изменение пароля пользователя. Если программа не проверяет длину введённого нового пароля, то любые данные, длина которых превышает размер выделенного для их хранения буфера, будут просто записаны поверх того, что находилось после буфера.
int namelen (void) {
char pass [21];
gets(name);
return strlen(pass);
}
При вводе пароля размером более 20 символов частью строки будет замещен адрес возврата из функции. Далее, при выполнении инструкции возврата из подпрограммы, управление будет передано по адресу, который образуют соответствующие позиции введенной строки и в обычной ситуации будет получено сообщение об ошибке операционной системы.
[1] Объект защиты информации: Информация или носитель информации, или информационный процесс, которые необходимо защищать в соответствии с целью защиты информации (ГОСТ Р 50922-2006).
Оценка потенциальных угроз безопасности в АС Категорирование защищаемой информации [объекта защиты] — установление градаций важности защищаемой информации [объекта защиты].
0