- Методика оценки угроз безопасности информации
- Основные задачи оценки угроз безопасности информации:
- Общая схема проведения моделирования угроз:
- Статьи по теме: «Информационная безопасность»
- Чем опасны процессорные уязвимости. Часть 1: Атаки по побочным каналам
- Содержание:
- Введение
- Процессорные ошибки
- Наращивание производительности и безопасность в процессорах
- Кэш-память
- Внеочередное исполнение
- Спекулятивное исполнение
Методика оценки угроз безопасности информации
Давайте разберемся в изменениях, этапах проведения и других нюансах процесса оценки и моделирования угроз. Для удобства мы подготовили подробную Mindmap по моделирования угроз безопасности информации согласно новому методическому документу ФСТЭК .
Моделирование угроз безопасности информации — позволяет проводить упреждающую оценку, анализировать и определять приоритеты в работе по устранению угроз, обеспечивая эффективное распределение ресурсов.
Ключом к моделированию угроз является определение того, где следует прилагать наибольшие усилия для обеспечения безопасности системы. Эта переменная изменяется по мере того, как добавляются, удаляются или модернизируются информационные системы, приложения, а также изменяются пользовательские требования.
Моделирование угроз — это итеративный процесс, который состоит из определения активов предприятия, определения того, что каждая информационная система делает с этими активами, создания профиля безопасности для каждой ИС, определения потенциальных угроз, установления приоритетов. Моделирование угроз может помочь обеспечить соответствие защиты меняющимся угрозам. В противном случае новые угрозы могут оставаться незащищенными, оставляя системы и данные уязвимыми.
Методика определяет порядок и содержание работ по определению угроз безопасности информации, реализация (возникновение) которых возможна в информационных системах, автоматизированных системах управления, информационно-телекоммуникационных сетях, информационно-телекоммуникационных инфраструктурах центров обработки данных и облачных инфраструктурах , а также по разработке моделей угроз безопасности информации систем и сетей.
Когда применяется методика?
Методика применяется для определения угроз безопасности информации, реализация (возникновение) которых возможна в системах и сетях, отнесенных к государственным и муниципальным информационным системам, информационным системам персональных данных, значимым объектам критической информационной инфраструктуры Российской Федерации, информационным системам управления производством, используемым организациями оборонно-промышленного комплекса автоматизированным системам управления производственными и технологическими процессами на критически важных объектах, потенциально опасных объекта, объектах, представляющих повышенную опасность для жизни и здоровья людей и окружающей природной среде.
В иных случаях решение о применении методики принимается обладателями или операторами систем и сетей.
По сути, данная методика необходима для большинства информационных систем и сетей.
Основные задачи оценки угроз безопасности информации:
Ранее для определения потенциальных угроз безопасности информации использовались следующие методики:
• Методика определения актуальных угроз безопасности персональных данных при их обработке в информационных системах персональных данных (2008 года);
• Методика определения актуальных угроз безопасности информации в ключевых системах информационной инфраструктуры (2007 года).
Новая методика ФСТЭК по оценке угроз безопасности информации актуализирована и более универсальна.
Общая схема проведения моделирования угроз:
Этап 2. Определение объектов воздействия угроз безопасности информации.
— Анализ документации систем и сетей, и иных исходных данных;
— Инвентаризация систем и сетей;
— Определение групп информационных ресурсов и компонентов систем и сетей.
Этап 3. Оценка возможности реализации угроз и их актуальности.
— Определение источников угроз;
— Оценка способов реализации угроз;
— Оценка актуальности угроз.
1. Исходными данными для определения негативных последствий, объектов воздействия и источников угроз являются:
— Банк данных угроз безопасности ФСТЭК;
2. На основе анализа исходных данных определяются событие или группа событий, наступление которых в результате реализации (возникновения) угроз безопасности информации может привести к:
— информация (данные), содержащаяся в системах и сетях (в том числе защищаемая информация, персональные данные, информация о конфигурации систем и сетей, данные телеметрии, сведения о событиях безопасности и др.)
— программно-аппаратные средства обработки и хранения информации (в том числе автоматизированные рабочие места, серверы, включая промышленные, средства отображения информации, программируемые логические контроллеры, производственное, технологическое оборудование (исполнительные устройства));
— программные средства (в том числе системное и прикладное программное обеспечение, включая серверы приложений, веб-приложений, системы управления базами данных, системы виртуализации);
— машинные носители информации, содержащие как защищаемую информацию, так и аутентификационную информацию;
— телекоммуникационное оборудование (в том числе программное обеспечение для управления телекоммуникационным оборудованием);
— средства защиты информации (в том числе программное обеспечение для централизованного администрирования средств защиты информации);
— привилегированные и непривилегированные пользователи систем и сетей, а также интерфейсы взаимодействия с ними;
— обеспечивающие системы.
Совокупность объектов воздействия и их интерфейсов определяет границы процесса оценки угроз безопасности информации и разработки модели угроз безопасности информации.
Основными видами нарушителей, подлежащих оценке, являются:
— специальные службы иностранных государств;
— террористические, экстремистские группировки;
— преступные группы (криминальные структуры);
— отдельные физические лица (хакеры);
— конкурирующие организации;
— разработчики программных, программно-аппаратных средств;
— лица, обеспечивающие поставку программных, программно-аппаратных средств, обеспечивающих систем;
— поставщики услуг связи, вычислительных услуг;
— лица, привлекаемые для установки, настройки, испытаний, пусконаладочных и иных видов работ;
— лица, обеспечивающие функционирование систем и сетей или обеспечивающих систем оператора (администрация, охрана, уборщики и др.); авторизованные пользователи систем и сетей;
— системные администраторы и администраторы безопасности;
— бывшие (уволенные) работники (пользователи).
Указанные виды нарушителей могут быть дополнены иными нарушителями с учетом особенностей области деятельности, в которой функционируют системы и сети. Для одной системы и сети актуальными могут являться нарушители нескольких видов.Нарушители признаются актуальными для систем и сетей, когда возможные цели реализации ими угроз безопасности информации могут привести к определенным для систем и сетей негативным последствиям и соответствующим рискам (видам ущерба).
Нарушители имеют разные уровни компетентности, оснащенности ресурсами и мотивации для реализации угроз безопасности информации. Совокупность данных характеристик определяет уровень возможностей нарушителей по реализации угроз безопасности информации.
В зависимости от уровня возможностей нарушители подразделяются на нарушителей, обладающих:
— базовыми возможностями по реализации угроз безопасности информации (Н1);
— базовыми повышенными возможностями по реализации угроз безопасности информации (Н2);
— средними возможностями по реализации угроз безопасности информации (Н3);
— высокими возможностями по реализации угроз безопасности информации (Н4).
Для одной системы или сети актуальными могут являться нарушители, имеющие разные уровни возможностей.
По результатам определения источников угроз безопасности информации должны быть определены:
а) виды актуальных нарушителей и возможные цели реализации ими угроз безопасности информации, а также их возможности;
б) категории актуальных нарушителей, которые могут реализовывать угрозы безопасности информации, в том числе непреднамеренные угрозы.
6. На основе анализа исходных данных, а также возможностей нарушителей определяются способы реализации (возникновения) угроз безопасности информации, актуальные для систем и сетей.
Основными способами реализации (возникновения) угроз безопасности информации являются:
— использование уязвимостей (уязвимостей кода (программного обеспечения), уязвимостей архитектуры и конфигурации систем и сетей, а также организационных и многофакторных уязвимостей);
— внедрение вредоносного программного обеспечения;
— использование недекларированных возможностей программного обеспечения и (или) программно-аппаратных средств;
— установка программных и (или) программно-аппаратных закладок в программное обеспечение и (или) программно-аппаратные средства;
— формирование и использование скрытых каналов (по времени, по памяти) для передачи конфиденциальных данных;
— перехват (измерение) побочных электромагнитных излучений и наводок (других физических полей) для доступа к конфиденциальной информации, содержащейся в аппаратных средствах аутентификации;
— инвазивные способы доступа к конфиденциальной информации, содержащейся в аппаратных средствах аутентификации;
— нарушение безопасности при поставках программных, программно- аппаратных средств и (или) услуг по установке, настройке, испытаниям, пусконаладочным работам (в том числе администрированию, обслуживанию);
— ошибочные действия в ходе создания и эксплуатации систем и сетей, в том числе при установке, настройке программных и программно-аппаратных средств.
Указанные способы реализации (возникновения) угроз безопасности информации могут быть дополнены иными способами с учетом особенностей архитектуры и условий функционирования систем и сетей.
Условием, позволяющим нарушителям использовать способы реализации угроз безопасности информации, является наличие у них возможности доступа к следующим типам интерфейсов объектов воздействия:
— внешние сетевые интерфейсы, обеспечивающие взаимодействие с сетью «Интернет», смежными (взаимодействующими) системами или сетями (проводные, беспроводные, веб-интерфейсы, интерфейсы удаленного доступа и др.);
— внутренние сетевые интерфейсы, обеспечивающие взаимодействие (в том числе через промежуточные компоненты) с компонентами систем и сетей, имеющими внешние сетевые интерфейсы (проводные, беспроводные);
— интерфейсы для пользователей (проводные, беспроводные, веб-интерфейсы, интерфейсы удаленного доступа и др.);
— интерфейсы для использования съемных машинных носителей информации и периферийного оборудования;
— интерфейсы для установки, настройки, испытаний, пусконаладочных работ (в том числе администрирования, управления, обслуживания) обеспечения функционирования компонентов систем и сетей;
— возможность доступа к поставляемым или находящимся на обслуживании, ремонте в сторонних организациях компонентам систем и сетей.
По результатам оценки возможных способов реализации угроз безопасности информации должны быть определены:
а) виды и категории нарушителей, которые имеют возможность использования актуальных способов;
б) актуальные способы реализации угроз безопасности информации и типы интерфейсов объектов воздействия, за счет которых они могут быть реализованы.
7. На основе анализа исходных данных определяются возможные для систем и сетей угрозы безопасности информации, к которым относятся осуществляемые нарушителем воздействия на информационные ресурсы и компоненты систем и сетей (объекты воздействия), в результате которых возможно нарушение безопасности информации и (или) нарушение или прекращение функционирования систем и сетей.
Угроза безопасности информации возможна, если имеются нарушитель или иной источник угрозы, объект, на который осуществляются воздействия, способы реализации угрозы безопасности информации, а реализация угрозы может привести к негативным последствиям.
Актуальность возможных угроз безопасности информации определяется наличием сценариев их реализации.
Сценарии реализации угроз безопасности информации должны быть определены для соответствующих способов реализации угроз безопасности информации, определенных в соответствии с настоящей Методикой, и применительно к объектам воздействия и видам воздействия на них.
Определение сценариев предусматривает установление последовательности возможных тактик и соответствующих им техник, применение которых возможно актуальным нарушителем с соответствующим уровнем возможностей, а также доступности интерфейсов для использования соответствующих способов реализации угроз безопасности информации.
На этапе создания систем и сетей должен быть определен хотя бы один сценарий каждого способа реализации возможной угрозы безопасности информации. Сценарий определяется для каждого актуального нарушителя и их уровней возможностей.
На этапе эксплуатации определение сценариев реализации угрозы включает:
— анализ исходных данных на систему или сеть, предусматривающий в том числе анализ документации, модели угроз безопасности информации, применяемых средств защиты информации, и определение планируемых к применению автоматизированных средств;
— проведение инвентаризации информационных систем и сетей и определение объектов воздействия и их интерфейсов;
— определение внешних интерфейсов, которые могут быть задействованы при реализации угроз безопасности информации;
— определение внутренних интерфейсов, которые могут быть задействованы при реализации угроз безопасности информации;
— выявление уязвимостей объектов воздействия, а также компонентов систем и сетей, имеющих внешние интерфейсы, с которыми посредством внутренних интерфейсов взаимодействуют объекты воздействия;
— проведение тестирования на проникновение, подтверждающего возможность использования выявленных уязвимостей или выявления новых сценариев реализации угрозы безопасности информации;
— поиск последовательности тактик и техник, применение которых может привести к реализации угрозы безопасности информации, исходя из уровня возможностей актуальных нарушителей, а также результатов инвентаризации, анализа уязвимостей и тестирования на проникновение;
— составление сценариев реализации угрозы безопасности информации применительно к объектам и видам воздействия, а также способам реализации угроз безопасности информации.
Источник
Статьи по теме: «Информационная безопасность»
Чем опасны процессорные уязвимости. Часть 1: Атаки по побочным каналам
Содержание:
Введение
Понятие «уязвимость» у многих ассоциируется с программной ошибкой, допущенной разработчиком по причине невнимательности, незнания или чрезмерного оптимизма и надежды на благонадежность пользователей. Подобные уязвимости действительно представляют большинство из выявляемых в программном обеспечении. При обнаружении уязвимости разработчик, как правило, оперативно предоставляет пользователям возможность обновить программное обеспечение в рамках стандартной поддержки, что позволяет пользователям как-то управлять состоянием защищенности своих систем, построенных на сторонних продуктах. Обычно обновление не влияет на производительность системы и пользовательский опыт, либо влияет настолько слабо, что это почти никак не влияет на процессы пользователя. Такой цикл работы с уязвимостями, включающий в себя обнаружение, выпуск исправления и установку обновления, стал привычным и почти рутинным.
Однако недостатки присущи не только программному обеспечению, но также и аппаратным составляющим информационных систем, в том числе процессорам. Обнаружение уязвимостей в аппаратуре является намного более сложной задачей, а эксплуатация таких уязвимостей чревата серьезными инцидентами безопасности в пользовательских системах.
Процессорные ошибки
Центральный процессор компьютера последние лет двадцать привычно воспринимается потребителем как надежный и защищенный от ошибок «черный ящик», ведь он лежит в основе практически каждой операции, производимой на вычислительном устройстве, при этом надежность процессоров достигла очень высокого уровня. Разработка процессоров сопровождается тщательным тестированием и верификацией. Еще до выпуска чипа компания тестирует новую разработку, используя компьютерную симуляцию. Такое решение позволяет не проходить весь цикл разработки и выпуска устройства для обнаружения проблемы, а отследить и устранить недостаток на ранней стадии. Тестовая партия проверяется повторно для выявления ошибок, не найденных ранее. Тестирование на данном этапе позволяет тщательнее проверить функциональность.
Тем не менее, в процессоры закрадываются ошибки. Стороннему исследователю очень трудно найти недостаток в процессоре, так как многие возможности и особенности внутреннего строения современных чипов не задокументированы, а процесс обратной инженерии нанометровых архитектур невозможен без дорогостоящего оборудования. Поэтому поиск недостатков основан на использовании доступной документации, а исследование проводится методом «черного ящика».
Выявление недостатка в процессоре – явление нечастое и необычное, поэтому факт его обнаружения как правило получает широкую огласку, что сильно усугубляет положение компании-производителя. Яркий пример этого – ошибка Pentium FDIV bug, недостаток в модуле вычислений с плавающей точкой в процессорах Intel Pentium, обнаруженная профессором Линчбургского колледжа Томасом Найсли в октябре 1994 г.
Проблема заключалась в появлении ошибок при выполнении операций деления чисел с плавающей точкой, причиной которых являлось отсутствие нескольких вхождений в таблицу поиска, используемую для ускорения вычислений. Этот недостаток, хоть и проявлялся редко и не на всех входных данных, получил широкую огласку и привел к отзыву процессоров, а также большим потерям для Intel в 475 млн долл. Разбор данной истории и ее последствий приведен в статье PVS-Studio.
Наращивание производительности и безопасность в процессорах
Увеличение продаж для компании-производителя процессоров неразрывно связано с улучшением характеристик продукта – энергоэффективности, надежности, долговечности и, конечно, производительности. Потребитель, рядовой пользователь, в первую очередь обращает внимание именно на производительность. Поэтому компания, выпускающая процессоры, стремится непрерывно увеличивать их соответствующие характеристики.
Основные пути повышения производительности – это увеличение плотности транзисторов на кристалле процессора и увеличение тактовой частоты. Это, хоть и ускоряет выполнение инструкций, может не дать желаемого прироста, так как не избавляет от основной проблемы – простоя процессора при обращении к ОЗУ и другой периферии, медленным по сравнению с процессором. Более того, повышение тактовой частоты и наращивание числа транзисторов имеют свои ограничения при текущем технологическом процессе: первое приводит к перегреву чипа, и второе жестко лимитировано физикой и доступными материалами.
Для увеличения производительности компьютерной системы есть другие способы: сократить время простоя процессора и увеличить выполняемую за единицу времени работу за счет параллелизма. Но, как показывает практика, если реализация подобных решений изначально не спроектирована с учетом требований безопасности, защищенность конечной пользовательской системы может оказаться под угрозой.
Кэш-память
Обращение к оперативной памяти – частая и ресурсоемкая операция. Центральный процессор работает на значительно более высокой частоте, потому запрос данных из оперативной памяти без оптимизаций приводил бы к остановке процессора и простаиванию в ожидании завершения загрузки данных. Значит, сокращение простоя процессора при работе с памятью – богатый ресурс для прироста общей производительности. Помимо этого, процессору часто приходится повторять проведенные ранее операции. Сохранение и переиспользование ранее вычисленных величин также позволяет ускорить работу.
Для выравнивания разрыва в скорости работы центрального процессора и ОЗУ применяется иерархическая организация памяти, идея которой была предложена еще в 1946 г. Артуром Бёрксом, Германом Голдстайном и Джоном фон Нейманом. Вместо использования исключительно ОЗУ, между ним и вычислительным устройством помещается несколько более быстрых запоминающих устройств, называемых кэшами.
Кэши хранят в себе результаты прошлых операций: копии данных (или инструкций), загруженных из оперативной памяти, либо же результаты вычислений. При необходимости получения данных из ОЗУ, ЦП сначала по очереди проверяет все уровни кэш-памяти, один за другим, на наличие необходимых данных и, только если данных там не нашлось, обращается к ОЗУ. Современные процессоры используют три уровня кэш-памяти, каждый из которых расположен непосредственно на чипе. Объем и скорость кэш-памяти стали одними из основных процессорных характеристик.
Кэши первого уровня (L1, level 1) находятся на каждом из ядер процессора и подразделяются на: L1d (для данных) и L1i (для инструкций). Время доступа к этому кэшу самое малое, но и информации он вмещает в себя меньше остальных.
Кэш второго уровня (L2, level 2) также в большинстве современных процессоров размещается на ядре, но не подразделяется на данные и инструкции. Он больше и медленнее кэша L1.
Кэш третьего уровня (L3, level 3 или LLC, last level cache) – общий для всех ядер. Он значительно объемнее предыдущих уровней, но и время доступа к нему больше.
Кэш четвертого уровня в современных процессорах обычно не применяется.
Кроме этих кэшей есть еще и кэши специального назначения. Среди них – буфер ассоциативной трансляции (Translation lookaside buffer, TLB), служащий для сохранения информации о трансляции виртуальных адресов в физические.
Кэш-память успешно сглаживает разрыв в скорости работы ОЗУ и ЦП, избавляет от повторения уже выполненных операций. Но при этом текущая реализация ослабляет изоляцию процессов. Данные процессов в оперативной памяти строго изолированы друг от друга, и за проверку доступа к ним отвечают как операционная система, так и сам процессор. Непривилегированный процесс не может считывать или изменять память другого процесса. Для кэшей же разделение памяти не предусматривалось, ведь программа не может явно проверить содержимое кэша или считать оттуда произвольные данные. Процессор не предоставляет таких возможностей. Поэтому данные различных пользовательских процессов, а также процессов ядра ОС, соседствуют в кэше, и никак друг от друга не отделены. Более того, каждому процессу во время его работы кэш предоставляется целиком, со всеми данными других процессов. Далее будет рассмотрено, как это позволяет злоумышленнику извлекать данные других пользователей и ядра ОС из оперативной памяти.
Внеочередное исполнение
В том или ином виде внеочередное исполнение реализовано во всех современных процессорах, так как позволяет получить наибольший выигрыш в производительности за счет параллелизма на уровне команд. Intel стала использовать внеочередное исполнение в процессорах Pentium Pro в 1995 г. Вместо строгого исполнения инструкций в порядке, представленном в программе, механизм внеочередного исполнения меняет порядок инструкций для минимизации времени простоя процессора. Для переупорядочивания инструкций применяется алгоритм Томасуло, который позволяет избежать конфликтов и нарушения целостности информации. Команды выстраиваются в очередь и исполняются по мере готовности своих операндов, не обязательно следуя порядку в программе. Рассмотрим следующий пример:
ld → r1, 0(r2) → // загрузить r1 из адреса r2 add → r2, r1, r3 → // r2 := r1 + r3 add → r4, r3, r5 → // r4 := r3 + r5 |
Предположим, что операнды r3 и r5 готовы к использованию, в то время как r1 должен быть загружен из оперативной памяти. При поочередном исполнении инструкций для выполнения первой команды процессор останавливается, ожидая готовности операнда (загрузки из оперативной памяти). Но для выполнения третьей инструкции данные в r1 не требуются, а ее операнды готовы к использованию. При внеочередном исполнении эта команда выполнилась бы первой, в то время пока подготавливается операнд для инструкции загрузки данных из памяти. Заметим, что внеочередное исполнение второй команды невозможно, так как она явно зависит от результатов первой.
Переупорядочивание инструкций не должно нарушать хода выполнения программы, а сам факт внеочередного исполнения не должен быть виден извне. Для устранения ложных зависимостей (антизависимостей и зависимостей по выходу) данных, не позволяющих перестроить определенные участки кода, используется переименование регистров, а результаты внеочередного выполнения в итоге упорядочиваются согласно программе.
Большой проблемой становятся ситуации обработки исключений, то есть случаи, когда из-за внеочередного выполнения были проведены операции, до которых не должно было дойти управление из-за ошибок в предшествующих инструкциях. Вернемся к примеру и допустим, что операция загрузки из памяти некорректна и приводит к ошибке, например, r2 содержит недопустимый адрес. Тогда третья операция, которая выполняется благодаря внеочередному исполнению, не должна была быть достигнута, поэтому ее результаты должны быть отброшены. Данный пример достаточно безобиден, но если бы третья операция записывала данные в память, то процесс отмены стал бы длительным и затратным. По этой причине используются буферы заполнения, хранящие информацию, которая должна быть записана в память, и адреса, по которым должна осуществляться запись. Такое решение позволяет быстро отменить результаты операций.
Механизм внеочередного исполнения не только значительно повышает производительность, но и предоставляет средство извлечения данных из защищенных областей памяти. При внеочередном исполнении запрещенной операции (например, чтения данных ядра) факт нарушения изоляции процессов будет обработан в последнюю очередь, на этапе фиксирования изменений. Несмотря на то, что результат такой операции будет отброшен, исполнение команды все равно может оставить след на микроархитектурном уровне, например, в кэш-памяти. Используя методы, которые мы обсудим далее, эта информации может быть восстановлена.
Спекулятивное исполнение
Программы в своей работе задействуют условные переходы: в зависимости от выполнения или невыполнения определенного условия выполняются разные участки кода. Во многих ситуациях проверка условия – затратная вычислительная операция, к примеру, требующая считывания данных из оперативной памяти. Внеочередное исполнение в таком случае неприменимо, ведь неизвестно наверняка, какая ветвь управления должна быть выбрана. Рассмотрим следующий пример:
Источник