от. Отчёт по практике. Причины нарушения целостности 5 1 Аппаратные и программные ошибки 5
Скачать 146.37 Kb.
|
ОглавлениеВведение 1 Глава 1. Причины нарушения целостности 5 1.1 Аппаратные и программные ошибки 5 1.2 Вредоносные вторжения 6 1.3 Непреднамеренные ошибки пользователя 7 Глава 2. Общих метода обеспечения целостности 8 2.1 Зеркальное отображение 8 2.2 Четность RAID 9 2.3 Контрольная сумма 10 2.4. Таксономия проверки целостности 11 2.5. Текущее состояние и целевые показатели развития до 2021 и 2024 года (технологические и отдельные экономические) 12 Заключение 18 Список использованных источников 19 Введение Надежный доступ к данным является необходимым условием для большинства компьютерных систем и приложений. Существует несколько факторов, которые вызывают неожиданные или несанкционированные изменения хранимых данных. Данные могут быть повреждены из-за аппаратных или программных сбоев. Ошибки на диске сегодня распространены [26], а существующее программное обеспечение для хранения обычно не предназначено для обработки большого класса этих ошибок. Незначительное нарушение целостности, если оно не обнаружено вовремя программным обеспечением более высокого уровня, может привести к дальнейшей потере данных. Например, переворот битов при чтении растрового изображения дескриптора файловой системы может привести к перезаписи файловой системой важного файла. Поэтому оперативное обнаружение нарушений целостности имеет жизненно важное значение для надежности и безопасности хранимых данных. Нарушения целостности также могут быть вызваны вредоносными вторжениями. Консультативные советы по безопасности за последние несколько лет заметили резкий рост числа атак со вторжением в системы [4]. Большая часть этих атак вызвана вредоносными модификациями данных на диске. Злоумышленник, получивший права администратора, потенциально может вносить изменения в систему, например, изменять системные утилиты (например, файлы / bin или процессы-демоны), добавлять скрытые или троянские программы, изменять содержимое и атрибуты файлов, получать доступ к неавторизованным файлам и т.д. Такие несоответствия файловой системы и вторжения могут быть обнаружены с помощью таких утилит, как Tripwire [17,18,39]. Существуют разные понятия целостности в хранилище. Согласованность файловой системы является одной из распространенных. Большинство файловых систем сегодня поставляются с утилитами проверки целостности, такими как Unix fsck, которые выполняют сканирование через устройство хранения для устранения логических несоответствий между данными и метаданными. (Часто говорят, что такие инструменты, как fsck, выполняют проверку "работоспособности".) Это снижает вероятность повреждения файлов и потери дискового пространства в случае сбоя системы. Передовые методы, такие как ведение журнала [12] и транзакционные файловые системы [8] обеспечение согласованности файловой системы даже в случае непредвиденных системных сбоев. Несоответствие файловой системы может привести к повреждению данных, но, как правило, не может привести к угрозам безопасности; файлы могут стать недоступными из-за несоответствия между метаданными и данными, вызванного системным сбоем. Помимо несоответствий файловой системы, нарушения целостности файловых данных являются серьезной проблемой, которую приходится решать разработчикам систем хранения. Даже в идеально согласованной файловой системе могут быть повреждены данные, и обычные средства проверки целостности, такие как fsck, не могут обнаружить эти ошибки. Такие методы, как зеркальное отображение, проверка четности или контрольная сумма, могут использоваться для обнаружения нарушений целостности данных на уровне файла или блока. Криптографические хэш-функции могут даже обнаруживать злонамеренную подделку контрольных сумм. В этой статье мы начнем с представления обзора методов обеспечения целостности, классифицируя их по трем различным измерениям: область обеспечения целостности, логический уровень работы и способ проверки. Затем мы обсудим различные области применения проверки целостности, такие как безопасность, повышение производительности и т.д. Мы также описываем различные варианты реализации механизмов обеспечения целостности. Почти все механизмы проверки целостности, которые мы проанализировали, используют некоторую форму избыточности для проверки целостности данных. , как контрольная сумма, четность и т.д., игнорируют семантику данных и обрабатывают их как необработанный поток байтов. Они явно генерируют и хранят избыточную информацию с единственной целью проверки целостности. В отличие от этих методов физического резервирования, мы определяем новый класс методов обеспечения целостности, когда избыточная информация зависит от семантики хранимых данных. Такие методы логической избыточности методы часто позволяют избежать дополнительных затрат на явный доступ к избыточным данным и проверку целостности, используя структурные избыточности, которые уже существуют в данных. Например, если приложение сохранило дерево B + на диске с обратными указателями от дочерних элементов к родительским (для более эффективного сканирования), эти обратные указатели также можно использовать для обеспечения целостности указателей внутри узла. Хотя некоторые существующие системы выполняют минимальный объем такой проверки логической целостности в форме "проверки работоспособности" структуры данных, мы считаем, что эти методы могут быть обобщены в первоклассные механизмы обеспечения целостности. Глава 1. Причины нарушения целостностиНарушения целостности могут быть вызваны аппаратными или программными сбоями, вредоносными действиями или непреднамеренными ошибками пользователя. В большинстве систем, не имеющих механизмов обеспечения целостности, неожиданные изменения данных либо остаются незамеченными, либо неправильно обрабатываются программным обеспечением, запущенным выше, что приводит к сбою программного обеспечения или дальнейшему повреждению данных. В этом разделе мы описываем три основные причины нарушений целостности и предоставляем сценарии для каждой причины. 1.1 Аппаратные и программные ошибкиДанные, хранящиеся на запоминающем устройстве или передаваемые по сети в ответ на запрос хранилища, могут быть повреждены из-за сбоя аппаратного или программного обеспечения. Неисправность аппаратного обеспечения также может спровоцировать неправильное поведение программного обеспечения, что приведет к серьезному повреждению хранимых данных. Например, аппаратная битовая ошибка при чтении растрового изображения индекса файловой системы может привести к перезаписи важных файлов файловой системой. Аппаратные ошибки не редкость на современных современных дисках. Современные диски могут незаметно повреждать данные, не будучи обнаруженными [1]. В связи с усложнением дисковых технологий в наши дни на современных дисках возникают новые ошибки - например, неисправный контроллер диска вызывает неверно направленные записи [40], когда данные записываются в неправильное место на диске. Большинство программных систем хранения данных совершенно не обращают внимания на такого рода аппаратные ошибки, поскольку они ожидают, что аппаратное обеспечение будет отказоустойчивым по своей природе, когда аппаратное обеспечение либо функционирует, либо явно выходит из строя. Ошибки в программном обеспечении также могут привести к неожиданному изменению данных. Неисправные драйверы устройств могут повредить данные, считываемые с устройства хранения. Ошибки файловой системы могут перезаписать существующие данные или сделать файлы недоступными. Большинство файловых систем, использующих асинхронность при записи, могут оказаться в несогласованном состоянии при аварийном завершении работы системы, что приведет к повреждению файлов или сделает части данных недоступными. Постоянно растущие требования к технологиям хранения привели к появлению распределенных хранилищ, в которых данные необходимо передавать по ненадежным сетям. Ненадежные сети могут повредить данные, которые проходят через них. Если протоколы более высокого уровня не используют соответствующие методы проверки и исправления ошибок, эти ошибки могут привести к сбоям в работе клиентского программного обеспечения. 1.2 Вредоносные вторженияНадежное управление данными в компьютерной системе - важная задача, с которой сегодня сталкиваются разработчики аппаратного и программного обеспечения. Несмотря на то, что критически важная и конфиденциальная информация хранится в электронном виде и доступ к ней осуществляется через несколько различных интерфейсов, возникают новые уязвимости в системе безопасности. Например, в распределенной системе хранения данные могут быть доступны из удаленных мест по ненадежным сетевым каналам связи; сетевой подслушивающий может получить доступ к конфиденциальным данным, если данные недостаточно защищены такими методами, как шифрование. Нарушение целостности данных часто может вызвать более серьезные проблемы, чем нарушение конфиденциальности: важная информация может быть изменена вредоносными программами или злоумышленниками или неисправными системными компонентами. Например, вирусный код может быть вставлен в двоичные исполняемые файлы, что потенциально может привести к потере всех данных, хранящихся в системе. Операционные системы, разрешающие доступ к необработанным дискам, могут непреднамеренно помочь злоумышленнику обойти проверки безопасности в файловой системе и нанести ущерб сохраненным данным. 1.3 Непреднамеренные ошибки пользователяОшибки пользователей могут нарушить целостность данных на уровне приложений. Действие пользователя может нарушить семантику целостности на уровне приложения. Например, непреднамеренное удаление файла базы данных может привести к сбою в работе СУБД, что приведет к повреждению данных. В общем случае, если действия пользователя делают недействительными неявные предположения, которые делают приложения, работающие с данными, могут возникнуть нарушения целостности. Глава 2. Общих метода обеспечения целостностиВ этом разделе мы обсудим три наиболее распространенных метода обеспечения целостности, которые существуют сегодня в хранилище. Все эти методы поддерживают некоторую избыточную информацию о данных и обеспечивают целостность путем повторного вычисления избыточных данных из фактических данных и сравнения их с сохраненной избыточной информацией. 2.1 Зеркальное отображениеОдним из простых способов реализации проверки целостности является репликация или зеркальное отображение данных. Сохраняя две или более копий одних и тех же данных на запоминающем устройстве, проверка целостности может быть выполнена путем сравнения копий. Нарушение целостности в одной из копий может быть легко обнаружено с помощью этого метода. Хотя реализовать это легко, этот метод неэффективен как с точки зрения места для хранения, так и времени. Зеркальное отображение может обнаруживать нарушения целостности, вызванные повреждением данных из-за аппаратных ошибок, но не может помочь в восстановлении после повреждения, поскольку несоответствие во время сравнения не дает информации о том, какая из копий является законной. Восстановление возможно с помощью правила большинства, если зеркальное отображение является 3-сторонним или более. Зеркальное отображение может использоваться для обнаружения нарушений целостности, вызванных повреждением данных и, как правило, не злонамеренным изменением данных. Злоумышленник, желающий изменить данные, может легко изменить все копии данных, если только местоположение копий не будет сохранено в тайне. Зеркальное отображение также не может обнаружить нарушения целостности, вызванные ошибками пользователя, поскольку в большинстве случаев пользовательские модификации выполняются во всех зеркалах. RAID-1 использует зеркальное отображение для повышения надежности хранилища, но не выполняет онлайн-проверки целостности с использованием избыточных данных. 2.2 Четность RAIDЧетность используется в RAID-3, RAID-4 и RAID-5 [24] для проверки данных, записанных в массив RAID. Четность по массиву вычисляется с использованием логической операции XOR (исключающее ИЛИ). Четность XOR - это особый вид кода стирания. Основной принцип, лежащий в основе кодов стирания, заключается в преобразовании N блоков данных в N + M блоков таким образом, чтобы при потере любых M блоков данных они могли быть восстановлены из оставшихся N блоков, независимо от того, какие блоки были потеряны. Информация о четности в RAID может либо храниться на отдельном выделенном диске, либо смешиваться с данными на всех дисках в массиве. Большинство схем RAID предназначены для работы на отказоустойчивых дисках. Любой сбой отдельного диска в RAID (включая диск с четностью) можно восстановить с оставшихся дисков, просто выполнив XOR для их данных. Этот процесс восстановления является автономным по своей природе. Хотя схема четности в RAID не выполняет онлайн-проверки целостности, она используется для восстановления после единственного сбоя диска в массиве. Организация контроля четности RAID-5 показана на рисунке 1. 2.3 Контрольная суммаКонтрольная сумма - это хорошо известный метод выполнения проверок целостности. Контрольные суммы могут быть вычислены для данных на диске и могут храниться постоянно. Целостность данных может быть проверена путем сравнения сохраненных и вновь вычисленных значений при каждом считывании данных. Контрольные суммы генерируются с использованием хэш-функции. Использование криптографических хеш-функций стало стандартом в интернет-приложениях и протоколах. Криптографические хеш-функции отображают строки разной длины в короткие результаты фиксированного размера. Эти функции, как правило, разработаны так, чтобы быть устойчивыми к столкновениям, что означает, что поиск двухстроки, имеющие одинаковый результат хэширования, должны быть неосуществимыми. В дополнение к базовой устойчивости к столкновениям такие функции, как MD5 [30] и SHA1 [6], также обладают некоторыми свойствами, такими как случайность. HMAC [19] - это особый тип функции хеширования, в которой сгенерированный хэш криптографически защищен. Он работает с использованием базовой хэш-функции над сообщением и ключом, тем самым обнаруживая несанкционированное изменение значений контрольной суммы. В настоящее время это один из основных способов гарантировать, что защищенные данные не будут повреждены при передаче по небезопасным каналам (например, через Интернет). Это также может быть использовано в контексте систем хранения для обеспечения целостности во время чтения. 2.4. Таксономия проверки целостностиСуществует несколько методов, используемых для обнаружения и устранения нарушений целостности данных. Почти все методы, которые существуют сегодня, используют какие-то механизмы резервирования для проверки целостности. Это связано с тем, что проверка целостности требует либо синтаксического, либо семантического сравнения данных с некоторой информацией, связанной с фактическими данными. Сравнение связанных данных помогает обнаружить нарушения целостности, но не может их устранить. Основная причина, по которой сравнение не может устранить нарушения, заключается в том, что при наличии несоответствия между двумя различными при сравнении видов данных обычно невозможно определить, какие из них являются законными. Например, если контрольная сумма используется для обнаружения нарушений целостности данных файла, несоответствие контрольной суммы может только обнаружить нарушение целостности, но не может предоставить информацию о том, повреждены ли данные или сама контрольная сумма недействительна. Существует несколько методов восстановления после обнаружения нарушений целостности. Эти методы тесно связаны с механизмом, используемым для выполнения обнаружения, и характером используемой избыточности. В этом разделе мы опишем таксономию методов проверки целостности, которые существуют сегодня. На рисунке 2 представлена наша классификация методов обеспечения целостности. Мы анализируем методы в трех различных измерениях: область их обеспечения, логический уровень, на котором они предназначены для работы, и режимы их проверки. 2.5. Текущее состояние и целевые показатели развития до 2021 и 2024 года (технологические и отдельные экономические) Целевые ориентиры развития технологии в разрезе субтехнологий: технологии организации и синхронизации данных: обеспечить лидерство Российской Федерации в части развития инновационных методов организации и синхронизации данных; разработать отечественные проприетарные и свободные методы организации и синхронизации данных (таких, как HashGraph – разработка Swirlds Corporation, Tempo – разработка Radix); технологии обеспечения целостности и непротиворечивости данных: усовершенствовать отечественную криптографическую базу, используемую в системах распределенного реестра; создать математические алгоритмы, обеспечивающие целостность и непротиворечивость данных, а также максимальную защиту и надежность систем распределенного реестра; технологии создания и исполнения децентрализованных приложений и смарт- контрактов: сформировать полноценную базу децентрализованных приложений и отраслевых решений, готовых для внедрения в комплексные бизнес-процессы; максимизировать количество бизнес-процессов, автоматизированных за счет использования смарт-контрактов, отраслевых решений на базе систем распределенного реестра и децентрализованных приложений. Предлагаемые технологические и рыночные показатели в рамках исполнения задач развития технологий организации и синхронизации данных: Таблица 3 – Целевые технологические показатели в рамках исполнения задач развития технологий организации и синхронизации данных
Таблица 4 – Целевые рыночные показатели в рамках исполнения задач развития технологий организации и синхронизации данных
Предлагаемые технологические и рыночные показатели в рамках исполнения задач развития технологий обеспечения консенсуса: Таблица 5 – Целевые технологические показатели в рамках исполнения задачи развития технологии обеспечения консенсуса
Таблица 6 – Предлагаемые рыночные показатели в рамках исполнения задач развития технологии обеспечения консенсуса
Предлагаемые технологические и рыночные показатели в рамках исполнения задач развития технологий создания и исполнения децентрализованных приложений и смарт- контрактов: Таблица 7 – Целевые технологические показатели в рамках исполнения задач развития технологий создания и исполнения децентрализованных приложений и смарт-контрактов
Таблица 8 – Целевые рыночные показатели в рамках исполнения задач развития технологий создания и исполнения децентрализованных приложений и смарт-контрактов
Решения, использующие технологию систем распределенного реестра, должны соответствовать ожиданиям рынка в части уровня пропускной способности, безопасности и децентрализации участников сети, а также в части наличия инструментов создания и аудита смарт-контрактов. В связи с этим также выделяется набор показателей эффективности для всей «сквозной» цифровой технологии «Системы распределенного реестра». Таблица 9 – Целевые показатели в рамках исполнения задачи развития технологии до целевого состояния
ЗаключениеВ этом документе представлен обзор различных механизмов обеспечения целостности, которые используются сегодня. Мы проанализировали методы обеспечения целостности из трех различных измерений в нашей таксономии: область обеспечения, логический уровень и режим проверки. Мы также обсудили несколько интересных применений обеспечения целостности. Мы проанализировали, как существующие системы, использующие проверки целостности, могут использовать избыточные данные для повышения производительности и добавления новых функциональных возможностей. Мы представили реальные примеры для некоторых систем. Мы обсудили несколько вариантов реализации для проверки целостности, детализации и управления избыточной информацией. Мы формализовали новый класс эффективных механизмов обеспечения целостности, называемых логической избыточностью, и обсудили три примера, где он может быть использован. В нашей таксономии мы описываем методы обеспечения целостности с четырех разных точек зрения: используемые механизмы резервирования, их область применения, уровень их работы и частота, с которой выполняются проверки. Мы обсудили работу нескольких существующих систем с каждой из этих точек зрения. Наш опыт описания таксономии методов обеспечения целостности помог нам сосредоточить наше мышление на изучении более логичных методов резервирования для проверки целостности с минимальными затратами и высокой эффективностью. Мы надеемся изучить дальнейшие системы, которые поддерживают избыточную информацию как часть своей обычной работы, но не совсем используют ее для выполнения проверок целостности. Эти системы можно сделать более безопасными и эффективными, используя информацию, которую они хранят Список использованных источниковУ. Барлетт и Л. Спейнбауэр. Коммерческая отказоустойчивость: история двух систем. В трудах IEEE Transactions по надежным и безопасным вычислениям, страницы 87-96, январь 2004 г. Э. В. Бирсак. Оценка производительности прямого исправления ошибок в сетях ATM. В SIGCOMM '92: Материалы конференции по коммуникационным архитектурам и протоколам, страницы 248-257, Нью-Йорк, Нью-Йорк, США, 1992. Пресс-служба ACM. М. Блейз. Криптографическая файловая система для Unix. В Трудах первой конференции ACM по компьютерной и коммуникационной безопасности, страницы 9-16, Фэрфакс, Вирджиния, 1993. ACM. У. Крейг и П. М. Макнил. Radmind: Интеграция проверки целостности файловой системы с управлением файловой системой. В материалах 17-й конференции по администрированию систем большой установки USENIX (LISA 2003), октябрь 2003 года. К. Фу, М. Ф. Каашук и Д. Мазьер. Быстрая и безопасная распределенная файловая система, доступная только для чтения. Материалы Четвертого симпозиума по разработке и внедрению операционных систем (OSDI 2000), страницы 181-196, Сан-Диего, Калифорния, октябрь 2000 года. |