Совершенствование подсистемы защиты от вредоносного программного обеспечения (разрушающих программных средств) организации (по материалам ООО "СтройСпецКомплект", Краснодарский край, ст. Пластуновская)
Методы защиты программного обеспечения, их оценка и анализ защищенности. Методы свершенствования подсистемы защиты информации от вредоносного программного обеспечения. Перечень сведений конфиденциального характера организации ООО "СтройСпецКомплект".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 10.07.2015 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
АКАДЕМИЯ МАРКЕТИНГА И СОЦИАЛЬНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ - ИМСИТ (г. Краснодар)
Факультет среднего профессионального образования
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
на тему: «Совершенствование подсистемы защиты от вредоносного программного обеспечения (разрушающих программных средств) организации» (по материалам ООО «СтройСпецКомплект», Краснодарский край, ст. Пластуновская)
Работу выполнил
студент 4 курса
очной формы обучения
группы 11-СПО-ОТЗИ-01
Асмолов Никита Романович
Научный руководитель:
преподаватель Алфёрова В.В.
Краснодар 2015
Реферат
Выпускная квалификационная работа 83 стр., 12 рис., 25 источников.
УГРОЗА, ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ, СИСТЕМА ЗАЩИТЫ ИНФОРМАЦИИ, КОНФИДЕНЦИАЛЬНОСТЬ, УТЕЧКА ДАННЫХ, РИСК
Объектом исследования является предприятие ООО «СтройСпецКомплект».
Цель работы состоит в изучении структуры предприятия, вредоносного программного обеспечения на предприятии для создания системы защиты информации от вредоносного программного обеспечения на предприятии.
К полученным результатам относятся документы, созданная система комплексной защиты информации на предприятии.
Новизна результатов заключается в разработке новых методов и средств защиты информации предприятия.
Научная новизна дипломного проекта заключается в создании системы комплексной защиты информации, циркулирующей в ООО «СтройСпецКомплект».
Практическая значимость заключается в возможности применения разработанной системы для защиты информации в ООО «СтройСпецКомплект».
Введение
В настоящее время значительное внимание уделяется проблеме возможного наличия в программном обеспечении (ПО) функциональных возможностей, способных привести к последствиям и тем самым нанести ущерб правообладателю или потребителю. Особую актуальность данная проблема приобретает для (ПО), используемого для обработки информации, к которой предъявляются требования по безопасности. Одним из наиболее значимых факторов угрозы нарушения безопасности информации, является наличие уязвимостей в ПО, реализующем процессы обработки информации. Оценка защищенности информационных технологий определяется, в первую очередь, наличием законодательных актов и нормативно-технических документов по обеспечению безопасности информационных технологий. Критерии оценки безопасности информационных технологий занимают среди них особое место. Только стандартизованные критерии позволяют проводить сравнительный анализ и сопоставимую оценку изделий информационных технологий.
Актуальностью квалификационной работы является обеспечение информационной безопасности, которое является сегодня одним из основных требований к информационным системам. Причина этого - неразрывная связь информационных технологий и основных бизнес-процессов в любых организациях, будь то государственные службы, промышленные предприятия, финансовые структуры, операторы телекоммуникаций.
Объектом исследования является предприятие ООО "СтройСпецКомплект".
Предмет исследования - системы защиты информации от вредоносного программного обеспечения.
Целью выпускной квалификационной работы - произвести анализ системы защиты информации на предприятии и на основе выводов выдвинуть предложения по усовершенствованию системы защиты информации от вредоносного программного обеспечения.
При изучении цели ВКР, были сформулированы следующие задачи:
Проанализировать объект защиты;
Проанализировать информацию, циркулирующую на объекте;
Выявить угрозы безопасности информации;
Проанализировать методы программного обеспечения от вредоносного программного обеспечения по защите информации;
Изучить подсистемы защиты от вредоносного программного обеспечения;
Внести предложения по разработке подсистем от вредоносного программного обеспечения;
Осуществить разработку систем и подсистем от вредоносного программного обеспечения.
Структура выпускной квалификационной работы:
Титульный лист;
Задание на выпускную квалификационную работу;
Реферат;
Содержание;
Введение;
Аналитическая часть;
Проектная часть;
Реализация разработки;
Мероприятия по охране труда, безопасности жизнедеятельности;
Заключение;
Список использованных источников.
1.Аналитическая часть
1.1 Характеристика предприятия и его деятельности
Объектом моего исследования стала организация с ограниченной ответственностью ООО «СтройСпецКомплект» Компания "СтройСпецКомплект" является коммерческой организацией, созданной в организационно-правовой форме общества с ограниченной ответственностью, в соответствие с действующим законодательством Российской Федерации. Общество является юридическим лицом и действует на основании законодательства РФ и устава. Организация является комплексным поставщиком электротехнического оборудования ведущих мировых производителей, таких как Weidmuller, Siemens, Schneider Electric, ABB, HARTING и многих других. А так же оптовая торговля прочими строительными материалами [14, 56 c.].
Клиентами организации являются ведущие предприятия энергетического комплекса, нефтегазовой отрасли и атомной промышленности. Компания предоставляет клиентам услуги комплексной поставки электротехнического оборудования по конкурентным ценам.
Предметом деятельности общества является насыщение потребительского рынка товарами и услугами.
Общество в установленном законом порядке осуществляет следующие виды деятельности:
Строительство фундаментов и бурение водяных скважин;
Монтаж строительных лесов и подмостей;
Прочая оптовая торговля;
Оптовая торговля ручными инструментами;
Оптовая торговля водопроводным и отопительным оборудованием;
Деятельность прочих мест для временного проживания, не включенных в другие группировки;
Аренда грузового автомобильного транспорта с водителем;
Деятельность ресторанов и кафе;
Оптовая торговля лесоматериалами;
Производство земляных работ;
Деятельность автомобильного грузового специализированного транспорта;
Оптовая торговля лакокрасочными материалами;
Деятельность столовых при предприятиях и учреждениях;
Оптовая торговля отходами и ломом;
Производство общестроительных работ по строительству прочих зданий и сооружений, не включенных в другие группировки;
Архитектурная деятельность;
Производство бетонных и железобетонных работ;
Производство общестроительных работ по возведению зданий;
Деятельность автомобильного грузового неспециализированного транспорта;
Монтаж металлических строительных конструкций;
Сдача внаем для временного проживания меблированных комнат;
Разведочное бурение;
Производство каменных работ;
Организация перевозок грузов;
Производство отделочных работ;
Прочая розничная торговля в неспециализированных магазинах.
Общество вправе заниматься и другими видами деятельности, не запрещенными законом.
Отдельными видами деятельности, перечень которых определятся законом, общество может заниматься только на основании специального разрешения (лицензии). Право общества осуществлять деятельность, на занятие которой необходимо получение лицензии, возникает с момента получения такой лицензии или в указанный в ней срок и прекращается по истечении срока ее действия, если иное не установлено законом или иными правовыми актами.
Отдельными видами деятельности, перечень которых определятся законом, общество может заниматься только на основании специального разрешения (лицензии). Право общества осуществлять деятельность, на занятие которой необходимо получение лицензии, возникает с момента получения такой лицензии или в указанный в ней срок и прекращается по истечении срока ее действия, если иное не установлено законом или иными правовыми актами.
Внешнеэкономическая деятельность Общества определяется экспортом производимой Обществом собственной продукции (работ, услуг) как для собственных производственных и социальных нужд, так и для насыщения рынка товарами и услугами [10, 134 c.].
Так как ООО «СтройСпецКомплект» является акционерным обществом, то соответственно, решение о распределении чистой прибыли принимает общее собрание акционеров.
1.2 Организационная структура предприятия ООО «СтройСпецКомплект»
Структура персонала организации соответствует ее отраслевой специфике. При этом для нее характерна потребность в квалифицированном персонале, обладающем специальными навыками.
Организационная структура предприятия ООО “СтройСпецКомплект” представляет собой линейно-функциональную структуру (рисунок 1).
Органами управления общества является:
- общее собрание участников;
- директор.
Органом контроля общества является ревизор общества.
Высшим органом общества является общее собрание участников.
Общество избирает ревизора общества. Ревизором общества может быть лицо, не являющееся участником общества. Ревизором общества не может быть лицо, осуществляющее функции единоличного исполнительного органа.
Единоличным исполнительным органом общества является директор общества, избираемый общим собранием на срок 2 года. Директор общества может быть избран также и не из числа участников общества. Договор между обществом и директором общества подписывается от имени общества лицом, уполномоченным решением общего собрания участников общества.
Финансово-экономический отдел ООО «СтройСпецКомплект» является структурным подразделением организации. В его состав входят 8 работников. В их число включаются: финансовый директор, финансист-экономист и 5 работников бухгалтерской службы. Возглавляет данное подразделение финансовый директор.
Рисунок 1 - Структуры предприятия
1.3 Программная и техническая архитектура ИС предприятия
Компания ООО «СтройСпецКомплект» имеет множество филиалов и также множество офисов по всей стране. Главный офис и филиал находится в Москве. Главный офис подключен к сети Internet с помощью коммутатора CiscoSystemsCatalyst 4948. Офис имеет подсегмент сети, организованный с помощью роутера ASUSDSL-G31. Подсегмент создан для департамента разработчиков. Установлено два сервера. TeamServer 5500A - общий корпоративный сервер. TeamServer 3420R - тестовый сервер департамента разработки. Рабочие места оборудованы компьютерами серии MicroXperts.
В офисе установлен общий сетевой принтер и МФУ, принадлежащий отделу бухгалтерии. программная архитектура предприятия.
Филиалы и Офисы организации ООО «СтройСпецКомплект» города «Краснодар» оборудованы по тем же принципам, что и филиалы и офисы в городе «Москва».
Рисунок 2 - Программная архитектура предприятия
1.4 Анализ угроз безопасности предприятия
Быстро развивающееся предприятие, равно как и гигант своего сегмента, заинтересовано в получении прибыли и ограждении себя от воздействия злоумышленников. Если ранее основной опасностью были кражи материальных ценностей, то на сегодняшний день основная роль хищений происходит в отношении ценной информации.
Защита информации на предприятии -- это комплекс мер, обеспечивающий безопасность данных клиентов и сотрудников, важных электронных документов и разного рода информации, тайн. Каждое предприятие оснащено компьютерной техникой и доступом к всемирной паутине Интернет. Злоумышленники умело подключаются практически к каждой составной этой системы и с помощью многочисленного арсенала (вирусы, вредоносное ПО, подбор паролей и другое) воруют ценную информацию. Система информационной безопасности должна внедряться в каждую организацию.. Но этого будет мало, потому что, кроме техники, существует человеческий фактор, который также успешно может сливать информацию конкурентам. Важно правильно организовать защиту своего предприятия на всех уровнях. Для этих целей используется система менеджмента информационной безопасности, с помощью которой руководитель наладит непрерывный процесс мониторинга бизнеса и обеспечит высокий уровень безопасности своих данных [21, 188 c.].
При анализе деятельности предприятия ООО «СтройСпецКомплект» были выявлены виды угроз информационной безопасности которые могли бы навредить предприятию и снизить его работоспособность, а именно:
Сбои в работе сотрудников с аппаратным и программным обеспечением.
Мошенничество.
Искажение информации или небрежность сотрудника.
Использование сетевых анализаторов.
Подлог или хищение.
Электронные и программные «закладки»
Использование электромагнитного излучения, радиоизлучения или акустических сигналов.
Вибрационные сигналы.
Вирусы.
Троянские черви.
Игровые закладки, под которыми маскируются вирусные программы.
Ложные архиваторы, ускорители обмена данных и другие программы.
Вирусное ПО развивается быстро. Только совершенствование системы информационной безопасности на предприятии может уберечь от внешних и внутренних угроз, атак со стороны Интернет-сервисов, от управления ключами и паролями через сеть и большим количеством других угроз по хищению или искажению информации.
Обеспечение безопасности не может быть одноразовым актом. Это непрерывный процесс, заключающийся в обосновании и реализации наиболее рациональных форм, методов, способов и путей создания, совершенствования и развития системы безопасности, непрерывном управлении ею, в контроле и выявлении ее узких мест и потенциальных угроз; безопасность может быть обеспечена лишь при комплексном использовании всего арсенала средств защиты и противодействия во всех структурных элементах производственной системы и на всех этапах технологического цикла. Наибольший эффект достигается, когда все используемые средства, методы и мероприятия объединяются в единый целостный механизм - систему комплексной безопасности [26, 188 c.].
Система комплексной безопасности может обеспечить требуемый уровень безопасности только при надлежащей подготовке персонала предприятия и соблюдения им всех установленных правил, направленных на обеспечение безопасности. На рисунке 3 показаны схемы угроз ИБ компании.
Рисунок 3 - Угрозы информационной безопасности компании
2. Проектная часть
2.1 Комплексная защита информации предприятия
Комплексная защита информации включает в себя:
Разработку моделей нарушителя и угроз информационной безопасности, исходя из реальных условий расположения и функционирования защищаемых объектов;
Обследование, проверку и оборудование объектов системами и дальнейший автоматизированный контроль зданий, кабинетов, рабочих мест и других помещений с целью выявления и устранения радиоэлектронных закладных устройств;
Защиту информации с помощью технических и программных средств в системах связи, звукоусиления, ПЭВМ и ЛВС от утечки за счет побочных электромагнитных излучений, наводок и от других реализаций несанкционированного доступа к ней;
Сервисное, гарантийное и послегарантийное обслуживание систем безопасности, средств вычислительной техники и оргтехники;
Поставку средств вычислительной техники и оргтехники, удовлетворяющих требованиям по защите информации;
Оказание консультаций и обучение персонала заказчика по вопросам комплексной защиты информации;
Разработка и производство средств технической защиты информации и контроля;
Проведение работ по защите информации в АСФЗ.
Защита информации на предприятии происходит по следующей схеме: анализ и выбор политики безопасности, применение средств защиты (технические и программные средства), разработка и внедрение организационных мер. Компания должна уделить внимание не только техническим методам защиты информации на предприятии, но и использовать специально разработанные нормативно-правовые документы. В систему правового обеспечения обязательно входят государственные законы, нормы и инструкции, документы предприятия (права и обязанности сотрудников, с обязательным указанием размера наказания за нарушение взятых на себя обязанностей).
После создания правовой основы безопасности информации приступают к определению возможных источников угрозы. Проанализировав и оценив ущерб от каждого вида данных, необходимо составить список вероятных последствий и размер причиненного ущерба. Отдельно составляется перечень документов, данных и любой информации, которая подлежит защите, с обязательным выделением первоочередного уровня защиты. Собрав необходимую информацию, руководство создает отдельное подразделение по безопасности информации, с обязательным наличием в нем компьютерщиков и сотрудников службы безопасности. Подразделение по обеспечению безопасности информации обязано действовать в нескольких направлениях: совершать защиту данных, не допускать несанкционированное проникновение к системной информации, обеспечивать целостность информации на предприятии во время непредвиденных ситуаций.
Среди методов защиты информации можно выбрать:
Криптографический способ шифрования.
Электронную подпись.
Создание резервных копий системы и документов.
Парольную идентификацию.
Систему аудита и протоколирования.
Использование электронных ключей, смарт-карт.
Межсетевое экранирование.
В те помещения, где происходит работа с секретными данными, обязательно должен быть открыт доступ только тем людям, которые непосредственно за них отвечают. Таких сотрудников выбирает руководство, а перед началом работы они проходят обязательное тестирование. В целях безопасности информации в секретном помещении технический персонал не должен находиться без присмотра сотрудника [12, 18 c.].
Самостоятельно внедрить огромный комплекс мероприятий и увидеть проблемные места своего бизнеса очень тяжело, поэтому руководители часто приглашают специальные компании, которые помогают создать систему менеджмента информационной безопасности. В комплекс мер входит не просто пожелания руководителя и его сотрудников, а устоявшаяся модель управления безопасностью информации на предприятии. По всем правилам руководство компании создает группу, которая будет отвечать за планирование работы системы менеджмента информационной безопасности. Для комплексного подхода к этому вопросу группа должна состоять из сотрудников организации (руководство, начальники и сотрудники подразделений) и сторонних консультантов. Подразделение по планированию руководствуется в своей работе международными сертификатами ИСО.
Обязательным пунктом постоянного контроля является создание и ведение журнала произошедших событий. Время от времени подразделение производит переоценку рисков и аудит. Когда защита информации выстроена по определенному алгоритму, а все структуры четко выполняют инструкции, подразделение менеджмента безопасности информации выходит на последний этап функционирования -- этап совершенствования.
2.2 Перечень сведений конфиденциального характера
В ходе изучения организации был выведен перечень конфиденциальных сведений организации ООО «СтройСпецКомплект».
Персональные данные относящиеся к сведениям персональных данных сотрудников:
Фамилия, имя, отчество.
Место, год и дата рождения.
Адрес по прописке.
Паспортные данные (серия, номер паспорта, кем и когда выдан);
Информация об образовании (наименование образовательного
Учреждения, сведения о документах, подтверждающие образование;
Наименование, номер, дата выдачи, специальность);
Информация о трудовой деятельности до приема на работу;
Информация о трудовом стаже (место работы, должность, период
Работы, период работы, причины увольнения);
Адрес проживания (реальный);
Телефонный номер (домашний, рабочий, мобильный);
Семейное положение и состав семьи (муж/жена, дети);
Информация о знании иностранных языков;
Должностной оклад;
Данные о трудовом договоре (№ трудового договора, дата его
Заключения, дата начала и дата окончания договора, вид работы, срок
Действия договора, наличие испытательного срока, режим труда,
Длительность основного отпуска, длительность дополнительного
Отпуска, длительность дополнительного отпуска за ненормированный
Рабочий день, обязанности работника, дополнительные социальные
Льготы и гарантии, № и число изменения к трудовому договору,
Характер работы, форма оплаты, условия труда, система оплаты);
Сведения о воинском учете (категория запаса, воинское звание,
Информация о снятии с воинского учета);
ИНН;
Данные об аттестации работников;
Данные о повышении квалификации;
Данные о наградах, медалях, поощрениях, почетных званиях;
Информация о приеме на работу, перемещении по должности,
Увольнении;
Информация об отпусках;
Информация о командировках;
Информация о негосударственном пенсионном обеспечении
2.3 Методы защиты программно - аппаратного и аппаратного обеспечения их оценка и анализ защищенности
Методы защиты можно разделить на программные, аппаратные и программно-аппаратные. К программным относятся методы, реализуемые чисто софтверным путём, в них не затрагиваются физические характеристики носителей информации, специальное оборудование и т.п. К аппаратным относятся методы, использующие специальное оборудование (например, электронные ключи, подключаемые к портам компьютера) или физические особенности носителей информации (компакт-дисков, дискет), чтобы идентифицировать оригинальную версию программы и защитить продукт от нелегального использования [19, 55 c.].
Основой данной технологии является специализированная микросхема, либо защищённый от считывания микроконтроллер, имеющие уникальные для каждого ключа алгоритмы работы. Ключ представляет собой плату, защищённую корпусом, в архитектуру которой обязательно входят микросхемы памяти и, иногда, микропроцессор. Ключ может подключаться в слот расширения материнской платы ISA, или же к LPT, COM, PCMCIA, USB-порту компьютера. В его программное обеспечение входит модуль, который встраивается в защищаемое ПО (таким образом данное программное обеспечение "привязывается" к ключу, а не к конкретному компьютеру), и драйвера под различные операционные системы. Ключи в большинстве своём основаны на одной из трёх моделей существующих аппаратных реализаций: на основе FLASH-памяти, PIC или ASIC-чипов. Помимо этого, в некоторые ключи встраиваются дополнительные возможности в виде энергонезависимой памяти, таймеров, выбора алгоритма кодирования данных.
Принцип действия электронных ключей. Ключ присоединяется к определённому интерфейсу компьютера. Далее защищённая программа через специальный драйвер отправляет ему информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. Если ответ ключа правильный, то программа продолжает свою работу. В противном случае она может выполнять определенные разработчиками действия, например, переключаться в демонстрационный режим, блокируя доступ к определённым функциям.
Существуют специальные ключи, способные осуществлять лицензирования (ограничения числа работающих в сети копий программы) защищенного приложения по сети. В этом случае достаточно одного ключа на всю локальную сеть. Ключ устанавливается на любой рабочей станции или сервере сети. защищенные приложения обращаются к ключу по локальной сети. Преимущество в том, для работы с приложением в пределах локальной сети им не нужно носить с собой электронный ключ.
На российском рынке наиболее известны следующие линейки продуктов (в алфавитном порядке): CodeMeter от WIBU-SYSTEMS, Guardant от компании «Актив», HASP от Aladdin, LOCK от Astroma Ltd., Rockey от Feitian, SenseLock от Seculab и др.
Аппаратные ключи защиты можно классифицировать по нескольким признакам:
типы подключения (ключи на порт принтера (LPT), последовательный порт (СОМ), USB-порт и ключи, подключаемые к специальной плате, вставляемой в компьютер);
удобство и функциональность программного обеспечения;
языки программирования (поддержка языков нужна для того, чтобы программист смог более эффективно использовать ключ для защиты разрабатываемой программы);
список поддерживаемых аппаратных платформ и операционных систем;
применимость ключа для сетевого лицензирования программного обеспечения;
по архитектуре можно подразделить на ключи с памятью (без микропроцессора) и ключи с микропроцессором (и памятью).
Виды ключей:
Ключи с памятью.
Это, наверное, самый простой тип ключей. Ключи с памятью имеют определенное число ячеек, из которых разрешено считывание. В некоторые из этих ячеек также может производиться запись. Обычно в ячейках, недоступных для записи, хранится уникальный идентификатор ключа.
Когда-то давно существовали ключи, в которых перезаписываемой памяти не было вообще, а программисту для считывания был доступен только идентификатор ключа. Но очевидно, что на ключах с такой функциональностью построить серьезную защиту просто невозможно.
Правда, и ключи с памятью не способны противостоять эмуляции. Достаточно один раз прочитать всю память и сохранить ее в эмуляторе. После этого правильно эмулировать ответы на все запросы к ключу не составит большого труда [9, 77 c.].
Таким образом, аппаратные ключи с памятью в заданных условиях не способны дать никаких преимуществ по сравнению с чисто программными системами.
Ключи с неизвестным алгоритмом.
Многие современные аппаратные ключи содержат секретную функцию преобразования данных, на которой и основывается секретность ключа. Иногда программисту предоставляется возможность выбрать константы, являющиеся параметрами преобразования, но сам алгоритм остается неизвестным.
Проверка наличия ключа должна выполняться следующим образом. При разработке защиты программист делает несколько запросов к алгоритму и запоминает полученные ответы. Эти ответы в какой-то форме кодируются в программе. Во время выполнения программа повторяет те же запросы и сравнивает полученные ответы с сохраненными значениями. Если обнаруживается несовпадение, значит, программа получает ответ не от оригинального ключа.
Эта схема имеет один существенный недостаток. Так как защищенная программа имеет конечный размер, то количество правильных ответов, которые она может хранить, также является конечным. А это значит, что существует возможность построения табличного эмулятора, который будет знать правильные ответы на все запросы, результат которых может проверить программа.
В рекомендациях по защите программ с помощью аппаратных ключей даются советы, как сделать фиктивные запросы со случайными данными так, чтобы затруднить построение эмулятора. Однако если программа при запуске делает 100 запросов, результат которых может быть проверен, и 100 случайных запросов, результат которых не проверяется, то, запустив программу 10 раз, очень легко выделить действительные запросы, повторившиеся 10 раз, и отсечь все фиктивные, встретившиеся по 1-2 раза.
Конечно, не стоит всегда проверять наличие ключа выполнением одной и той же серии запросов с проверкой. Лучше выполнять проверки в разных частях программы и в разное время. Это может значительно усложнить сбор статистики для отсечения фиктивных запросов.
Но не стоит забывать, что можно проанализировать программу и попытаться в дизассемблере найти все обращения к ключу. Это поможет выяснить, ответы на какие из запросов проверяются, и построить компактную таблицу для эмуляции. Так что ключи с неизвестным алгоритмом могут затруднить, но не могут предотвратить построение эмулятора для конкретной версии конкретной программы. Зато при переходе к новой версии, если перечень проверки программой ответов на запросы будет изменен, придется заново выполнять сбор статистики или анализ программы.
3. Атрибуты алгоритмов.
В некоторых ключах алгоритму могут сопутствовать дополнительные атрибуты. Так, например, в ключах Sentinel SuperPro алгоритм может быть защищен паролем и начинает работать только после того, как будет выполнена активация, в ходе которой правильный пароль должен быть передан ключу.
Активация позволяет разработчику предусмотреть возможность изменения функциональности ключа на стороне пользователя. То есть программа может иметь несколько версий (например базовую, расширенную и профессиональную), и в ключе изначально активированы только те алгоритмы, которые необходимы для функционирования базовой версии. Если пользователь решит перейти к более полной версии, разработчик пришлет ему инструкции по активации алгоритмов, соответствующих расширенной или профессиональной версии.
Однако все достоинства алгоритмов, активируемых по паролю, опираются на секретность пароля, а не на свойствах аппаратного ключа. Следовательно, аналогичная защита может быть реализована чисто программными средствами. Другой тип атрибутов алгоритмов, поддерживаемых ключами Sentinel SuperPro, - это счетчики. С активным алгоритмом может быть связан счетчик, изначально имеющий ненулевое значение. Программа при каждом запуске (или выполнении определенной операции, например при экспорте данных) вызывает специальную функцию API-ключа, уменьшающую значение счетчика на единицу. Как только счетчик принимает нулевое значение, алгоритм деактивируется и перестает работать.
Однако данная схема не способна помешать применению эмулятора. Противник может перехватывать и предотвращать все попытки уменьшения значения счетчика. Следовательно, алгоритм никогда не будет деактивирован, и в распоряжении противника будет неограниченное время для сбора данных, необходимых для табличной эмуляции.
Противостоять эмуляции может счетчик, значения которого уменьшается при каждом обращении к алгоритму. Но в этом случае возникает опасность, что из-за сбоев в работе программы или операционной системы иногда значение счетчика будет уменьшаться без совершения программой полезных действий. Причина проблемы в том, что обращение к алгоритму должно производиться до того, как программа совершит полезную работу, а счетчик должен уменьшаться только в том случае, если работа выполнена успешно. Но автоматическое уменьшение счетчика при обращении к алгоритму такую функциональность не обеспечивает - количество оставшихся попыток уменьшается независимо от успеха выполнения операции.
Ключи с таймером.
Некоторые производители аппаратных ключей предлагают модели, имеющие встроенный таймер. Но для того, чтобы таймер мог работать в то время, когда ключ не подключен к компьютеру, необходим встроенный источник питания. Среднее время жизни батареи, питающей таймер, составляет 4 года, и после ее разрядки ключ перестанет правильно функционировать. Возможно, именно из-за сравнительно короткого времени жизни ключи с таймером применяются довольно редко. Ключи HASP Time предоставляют возможность узнавать текущее время, установленное на встроенных в ключ часах. И защищенная программа может использовать ключ для того, чтобы отследить окончание тестового периода. Но очевидно, что эмулятор позволяет возвращать любые показания таймера, т. е. аппаратная часть никак не повышает стойкость защиты. Хорошей комбинацией является алгоритм, связанный с таймером. Если алгоритм может быть деактивирован в определенный день и час, очень легко будет реализовывать демонстрационные версии программ, ограниченные по времени.
Но, к сожалению, ни один из двух самых популярных в России разработчиков аппаратных ключей не предоставляет такой возможности. Ключи HASP, производимые компанией Aladdin, не поддерживают активацию и деактивацию алгоритмов. А ключи Sentinel SuperPro, разработанные в Rainbow Technologies, не содержат таймера.
Ключи с известным алгоритмом.
В некоторых ключах программисту, реализующему защиту, предоставляется возможность выбрать из множества возможных преобразований данных, реализуемых ключом, одно конкретное преобразование. Причем подразумевается, что программист знает все детали выбранного преобразования и может повторить обратное преобразование в чисто программной системе. Например, аппаратный ключ реализует симметричный алгоритм шифрования, а программист имеет возможность выбирать используемый ключ шифрования. Разумеется, ни у кого не должно быть возможности прочитать значение ключа шифрования из аппаратного ключа [19, 77 c.].
В такой схеме программа может передавать данные на вход аппаратного ключа и получать в ответ результат шифрования на выбранном ключе Но тут возникает дилемма. Если в программе отсутствует ключ шифрования, то возвращаемые данные можно проверять только табличным способом, а значит, в ограниченном объеме. Фактически имеем аппаратный ключ с неизвестным программе алгоритмом. Если же ключ шифрования известен программе, то можно проверить правильность обработки любого объема данных, но при этом существует возможность извлечения ключа шифрования и построения эмулятора.
Так что аппаратное выполнение симметричного алгоритма шифрования с известным ключом не дает ничего нового с точки зрения защиты. Но есть еще и асимметричные алгоритмы.
Когда ключ реализует асимметричный алгоритм шифрования, программисту не обязательно знать используемый секретный ключ. Даже можно сказать, что отсутствие возможности создать программную копию аппаратного асимметричного шифрующего устройства не сужает, а расширяет область возможных применений, т.к. сокращается перечень возможных способов компрометации секретного ключа. В любом случае, для проверки того, что аппаратный ключ присутствует и правильно выполняет вычисления, достаточно знать открытый ключ.
Эта схема не может быть обойдена только эмуляцией, т. к. для построения полного эмулятора требуется по открытому ключу шифрования вычислить секретный ключ. А это математически сложная задача, не имеющая эффективного решения.
Однако остается возможность подмены открытого ключа в программе, и если такая подмена пройдет незамеченной, построить программный эмулятор не составит труда. Так что асимметричные алгоритмы, реализованные на аппаратном уровне, способны обеспечить некопируемость защищенной программы, но только в том случае, если удастся предотвратить подмену открытого ключа шифрования.
Очень интересным решением с точки зрения стойкости защиты являются аппаратные ключи, в которых может быть реализован произвольный алгоритм. Сложность алгоритма ограничивается только объемом памяти и системой команд ключа.
В этом случае для защиты программы важная часть вычислений переносится в ключ, а значит, для анализа и взлома не будет возможным запротоколировать правильные ответы на все запросы или восстановить алгоритм по функции проверки. Ведь проверка, как таковая, может вообще не выполняться - результаты, возвращаемые ключом, являются промежуточными величинами в вычислении какой-то сложной функции, а подаваемые на вход значения зависят не от программы, а от обрабатываемых данных.
Главное - это реализовать в ключе такую функцию, чтобы не было возможным по контексту догадаться, какие именно операции производятся в ключе [20, 122 c.].
Задача злоумышленника - заставить защищённую программу работать в условиях отсутствия легального ключа, подсоединённого к компьютеру. Не вдаваясь очень глубоко в технические подробности, будем исходить из предположения, что у злоумышленника есть следующие возможности:
Перехватывать все обращения к ключу;
Протоколировать и анализировать эти обращения;
Посылать запросы к ключу и получать на них ответы;
Протоколировать и анализировать эти ответы;
Посылать ответы от имени ключа и др.
Такие широкие возможности противника можно объяснить тем, что он имеет доступ ко всем открытым интерфейсам, документации, драйверам и может их анализировать на практике с привлечением любых средств.
Для того чтобы заставить программу работать так, как она работала бы с ключом, можно или внести исправления в программу (взломать её программный модуль), или эмулировать наличие ключа путем перехвата вызовов библиотеки API обмена с ключом.
Стоит отметить, что современные электронные ключи (к примеру, ключи Guardant поколения Sign и современные ключи HASP HL) обеспечивают стойкое шифрование протокола обмена электронный ключ - библиотека API работы с ключом. В результате наиболее уязвимыми местами остаются точки вызовов функций этого API в приложении и логика обработки их результата.
При эмуляции никакого воздействия на код программы не происходит, и эмулятор, если его удается построить, просто повторяет все поведение реального ключа. Эмуляторы строятся на основе анализа перехваченных запросов приложения и ответов ключа на них. Они могут быть как табличными (содержать в себе все необходимые для работы программы ответы на запросы к электронному ключу), так и полными (полностью эмулируют работу ключа, так как взломщикам стал известен внутренний алгоритм работы).
Построить полный эмулятор современного электронного ключа - это достаточно трудоёмкий процесс, требующий большого количества времени и существенных инвестиций. Ранее злоумышленникам это удавалось: например, компания Aladdin признаёт, что в 1999 году злоумышленникам удалось разработать довольно корректно работающий эмулятор ключа HASP3 и HASP4. Это стало возможным благодаря тому, что ключ использовал проприетарный алгоритм кодирования, который был взломан. Сейчас большинство ключей используют публичные крипотоалгоритмы, поэтому злоумышленники предпочитают атаковать какой-то конкретный защищённый продукт, а не защитный механизм в общем виде. Для современных систем защиты HASP и Guardant эмуляторов в свободном доступе нет, так как используется публичная криптография.
Информации о полной эмуляции современных ключей Guardant не встречалось. Существующие табличные эмуляторы реализованы только для конкретных приложений. Возможность их создания была обусловлена неиспользованием (или неграмотным использованием) основного функционала электронных ключей разработчиками защит.
Так же отсутствует какая-либо информация о полной или хотя бы частичной эмуляции ключей LOCK, либо о каких-либо других способах обхода этой защиты.
Злоумышленник исследует логику самой программы, с той целью, чтобы, проанализировав весь код приложения, выделить блок защиты и деактивировать его. Взлом программ осуществляется с помощью отладки (или пошагового исполнения), декомпиляции и дампа оперативной памяти. Эти способы анализа исполняемого кода программы чаще всего используются злоумышленниками в комплексе.
Отладка осуществляется с помощью специальной программы - отладчика, который позволяет по шагам исполнять любое приложение, эмулируя для него операционную среду. Важной функцией отладчика является способность устанавливать точки (или условия) остановки исполнения кода. Дизассемблирование - способ преобразования кода исполняемых модулей в язык программирования, понятный человеку - Assembler. В этом случае злоумышленник получает распечатку (листинг) того, что делает приложение.
Декомпиляция - преобразование исполняемого модуля приложения программный код на языке высокого уровня и получение представления приложения, близкого к исходному коду. Может быть проведена только для некоторых языков программирования (в частности, для .NET приложений, создаваемых на языке C# и распространяемых в байт-коде - интерпретируемом языке относительно высокого уровня).
Суть атаки с помощью дапма памяти заключается в считывании содержимого оперативной памяти в момент, когда приложение начало нормально исполняться. В результате злоумышленник получает рабочий код (или интересующую его часть) в "чистом виде" (если, к примеру, код приложения был зашифрован и расшифровывается только частично, в процессе исполнения того или иного участка). Главное для злоумышленника - верно выбрать момент [14, 56 c.].
Отметим, что существует немало способов противодействия отладке, и разработчики защиты используют их: нелинейность кода, (многопоточность), недетерминированную последовательность исполнения, «замусоривание» кода, (бесполезными функциями, выполняющими сложные операции, с целью запутать злоумышленника), использование несовершенства самих отладчиков и др.
На практике в подавляющем большинстве случаев программисты не используют все возможности, предоставляемые аппаратными ключами. Так, на пример, очень часто в алгоритмических ключах с памятью используется только память, не говоря уже о случаях, когда все проверки наличия ключа производятся в одной функции, которая возвращает результат в виде логического значения. И для получения полнофункциональной версии программы даже не требуется ключ - достаточно исправить функцию проверки чтобы она всегда возвращала состояние, соответствующее наличию ключа. Некоторые ключи (например Sentinel SuperPro) имеют довольно сложную систему разграничения доступа. Ключи Sentinel SuperPro поддерживают пароли для активации алгоритмов, выбираемые при программировании, и раздельные пароли для записи и перезаписи, одинаковые для всех ключей одной серии, поставляемых одному разработчику. И очень часто в теле программы оказывается пароль перезаписи, который позволяет противник перепрограммировать ключ по своему усмотрению.
Ключи HASP Time, напротив, не имеют разграничения доступа - для того чтобы изменить время в ключе, нужно знать те же самые пароли, которые используются для чтения времени. То есть злоумышленнику для продления периода работоспособности программы, ограниченной по времени, достаточно отвести назад часы в ключе, и ничто не мешает ему это сделать. Некоторые неизвестные алгоритмы, реализованные в ключах, были подвергнуты анализу. Так был восстановлен алгоритм функции SeedCode, используемый в ключах HASP. А по некоторым сообщениям в Интернете, не являются больше секретными и алгоритмы, реализуемые ключами Sentinel SuperPro, и даже новые алгоритмы кодирования и декодирования в ключах HASP4.
Ключи с асимметричными алгоритмами выпускаются уже многими производителями, но позиционируются как устройства для идентификации и аутентификации, а не для защиты информации.
Ключи с программируемым алгоритмом, напротив, не выпускаются крупными производителями ключей и, следовательно, практически не применяются. Возможно, это обусловлено тем, что они получаются слишком дорогими или слишком сложными для использования.
Утверждение, что аппаратные ключи способны остановить компьютерное пиратство, является мифом, многие годы распространяемым производителями ключей. Для хорошо подготовленного противника ключ редко является серьезным препятствием.
К тому же, часто программисты слепо доверяют автоматизированным средствам защиты, поставляемым в составе SDK-ключа, и не прикладывают самостоятельных усилий для усиления защиты. Обещания производителей создают иллюзию защищенности, но на самом деле практически для всех автоматизированных средств защиты давно разработаны эффективные способы нейтрализации защитных механизмов.
Большая часть защитных механизмов, применяемых в современных ключах, оказывается работоспособной только в предположении, что противник не сможет обеспечить эмуляцию ключа, т. е. реализуются на программном уровне. Следовательно, почти всегда тот же уровень защиты может быть достигнут без привлечения аппаратных средств.
Защита при помощи компакт дисков.
Как правило, этот способ защиты применяется для защиты программ, записанных на этом же компакт-диске, являющимся одновременно ключевым. Для защиты от копирования используется:
запись информации в неиспользуемых секторах;
проверка расположения и содержимого «сбойных» секторов;
проверка скорости чтения отдельных секторов.
Первые два метода бесполезны при снятии полного образа с диска. Третий метод более надёжный. Он используется, например, в защите StarForce. В этой защите также делается попытка проверить возможность записи на вставленный диск. Если запись возможна, то диск считается нелицензионным. Но существуют программы, которые могут эмулировать диски с учётом геометрии расположения данных, тем самым обходя эту защиту, и, к тому же, возможно записать диск CD-R с её учётом, и он будет признаваться лицензионным. Также возможно скрыть тип диска, чтобы CD-R или CD-RW был виден как обычный CD-ROM. Но и системы защиты тоже (используя специальный драйвер) борются с ними, пытаясь обнаружить наличие эмуляции. В настоящее время наибольшую известность в мире имеют системы защиты от копирования SecuROM, StarForce, SafeDisc, CD-RX и Tages [1, 51 с.].
SecuROM.
Эта технология, разработанная специалистами корпорации Sony, сочетает в себе использование специальной цифровой метки и шифрования. В процессе мастеринга на стеклянную матрицу наносится электронная метка, уникальная для каждой партии дисков. Метку нельзя скопировать при записи на диски CD-R, жесткий диск компьютера и при заводском тиражировании. SecuROM прозрачна для пользователей: для активации защищенных ею дисков не требуется вводить пароли или ключи, поскольку идентификация происходит автоматически при запуске содержащихся на диске приложений. В случае использования нелегальной копии приложение будет заблокировано, а на экране появится сообщение об ошибке.Но несмотря на все ухищрения разработчиков SecuROM, защищенные ею диски можно легко скопировать при помощи утилиты CloneCD
StarForce.
Проверка подлинности диска состоит из нескольких этапов. Сначала читается информация о диске, установленном в приводе, и проверяется его метка тома. Затем выполняется 8 запросов на чтение случайных одиночных секторов с номерами в диапазоне от 1 до 65 536. Результаты чтения никак не используются, и, скорее всего, эти действия нужны для разгона диска до номинальной скорости вращения. Затем еще раз читается (но уже не проверяется) информация о диске. Все перечисленное выше проходит через драйвер файловой системы CDFS, никак не защищено от анализа и, следовательно, наверняка не влияет на процесс аутентификации.
Все остальные обращения к диску идут на более низком уровне. В той версии StarForce, анализ которой проводится, обращения адресовались драйверу устройства Cdrom и представляли собой SCSI-команды. Последовательность этих команд такова.
Чтение содержания диска (Table Of Content, TOC).
Чтение одиночных секторов с номерами 16, 17, 17 (дважды читается 17-ый сектор).
Чтение одиночных секторов с номерами 173117, 173099, 173081, 173063, 173045, 173027, 173009, 172991, 172973.
Чтение случайных 17 блоков по 8 секторов с номерами первого читаемого сектора в диапазоне примерно от 168100 до 173200.
SCSI-команда с кодом ОхВВ, описание которой не удалось найти в документации, но которая, скорее всего, отвечает за управление скоростью вращения привода.
Чтение одиночного сектора с номером 173117.
Причем если с первой попытки диск не опознан как оригинальный, то шаги 3 и 4 повторяются в цикле. Значит, после выполнения шага 4 вся информация, необходимая для аутентификации диска, уже получена.
Разберем подробнее, зачем может потребоваться каждый из шагов.
Чтение ТОС, скорее всего, требуется для определения номера сектора, с которого начинается последняя сессия мультисессионного диска. Так как сессия всего одна, то в 16 и 17 секторах как раз и хранятся описания структуры тома (метка тома, количество секторов, адрес директории диска и т. д.). А повторное чтение сектора 17, скорее всего, используется для того, чтобы примерно оценить порядок времени, затрачиваемого на один оборот диска. Разница времени между двумя чтениями одного сектора должна быть кратна длительности оборота диска.
В последовательности номеров секторов 173117, 173099, 173081, 173063, 173045, 173027, 173009, 172991, 172973 легко усматривается закономерность - каждое следующее значение на 18 меньше предыдущего. Число 18 тоже явно не случайное - на том радиусе диска, где размещаются сектора с указанными номерами, на один виток спирали помещается примерно 18 секторов. А чтение секторов в порядке убывания номера с большой вероятностью используется для того, чтобы предотвратить чтение с предупреждением, когда привод считывает во внутренний буфер не только заданные сектора, но и несколько последующих, на случай если данные читаются последовательно.
Получив значения восьми интервалов (между девятью операциями чтения) и зная длительность и периодов обращения диска (полученную повторным чтением сектора), можно с большой точностью определить скорость вращения диска.
А дальше выполняется 17 чтений блоков со случайными номерами с целью измерения 16 интервалов времени. Если все интервалы соответствуют нужному значению, то диск признается подлинным. Если же отклонения от ожидаемых величин превышают некоторое пороговое значение, то проводится повторное вычисление скорости вращения и повторное измерение задержек между чтением блоков по 8 секторов
Способ обхода защиты.
Чтобы заставить StarForce поверить, что в приводе стоит оригинальный диск, надо совсем не много: чтобы задержки между чтениями соответствовали ожидаемым. А для этого необходимо знать точные характеристики диска: радиус, на котором начинается спираль, и размер сектора. Для определения этих величин можно провести те же самые измерения, что проводит StarForce при проверке диска, а затем варьировать начальный радиус и размер сектора, пока не будут найдены оптимальные значения. Критерием оптимальности, например, может служить сумма отклонений разностей углов, и углов, полученных из замеренных интервалов.
Современное оборудование (во всяком случае, оборудование бытового класса) действительно не позволяет создавать копии защищенного диска, но написание эмулятора, способного обмануть StarForce, не представляет сверхсложной задачи. Достаточно перехватывать обращения к драйверу CD-ROM и в случае, если выполняется команда чтения, делать временною задержку, какую мог бы иметь оригинальный диск, и только после этого возвращать управление вызывающей программе.
StarForce, несомненно, является неординарной защитой. Ее исключительность заключается хотя бы в том, что до сих пор не существует надежного способа быстро создавать работоспособные копии защищенных дисков
Программные средства защиты.
Под программными методами защиты информации понимается комплекс специальных алгоритмов и компонентов общего программного обеспечения вычислительных систем, предназначенных для выполнения функций контроля, разграничения доступа и исключения несанкционированного доступа [3].
Существующие системы защиты программного обеспечения можно классифицировать по ряду признаков, среди которых можно выделить:
метод установки;
используемые механизмы защиты;
принцип функционирования.
Системы защиты ПО по методу установки можно подразделить на:
системы, устанавливаемые на скомпилированные модули ПО;
системы, встраиваемые в исходный код ПО до компиляции;
комбинированные.
Системы первого типа наиболее удобны для производителя ПО, так как легко можно защитить уже полностью готовое и оттестированное ПО, а потому и наиболее популярны. В то же время стойкость этих систем достаточно низка (в зависимости от принципа действия СЗ), так как для обхода защиты достаточно определить точку завершения работы «конверта» защиты и передачи управления защищенной программе, а затем принудительно ее сохранить в незащищенном виде.
Системы второго типа неудобны для производителя ПО, так как возникает необходимость обучать персонал работе с программным интерфейсом (API) системы защиты с вытекающими отсюда денежными и временными затратами. Кроме того, усложняется процесс тестирования ПО и снижается его надежность, так как кроме самого ПО ошибки может содержать API системы защиты или процедуры, его использующие. Но такие системы являются более стойкими к атакам, потому что здесь исчезает четкая граница между системой защиты и как таковым ПО.
Наиболее живучими являются комбинированные системы защиты. Сохраняя достоинства и недостатки систем второго типа, они максимально затрудняют анализ и дезактивацию своих алгоритмов.
Подобные документы
Программные средства защиты от вредоносного программного обеспечения, основные требования к ним, оценка возможностей и функциональности. Системы обнаружения вторжения. Анализ средств защиты информации на предприятии. Политика корпоративной безопасности.
дипломная работа [1,2 M], добавлен 17.10.2015Изучение основных видов угроз программного обеспечения. Выявление наиболее эффективных средств и методов защиты программного обеспечения. Анализ их достоинств и недостатков. Описания особенностей лицензирования и патентования программного обеспечения.
курсовая работа [67,9 K], добавлен 29.05.2013Угрозы безопасности программного обеспечения и классификация средств атаки на средства защиты ПО. Методы и средства защиты программ от компьютерных вирусов и средств исследования программ. Анализ стандартов в области информационной безопасности.
дипломная работа [1,4 M], добавлен 29.06.2012Знакомство с проблемами обнаружения вредоносного программного обеспечения для мобильных устройств. Анализ функций антивирусного пакета Kaspersky Mobile Security 8.0. Характеристика наиболее распространенных антивирусных программ для мобильных устройств.
реферат [55,1 K], добавлен 11.01.2017Разработка программного обеспечения для реализации криптографической защиты информации. Обоснование выбора аппаратно-программных средств. Проектирование модели информационных потоков данных, алгоритмического обеспечения, структурной схемы программы.
дипломная работа [2,0 M], добавлен 10.11.2014Понятие компьютерного вируса. Возможности вредоносного программного обеспечения. Функции антивируса Касперского. Преимущества использования антивирусных средств защиты информации Доктор Веб. Меры предосторожности при работе с приложениями на компьютере.
презентация [1,3 M], добавлен 23.11.2014Разновидности защиты компьютерной информации. Особенности алгоритмов и шрифтов, применяемых в криптографии. Специфика использования криптосистем с открытым ключом. Структура вредоносного программного обеспечения. Обеспечение безопасности баз данных.
презентация [393,2 K], добавлен 05.04.2012Характеристика основных способов защиты от несанкционированного доступа. Разработка политики безопасности системы. Проектирование программного обеспечения применения некоторых средств защиты информации в ОС. Содержание основных разделов реестра.
лабораторная работа [1,9 M], добавлен 17.03.2017Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Проект комплексной системы защиты информации на примере Администрации г. Миасса: объект защиты; модель бизнес-процессов с целью выявления конфиденциальной информации, "Перечень сведений конфиденциального характера", объекты защиты, угрозы, уязвимости.
курсовая работа [2,6 M], добавлен 16.04.2008