![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Класс (С2): Защита, основанная на управляемом контроле доступом.
Все требования к классу (С1) переносятся на класс(С2). Кроме того, системы этого класса реализуют структурно более "тонкое" управление доступом, в сравнении с системами класса (С1), за счет дополнительных средств управления разграничением доступа и распространением прав, а также за счет системы регистрации событий (аудит), имеющих отношение к безопасности системы и разделению ресурсов. Специально вводится требование по "очищению" ресурсов системы при повторном использовании другими процессами.
Класс(BI): Мандатная защита, основанная на присваивании меток объектам и субъектам, находящимся под контролем ТСВ.
Требования для систем класса (В1) предполагают выполнение всех требований, какие были необходимы в классе (С2). Помимо этого, необходимо представить неформальное определение модели, на которой строится политика безопасности, присваивание меток данным и мандатное управление доступом поименованных субъектов к объектам. В системе необходимо иметь средство, которое позволяет точно и надежно присваивать метки экспортируемой информации.
Класс (B2): Структурированная защита. Все требования класса (В1) должны выполняться для системы класса (В2). В системах класса (В2) ТСВ основана на четко определенной и формально задокументированной модели, в которой управление доступом, распространяется теперь на все субъекты и объекты данной системы автоматической обработки данных. Помимо этого, должен быть проведен анализ,связанный с наличием побочных каналов утечек. Необходимо провести разбиение структуры ТСВ по элементам, критическим с точки зрения защиты, и некритическим, соответственно. Интерфейс ТСВ хорошо определен, а проект и реализация гарантированно защищающей вычислительной базы (ТСВ) выполнены так, что они позволяют проводить тщательное тестирование и полный анализ. Механизмы аутентификации усилены, управление защитой предусматривается в виде средств, предназначенных для администратора системы и для оператора, а на управление конфигурацией накладываются жесткие ограничения. Система относительно устойчива к попыткам проникновения в нее.
Класс (ВЗ): Домены безопасности.
Все требования для систем класса (B2) включены в требования к системам класса (ВЗ). ТСВ класса (ВЗ) должна реализовывать концепцию монитора обращений (RM):
* RM гарантированно защищен от несанкционированных изменений, порчи и подделки;
* RM обрабатывает все обращения;
* RM прост для анализа и тестирования на предмет правильности выполнения обработки обращений (должна быть полная система тестов, причем полнота должна быть доказана).
С этой точки зрения структура ТСВ выбирается такой, чтобы исключить коды, не существенные для реализации принятой политики обеспечения безопасности, одновременно с проработкой в процессе проектирования и реализации ТСВ системных инженерно-технических аспектов, направленных на минимизацию ее сложности. Предусматривается введение администратора безопасности системы, механизмы контроля (аудит) расширены так, чтобы обеспечить обязательную сигнализацию о всех событиях, связанных с возможным нарушением установленных в системе правил безопасности. Обязательным также является наличие процедур, обеспечивающих восстановление работоспособности системы. Система данного класса в высшей степени устойчива относительно попыток проникновения в нее.
Класс (AI): Верифицированный проект.
Системы этого класса (А1) функционально эквивалентны системам класса (ВЗ) в том отношении, что в них не появляются какие-либо новые требования к политике обеспечения безопасности. Отличительной чертой систем данного класса является анализ ТСВ, основанный на формальной спецификации проекта и верификации ТСВ, а, в итоге, высокая степень уверенности в том, что гарантированно защищающая вычислительная база реализована правильно. Такого рода гарантия, по своей природе технологическая, начинается уже с формальной модели политики обеспечения безопасности и формальной спецификации проекта высокого уровня. Наряду с широким и глубоким анализом процесса проектирования и разработки ТСВ, который необходимо проводить для систем класса (А1), необходимо также выполнение более строгих мер по управлению конфигурацией и специальных процедур по безопасному размещению систем в местах их дислокации. Предусматривается введение администратора безопасности системы.
13. Основные требования к выбору паролей.
Запрещается использовать:
a. имена, фамилии, даты рождения детей, близких, знакомых, их комбинации, номера телефонов и любую другую личную информацию (типа ОЛЯ070576 или ИВАНОРЛОВ) и т.п. Как показывает практика любимые женские пароли это имена свои и своих детей и их производные (Таня – Танюшечка, Танюшенька и т.п.);
b. названия городов, стран, фирм, организаций, учреждений, специфических компьютерных слов, термины из своей предметной области;
c. слова из заставок задач или названия самих компьютерных систем (например, netware, windows, msdos);
d. широко распространенные слова, названия фильмов, книг, имена любимых литературных героев и пр.;
e. повторяющиеся символы (например, пароль типа "аббббб" раскрыть значительно легче, чем "алугыс");
f. набор символов, расположенных на клавиатуре рядом (“знаменитые” пароли: 111111, 12345, йцукен, qwerty и т.д.) или по простому закону (например, через клавишу - йуегщх; по две в ряду - йцфыяч и т.п.);
g. нельзя использовать один и тот же пароль одновременно в разных системах. Это прекрасная возможность для хакера проникнуть в систему.
Рекомендуется использовать:
h. Переключения различных регистров (рус., англ.). Попробуйте набрать русское слово на английском регистре или наоборот, получите бессмысленный набор, вполне подходящий для пароля. Можно, например, взять слово из любого (желательно не английского) языка и его звучание на русском языке набрать на английском регистре. Например, если грузинское слово "камарджоба" набрать русскими буквами на английском регистре, то получится "rfvfhl;j,f" - попробуйте такой пароль подобрать.
i. Использовать при формировании пароля как можно большее количество символов, конечно, если это допускает система (ведь компьютер позволяет использовать 256 символов). Например, сочетания букв и цифр, а также больших и маленьких букв в одном пароле (например, "ащночс" и "АщНоЧс" для компьютера - две большие разницы) значительно усложняет его подбор;
j. Если с фантазией «напряженка» попробуйте просто связать два слова вместе, например: «ЯГений», «МояЖенаУмница», «ЛюблюВасю»
Общая идея такая: самый лучший пароль - случайный и бессмысленный набор символов
14. Понятие информации, безопасности информации. Конфиденциальная информация. Степени секретности. Понятие компьютерной системы.
Информация - сведения о лицах, предметах, фактах, событиях, явлениях и процессах, независимо от формы их представления. Информация имеет ряд особенностей:
* она нематериальна;
* информация хранится и передается с помощью материальных носителей;
* любой материальный объект содержит информацию о самом себе или о другом объекте.
Нематериальность информации понимается в том смысле, что нельзя измерить ее параметры известными физическими методами и приборами. Информация не имеет массы, энергии и т. п.
Информация хранится и передается на материальных носителях. Такими носителями являются мозг человека, звуковые и электромагнитные волны, бумага, машинные носители (магнитные и оптические диски, магнитные ленты и барабаны) и др.
Безопасность (защищенность) информации в КС -это такое состояние всех компонент компьютерной системы, при котором обеспечивается защита информации от возможных угроз на требуемом уровне. Компьютерные системы, в которых обеспечивается безопасность информации, называются защищенными.
Безопасность информации в КС является одним из основных направлений обеспечения безопасности государства, отрасли, ведомства, государственной организации или частной фирмы.
Информационная безопасность достигается проведением руководством соответствующего уровня политики информационной безопасности. Основным документом, на основе которого проводится политика информационной безопасности, является программа информационной безопасности.
Законом «Об информации, информатизации и защите информации» гарантируется право собственника информации на ее использование и защиту от доступа к ней других лиц (организаций). Если доступ к информации ограничивается, то такая информация является конфиденциальной. Конфиденциальная информация может содержать государственную или коммерческую тайну. Коммерческую тайну могут содержать сведения, принадлежащие частному лицу, фирме, корпорации и т. п. Государственную тайну могут содержать сведения, принадлежащие государству. В соответствии с законом «О государственной тайне» сведениям, представляющим ценность для государства, может быть присвоена одна из трех возможных степеней секретности. В порядке возрастания ценности информации ей может быть присвоена степень «секретно», «совершенно секретно» или «особой важности». В государственных учреждениях менее важной информации может присваиваться гриф «для служебного пользования». Для обозначения ценности конфиденциальной коммерческой информации используются три категории: * «коммерческая тайна - строго конфиденциально»;
* «коммерческая тайна - конфиденциально»;
* «коммерческая тайна».
Используется и другой подход к градации ценности коммерческой информации:
* «строго конфиденциально - строгий учет»;
* «строго конфиденциально»;
* «конфиденциально».
Компьютерная система - это комплекс аппаратных и программных средств, предназначенных для автоматизированного сбора, хранения, обработки, передачи и получения информации. Наряду с термином «информация» применительно к КС часто используют термин «данные». Используется и другое понятие -«информационные ресурсы». В соответствии с законом РФ «Об информации, информатизации и защите информации» под информационными ресурсами понимаются отдельные документы и отдельные массивы документов в информационных системах (библиотеках, архивах, фондах, банках данных и других информационных системах).Понятие КС очень широкое и оно охватывает следующие системы:* ЭВМ всех классов и назначений;
* вычислительные комплексы и системы;
* вычислительные сети (локальные, региональные и глобальные).
Компьютерные системы относятся к классу человеко-машинных систем. Такие системы эксплуатируются специалистами (обслуживающим персоналом) в интересах пользователей. Причем, в последние годы пользователи имеют самый непосредственный доступ к системе. В некоторых КС (например, ПЭВМ) пользователи выполняют функции обслуживающего персонала. Обслуживающий персонал и пользователи являются также носителями информации. Поэтому от несанкционированных воздействий необходимо защищать не только устройства и носители, но также обслуживающий персонал и пользователей.
15. Понятие разрушающего программного средства. Программная закладка. Классификация.
Наиболее опасная потенциальная угроза безопасности программному обеспечению вычислительных систем - воздействие (атака) с помощью разрушающих программных средств (РПС). К ним относятся множество компьютерных вирусов, троянских коней, сетевых червей и т.п. Перечисленные РПС представляют собой программы, имеющие различные способы маскировки и цели функционирования. Однако это множество программ можно объединить одним общим названием – программные закладки (далее просто – закладки). Под программной закладкой будем понимать как множество РПС, так и семантические ошибки программирования, способные нарушить функционирование программы.
Программная закладка – информационный ресурс, как правило, скрытый в объекте-носителе, являющемся одной из форм представления программы, и реализующий некоторую разрушающую функцию (или совокупность разрушающих функций):
1) искажение, подмена (имитация) результатов функционирования программы;
2) нарушение функционирования программы (сбой, зависание);
3) уничтожение информации;
4) нелегитимный перехват, передача данных и сохранение фрагментов информации, обрабатываемых программой;
5) модификация кода программы.
Иначе говоря, программные закладки, можно определить как информационные объекты (ИО), скрытые в объекте - носителе, являющемся одной из форм представления информационного массива (ИМ), и реализующие разрушающую функцию (или их совокупность).
Особая опасность ПЗ, как дестабилизирующего фактора обусловлена тем, что во многих случаях они являются элементами ИМ (программного обеспечения). Закладки могут вноситься как на этапе разработки комплексов программ, так и при их эксплуатации. Наиболее сложно выявить закладки, внесенные при разработке в исходные тексты программ. А если закладку внес сам разработчик, то вероятность ее обнаружения известными современными средствами незначительна. Эффективные средства обнаружения (и нейтрализации) ПЗ могут быть разработаны на основе анализа конструкций ИМ на предмет наличия признаков закладок
Слияние закладки с другой программой представляет собой процесс интеграции кода закладки, либо ее части в код другой программы. Причем интеграция осуществляется так, чтобы при некоторых условиях управление передавалось на код программной закладки:
1) нахождение закладки в оперативной памяти до начала работы программы, которая является целью ее воздействия, следовательно, закладка должна быть загружена раньше или одновременно с этой программой;
2) активизация закладки по некоторому общему, как для закладки, так и для программы событию, т.е. при выполнении ряда условий в программно-аппаратной среде управление должно быть передано на закладку.
В настоящее время существует несколько классификаций программных закладок, в основном ориентированных на закладки вирусного типа. Недостатком является отсутствие общего подхода к определению вируса как частного случая программной закладки.
Устранение этого недостатка, с нашей точки зрения, достигается следующей обобщенной классификацией программных закладок.
Программные закладки будем различать по:
1) принципу специфицирования действий;
2) “способу доставки” в систему;
3) специфике расположения;
4) отношению к программе-носителю;
5) длительности скрытого периода;
6) целевой эффективности.
16. Предварительное и динамическое шифрование информации.
Различают предварительное и линейное (динамическое) шифрование. Предварительное шифрование подразумевает, что “искажение” информации будет произведено перед отправкой данных. Так, например, все разведданные шифровались предварительно. Линейное (динамическое) шифрование (шифрование в линию) - это вид шифрования, при котором процесс “искажения” информации идет параллельно с ее отправкой.
Под динамическим шифрованием подразумевается хранение всех данных в зашифрованном виде, предоставление процессу расшифрованной информации при чтении и шифрование ее при записи.
Существует много способов реализации динамического шифрования файлов. На пример расшифровка во временные файлы и предоставление процессу доступа к ним, шифрование и расшифровка файлов в виртуальной памяти и другие. Мы предлагаем к рассмотрению метод, основанный на перехвате API-вызовов.
Существует несколько способов перехвата: замена оригинальной DLL-библиотеки, замена вызовов функции в теле программы, изменение функции непосредственно, вставка в начало перехватываемой функции ссылки на подменяющую, изменение IAT (таблицы адресов импорта).
17. Руководящие документы Гостехкомиссии РФ. Состав. Основные положения.
В 1992 г. Госгехкомиссия (ГТК) при Президенте Российской Федерации разработала и опубликовала пять руководящих документов, посвященных вопросам защиты информации в автоматизированных системах ее обработки. Основой этих документов является концепция защиты средств вычислительной техники (СВТ) и АС от несанкционированного доступа к информации, содержащая систему взглядов ГТК на проблему информационной безопасности и основные принципы защиты компьютерных систем. С точки зрения разработчиков данных документов, основная задача средств безопасности - это обеспечение защиты от несанкционированного доступа к информации. Определенный уклон в сторону поддержания секретности информации объясняется тем, что данные документы были разработаны в расчете на применение в информационных системах силовых структур РФ.
Структура требований безопасности
Руководящие документы ГТК состоят из пяти частей:
1. Защита от несанкционированного доступа к информации. Термины и определения.
2. Концепция защиты СВТ и АС от НСД к информации.
3. Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации.
4. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от НСД к информации.
5. Временное положение по организации разработки, изготовления и эксплуатации программных и технических средств защиты информации от НСД в автоматизированных системах и средствах вычислительной техники.
Наибольший интерес представляют вторая, третья и четвертая части.
Во второй части излагается система взглядов, основных принципов, которые закладываются в основу проблемы защиты информации от НСД. Руководящие документы ГТК предлагают две группы требований к безопасности - показатели защищенности СВТ от НСД и критерии защищенности АС обработки данных. Первая группа позволяет оценить степень защищенности отдельно поставляемых потребителю компонентов АС и рассматривается в четвертой части, а вторая рассчитана на более сложные комплексы, включающие несколько единиц СВТ, и представлена в третьей части руководящих документов. Рассмотрим подробно содержание второй части.
Основные положения концепции защиты СВТ и АС от НСД к информации
Концепция предназначена для заказчиков, разработчиков и пользователей СВТ и АС, используемых для обработки, хранения и передачи требующей защиты информации. Она является методологической базой нормативно-технических и методических документов, направленных на решение следующих задач: • выработка требований по защите СВТ и АС от НСД к информации;
• создание защищенных СВТ и АС, т. е. защищенных от НСД к информации;
• сертификация защищенных СВТ и АС.
Как уже было сказано выше, концепция предусматривает существование двух относительно самостоятельных направлений в проблеме защиты информации от НСД: направления, связанного с СВТ, и направления, связанного с АС. Различие двух направлений порождено тем, что СВТ разрабатываются и поставляются на рынок лишь как элементы, из которых в дальнейшем строятся функционально ориентированные АС, и поэтому, не решая прикладных задач, СВТ не содержат пользовательской информации. В случае СВТ можно говорить лишь о защищенности (защите) СВТ от НСД к информации, для обработки, хранения и передачи которой СВТ предназначено. Примером СВТ можно считать специализированную плату расширения с соответствующим аппаратным и программным интерфейсом, реализующую функции аутентификации пользователя по его биометрическим характеристикам. Или к СВТ можно отнести программу прозрачного шифрования данных, сохраняемых на жестком диске.
При создании АС появляются такие отсутствующие при разработке СВТ характеристики АС, как полномочия пользователей, модель нарушителя, технология обработки информации. Типичным примером АС является многопользовательская, многозадачная ОС.
Для определения принципов защиты информации в руководящих документах ГТК дается понятие НСД к информации: НСД - доступ к информации, нарушающий установленные правила разграничения доступа, с использованием штатных средств, предоставляемых СВТ или АС. В данном определении под штатными средствами понимается совокупность программного, микропрограммного и технического обеспечения СВТ или АС.
18. Способы распространения программного обеспечения.
Возможные варианты распространения программного обеспечения:
• бесплатно (из альтруизма и соображений саморекламы);
• условно бесплатно (по принципу try and buy, когда оплата производится добровольно и только тогда, когда пользователь соглашается с реальной пользой для себя данного продукта);
• на коммерческой основе.
Последний случай предусматривает наличие защиты, которая может включать или не включать в себя технические меры. Особенностью технических мер защиты является выделение (или введение) некоторого идентифицирующего элемента из среды окружения защищаемой программы, имеющего уникальные физические характеристики, на которые настраивается система защиты. Основным требованием к идентифицирующему элементу является возможность считывания его характеристик непосредственно или с использованием специальных средств программным путем. После настройки образуется уникальная пара <идентифицирующий элемент - копия защищенной программы>, отличная от другой аналогичной пары. В качестве идентифицирующего элемента рассматриваются:
- съемные машинные носители (дискета, CD-ROM и т.д.);
- компьютеры, включая несъемные машинные носители (жесткие диски);
- биометрические характеристики пользователя;
- специальные аппаратные устройства идентификации.
При наличии технических мер защиты производитель может распространять свой программный продукт тремя основными способами, определяющими выбор идентифицирующего элемента, относительно которого система защиты будет проверять легальность текущей копии:
- с помощью специальной службы распространения;
- через торговые организации;
- через свободное распространение дистрибутивных (демонстрационных) пакетов с последующей регистрацией.
При наличии специальной службы распространения контроль за дистрибутивными носителями осуществляется с помощью не технических, а организационных мер. Сотрудники службы распространения выезжают с дистрибутивными комплектами к заказчикам, где производят установку программного обеспечения на жесткий диск. В этом случае в качестве идентифицирующего элемента могут выступать либо компьютеры, либо пользователи. Поскольку наличие у пользователя резервных копий не предусматривается, то при сбое требуется повторный выезд сотрудника службы распространения, что обычно рассматривается как определенное неудобство.
В случае распространения программных продуктов через торговые организации возможны следующие варианты:
1) программа ассоциирует (связывает) себя с дистрибутивным носителем без "привязки" к конкретному компьютеру;
2) программа ассоциирует себя с биометрическими характеристиками пользователя без "привязки" к конкретному компьютеру;
3) программа ассоциирует себя со специальным аппаратным устройством идентификации, подключаемым к компьютеру и входящим в дистрибутивный комплект;
4) программа ассоциирует себя как с дистрибутивным носителем (при инсталляции), так и с параметрами компьютера (в рабочем режиме).
В последнем случае процесс установки защищаемого от копирования программного пакета выглядит следующим образом:
- в дисковод вставляется инсталляционная (установочная) дискета, с которой запускается программа установки;
- программа установки уменьшает на единицу счетчик выполненных инсталляций;
- если количество инсталляций, выполненных с данной дискеты, равно максимально разрешенному, то пользователь информируется об этом, а работа программы установки завершается;
- если ресурс инсталляций еще не исчерпан, выполняются копирование
на жесткий диск файлов устанавливаемого пакета и другие необходимые
действия;
- выполняется настройка системы защиты от копирования.
Среди упомянутых вариантов распространения программных продуктов через торговые организации первые три удобны тем, что позволяют переносить защищенные программы с компьютера на компьютер, данный подход в литературе получил название "принцип книги", когда программа передается от пользователя к пользователю свободно, но в любой момент времени может использоваться только одна копия программы. Платой за реализацию данного подхода является постоянное присутствие о компьютере либо ключевой дискеты, либо специального аппаратного устройства. Свободный от этих недостатков четвертый вариант требует помимо обеспечения надежности ключевой дискеты решения проблемы организации счетчика инсталляций.
Достаточно интересен способ распространения программного обеспечения посредством свободного распространения дистрибутивных (демонстрационных) пакетов. Суть этого способа лучше всего описать следующим сценарием. Пользователь, все равно каким образом (обычно через телекоммуникационные сети), получает программу и запускает ее на своем компьютере. При запуске ему сообщается некоторый код, который вместе с квитанцией об оплате он должен передать разработчику. В ответ ему сообщается. другой код, являющийся паролем для регистрации копии программы и ассоциации ее с компьютером.
19. Сравнение методов анализа безопасности ПО.
Контрольно-испытательные методы анализа безопасности ПО решают задачу анализа в пространстве отношений посредством получения с помощью тестовых испытаний рабочего пространства программы и проверки легитимности отношений, принадлежащих этому множеству. Однако, при этом возникают упомянутые трудности – неразрешимость множества нелегитимных отношений
p и невозможность получить все элементы множества
. В контрольно-испытательных методах проблема неразрешимости множества нелегитимных отношений преодолевается путем установления жестких ограничений на рабочее пространство отношений исследуемой программы. Эти ограничения устанавливаются в виде требований безопасности, которые ограничивают рабочую область программы отношениями, легитимность которых для данной программы и ВС очевидна. Таким образом множество нелегитимных отношений
p аппроксимируется объемлющим его разрешимым множеством запрещенных отношений.
Критерием безопасности программы в этом случае служит факт регистрации в ходе исследования нарушения требований по безопасности, предъявляемых в системе предполагаемого применения исследуемой программы, т. е. наличие противоречия с принятой в системе политикой безопасности.
При решении задачи анализа безопасности контрольно-испытательными методами для того чтобы доказать, что программа p безопасна для применения в ВС S достаточно доказать, что рабочее пространство программы p в S не содержит запрещенных отношений.
В отличие от контрольно-испытательных логико-аналитические методы решают задачу в пространстве программ. Это означает, что для доказательства того, что программа безопасна, необходимо доказать, что она не принадлежит множеству РПС (V). Множество РПС V аппроксимируется разрешенным подмножеством, обладающим характеристической функцией. Вводится система моделирования, в которой каждая программа описывается заданным набором атрибутов, пространство значений которых и служит областью определения характеристической функции. Характеристическая функция фактически разрешает вопрос эквивалентности модели исследуемой программы обобщенной модели РПС.
Пусть выбрана некоторая система моделирования программ, в которой каждая программа представлена своей моделью, обладающей множеством атрибутов A={ai | i=1..N}. В этой системе моделирования исследуемая программа p представляется своей моделью Mp, которая характеризуется множеством атрибутов Ap={api | i=1..N}. В рамках этой системы моделирования должно быть задано разрешимое подмножество РПС V*ÌV, обладающее определенной на множестве атрибутов A характеристической функцией cV* (a1,a2..aN).
Таким образом, при применении логико-аналитических методов, задача анализа безопасности сводится к вычислению значения характеристической функции cV* на множестве атрибутов программы p: если cV*(ap1,ap2..apN) истинно, то программа p является РПС, принадлежащим подмножеству РПС V*(pÎV*); если ложно, то программа p не является РПС, принадлежащим к выделенному разрешимому подмножеству РПС V*(pÏV*).
Предложенная классификация методов анализа безопасности ПО и разработанные общие схемы процесса анализа безопасности с помощью контрольно-испытательных и логико-аналитических методов позволяют построить комплексные методики анализа безопасности программ в исполняемом коде.
20. Средства криптографической защиты информации (СКЗИ). Особенности функционирования.
Криптографические методы защиты информации - это специальные методы шифрования, кодирования или иного преобразования информации, в результате которого ее содержание становится недоступным без предъявления ключа криптограммы и обратного преобразования.
Криптографический метод защиты, безусловно, самый надежный метод защиты, так как охраняется непосредственно сама информация, а не доступ к ней (например, зашифрованный файл нельзя прочесть даже в случае кражи носителя). Данный метод защиты реализуется в виде программ или пакетов программ, расширяющих возможности стандартной операционной системы. Защита на уровне операционной системы, чаще всего, должна дополняться средствами защиты на уровне систем управления базами данных, которые позволяют реализовывать сложные процедуры управления доступом.
В настоящее время не существует общепринятой классификации криптографических методов защиты информации. Однако, когда подвергается преобразованию (шифровке) каждый символ передаваемого сообщения ("симметричный" метод закрытия информации), можно словно выделить четыре основные группы:
- подстановка - символы шифруемого текста заменяются символами того же или другого алфавита в соответствии с заранее определенным правилом;
- перестановка - символы шифруемого текста переставляются по некоторому правилу в пределах заданного блока передаваемого текста;
- аналитическое преобразование - шифруемый текст преобразуется по некоторому аналитическому правилу;
- комбинированное преобразование - исходный текст шифруется двумя или большим числом способов шифрования.
Существует большое число программных продуктов шифрования информации, различающихся по степени надежности. Ниже мы рассмотрим наиболее надежные, проверенные временем программы.
Pretty good privacy (PGP)
Очень сильное средство криптографической защиты. Сила PGP не в том, что никто не знает, как ее взломать иначе как используя "лобовую атаку" (это не сила, а условие существования хорошей программы для шифровки), а в превосходно продуманном и чрезвычайно мощном механизме обработки ключей, быстроте, удобстве и широте распространения.
21. Структура системы технической защиты от несанкционированного копирования.
В общем случае система защиты от несанкционированного копирования (НСК) представляет собой комплекс средств, предназначенный для затруднения (в идеале - предотвращения) нелегального копирования (исполнения) защищаемого программного модуля, с которым она ассоциирована.
В настоящее время уже устоявшейся можно считать структуру системы защиты от НСК, которая определяется следующими основными требованиями:
- система защиты должна выявлять факт несанкционированного запуска программы;
- система защиты должна реагировать на факт несанкционированного запуска программы;
- система защиты должна противостоять возможным атакам злоумышленников.
Система защиты от НСК состоит из двух основных частей: подсистемы внедрения механизмов системы защиты и внедряемого защитного кода. Последний, в свою очередь, состоит из двух подсистем: реализации защитных функций и противодействия нейтрализации защитных механизмов. Подсистема реализации защитных механизмов на функциональном уровне также является составной и включает в себя три блока: блоки установки характеристик среды, сравнения характеристик среды и ответной реакции.
Подсистема противодействия нейтрализации защитных механизмов предназначена для борьбы с возможными попытками нейтрализации системы защиты от НСК и/или ее дискредитации.
Блок установки характеристик среды отвечает за получение характеристик, идентифицирующих вычислительную среду. Выходные данные этого блока являются входными данными для блока сравнения характеристик среды.
Блок сравнения характеристик среды устанавливает факт легальности запуска защищаемой программы, сравнивая текущие значения параметров среды с эталонными.
Блок ответной реакции реализует ответные действия системы защиты на попытки несанкционированного исполнения защищаемой программы.
22. Структура файлового нерезидентного вируса.
Файловые вирусы являются наиболее распространенной разновидностью компьютерных вирусов. Принципиально они заражают любой тип исполняемых файлов: COM, EXE, OVL и т.д. Однако основными объектами заражения являются файлы типа COM и файлы типа EXE. Наиболее просто осуществляется заражение COM-файлов, которые представляют собой почти точную копию участка памяти с загруженной программой. Единственная требуемая настройка при загрузке COM-файлов состоит в загрузке сегментных регистров значениями, соответствующими месту загрузки программы. Значительная часть COM-файлов начинается с команды перехода, обходящей содержащие в начале программы данные.
При заражении COM-файлов вирус запоминает в своем теле первые три или больше байтов программы и вместо них записывает переход на начало собственного кода. Так поступает большинство файловых вирусов, заражающих COM-файлы, но не все. Дело в том, что при дописывании тела вируса в конец заражаемого файла весь код вируса должен быть написан специальным образом, обычно называемым позиционно-независимым программированием: при выполнении программы все ссылки должны адресоваться через соответствующее смещение, которое обычно хранится в одном из регистров.
Некоторые вирусы используют более примитивный подход: вместо дописывания своего тела в конец заражаемого COM-файла они перемещают туда первые несколько блоков программы, а сами записываются на место освободившихся блоков. В этом случае только программа восстановления исходного состояния программы должна быть позиционно-независимой или она должна размещаться где-то в фиксированных адресах памяти, используя какой-то неиспользуемый ее участок.
Простейший нерезидентный компьютерный вирус, заражающий COM-файлы в текущем каталоге и дописывающий свое тело в конец файла, можно представить в виде следующей неформальной спецификации.
Шаг 1: Восстановить первые три байта программы. Три байта зараженной программы, сохраненные в теле вируса, пересылаются на свое старое место.
Шаг 2: Проверить среду. Проверить версию операционной системы. Если не подходящая, то перейти к шагу 11.
Шаг 3: Найти очередную жертву(ы). Найти в текущем каталоге очередной файл типа COM. При неудаче перейти к шагу 11.
Шаг 4: Проверить зараженность потенциальной жертвы. Считать область, позволяющую установить, заражен ли уже данный файл вирусом или нет. Проверить содержимое этой области. Если файл уже заражен, то перейти к шагу 3, иначе перейти к шагу 5.
Шаг 5: Проверить, подходит ли жертва для заражения. Если длина файла + длина вируса больше 64К, перейти к шагу 3, иначе перейти к шагу 6.
Шаг 6: Снять атрибут READ ONLY, запомнить дату создания программы. Снять указанный атрибут и запомнить в своем теле дату создания программы.
Шаг 7: Обеспечить передачу управления вирусу. Считать первые три байта зараженной программы и записать их в своем теле. Сформировать команду перехода на байт, следующий за концом программы, и записать соответствующие три байта в начало заражаемой программы. При неудаче перейти к шагу 11, иначе перейти к шагу 8.
Шаг 8: Дописать тело вируса в конец заражаемой программы. Передвинуть указатель файла в конец программы и установить режим дозаписи. Переписать свое тело в конец заражаемой программы. При неудаче перейти к шагу 11, иначе перейти к шагу 9.
Шаг 9: Восстановить дату создания зараженной программы. Записать в элемент каталога, соответствующий заражаемой программе, дату, сохраненную в теле вируса.
Шаг 10: Восстановить атрибут READ ONLY. Присвоить заражаемому файлу атрибуты, установленные у файла до заражения и сохраненные в теле вируса. При неудаче перейти к шагу 11, иначе перейти к шагу 10.
Шаг 11: Выход. Восстановить содержимое регистров и передать управление программе-вирусоносителю.
Как видно из приведенной схемы, данный вирус распространяется не мгновенно по всей файловой системе, а постепенно, по мере заражения файлов в текущем каталоге. Поэтому от момента появления в файловой системе первого зараженного файла до заражения всех файлов в каталоге должно пройти некоторое время, зависящее от интенсивности использования зараженной программы.
Вставка тела вируса при заражении может выполняться не только в хвост файла. Встречаются случаи имплантации в начало или середину файла.
1) Вставка в начало файла. В этом случае первые блоки (или все тело) заражаемой программы обычно переписываются в конец, поэтому до передачи управления зараженной программе вирус должен предварительно переписать эти блоки (или все тело) на первоначальное место, заменив ими собственный код. С этой целью вирус должен переместить свое тело или хотя бы соответствующую часть своего кода таким образом, чтобы она не была затерта в процессе операции перезаписи. Некоторые примитивные вирусы, записываясь в начало заражаемого файла, не сохраняют его содержимого. При этом, естественно, зараженный файл уничтожается, а вирус, получив управление, должен как-то замаскировать тот факт, что вызываемая программа является неработоспособной. Для этой цели иногда используется какое-нибудь подходящее сообщение об ошибке.
2) Вставка в конец файла. Это наиболее распространенный случай. При этом необходимо обеспечить передачу управления коду вируса до начала работы зараженной программы. Для файлов типа COM чаще всего это реализуется заменой нескольких первых байтов программы (обычно трех в соответствии с размером кода команды перехода микропроцессора 8088/8086) на команду перехода к началу вируса (инсталлятору). При этом сами замененные байты обязательно должны быть сохранены где-то в теле вируса, что обеспечивает возможность их восстановления (операция поиска этих трех байтов является составной частью работы любого фага). Когда инсталлятор вируса получает управление, то обычно в начале своей работы он восстанавливает измененные вирусом байты в первоначальном виде.
3) Вставка в середину файла. Этот способ заражения файла встречается редко. Во-первых, этот способ используется узкоспециализированными вирусами, поражающими определенный класс программ, особенности структуры которого заранее известны, например, только файл СOMMAND.COM. Во-вторых, и это более частый случай, вставка в середину возможна путем перебрасывания замещаемых блоков в конец файла. В частном случае, когда заражаемый файл содержит области нулей или других повторяющихся символов достаточного размера, вставка в середину происходит без увеличения длины программы, что затрудняет обнаружение зараженных файлов. Вставка в середину может произойти и случайно. В этом случае вирус считает, что файл имеет длину, указанную в заголовке, и записывает свой код в область буфера или оверлея. При этом он оказывается в середине действительно занимаемого данной программой файла. И, наконец, файл может быть заражен несколькими вирусами, однотипно заражающими файл (обычно дописывающими свой код в конец файла). В этом случае вирус, первым заразивший данный файл, оттесняется к середине файла последующими вирусами. Являясь сравнительно редкими, указанные случаи довольно часто не учитываются создателями антивирусных программ, в частности, детекторов и фагов, которые, увлекаясь оптимизацией времени выполнения своих программ, принимают "слишком сильные" допущения о расположении кода вируса в теле зараженной программы. В результате файл может быть не детектирован как зараженный или вылечен неправильно.
Как уже указывалось, при вставке в конец или середину файла вирус должен каким-то образом обеспечить передачу себе управления. При этом необязательно изменять именно первые байты программы. Возможно изменение других байтов. Например, если программа начинается с команды безусловного перехода, вирус может определять адрес перехода и модифицировать команды, расположенные по этому адресу. Поэтому часто высказываемое мнение о том, что для нейтрализации вируса в зараженном COM-файле достаточно восстановить его первые байты, следует признать неверным.
23. Структура файлового резидентного вируса.
Для понимания функционирования файлового вируса необходимо некоторое знакомство с системой прерываний компьютера типа IBM PC. Файловые резидентные вирусы, помимо отдельных файлов, заражают, если так можно выразиться, и память компьютера. Предельно упрощая, память компьютера можно рассматривать как еще один файл, который можно заражать, дописываясь "в голову", т.е. в область младших адресов свободного участка памяти, "в хвост", т.е. в область старших адресов свободного участка памяти и, наконец, "в середину", т.е. в область адресов, уже используемых операционной системой или какой-нибудь программой (старшие адреса вектора прерываний, буфера и т.д.).
Резидентный вирус можно представлять как состоящий из двух относительно независимых частей: инсталлятора и модуля обработки прерываний. Последний, в свою очередь, состоит из ряда программ обработки. Несколько упрощая, можно считать, что на каждое перехватываемое прерывание приходится своя программа обработки.
Инсталлятор получает управление при выполнении зараженной программы и играет роль своеобразной ракеты-носителя, запускающей вирус на орбиту, т.е. в оперативную память. Он отрабатывает один раз - после запуска зараженной программы, и его целесообразно рассматривать как специализированный файловый вирус, заражающий оперативную память и, возможно, обычные файлы (чаще всего COMMAND.COM). В последнем случае инсталлятор фактически является доработанным для заражения оперативной памяти файловым вирусом. Структуру инсталлятора можно упрощенно представить следующим образом:
Шаг 1: Проверить версию операционной системы
Шаг 2: Восстановить измененные байты зараженной программы.
Шаг 3: Проверить зараженность оперативной памяти. Если память заражена, то передать управление программе-вирусоносителю, иначе перейти к шагу 4.
Шаг 4: Закрепиться в оперативной памяти. Переписать свое тело в заданный участок оперативной памяти и выполнить некоторые действия по закреплению этого участка за собой.
Шаг 5: Перехватить требуемые прерывания. Заменить адреса в соответствующих элементах вектора прерываний на адреса своих программ обработки.
Шаг 6: Передать управление зараженной программе.
Приведем некоторые пояснения к упрощенной схеме инсталлятора файлового вируса. На шаге 3 инсталлятор, подобно обычному файловому вирусу, каким-то образом определяет зараженность оперативной памяти. Эта проверка может выполняться самыми разнообразными способами. Одним из наиболее распространенных является введение некоторого нового прерывания или функции существующего прерывания. Инсталлятор выдает это прерывание, и получаемый ответ, например 5555 в регистре AX, играет роль сигнала "память заражена" и "память еще не заражена", своеобразный аналог признака "62 с" в дате создания файла для нерезидентных файловых вирусов. Второй способ состоит в сканировании памяти и поиске сигнатуры, характерной для данного вируса. Поиск может начинаться с определенной, характерной точки, например, с адреса перехватываемого вирусом прерывания (обычно 21h). Могут быть использованы и другие способы или их комбинация.
Если проверка показала, что память еще не заражена, то на шаге 4 вирус выполняет ее заражение. Как уже указывалось, заражение может производиться как путем записывания тела вируса на участок свободной памяти, так и "вписыванием" тела в уже используемый участок. В первом случае вирус должен обеспечить резервирование этой памяти, чтобы она не была затерта другими программами. Простейшие вирусы выполняют это с помощью функции 31h (Keep) прерывания 21h или используя прерывание 27h (TSR --
Terminate but Stay Resident) MS DOS. Такие вирусы видны при просмотре списка резидентных программ утилитами типа Map, MemAnal и т.д. Более сложный способ предполагает манипуляцию с цепочкой блоков MCB (см. прил.5): вирус сам создает дополнительный блок MCB для захваченного участка памяти.
После закрепления в оперативной памяти инсталлятор выполняет так называемый перехват прерываний - обеспечение передачи управления модулям вируса, обрабатывающим соответствующие прерывания. Это может делаться "в лоб", т.е. путем использования соответствующих функций операционной системы, или "с черного хода" - нестандартным способом, обеспечивающим, в общем случае, более высокую степень маскировки. При любом способе конечный эффект состоит в том, что при возникновении определенного прерывания вирусу будет передаваться управление. При этом вирус может содержать дополнительный механизм, обеспечивающий то, что он будет получать управление всегда первым. Такие резидентные вирусы будем называть всплывающими. Всплытие помогает вирусу обходить простейшие программы-сторожа, основанные на перехвате тех же прерываний, поскольку они будут получать управление после вируса. Этот способ использует, в частности, вирус RCE-1800.DAV (Эдди). Отсюда следует, что анализ списка резидентных программ и объема памяти, является весьма полезным диагностическим приемом, применимым как при анализе многих резидентных файловых вирусов, так и при анализе бутовых вирусов.
Функционирование резидентного файлового вируса можно представить как две стадии: инсталляции и слежения. При запуске зараженной программы управление получает инсталлятор, который обеспечивает закрепление вируса в оперативной памяти, перехват требуемых прерываний и, возможно, маскировку (с целью затруднить свое обнаружение среди резидентных программ). Эта фаза работы резидентного вируса получила название фазы инсталляции. В дальнейшем каждый раз при возникновении одного из перехваченных вирусом прерываний управление получает модуль обработки соответствующего прерывания. При этом вирус может анализировать поступивший запрос и, в зависимости от его вида, выполнять те или иные действия. Например, загрузка программы в оперативную память и ее выполнение реализованы с помощью функции 24h прерывания 21h (Exec). Если вирус перехватывает это прерывание, то он может определить имя файла, из которого выполняется загрузка, и заразить программу в этом файле.
Следует также отметить, что способ поиска "жертвы" у резидентных вирусов существенно отличается от способа, используемого нерезидентными вирусами. Нерезидентные вирусы получают управление после загрузки в память зараженной программы, а затем ищут файл-жертву, используя параметры PATH, СOMSPEC или другую информацию о расположении выполняемых программ. Если жертва найдена, то она заражается, а затем управление возвращается зараженной программе. Резидентные вирусы реагируют на определенные прерывания. Получив управление после перехваченного прерывания, они выполняют соответствующие действия. Как уже указывалось, обычно резидентные файловые вирусы выполняют заражение запускаемых программ (по функции 24h прерывания 21h), однако наиболее инфицирующие из резидентных вирусов заражают файлы и при их открытии или чтении. Например, вирус RCE-1800.DAV, кроме указанных действий, перехватывает и прерывания по чтению, заражая, в частности, оба файла, копируемые командой COPY, если хотя бы один из них имеет расширение ЕХЕ или СОМ.
24. Требования к СКЗИ.
Эффективность систем оценивается с помощью показателей эффективности.
Характеристиками системы х1, х2,..., хn называются первичные данные, отражающие свойства и особенности системы.
Примером показателя эффективности является криптостойкость шифра, которая выражается временем или стоимостью взлома шифра. Этот показатель для шифра DES, например, зависит от одной характеристики - разрядности ключа. Для методов замены криптостойкость зависит от количества используемых алфавитов замены, а для методов перестановок - от размерности таблицы и количества используемых маршрутов Гамильтона.
Для того чтобы оценить эффективность системы защиты информации или сравнить системы по их эффективности, необходимо задать некоторое правило предпочтения. Такое правило или соотношение, основанное на использовании показателей эффективности, называют критерием эффективности. Для получения критерия эффективности при использовании некоторого множества k показателей используют ряд подходов.
1. Выбирается один главный показатель, и оптимальной считается система, для которой этот показатель достигает экстремума. При условии, что остальные показатели удовлетворяют системе ограничений, заданных в виде неравенств. Например, оптимальной может считаться система, удовлетворяющая следующему критерию эффективности:
где Рнз - вероятность непреодоления злоумышленником системы защиты за определенное время, С и G - стоимостные и весовые показатели, соответственно, которые не должны превышать допустимых значений.
2. Методы, основанные на ранжировании показателей по важности. При сравнении систем одноименные показатели эффективности сопоставляются в порядке убывания их важности по определенным алгоритмам.
Примерами таких методов могут служить лексикографический метод и метод последовательных уступок.
Лексикографический метод применим, если степень различия показателей по важности велика. Две системы сравниваются сначала по наиболее важному показателю. Оптимальной считается такая система, у которой лучше этот показатель. При равенстве самых важных показателей сравниваются показатели, занимающие по рангу вторую позицию. При равенстве и этих показателей сравнение продолжается до получения предпочтения в i-м показателе.
Метод последовательных уступок предполагает оптимизацию системы по наиболее важному показателю Y1.
Определяется допустимая величина изменения показателя Y1 которая называется уступкой. Измененная величина показателя: Y'1= Y1 ± ∆1 (∆1 - величина уступки) фиксируется. Определяется оптимальная величина показателя Y2 при фиксированном значении Y'1, выбирается уступка ∆2 и процесс повторяется до получения YK-1.
Мультипликативные и аддитивные методы получения критериев эффективности основываются на объединении всех или части показателей с помощью операций умножения или сложения в обобщенные показатели (ZП, ZС). Показатели, используемые в обобщенных показателях, называют частными (yi, yj).
Если в произведение (сумму) включается часть показателей, то остальные частные показатели включаются в ограничения. Показатели, образующие произведение (сумму), могут иметь весовые коэффициенты ki (kj). В общем виде эти методы можно представить следующим образом:
1. Оценка эффективности СЗИ может осуществляться также методом Парето. Сущность метода заключается в следующем. При использовании n показателей эффективности системе соответствует точка в n -мерном пространстве. В n -мерном пространстве строится область парето-оптимальных решений. В этой области располагаются несравнимые решения, для которых улучшение какого-либо показателя невозможно без ухудшения других показателей эффективности. Выбор наилучшего решения из числа парето-оптимальных может осуществляться по различным правилам.
25. Угрозы безопасности информации. Классификация.
С позиции обеспечения безопасности информации в КС такие системы целесообразно рассматривать в виде единства трех компонент, оказывающих взаимное влияние друг на друга:
* информация;
* технические и программные средства;
* обслуживающий персонал и пользователи.
В отношении приведенных компонент иногда используют и термин «информационные ресурсы», который в этом случае трактуется значительно шире, чем в Федеральном законе РФ «Об информации, информатизации и защите информации».
Целью создания любой КС является удовлетворение потребностей пользователей в своевременном получении достоверной информации и сохранении ее конфиденциальности (при необходимости). Информация является конечным «продуктом потребления» в КС и выступает в виде центральной компоненты системы. Безопасность информации на уровне КС обеспечивают две другие компоненты системы. Причем эта задача должна решаться путем защиты от внешних и внутренних неразрешенных (несанкционированных) воздействий. Особенности взаимодействия компонент заключаются в следующем. Внешние воздействия чаще всего оказывают несанкционированное влияние на информацию путем воздействия на другие компоненты системы. Следующей особенностью является возможность несанкционированных действий, вызываемых внутренними причинами, в отношении информации со стороны технических, программных средств, обслуживающего персонала и пользователей. В этом заключается основное противоречие взаимодействия этих компонент с информацией. Причем, обслуживающий персонал и пользователи могут сознательно осуществлять попытки несанкционированного воздействия на информацию. Таким образом, обеспечение безопасности информации в КС должно предусматривать защиту всех компонент от внешних и внутренних воздействий (угроз).
Под угрозой безопасности информации понимается потенциально возможное событие, процесс или явление, которые могут привести к уничтожению, утрате целостности, конфиденциальности или доступности информации.
Все множество потенциальных угроз безопасности информации в КС может быть разделено на два класса (рис 1).
Угрозы, которые не связаны с преднамеренными действиями злоумышленников и реализуются в случайные моменты времени, называют случайными или непреднамеренными.
Второй класс угроз безопасности информации в КС составляют преднамеренно создаваемые угрозы.
Данный класс угроз изучен недостаточно, очень динамичен и постоянно пополняется новыми угрозами. Угрозы этого класса в соответствии с их физической сущностью и механизмами реализации могут быть распределены по пяти группам.
26. Характеристика систем защиты от несанкционированного копирования встроенного и пристыковочного типов.
Системы защиты от НСК по способу ассоциации (внедрения) защитного механизма можно подразделить на два типа:
1) встроенные (внедряются при создании программного продукта);
2) пристыковочные (подключаются к уже готовому программному продукту).
Во встроенных защитах подсистема внедрения защитных механизмов отсутствует. Встраивание производится непосредственно разработчиком в процессе создания программного продукта. При этом разработчик может применять либо собственные разработки элементов защиты, либо готовый набор модулей.
Пристыковочные защиты внедряются в уже готовый исполняемый модуль, как правило, по вирусному принципу. Встраивание пристыковочного модуля (ПМ) в исполняемый модуль можно производить по принципу простейших вирусов. Дописывание может производится как в начало программы, так и в ее конец и даже в середину. Произведя необходимые про верки, код защиты восстанавливает оригинальное начало файла и передает на него управление, после чего программа начинает нормальную работу, не подозревая о том, что она была изменена.
Такой подход к внедрению в исполняемые файлы имеет ряд существенных недостатков. Во-первых, исходный код защищаемой программы остается практически в неизменном виде, что значительно упрощает нейтрализацию защиты. Во-вторых, в случае файла большого размера и, как следствие, сложной структуры код, находящийся в его конце, при запуске файла загружен не будет, а значит, ПМ не получит управление.
У каждого вида защиты есть свои преимущества и недостатки. Встроенные системы защиты злоумышленнику труднее отделить от основного кода программы, а если это и возможно сделать, то только в ручном режиме.
Во встроенных системах защиты можно легко организовать многократный опрос идентифицирующего элемента в отличие от пристыковочных, которые отрабатывают только раз за сеанс, а специальная организация такого опроса значительно усложняет код защиты. В целом системы защиты такого типа считаются более надежными, чем пристыковочные.
В то же время процедура ассоциации встроенных систем защиты
требует от разработчика больших затрат времени и усилий и в любом случае
не может быть автоматизирована.
К преимуществам защит пристыковочного типа относятся:
- простота тиражирования программных систем защиты на объекты заказчика и разработчика;
- простота технологии применения - защита поставляется в виде законченного продукта, которым нужно обработать защищаемую программу;
- обеспечение в большинстве случаев достаточного уровня защищённости данных;
- построение собственной встроенной системы, что приводит к значительному увеличению финансовых и временных затрат на создание конечного программного продукта при часто невысокой степени надежности полученной защиты (в силу непрофессионализма разработчиков).
Основным недостатком пристыковочных защит является то, что они могут быть нейтрализованы с помощью специальных средств в автоматическом режиме в момент, когда защитная часть уже отработала и начал выполняться защищаемый код (это можно сделать, например, по факту вызова определенной функции определенного прерывания).
Второй недостаток описанных методов внедрения заключается в том, что существующие защитные механизмы данного типа не поддерживаю! самомодифицирующиеся программы, которые в процессе выполнения изменяют свой образ, хранящийся на диске.
Несмотря на указанные недостатки, защита пристыковочного типа подходит в ряде случаев для защиты небольших узкоспециализированных программных пакетов, для которых стоимость нейтрализации защиты на порядок больше цены копии.
Дата публикования: 2015-02-03; Прочитано: 734 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!