Совершенствование подсистемы защиты от вредоносного программного обеспечения (разрушающих программных средств) организации (по материалам ООО 'СтройСпецКомплект', Краснодарский край, ст. Пластуновская)

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,03 Мб
  • Опубликовано:
    2015-07-10
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Совершенствование подсистемы защиты от вредоносного программного обеспечения (разрушающих программных средств) организации (по материалам ООО 'СтройСпецКомплект', Краснодарский край, ст. Пластуновская)

АКАДЕМИЯ МАРКЕТИНГА И СОЦИАЛЬНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ - ИМСИТ (г. Краснодар)

Факультет среднего профессионального образования






ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

на тему: «Совершенствование подсистемы защиты от вредоносного программного обеспечения (разрушающих программных средств) организации» (по материалам ООО «СтройСпецКомплект», Краснодарский край, ст. Пластуновская)


Работу выполнил

студент 4 курса

очной формы обучения

группы 11-СПО-ОТЗИ-01

Асмолов Никита Романович

Научный руководитель:

преподаватель Алфёрова В.В.


Краснодар 2015

Реферат

Выпускная квалификационная работа 83 стр., 12 рис., 25 источников.

УГРОЗА, ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ, СИСТЕМА ЗАЩИТЫ ИНФОРМАЦИИ, КОНФИДЕНЦИАЛЬНОСТЬ, УТЕЧКА ДАННЫХ, РИСК

Объектом исследования является предприятие ООО «СтройСпецКомплект».

Цель работы состоит в изучении структуры предприятия, вредоносного программного обеспечения на предприятии для создания системы защиты информации от вредоносного программного обеспечения на предприятии.

К полученным результатам относятся документы, созданная система комплексной защиты информации на предприятии.

Новизна результатов заключается в разработке новых методов и средств защиты информации предприятия.

Научная новизна дипломного проекта заключается в создании системы комплексной защиты информации, циркулирующей в ООО «СтройСпецКомплект».

Практическая значимость заключается в возможности применения разработанной системы для защиты информации в ООО «СтройСпецКомплект».


Введение

В настоящее время значительное внимание уделяется проблеме возможного наличия в программном обеспечении (ПО) функциональных возможностей, способных привести к последствиям и тем самым нанести ущерб правообладателю или потребителю. Особую актуальность данная проблема приобретает для (ПО), используемого для обработки информации, к которой предъявляются требования по безопасности. Одним из наиболее значимых факторов угрозы нарушения безопасности информации, является наличие уязвимостей в ПО, реализующем процессы обработки информации. Оценка защищенности информационных технологий определяется, в первую очередь, наличием законодательных актов и нормативно-технических документов по обеспечению безопасности информационных технологий. Критерии оценки безопасности информационных технологий занимают среди них особое место. Только стандартизованные критерии позволяют проводить сравнительный анализ и сопоставимую оценку изделий информационных технологий.

Актуальностью квалификационной работы является обеспечение информационной безопасности, которое является сегодня одним из основных требований к информационным системам. Причина этого - неразрывная связь информационных технологий и основных бизнес-процессов в любых организациях, будь то государственные службы, промышленные предприятия, финансовые структуры, операторы телекоммуникаций.

Объектом исследования является предприятие ООО "СтройСпецКомплект".

Предмет исследования - системы защиты информации от вредоносного программного обеспечения.

Целью выпускной квалификационной работы - произвести анализ системы защиты информации на предприятии и на основе выводов выдвинуть предложения по усовершенствованию системы защиты информации от вредоносного программного обеспечения.

При изучении цели ВКР, были сформулированы следующие задачи:

Проанализировать объект защиты;

Проанализировать информацию, циркулирующую на объекте;

Выявить угрозы безопасности информации;

Проанализировать методы программного обеспечения от вредоносного программного обеспечения по защите информации;

Изучить подсистемы защиты от вредоносного программного обеспечения;

Внести предложения по разработке подсистем от вредоносного программного обеспечения;

Осуществить разработку систем и подсистем от вредоносного программного обеспечения.

Структура выпускной квалификационной работы:

Титульный лист;

Задание на выпускную квалификационную работу;

Реферат;

Содержание;

Введение;

Аналитическая часть;

Проектная часть;

Реализация разработки;

Мероприятия по охране труда, безопасности жизнедеятельности;

Заключение;

Список использованных источников.

.Аналитическая часть

.1 Характеристика предприятия и его деятельности

Объектом моего исследования стала организация с ограниченной ответственностью ООО «СтройСпецКомплект» Компания "СтройСпецКомплект" является коммерческой организацией, созданной в организационно-правовой форме общества с ограниченной ответственностью, в соответствие с действующим законодательством Российской Федерации. Общество является юридическим лицом и действует на основании законодательства РФ и устава. Организация является комплексным поставщиком электротехнического оборудования ведущих мировых производителей, таких как Weidmuller, Siemens, Schneider Electric, ABB, HARTING и многих других. А так же оптовая торговля прочими строительными материалами [14, 56 c.].

Клиентами организации являются ведущие предприятия энергетического комплекса, нефтегазовой отрасли и атомной промышленности. Компания предоставляет клиентам услуги комплексной поставки электротехнического оборудования по конкурентным ценам.

Предметом деятельности общества является насыщение потребительского рынка товарами и услугами.

Общество в установленном законом порядке осуществляет следующие виды деятельности:

Строительство фундаментов и бурение водяных скважин;

Монтаж строительных лесов и подмостей;

Прочая оптовая торговля;

Оптовая торговля ручными инструментами;

Оптовая торговля водопроводным и отопительным оборудованием;

Деятельность прочих мест для временного проживания, не включенных в другие группировки;

Аренда грузового автомобильного транспорта с водителем;

Деятельность ресторанов и кафе;

Оптовая торговля лесоматериалами;

Производство земляных работ;

Деятельность автомобильного грузового специализированного транспорта;

Оптовая торговля лакокрасочными материалами;

Деятельность столовых при предприятиях и учреждениях;

Оптовая торговля отходами и ломом;

Производство общестроительных работ по строительству прочих зданий и сооружений, не включенных в другие группировки;

Архитектурная деятельность;

Производство бетонных и железобетонных работ;

Производство общестроительных работ по возведению зданий;

Деятельность автомобильного грузового неспециализированного транспорта;

Монтаж металлических строительных конструкций;

Сдача внаем для временного проживания меблированных комнат;

Разведочное бурение;

Производство каменных работ;

Организация перевозок грузов;

Производство отделочных работ;

Прочая розничная торговля в неспециализированных магазинах.

Общество вправе заниматься и другими видами деятельности, не запрещенными законом.

Отдельными видами деятельности, перечень которых определятся законом, общество может заниматься только на основании специального разрешения (лицензии). Право общества осуществлять деятельность, на занятие которой необходимо получение лицензии, возникает с момента получения такой лицензии или в указанный в ней срок и прекращается по истечении срока ее действия, если иное не установлено законом или иными правовыми актами.

Отдельными видами деятельности, перечень которых определятся законом, общество может заниматься только на основании специального разрешения (лицензии). Право общества осуществлять деятельность, на занятие которой необходимо получение лицензии, возникает с момента получения такой лицензии или в указанный в ней срок и прекращается по истечении срока ее действия, если иное не установлено законом или иными правовыми актами.

Внешнеэкономическая деятельность Общества определяется экспортом производимой Обществом собственной продукции (работ, услуг) как для собственных производственных и социальных нужд, так и для насыщения рынка товарами и услугами [10, 134 c.].

Так как ООО «СтройСпецКомплект» является акционерным обществом, то соответственно, решение о распределении чистой прибыли принимает общее собрание акционеров.

.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 - Угрозы информационной безопасности компании

. Проектная часть

.1 Комплексная защита информации предприятия

Комплексная защита информации включает в себя:

Разработку моделей нарушителя и угроз информационной безопасности, исходя из реальных условий расположения и функционирования защищаемых объектов;

Обследование, проверку и оборудование объектов системами и дальнейший автоматизированный контроль зданий, кабинетов, рабочих мест и других помещений с целью выявления и устранения радиоэлектронных закладных устройств;

Защиту информации с помощью технических и программных средств в системах связи, звукоусиления, ПЭВМ и ЛВС от утечки за счет побочных электромагнитных излучений, наводок и от других реализаций несанкционированного доступа к ней;

Сервисное, гарантийное и послегарантийное обслуживание систем безопасности, средств вычислительной техники и оргтехники;

Поставку средств вычислительной техники и оргтехники, удовлетворяющих требованиям по защите информации;

Оказание консультаций и обучение персонала заказчика по вопросам комплексной защиты информации;

Разработка и производство средств технической защиты информации и контроля;

Проведение работ по защите информации в АСФЗ.

Защита информации на предприятии происходит по следующей схеме: анализ и выбор политики безопасности, применение средств защиты (технические и программные средства), разработка и внедрение организационных мер. Компания должна уделить внимание не только техническим методам защиты информации на предприятии, но и использовать специально разработанные нормативно-правовые документы. В систему правового обеспечения обязательно входят государственные законы, нормы и инструкции, документы предприятия (права и обязанности сотрудников, с обязательным указанием размера наказания за нарушение взятых на себя обязанностей).

После создания правовой основы безопасности информации приступают к определению возможных источников угрозы. Проанализировав и оценив ущерб от каждого вида данных, необходимо составить список вероятных последствий и размер причиненного ущерба. Отдельно составляется перечень документов, данных и любой информации, которая подлежит защите, с обязательным выделением первоочередного уровня защиты. Собрав необходимую информацию, руководство создает отдельное подразделение по безопасности информации, с обязательным наличием в нем компьютерщиков и сотрудников службы безопасности. Подразделение по обеспечению безопасности информации обязано действовать в нескольких направлениях: совершать защиту данных, не допускать несанкционированное проникновение к системной информации, обеспечивать целостность информации на предприятии во время непредвиденных ситуаций.

Среди методов защиты информации можно выбрать:

Криптографический способ шифрования.

Электронную подпись.

Создание резервных копий системы и документов.

Парольную идентификацию.

Систему аудита и протоколирования.

Использование электронных ключей, смарт-карт.

Межсетевое экранирование.

В те помещения, где происходит работа с секретными данными, обязательно должен быть открыт доступ только тем людям, которые непосредственно за них отвечают. Таких сотрудников выбирает руководство, а перед началом работы они проходят обязательное тестирование. В целях безопасности информации в секретном помещении технический персонал не должен находиться без присмотра сотрудника [12, 18 c.].

Самостоятельно внедрить огромный комплекс мероприятий и увидеть проблемные места своего бизнеса очень тяжело, поэтому руководители часто приглашают специальные компании, которые помогают создать систему менеджмента информационной безопасности. В комплекс мер входит не просто пожелания руководителя и его сотрудников, а устоявшаяся модель управления безопасностью информации на предприятии. По всем правилам руководство компании создает группу, которая будет отвечать за планирование работы системы менеджмента информационной безопасности. Для комплексного подхода к этому вопросу группа должна состоять из сотрудников организации (руководство, начальники и сотрудники подразделений) и сторонних консультантов. Подразделение по планированию руководствуется в своей работе международными сертификатами ИСО.

Обязательным пунктом постоянного контроля является создание и ведение журнала произошедших событий. Время от времени подразделение производит переоценку рисков и аудит. Когда защита информации выстроена по определенному алгоритму, а все структуры четко выполняют инструкции, подразделение менеджмента безопасности информации выходит на последний этап функционирования - этап совершенствования.

.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 раза.

Конечно, не стоит всегда проверять наличие ключа выполнением одной и той же серии запросов с проверкой. Лучше выполнять проверки в разных частях программы и в разное время. Это может значительно усложнить сбор статистики для отсечения фиктивных запросов.

Но не стоит забывать, что можно проанализировать программу и попытаться в дизассемблере найти все обращения к ключу. Это поможет выяснить, ответы на какие из запросов проверяются, и построить компактную таблицу для эмуляции. Так что ключи с неизвестным алгоритмом могут затруднить, но не могут предотвратить построение эмулятора для конкретной версии конкретной программы. Зато при переходе к новой версии, если перечень проверки программой ответов на запросы будет изменен, придется заново выполнять сбор статистики или анализ программы.

. Атрибуты алгоритмов.

В некоторых ключах алгоритму могут сопутствовать дополнительные атрибуты. Так, например, в ключах 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 с.]..

Эта технология, разработанная специалистами корпорации Sony, сочетает в себе использование специальной цифровой метки и шифрования. В процессе мастеринга на стеклянную матрицу наносится электронная метка, уникальная для каждой партии дисков. Метку нельзя скопировать при записи на диски CD-R, жесткий диск компьютера и при заводском тиражировании. SecuROM прозрачна для пользователей: для активации защищенных ею дисков не требуется вводить пароли или ключи, поскольку идентификация происходит автоматически при запуске содержащихся на диске приложений. В случае использования нелегальной копии приложение будет заблокировано, а на экране появится сообщение об ошибке.Но несмотря на все ухищрения разработчиков SecuROM, защищенные ею диски можно легко скопировать при помощи утилиты CloneCD .

Проверка подлинности диска состоит из нескольких этапов. Сначала читается информация о диске, установленном в приводе, и проверяется его метка тома. Затем выполняется 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. команда с кодом ОхВВ, описание которой не удалось найти в документации, но которая, скорее всего, отвечает за управление скоростью вращения привода.

Чтение одиночного сектора с номером 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 и в случае, если выполняется команда чтения, делать временною задержку, какую мог бы иметь оригинальный диск, и только после этого возвращать управление вызывающей программе., несомненно, является неординарной защитой. Ее исключительность заключается хотя бы в том, что до сих пор не существует надежного способа быстро создавать работоспособные копии защищенных дисков

Программные средства защиты.

Под программными методами защиты информации понимается комплекс специальных алгоритмов и компонентов общего программного обеспечения вычислительных систем, предназначенных для выполнения функций контроля, разграничения доступа и исключения несанкционированного доступа [3].

Существующие системы защиты программного обеспечения можно классифицировать по ряду признаков, среди которых можно выделить:

метод установки;

используемые механизмы защиты;

принцип функционирования.

Системы защиты ПО по методу установки можно подразделить на:

системы, устанавливаемые на скомпилированные модули ПО;

системы, встраиваемые в исходный код ПО до компиляции;

комбинированные.

Системы первого типа наиболее удобны для производителя ПО, так как легко можно защитить уже полностью готовое и оттестированное ПО, а потому и наиболее популярны. В то же время стойкость этих систем достаточно низка (в зависимости от принципа действия СЗ), так как для обхода защиты достаточно определить точку завершения работы «конверта» защиты и передачи управления защищенной программе, а затем принудительно ее сохранить в незащищенном виде.

Системы второго типа неудобны для производителя ПО, так как возникает необходимость обучать персонал работе с программным интерфейсом (API) системы защиты с вытекающими отсюда денежными и временными затратами. Кроме того, усложняется процесс тестирования ПО и снижается его надежность, так как кроме самого ПО ошибки может содержать API системы защиты или процедуры, его использующие. Но такие системы являются более стойкими к атакам, потому что здесь исчезает четкая граница между системой защиты и как таковым ПО.

Наиболее живучими являются комбинированные системы защиты. Сохраняя достоинства и недостатки систем второго типа, они максимально затрудняют анализ и дезактивацию своих алгоритмов.

По используемым механизмам защиты системы защиты можно классифицировать на:

системы, использующие сложные логические механизмы;

системы, использующие шифрование защищаемого ПО;

комбинированные системы.

Системы первого типа используют различные методы и приёмы, ориентированные на затруднение дизассемблирования, отладки и анализа алгоритма системы защиты и защищаемого ПО. Этот тип системы защиты наименее стоек к атакам, так как для преодоления защиты достаточно проанализировать логику процедур проверки и должным образом их модифицировать.

Более стойкими являются системы второго типа. Для дезактивации таких защит необходимо определение ключа дешифрации ПО. Самыми стойкими к атакам являются комбинированные системы.

Для защиты ПО используется ряд методов, таких как:

Алгоритмы запутывания (обфускация)- используются хаотические переходы в разные части кода, внедрение ложных процедур - «пустышек», холостые циклы, искажение количества реальных параметров процедур ПО, разброс участков кода по разным областям ОЗУ и т.п.

Алгоритмы шифрования данных - программа шифруется, а затем расшифровывается по мере выполнения.

Метод проверки целостности программного кода - проверка на изменения в коде программы;

Эмуляция процессоров - создается виртуальный процессор и/или операционная система (не обязательно существующие) и программа-переводчик из системы команд IBM в систему команд созданного процессора или ОС, после такого перевода ПО может выполняться только при помощи эмулятора, что резко затрудняет исследование алгоритма ПО.

Выполнение на сервере.

По принципу функционирования СЗ можно подразделить на:

упаковщики/шифраторы;

СЗ от несанкционированного копирования;

СЗ от несанкционированного доступа (НСД).

Алгоритмы запутывания (обфускация).

Обфускация ("obfuscation" - запутывание), это один из методов защиты программного кода, который позволяет усложнить процесс реверсивной инженерии кода защищаемого программного продукта.

Обфускация может применяться не только для защиты ПО, она имеет более широкое применение, например она, может быть использована создателями вирусов, для защиты их творений и т.д.

Суть процесса обфускации заключается в том, чтобы запутать программный код и устранить большинство логических связей в нем, то есть трансформировать его так, чтобы он был очень труден для изучения и модификации посторонними лицами (будь то взломщики, или программисты которые собираются узнать уникальный алгоритм работы защищаемой программы).

Из этого следует, что обфускация одна не предназначена для обеспечения наиболее полной и эффективной защиты программных продуктов, так как она не предоставляет возможности предотвращения нелегального использования программного продукта. Поэтому обфускацию обычно используют вместе с одним из существующих методов защиты (шифрование программного кода и т.д.), это позволяет значительно повысить уровень защиты ПП в целом.

Обфускация соответствует принципу экономической целесообразности, так как ее использование не сильно, увеличивает стоимость программного продукта, и позволяет при этом снизить потери от пиратства, и уменьшить возможность плагиата в результате кражи уникального алгоритма работы защищаемого программного продукта.

Существуют различные определения процесса обфускации. Рассматривая данный процесс с точки зрения защиты ПО, и трансформации кода программы без возможности в последствии вернуться к его первоначальному виду (трансформация "в одну сторону"), можно дать такое определение:

Определение. Пусть "TR" будет трансформирующим процессом, тогда при "PR1 =TR=> PR2" программа "PR2" будет представлять собой трансформированный код программы "PR1". Процесс трансформации "TR" будет считаться процессом обфускации если, будут удовлетворены такие требования:

код программы "PR2" в результате трансформации будет существенно отличаться от кода программы "PR1", но при этом он будет выполнять те же функции что и код программы "PR1", а также будет работоспособным.

изучение принципа работы, то есть процесс реверсивной инженерии, программы "PR2" будет более сложным, трудоемким, и будет занимать больше времени, чем программы "PR1".

при каждом процессе трансформации одного и того же кода программы "PR1", код программ "PR2" будут различны.

создание программы детрансформирующей программу "PR2" в ее наиболее похожий первоначальный вид, будет неэффективно.

Программный код может быть представлен в двоичном виде (последовательность байтов представляющих собой так называемый машинный код, который получается после компиляции исходного кода программы) или исходном виде (текст содержащий последовательность инструкций какого-то языка программирования, который понятен человеку, этот текст в последствии будет подвержен компиляции или интерпретации на компьютере пользователя).

Процесс обфускации может быть осуществлен над любым из выше перечисленных видов представления программного кода, поэтому принято выделять следующие уровни процесса обфускации:

Низший уровень, когда процесс обфускации осуществляется над ассемблерным кодом программы, или даже непосредственно над двоичным файлом программы хранящим машинный код.

Высший уровень, когда процесс обфускации осуществляется над исходным кодом программы написанном на языке высокого уровня.

Осуществление обфускации на низшем уровне считается менее комплексным процессом, но при этом более трудно реализуемым по ряду причин. Одна из этих причин заключается в том, что должны быть учтены особенности работы большинства процессоров, так как способ обфускации, приемлемый на одной архитектуре, может оказаться неприемлемым на другой.

Также на сегодняшний день процесс низкоуровневой обфускации исследован мало.

Большинство существующих алгоритмов и методов обфускации могут быть применены для осуществления процесса обфускации как на низшем, так и на высшем уровне.

Также иногда может быть неэффективно, подвергать обфускации весь код программы (например, из-за того, что в результате может значительно снизится время выполнения программы), в таких случаях целесообразно осуществлять обфускацию только наиболее важных участков кода.

Оценка процесса обфускации.

Существует много методов определения эффективности применения того или иного процесса обфускации, к конкретному программному коду.

Эти методы принято разделять на две группы: аналитические и эмпирические. Аналитические методы основываются на трех величинах характеризующих насколько эффективен тот или иной процесс обфускации:

Устойчивость - указывает на степень сложности осуществления реверсивной инженерии над кодом прошедшим процесс обфускации.

Эластичность - указывает на то насколько хорошо данный процесс обфускации, защитит программный код от применения деобфускаторов.

Стоимость преобразования - позволяет оценить, насколько больше требуется системных ресурсов для выполнения кода прошедшего процесс обфускации, чем для выполнения оригинального кода программы.

Их наиболее эффективно применять при сравнении различных алгоритмов обфускации, но при этом они не могут дать абсолютного ответа на вопрос насколько эффективно применение того или иного алгоритма, именно к данному программному коду.

Эмпирические же методы могут дать приемлемый ответ на такой вопрос, т.к. они основываются на статистических данных получаемых в результате исследований. Для проведения одного из таких исследований нужна группа людей (как можно лучше знакомых, с реверсивной инженерией), фрагмент кода защищаемой программы, и набор различных алгоритмов обфускации.

Результаты такого исследования будут включать в себя минимальное количество времени, которое потребовалось группе людей, для того чтобы изучить каждый фрагмент кода прошедшего один из алгоритмов обфускации.

Виды обфускации.

.Преобразования форматирования, или лексические преобразования.

К этому классу относятся преобразования, затрудняющие визуальное восприятие программы. Они включают в себя удаление отступов, комментариев, замену имён идентификаторов произвольными наборами символов и прочее. Лексические преобразования не рассматриваются в рамках данной работы.

.Преобразования структур данных.

Этот класс включает в себя преобразования, изменяющие структуры данных, с которыми работает программа. Примерами таких преобразований могут служить изменение иерархии наследования классов, объединение скалярных переменных одного типа в массив.

.Преобразования потока управления программы.

К этому классу относится методы обфускации, изменяющие последовательность выполнения отдельных фрагментов программы. В их числе вставка тел функций на место их вызова, добавление «непрозрачных предикатов», недостижимого кода, избыточного кода.

.Преобразования потока данных программы.

В этот класс входят преобразования, влияющие на зависимости по данным между переменными в программе. Сюда относится добавление фиктивных зависимостей, внесение избыточности в обработку данных, изменение времени жизни переменных и многое другое.

Обфускация такого вида включает в себя следующие методы:

удаление всех комментариев в коде программы, или изменение их на дезинформирующие;

удаление различных пробелов, отступов, которые обычно используют для лучшего визуального восприятия кода программы;

замену имен идентификаторов (имен переменных, массивов, структур, функций, процедур и т.д.), на произвольные длинные наборы символов, которые трудно воспринимать человеку.

Эти методы направлены только на усложнение анализа кода программы человеком. Отсутствие комментариев не влияет существенно на анализ (их могло вообще не быть на стадии создания кода исследуемой программы). Форматирование текста программы в удобный для восприятия вид может быть легко проведено вручную или с помощью автоматических средств. Имена идентификаторов так же могут быть изменены в процессе деобфускации на удобные и значимые для исследователя.

Многие методы этого вида обфускации используют так называемые непрозрачные предикаты. В качестве таких предикатов выступают последовательности операций, результат работы которых сложно определить.

Определение. Непрозрачной переменной V назовем переменную, вводимую при обфускации программы и удовлетворяющую следующим свойствам:

.На стадии обфускации программы значение переменной V можно определить по самой программе и по дополнительной информации, доступной на этой стадии, но отсутствующей в тексте программы;

.По тексту обфусцированной программы установить значение переменной V сложно.

Аналогично определяется непрозрачный предикат - предикат Р считается непрозрачным предикатом, если его результат известен только в процессе обфускации, то есть после осуществления процесса обфускации, определение значения такого предиката становится трудным. Предикат возвращает значения из множества {истина, ложь}.

Обозначим через PT:

непрозрачный предикат, возвращающий всегда истинное значение, через PF;

непрозрачный предикат, возвращающий всегда ложное значение, и через P;

непрозрачный предикат, который может вернуть как истинное, так и ложное значение.

Тривиальным непрозрачным предикатом назовем такой предикат, значение которого можно установить локальным статическим анализом кода программы. Слабым непрозрачным предикатом назовем предикат, значение которого можно определить глобальным статическим анализом всей программы. Применение таких предикатов несущественно запутывает программу. Ниже представлен фрагмент кода, в котором вводится тривиальный непрозрачный предикат.

{v,a=5,b=6;=a+b;(b>5) …//всегда истина

…(random(1,5)<0) … //всегда ложно

}

Внесение недостижимого кода.

Метод обфускации, в котором удобно использовать непрозрачные предикаты. Данный метод состоит в том, что в программу добавляются новые инструкции, которые на самом деле никогда не выполняются (ни при каком наборе входных параметров). Несмотря на то, что вносимые инструкции реально никогда не исполняются, то есть являются недостижимыми, задача статического определения достижимости кода является алгоритмически неразрешимой. Этот факт не позволяет статическому анализатору в некоторых случаях, например при использовании достаточно сложных непрозрачных предикатов, отбросить добавленные инструкции как недостижимые. Простой пример использования непрозрачного предиката при добавлении недостижимого кода - размещение этого кода в функциональном блоке условного оператора, который вычисляет значение предиката PF. Поскольку значение всегда ложное, то функциональный блок условного оператора никогда не выполнится.

Назовем мёртвым такой код, выполнение которого никак не влияет на результат работы программы. Тривиальный пример мертвой инструкции - NOP, инструкция, которая ничего не делает. Менее тривиальный пример - расширение арифметических операций: прибавление, равного нулю слагаемого, умножение на равный единице множитель и т.д. В отличие от недостижимого кода, который не исполняется никогда, мёртвый код может исполняться, поэтому при использовании этого метода нужно учитывать все последствия выполнения вносимого кода. В этом методе также можно использовать непрозрачные предикаты, вставляя в мертвый код условный оператор, проверяющий значение PF. Это комбинирование недостижимого и мёртвого кода, поскольку сама проверка ложного условия является мертвой инструкцией. При этом изменяется как граф потоков управления, так и граф потоков данных.

Клонирование кода.

Этот метод состоит в том, что создается несколько копий участков кода, которые затем связываются непрозрачными предикатами типа P?. Затем к копиям применяются другие методы обфускации, делающие копии непохожими друг на друга, и хотя на самом деле неважно, какая из копий выполнится, проделанные преобразования существенно усложняют анализ графа потоков управления. На рисунке слева представлена схема клонирования кода с использованием непрозрачного предиката.

Введение «блока-диспетчера». Данный метод направлен на существенное изменение графа потоков управления программы. Другое распространенное название этого метода - «уплощение», приведение графа к плоскому виду. Метод состоит в том, что управление из одного функционального блока в другой передается не непосредственно, а через введенный в процессе обфускации «диспетчер». При этом граф потоков управления становится плоским. Граф потоков данных также существенно

изменяется, поскольку потоки данных всех функциональных блоков начинают влиять друг на друга через «диспетчер». Фактически, данный метод сводит задачу анализа графа потоков управления к задаче анализа графа потоков данных.

Метод проверки целостности кода программы.

Целостность программного кода может быть нарушена по разным причинам. Во-первых, внести изменения в код может вирус, внедрившийся в программу. Во-вторых, изменения могут быть преднамеренно внесены недоброжелателем (например, таким способом он может отключить систему проверки лицензионного кода либо попытаться удалить из программы водяной знак). В любом случае выполнение измененного программного кода нежелательно по причине невозможности гарантировать правильность его работы. Для предотвращения выполнения программы в случае, если ее код был модифицирован, в программу можно добавить специальный проверочный код, который, в случае обнаружения изменений в коде программы, будет ее аварийно завершать. На этот код будут возложены такие задачи:

.Обнаружить, что программа была модифицирована,

.Если это возможно, исправить обнаруженные изменения, в противном случае обеспечить аварийное завершение программы.

В идеальном случае обнаружение изменения в коде и соответствующее этому обнаружению аварийное завершение программы должны быть широко распределены во времени и коде программы, чтобы запутать потенциального атакующего. Очевидно, что код < if (tampered()) i = 1 / 0 > не обеспечивает достаточной защиты в связи с возможностью тривиального обнаружения и устранения.

Следующие два способа являются наиболее используемыми для проверки программы на наличие внесенных изменений:

.Исследовать исполняемый код программы и проверить, совпадает ли он с оригинальным. Для этого можно использовать некоторую одностороннюю хэш-функцию (напр., SHA1). Проверять можно не весь код, а только части, для которых неизменность является критичной.

.Исследовать правильность промежуточных результатов, получаемых в программе. Этот подход известен как проверка программы (program verification). Кроме рассматриваемых целей, этот метод также может использоваться для верификации или тестирования программы на этапе разработки и является самым применяемым для решения задачи обнаружения изменений в программе.

Для проверки приложения на неизменность предлагается использовать множество объектов - троек <тестер, интервал, корректор>. Тестером называется подпрограмма, вычисляющая хэш-функцию от некоторого интервала (участка кода) программы и сравнивающая его с оригиналом. В процессе выполнения тестеры запускаются и проверяют правильность интервала, за который они отвечают, путем сравнения оригинального значения хэш-функции и действительного. В случае, если значения не совпадают, программа через некоторое время аварийно завершается. Корректоры необходимы для безопасного хранения оригинальных значений хэш-функции. Корректоры могут быть как константами (т.е. просто массивом байт), так и подпрограммами, конструирующими оригинальное значение. Очевидно, второй подход обеспечивает большую защиту.

Использование каскадного подхода и создание зависимостей между тестерами поможет усложнить защиту, обеспечиваемую тестерами. В этом случае злоумышленнику для снятия защиты даже только с одного интервала потребуется обнаружение и уничтожение всех тестеров, находящихся в коде программы.

Разберем еще один подход, похожий на рассмотренный выше. Ответственными за целостность приложения являются стражники (guards) - подпрограммы, выполняющие проверку целостности данных. Отличием их от тестеров является возможность восстановления измененных участков кода. Для исправления изменений используются коды, исправляющие ошибки.

Несмотря на то, что на основе подхода, использующего проверки участков выполняемого кода, можно построить достаточно сложную систему защиты программы от модификации, этот подход имеет один серьезный концептуальный недостаток. Поскольку проверка целостности выполняется на уровне программного кода, то после внедрения защиты код программы не может быть изменен. Это приводит к достаточно большим неудобствам - например, к невозможности оптимизации (сжатия) программного кода с сохранением семантики, невозможности добавить к программе цифровую подпись. Кроме того, поскольку тестеры следят за целостностью лексики, в то время как в первую очередь стоит задача обеспечить целостность семантики, возникает проблема анализа и оценки уровня обеспечиваемой защиты.

У этого подхода имеются и другие недостатки. Например, операция чтения программой своего собственного кода (характерная для приложений, проверяющих свою целостность вышеописанным образом) является редко выполняемой, а потому легко обнаружимой. Поэтому более предпочтительны методы, проверяющие целостность семантической структуры программы.

Один из таких методов, названный забывчивым хэшированием (oblivious hashing). В качестве объекта проверки предлагается использовать не бинарный код, а след выполнения программы (функции, участка программы и т.п.). Программа (функция, участок) представляется в виде последовательности абстрактных машинных инструкций которые обращаются для чтения и записи к участкам памяти , начального состояния памяти , счетчика инструкций C и его начального значения . Следом некоторого участка программы называется пятерка , где - некоторый входной параметр, который влияет на выполнение участка программы. В процессе выполнения участка программы вычисляется хэш-функция от его следа. Поскольку след отражает семантику участка программы, полученное значение хэш - функции по сути является цифровой подписью, выполненной над поведением этого участка. Изменение как кода, так и данных, с которыми оперирует участок, приведет к несовпадению полученного при проверке значения хэш-функции с оригинальным значением, что позволит определить наличие изменений в программе.

Недостатком данного подхода является его неуниверсальность. Так, проверку методом забывчивого хэширования невозможно реализовать для участков программы, оперирующих случайными данными (такими, как текущее время, положение указателя мыши и т.п.), или данными, множество значений которых очень велико. Это существенно ограничивает множество подпрограмм, для которых можно применить этот метод.

Итак, защита от модификации кода программы является неотъемлемой частью общей задачи защиты клиентского программного обеспечения. Кроме того, программа, обладающая возможностью обнаружить изменения в своем коде, является более безопасной и в случае выполнения. Программа, не отслеживающая изменений в своем коде, потенциально может представлять угрозу как для себя, так и для других программ, выполняющимся с ней в одном окружении.

Основными атаками на алгоритмы защиты от модификации, оперирующие бинарным кодом программы, являются удаление проверочного кода и подмена хранимых внутри программы оригинальных значений хэш-функции. Из этого следует, что и проверочный код, и оригинальные значения хэш-функций должны быть хорошо защищены от воздействия. Для этих целей можно использовать запутывание (обфускация), помещение проверочного кода/данных на защищенный носитель и т.п. Атаки на алгоритмы, проверяющие целостность семантической структуры программы, являются гораздо более сложными, в первую очередь из-за сложности их обнаружения.

Электронная цифровая подпись.

Основные определения, обозначения и алгоритмы.

Для реализации схем электронной цифровой подписи (или просто цифровой подписи) требуются три следующих эффективно функционирующих алгоритма:- алгоритм генерации секретного и открытого ключей для подписи кода программы, а также проверки подписи, - s и p соответственно;- алгоритм генерации (проставления) подписи с использованием секретного ключа s;- алгоритм проверки (верификации) подписи с использованием открытого ключа p.

Алгоритмы должны быть разработаны так, чтобы выполнялось основное принципиальное свойство, - свойство невозможности получения нарушителем алгоритма As из алгоритма Ap.

Таким образом, если Ak - алгоритм генерации ключей, тогда определим значения (s,p)=Ak(α,β) как указанные выше сгенерированные ключи, где α - некоторый параметр безопасности (как правило, длина ключей), а β - параметр, характеризующий случайный характер работы алгоритма Ak при каждом его вызове.

Ключ s хранится в секрете, а открытый ключ p делается общедоступным. Это делается, как правило, путем помещения открытых ключей пользователей в открытый сертифицированный справочник. Сертификация открытых ключей справочника выполняется некоторым дополнительным надежным элементом, которому все пользователи системы доверяют обработку этих ключей. Обычно этот элемент называют Центром обеспечения безопасности или Центром доверия.

Непосредственно процесс подписи осуществляется посредством алгоритма As. В этом случае значениеc=As(m) - есть подпись кода программы m, полученная при помощи алгоритма As и ключа s.

Процесс верификации выполняется следующим образом. Пусть m* и c* - код программы и подпись для этого кода соответственно, Ap - алгоритм верификации. Тогда, выбрав из справочника общедоступный открытый ключ p, можно выполнить алгоритм верификации: b=Ap(m*,c*), где предикат b {true,false}. Если b=true, то код m* действительно соответствует подписи c*, полученной при помощи секретного ключа s, который, в свою очередь, соответствует открытому ключу p, то есть m=m*, c=c* и наоборот еслиb=false, то код программы ложен и (или) код подписан ложным ключом.

Примеры схем электронной цифровой подписи. К наиболее известным схемам цифровой подписи с прикладной точки зрения относятся схемы RSA, схемы Рабина-Уильямса, Эль-Гамаля, Шнорра и Фиата-Шамира, а также схема электронной цифровой подписи отечественного стандарта ГОСТ Р 34.10-94.

Рассмотрим несколько подробнее наиболее известные схемы цифровой подписи:

Генерация ключей:(d,(e,n))=Ak(l,b).

Подпись:As:1.md(mod n) c, где c - подпись кода программы m.

Верификация:Ap:1.[c*]e(mod n) m**,

.если m**=m*, подпись верна.

Подпись Эль-Гамаля: Вход: Числа и , где - простое l-разрядное число, а - первообразный корень по модулю . Секретный ключ , открытый ключ , такой, что , m - подписываемый код программы.

Генерация ключей:(d,(e,g,p))=Ak(l,b).

Подпись:As:1.r gk(mod p), где k RZp-1;

.находится такое c, что m [kc+dr](mod p-1),

где (c,r) - подпись кода m.

Верификация:Ap:1.если gm*=errc*(mod p), то подпись верна.

Подпись стандарта ГОСТ Р 34.10-94.

Вход: Числа где - простое l-разрядное число, - первообразный корень по модулю а - большой простой делитель . Пусть также . Секретный ключ подписи и открытый ключ .

Генерация ключей:(x,(g,p,q,y))=Ak(l,b).

Подпись Ax:

.r [gk(mod p)](mod q), где k RZq.

.s [xr+km)](mod q), где m=h(M) -рассматривается как значение хэш-функции h, соответствующей отечественному стандарту на функцию хэширования сообщений ГОСТ Р 34.11-94. Таким образом, пара (r,s) - есть подпись кода программы M.

Верификация: Ay: 1.v m-1(mod q).

2.u [gsvy-rv(mod p)](mod q);

3.Если u=r, то (r,s) - есть подпись кода программы M, где m=h(M).

Под стойкостью схемы цифровой подписи понимается стойкость в теоретико-сложностном смысле, то есть, как отсутствие эффективных алгоритмов ее подделки и (или) раскрытия. По-видимому, до сих пор основной является следующая классификация:

атака с открытым ключом, когда противник знает только открытый ключ схемы;

атака на основе известного открытого текста (известного кода программы), когда противник получает подписи для некоторого (ограниченного) количества известных ему кодов (при этом противник никак не может повлиять на выбор этих кодов);

атака на основе выбранного открытого текста, когда противник может получить подписи для некоторого ограниченного количества выбранных им кодов программы (предполагается, что коды выбираются независимо от открытого ключа, например, до того как открытый ключ станет известен);

направленная атака на основе выбранного открытого текста (то же, что предыдущая, но противник, выбирая код программы, уже знает открытый ключ);

адаптивная атака на основе выбранного открытого текста, когда противник выбирает коды программы последовательно, зная открытый ключ и зная на каждом шаге подписи для всех ранее выбранных кодов.

Атаки перечислены таким образом, что каждая последующая сильнее предыдущей.

Угрозами для схем цифровой подписи являются раскрытие схемы или подделка подписи. Определяются следующие типы угроз:

полного раскрытия, когда противник в состоянии вычислить секретный ключ подписи;

универсальной подделки, когда противник находит алгоритм, функционально эквивалентный алгоритму вычисления подписи;

селективной подделки, когда осуществляется подделка подписи для кода программы, выбранного противником априори;

экзистенциональной подделки, когда осуществляется подделка подписи хотя бы для одного кода программы (при этом противник не контролирует выбор этого кода, которое может быть вообще случайным или бессмысленным).

Угрозы перечислены в порядке ослабления. Стойкость схемы электронной подписи определяется относительно пары (тип атаки, угроза).

Если принять вышеописанную классификацию атак и угроз, то наиболее привлекательной является схема цифровой подписи, стойкая против самой слабой из угроз, в предположении, что противник может провести самую сильную из всех атак. В этом случае, такая схема должна быть стойкой против экзистенциональной подделки с адаптивной атакой на основе выбранного открытого текста.

Метод эмуляции процессора в защите ПО

Суть метода такова: некоторые функции, модули, или программа целиком, компилируются под некий виртуальный процессор, с неизвестной потенциальному взломщику системой команд и архитектурой. Выполнение обеспечивает встраиваемый в результирующий код симулятор. Таким образом, задача реинжиниринга защищенных фрагментов сводится к изучению архитектуры симулятора, симулируемого им процессора, созданию дизассемблера для последнего, и, наконец, анализу дизассемблированого кода. Задача эта нетривиальна даже для специалиста, имеющего хорошие знания и опыт в работе с архитектурой целевой машины. Взломщик же не имеет доступа ни к описанию архитектуры виртуального процессора, ни к информации по организации используемого симулятора. Стоимость взлома существенно возрастает.

Почему же, учитывая высокую теоретическую эффективность, данный метод до сих пор не используется повсеместно? Видимо по двум основным причинам. Во-первых, метод имеет особенности, что сужает области его потенциального применения - об этом будет сказано ниже. Во-вторых, и, возможно, это более серьезная причина, сложность (а следовательно и стоимость) реализации метода весьма высока. Если же учесть принципиальную возможность утечки информации о только что созданной системе, которая моментально приведет к ее неэффективности и обесцениванию, становится понятно, почему фирмы-производители защитного ПО не спешат реализовывать этот метод. Стоит, однако, отметить, что с теми или иными вариациями и ограничениями данный метод все же реализован в таких новейших продуктах как StarForce3, NeoGuard, VMProtect и др. Видимо таких продуктов будет становиться все больше и больше, а существующие будут развиваться, т.к. появляющиеся реализации подтверждают высокую эффективность метода, хоть и имеют пока слабые стороны.

Одним из недостатков метода является высокая стоимость его реализации, однако она может быть заметно снижена. В основе системы защиты, реализующей данный метод, мог бы лежать компилятор с языка высокого уровня. Необходимо машинно-зависимая фаза в любом компиляторе всего одна - кодогенерация, от зависимостей в других фазах, как правило, можно избавиться.

Если же компилятор изначально разрабатывается как мультиплатформенный, в нем, как правило, максимально упрощен процесс перенастройки на другую целевую платформу. Например, это может быть достигнуто автоматической генерацией кодогенератора по специальному описанию целевой машины. В этом случае разработчикам для смены платформы достаточно лишь изменить это описание. Но даже если собственного компилятора нет, можно воспользоваться свободно распространяемыми с открытым кодом.

А чтобы максимально упростить для пользователя работу с описываемой системой защиты, ее можно снабдить механизмами встраивания в популярные среды разработки. В этом случае схема работы такого комплекса могла бы выглядеть так, как изображено на рисунке

Рисунок 5 - Схема работы комплекса

.4 Выбор комплекса задач автоматизации

ООО «СтройСпецКомплект» дорожит своей репутацией и отношениями с клиентами.

Компания имеет несколько контрактов с крупными клиентами и ряд соглашений со средними и малыми фирмами. Компания растёт и развивается, и ищет выходы на новые рынки сбыта. Приоритетным направлением в деятельности служит разработка коробочных решений для широкой клиентской аудитории. В связи с этим возрастает требование к качеству программного обеспечения. Для повышения уровня качества была выбрана итерационная модель разработки и организован отдел тестирования.

Отдел тестирования выполняет следующие задачи:

Верификация функционала и требований.

Проверка граничных значений.

Обработка ошибок.

Эффектные тесты.

Конфигурационное тестирование.

Регрессионное тестирование.

Отдел взаимодействует с отделом разработки и отделом информационных технологий. От отдела разработки получают программы и требования к ним. Затем определяется необходимость выполнения тех или иных типов тестирования. Разрабатываются сценарии тестирования. Проводятся тестовые испытания в соответствии со сценариями. Фиксируются и документируются ошибки. Пишутся отчёты о тестировании. Пишется пользовательская документация. В случае удачного прохождения тестов, пишется выпускная документация. Затем программа вместе с пользовательской и выпускной документацией отправляется в отдел информационных технологий. Отдел информационных технологий внедряет программу клиенту. В случае нахождения клиентом ошибок, сотрудник отдела информационных технологий пишет заявку на обработку ошибки и отправляет её в отдел тестирования. После тестирования ошибки, в случае подтверждения, дефект документируется и отправляется в отдел разработки [2, 56 c.].

На данный момент компания не имеет системы управления предприятием, однако активно применяет пакет MSOffice. Информационным каналом является электронная почта.

Для автоматизации деятельности ООО «СтройСпецКомплект» был выделен отдел тестирования. Это один из ключевых процессов работы компании. Планируется извлечь выгоду из автоматизации управления отделом тестирования.

Рисунок 7 - Итерационная модель разработки

.5 Защита экономической информации на предприятии

В современных экономических условиях наибольшую угрозу для хозяйствующих субъектов представляют недобросовестные конкуренты и контрагенты, влияние криминальных структур, недостатки уголовно-правовой и экономической политики государства, а также промышленный шпионаж, преступления в сфере применения компьютерных технологий, криминальная конкуренция.

Наиболее уязвимыми с позиций экономической безопасности элементами производственно-хозяйственной деятельности являются: разработка и внедрение в производство новой продукции, достижение качества и конкурентоспособности продукции, маркетинговая, сбытовая деятельность, информационный обмен и делопроизводство.

Для защиты экономических интересов предприятий требуется появление принципиально новой подсистемы организации производства - подсистемы обеспечения экономической безопасности, задачей которой должна стать защита его экономических интересов от противоправных посягательств на них с целью обеспечения эффективности производственно-хозяйственной деятельности.

Как показывает практика, экономическая безопасность организации достигается проведением единой политики, системой мер правового, организационного, экономического и технического характера, адекватных угрозам жизненно важным интересам хозяйствующего субъекта.

Для создания и поддержания необходимого уровня защиты экономических интересов хозяйствующего субъекта должны разрабатываться система нормативно-правовых актов, регулирующих отношения сотрудников в сфере безопасности, определяться основные направления деятельности в данной области, формироваться органы обеспечения безопасности и механизм контроля за их деятельностью.

Работа по созданию единой системы безопасности включает в себя ряд направлений:

административно-распорядительная - подготовка решений по поддержанию режимов безопасности и конфиденциальности; определению положений, прав, обязанностей и ответственности должностных лиц по вопросам безопасности, а также по осуществлению представительских функций предприятия в данной области ее деятельности;

хозяйственно-распорядительная - определение (совместно с другими подразделениями предприятия) ресурсов, необходимых для решения задач по обеспечению безопасности предприятия, подготовка и проведение мероприятий организационно - технического и правового характера, направленных на сохранность его собственности, в том числе интеллектуальной;

учетно-контрольная - определение критически важных направлений финансово - экономической, производственно-коммерческой и других видов деятельности, подлежащих защите, а также возможных каналов утечки информации и других угроз финансовой стабильности и устойчивости предприятия, оценка источников их возникновения; налаживание действенного контроля;

организационно-техническая - создание организационной структуры службы безопасности, а также других структур по отдельным направлениям работы (защита информации, экономическая безопасность); организация взаимодействия между отдельными структурными подразделениями предприятия, способствующими достижению целей политики безопасности;

планово-производственная - разработка комплексных программ и отдельных планов обеспечения безопасности предприятия, подготовка и проведение соответствующих мероприятий;

материально-техническая - направленная на материально-техническое и технологическое обеспечение деятельности службы безопасности, оснащение ее специальной техникой;

научно-методическая - накопление и распространение передового опыта в области обеспечения безопасности; организация обучения сотрудников других подразделений (в необходимом им объеме);

информационно-аналитическая - сбор, накопление и обработка данных, относящихся к сфере безопасности, создание и использование необходимых для этого технических и методических средств.

2.6 Классификация вредоносного программного обеспечения (разрушающие ПО)

В ходе исследования организации ООО «СтройСпецКомплект» было обнаружено множество зараженных троянскими вирусами устройств, поэтому было проведено исследование и осуществление классификации троянского вируса.

Троянские программы различаются между собой по тем действиям, которые они производят на зараженном компьютере.- троянские утилиты удаленного администрирования

Троянские программы этого класса являются утилитами удаленного администрирования компьютеров в сети. По своей функциональности они во многом напоминают различные системы администрирования, разрабатываемые и распространяемые фирмами-производителями программных продуктов.

Единственная особенность этих программ заставляет классифицировать их как вредные троянские программы: отсутствие предупреждения об инсталляции и запуске. При запуске "троянец" устанавливает себя в системе и затем следит за ней, при этом пользователю не выдается никаких сообщений о действиях троянца в системе. Более того, ссылка на "троянца" может отсутствовать в списке активных приложений. В результате "пользователь" этой троянской программы может и не знать о ее присутствии в системе, в то время как его компьютер открыт для удаленного управления.

Утилиты скрытого управления позволяют делать с компьютером все, что в них заложил автор: принимать или отсылать файлы, запускать и уничтожать их, выводить сообщения, стирать информацию, перезагружать компьютер и т.д. В результате эти троянцы могут быть использованы для обнаружения и передачи конфиденциальной информации, для запуска вирусов, уничтожения данных и т.п. - пораженные компьютеры оказываются открытыми для злоумышленных действий хакеров [3, 88 c.].

Таким образом, троянские программы данного типа являются одним из самых опасных видов вредоносного программного обеспечения, поскольку в них заложена возможность самых разнообразных злоумышленных действий, присущих другим видам троянских программ.

Отдельно следует отметить группу бэкдоров, способных распространяться по сети и внедряться в другие компьютеры, как это делают компьютерные черви. Отличает такие "троянцы" от червей тот факт, что они распространяются по сети не самопроизвольно (как черви), а только по специальной команде "хозяина", управляющего данной копией троянской программы [11, 58 c.].PSW - воровство паролей.

Данное семейство объединяет троянские программы, "ворующие" различную информацию с зараженного компьютера, обычно - системные пароли (PSW - Password-Stealing-Ware). При запуске PSW-троянцы ищут сиcтемные файлы, хранящие различную конфиденциальную информацию (обычно номера телефонов и пароли доступа к интернету) и отсылают ее по указанному в коде "троянца" электронному адресу или адресам.

Существуют PSW-троянцы, которые сообщают и другую информацию о зараженном компьютере, например, информацию о системе (размер памяти и дискового пространства, версия операционной системы), тип используемого почтового клиента, IP-адрес и т.п. Некоторые троянцы данного типа "воруют" регистрационную информацию к различному программному обеспечению, коды доступа к сетевым играм и прочее.AOL - семейство троянских программ, "ворующих" коды доступа к сети AOL (America Online). Выделены в особую группу по причине своей многочисленности.Clicker - интернет-кликеры

Семейство троянских программ, основная функция которых - организация несанкционированных обращений к интернет-ресурсам (обычно к веб-страницам). Достигается это либо посылкой соответствующих команд браузеру, либо заменой системных файлов, в которых указаны "стандартные" адреса интернет-ресурсов (например, файл hosts в MS Windows).

У злоумышленника могут быть следующие цели для подобных действий:

увеличение посещаемости каких-либо сайтов с целью увеличения показов рекламы;

организация DoS-атаки (Denial of Service) на какой-либо сервер;

привлечение потенциальных жертв для заражения вирусами или троянскими программами.Downloader - доставка прочих вредоносных программ

Троянские программы этого класса предназначены для загрузки и установки на компьютер-жертву новых версий вредоносных программ, установки "троянцев" или рекламных систем. Загруженные из интернета программы затем либо запускаются на выполнение, либо регистрируются "троянцем" на автозагрузку в соответствии с возможностями операционной системы. Данные действия при этом происходят без ведома пользователя.

Информация об именах и расположении загружаемых программ содержится в коде и данных троянца или скачивается троянцем с "управляющего" интернет-ресурса (обычно с веб-страницы).Dropper - инсталляторы прочих вредоносных программ.

Троянские программы этого класса написаны в целях скрытной инсталляции других программ и практически всегда используются для "подсовывания" на компьютер-жертву вирусов или других троянских программ.

Данные троянцы обычно без каких-либо сообщений (либо с ложными сообщениями об ошибке в архиве или неверной версии операционной системы) сбрасывают на диск в какой-либо каталог (в корень диска C:, во временный каталог, в каталоги Windows) другие файлы и запускают их на выполнение.

Обычно структура таких программ следующая:

"Основной код" выделяет из своего файла остальные компоненты (файл 1, файл 2,. .), записывает их на диск и открывает их (запускает на выполнение).

Обычно один (или более) компонентов являются троянскими программами, и как минимум один компонент является "обманкой": программой-шуткой, игрой, картинкой или чем-то подобным. "Обманка" должна отвлечь внимание пользователя и/или продемонстрировать то, что запускаемый файл действительно делает что-то "полезное", в то время как троянская компонента инсталлируется в систему.

В результате использования программ данного класса хакеры достигают двух целей:

скрытная инсталляция троянских программ и/или вирусов;

защита от антивирусных программ, поскольку не все из них в состоянии проверить все компоненты внутри файлов этого типа.Proxy - троянские прокси-сервера.

Семейство троянских программ, скрытно осуществляющих анонимный доступ к различным интернет-ресурсам. Обычно используются для рассылки спама.Spy - шпионские программы.

Данные троянцы осуществляют электронный шпионаж за пользователем зараженного компьютера: вводимая с клавиатуры информация, снимки экрана, список активных приложений и действия пользователя с ними сохраняются в какой-либо файл на диске и периодически отправляются злоумышленнику.

Троянские программы этого типа часто используются для кражи информации пользователей различных систем онлайновых платежей и банковских систем.- прочие троянские программы.

К данным троянцам относятся те из них, которые осуществляют прочие действия, попадающие под определение троянских программ, т.е. разрушение или злонамеренная модификация данных, нарушение работоспособности компьютера и прочее.

В данной категории также присутствуют "многоцелевые" троянские программы, например, те из них, которые одновременно шпионят за пользователем и предоставляют proxy-сервис удаленному злоумышленнику.- сокрытие присутствия в операционной системе.

Понятие rootkit пришло из UNIX. Первоначально это понятие использовалось для обозначения набора инструментов, применяемых для получения прав root.

Так как инструменты типа rootkit на сегодняшний день "прижились" и на других ОС (в том числе, на Windows), то следует признать подобное определение rootkit морально устаревшим и не отвечающим реальному положению дел.

Таким образом, rootkit - программный код или техника, направленная на сокрытие присутствия в системе заданных объектов (процессов, файлов, ключей реестра и т.д.).

Для поведения Rootkit в классификации "Лаборатории Касперского" действуют правила поглощения: Rootkit - самое младшее поведение среди вредоносных программ. То есть, если Rootkit-программа имеет троянскую составляющую, то она детектируется как Trojan.- "бомбы" в архивах.

Представляют собой архивы, специально оформленные таким образом, чтобы вызывать нештатное поведение архиваторов при попытке разархивировать данные - зависание или существенное замедление работы компьютера или заполнение диска большим количеством "пустых" данных. Особенно опасны "архивные бомбы" для файловых и почтовых серверов, если на сервере используется какая-либо система автоматической обработки входящей информации - "архивная бомба" может просто остановить работу сервера.

Встречаются три типа подобных "бомб": некорректный заголовок архива, повторяющиеся данные и одинаковые файлы в архиве.

Некорректный заголовок архива или испорченные данные в архиве могут привести к сбою в работе конкретного архиватора или алгоритма разархивирования при разборе содержимого архива. Значительных размеров файл, содержащий повторяющиеся данные, позволяет заархивировать такой файл в архив небольшого размера (например, 5ГБ данных упаковываются в 200КБ RAR или в 480КБ ZIP-архив).

Огромное количество одинаковых файлов в архиве также практически не сказывается на размере архива при использовании специальных методов (например, существуют приемы упаковки 10100 одинаковых файлов в 30КБ RAR или 230КБ ZIP-архив) [18, 201 c.].Notifier - оповещение об успешной атаке.

Троянцы данного типа предназначены для сообщения своему "хозяину" о зараженном компьютере. При этом на адрес "хозяина" отправляется информация о компьютере, например, IP-адрес компьютера, номер открытого порта, адрес электронной почты и т.п. Отсылка осуществляется различными способами: электронным письмом, специально оформленным обращением к веб-странице "хозяина", ICQ-сообщением.

Данные троянские программы используются в многокомпонентных троянских наборах для извещения своего "хозяина" об успешной инсталляции троянских компонент в атакуемую систему.

На рисунке 8 показана схема классификации вредоносного программного обеспечения (троянские вирусы)

Рисунок 8 - Классификация троянских программ

. Реализация разработки подсистемы защиты информации от вредоносного программного обеспечения

.1 Разработка совершенствования подсистемы защиты информации от вредоносного программного обеспечения

Во время изучения структуры организации ООО «СтройСпецКомплект» были изучены и разработаны средства по совершенствованию подсистемы защиты информации от вредоносного программного обеспечения, а именно

была изучена структура антивирусной защиты предприятия а так же были внесены предложения по усовершенствованию антивирусной защиты.

Особенности работы антивирусных программ.

Одним из наиболее эффективных способов борьбы с вирусами является использование антивирусного программного обеспечения. Антивирусная программа - программа, предназначенная для поиска, обнаружения, классификации и удаления компьютерного вируса и вирусоподобных программ.

Вместе с тем необходимо признать, что не существует антивирусов, гарантирующих стопроцентную защиту от вирусов, поскольку на любой алгоритм антивируса всегда можно предложить новый алгоритм вируса, невидимого для этого антивируса.

При работе с антивирусными программами необходимо знать некоторые понятия:

Ложное срабатывание - детектирование вируса в незараженном объекте (файле, секторе или системной памяти).

Пропуск вируса - недетектирование вируса в зараженном объекте.

Сканирование по запросу - поиск вирусов по запросу пользователя. В этом режиме антивирусная программа неактивна до тех пор, пока не будет вызвана пользователем из командной строки, командного файла или программы-расписания.

Сканирование налету - постоянная проверка на вирусы объектов, к которым происходит обращение (запуск, открытие, создание и т. п.). В этом режиме антивирус постоянно активен, он присутствует в памяти "резидентно".

Классификация антивирусных программ.

Самыми популярными и эффективными антивирусными программами являются антивирусные сканеры, CRC-сканеры (ревизоры). Существуют также антивирусы блокировщики и иммунизаторы.

Сканеры. Принцип работы антивирусных сканеров основан на проверке файлов, секторов и системной памяти и поиске в них известных и новых (неизвестных сканеру) вирусов. Для поиска известных вирусов используются так называемые "маски". Маской вируса является некоторая постоянная последовательность кода, специфичная для этого конкретного вируса. Если вирус не содержит постоянной маски или длина этой маски недостаточно велика, то используются другие методы. Примером такого метода является алгоритмический язык, описывающий все возможные варианты кода, которые могут встретиться при заражении подобного типа вирусом. Такой подход используется некоторыми антивирусами для детектирования полиморфик-вирусов.

Во многих сканерах используются также алгоритмы "эвристического сканирования", т. е. анализ последовательности команд в проверяемом объекте, набор некоторой статистики и принятие решения для каждого проверяемого объекта. Поскольку эвристическое сканирование является во многом вероятностным методом поиска вирусов, то на него распространяются многие законы теории вероятностей. Например, чем выше процент обнаруживаемых вирусов, тем больше количество ложных срабатываний.

Сканеры также можно разделить на две категории - "универсальные" и "специализированные". Универсальные сканеры рассчитаны на поиск и обезвреживание всех типов вирусов вне зависимости от операционной системы, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, например макровирусов.

Сканеры также делятся на "резидентные" (мониторы), производящие сканирование "на лету", и "нерезидентные", обеспечивающие проверку системы только по запросу. Как правило, "резидентные" сканеры обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как "нерезидентный" сканер способен опознать вирус только во время своего очередного запуска.

К достоинствам сканеров всех типов относится их универсальность, к недостаткам - размеры антивирусных баз, которые сканерам приходится хранить и пополнять, и относительно небольшая скорость поиска вирусов.сканеры. Принцип работы CRC-сканеров основан на подсчете CRC-сумм (контрольных сумм) для присутствующих на диске файлов/системных секторов. Эти CRC-суммы затем сохраняются в базе данных антивируса, как, впрочем, и некоторая другая информация: длины файлов, даты их последней модификации и т. д. При последующем запуске CRC-сканеры сверяют данные, содержащиеся в базе данных, с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то CRC-сканеры сигнализируют о том, что файл был изменен или заражен вирусом.сканеры, использующие "анти-стелс" алгоритмы реагируют практически на 100 % вирусов сразу после появления изменений на компьютере. Характерный недостаток этих антивирусов заключается в невозможности обнаружения вируса с момента его появления и до тех пор, пока не будут произведены изменения на компьютере. CRC-сканеры не могут определить вирус в новых файлах (в электронной почте, на дискетах, в восстанавливаемых файлах или при распаковке файлов из архива), поскольку в их базах данных отсутствует информация об этих файлах.

Блокировщики. Антивирусные блокировщики - это резидентные программы, перехватывающие "вирусоопасные" ситуации и сообщающие об этом пользователю. К "вирусоопасным" относятся вызовы на открытие для записи в выполняемые файлы, запись в загрузочный сектор диска и др., которые характерны для вирусов в моменты из размножения.

К достоинствам блокировщиков относится их способность обнаруживать и блокировать вирус на самой ранней стадии его размножения, что, кстати, бывает очень полезно в случаях, когда давно известный вирус постоянно активизируется.

Иммунизаторы. Иммунизаторы делятся на два типа: иммунизаторы, сообщающие о заражении, и иммунизаторы, блокирующие заражение каким-либо типом вируса. На рисунке 12 показана классификация антивирусов.

Рисунок 12 - Классификация антивирусов

Для обеспечения стабильной работы программного обеспечения, а так обеспечения антивирусной и прочей безопасности организации :

ООО «СтройСпецКомплект» были внесены следующие предложения по усовершенствованию системы защиты от вредоносного программного обеспечения:

Требуется блокирование usb портов и приводов на некоторых персональных компьютерах организации.

Требуется улучшить организационные меры по обеспечению безопасности.

Классифицировать принципы управления информационными ресурсами.

Улучшить методы доступа персонала к рабочим ПК.

Усовершенствовать управление коммуникациями и процессами

Усовершенствовать контроль доступа на предприятии к информации.

Поставить более новое программное обеспечение

Интегрировать в единый комплекс разнородных средств и механизмов защиты и централизованное администрирование механизмов защиты.

Определить уровень доступа объектов, прав доступа пользователей к объектам кс и правила разграничения доступа.

Сформировать правила реагирования на угрозы информационным ресурсам.

Требуется оперативное оповещение администратора безопасности о попытках нарушения политики безопасности.

Усовершенствовать регистрацию действий пользователей в защищенных журналах для последующего анализа.

Ввести мониторинг состояния защищенности информационных ресурсов.

Регулярное резервное копирование данных (текущих документов, списков групп в электронном виде) на персональных компьютерах сотрудников предотвратит потерю данных из-за сбоев дисков, отключения электропитания, воздействия вирусов, внесении неверных изменений в документы;

Использовать встроенные в операционную систему и другие программные продукты средства автоматического обновления во избежание угрозы несанкционированного доступа к пк;

Использовать потоковую фильтрацию интернет трафика сотрудников факультета и блокировать его для предотвращения передачи конфиденциальных данных;

Использовать корпоративный почтовый сервер для ведения деловой переписки, обмена документами с другими сотрудниками академии и представительствами;

Проводить тренинги среди сотрудников по повышению компьютерной грамотности и обучения работы с автоматизированными системами предприятия;

Ограничение доступа в архив для не профильных сотрудников - только секретари должны иметь доступ архив.

.2 Разработка системы противодействия утечке информации по техническим каналам

В современных условиях использование технических каналов утечки

информации из средств вычислительной техники представляет собой значительную угрозу защищаемой информации.

Как известно, любое радиоэлектронное устройство в процессе своего

функционирования образует побочные излучения и наводки, в том числе информативные (то есть содержащие обрабатываемую информацию). Эти излучения и наводки в отечественной литературе сокращенно именуются - ПЭМИН. Данный термин в иностранной литературе имеет синонимы «TEMPEST» и «compromising emanations» (компрометирующие излучения). Аббревиатура «TEMPEST» появилась в конце 1960-х гг. как название секретной программы Министерства обороны США по разработке методов предотвращения утечки информации через различного рода демаскирующие и побочные излучения электронного оборудования. Обострение проблемы утечки информации в 1980-х - начале 90-х гг. стимулировало развитие методов и средств защиты информации от утечки по каналам побочных электромагнитных излучений и наводок. Это связано как с осознанием общественностью опасности TEMPEST-угроз, так и с широким развитием криптографии. Применение при передаче информации стойких алгоритмов шифрования зачастую не оставляет шансов дешифровать перехваченное сообщение.

В этих условиях TEMPEST-атака может быть единственным способом получения хотя бычасти информации до того, как она будет зашифрована.

К настоящему времени сформировался общий подход к защите информации от TEMPEST-атак. Его основные положения заключаются в том, что организация эффективной защиты возможна только на основе системного применения комплекса взаимодополняющих методов, средств, приёмов и способов защиты информации. Общей классификацией методов защиты является их разделение на организационные и технические. Организационные методы реализуются посредством проведения мероприятий по установлению и поддержанию временных, территориальных и пространственных ограничений на условия функционирования и режим работы объекта. Технические методы направлены на недопущение на границе и за пределами контролируемой зоны объекта таких напряженностей электромагнитного поля и напряжений опасного сигнала, которые превышали бы нормируемые значения, а также на затруднение выделения полезной информации из полученной. Актуальные Tempest-атаки и общие методы противодействия им. Анализ зарубежного опыта показывает, что в современных условиях наиболее распространены технологии добывания информации по техническим каналам, использующие возможности: преобразования информативного сигнала компьютера из акустического в электрический за счёт микрофонного эффекта; воздействия на технические или программные средства информационных систем с помощью специально внедрённых программных средств; перехвата побочных электромагнитных излучений информативного сигнала от технических средств и линий передачи информации; перехвата наводок информативного сигнала на цепи электропитания и линии связи; передачи радиоизлучения или электрических сигналов, модулированных информативным сигналом, через специальные электронные устройства перехватаинформации, внедрённые в технические средства, защищаемые помещения и подключённые к каналам связи и обработки информации и др. Рассмотрим некоторые из перечисленных технологий 1. Для получения информации с использованием искусственно создаваемых каналов разработана технология Soft-TEMPEST (1998), авторами которой являются английские ученые Маркус Кун и Росс Андерсон. Она представляет собой целенаправленный сбор информации и организацию ее передачи с помощью специально внедренных программных закладок, использующих методы компьютерной стеганографии. Результаты своих исследований авторы изложили в статье «Soft TEMPEST: передача скрытых данных с использованием электромагнитных излучений» («Soft TEMPEST: hidden data transmission using electromagnetic emanations») [14, 56 c.].

Особенностью технологии Soft-TEMPEST является использование для передачи данных канала ПЭМИН, что значительно затрудняет обнаружение самого факта несанкционированной передачи по сравнению с традиционной компьютерной стеганографией. Основная опасность технологии Soft-TEMPEST заключается в скрытности работы программы-вируса. Такая программа, в отличие от большинства вирусов не портит данные, не нарушает работу компьютера, не производит несанкционированную рассылку по сети, а значит, долгое время не обнаруживается пользователем и администратором сети. Исследователи рассмотрели возможность передачи информации по сформированному радиоканалу, способ передачи информации с использованием размывания контура изображения полутонами. 2. Другая TEMPEST-угроза связана с возможностью анализа и обработки оптических излучений видимого диапазона, источниками которых являются дисплеи настольных и портативных персональных компьютеров, световые индикаторы

динамического состояния периферийных устройств, коммуникационного оборудования компьютерных сетей, пультов и панелей управления информационными системами. Как полагают большинство экспертов, обращение к оптическому диапазону связано с поиском новых методов несанкционированного получения информации из компьютерных систем, которые уже защищены по стандарту ТЕМРЕSТ.

. Одним из TEMPEST-каналов утечки информации являются побочные акустические излучения. Именно этим заинтересовались авторитетные израильские криптографы Ади Шамир и Эран Тромер (Adi Shamir, Eran Tromer) из Вейцмановского института, которые опубликовали в Интернете работу о возможностях дистанционного съема секретной информации с компьютера. Проведенный учеными анализ акустических волн, порождаемых компьютером, убедительно показал, что по звукам, издаваемым центральным процессором компьютера, удается распознавать такие операции как формирование цифровой подписи и работу с криптоключами алгоритма RSA в программе шифрования GnuPG. Что касается современных методов защиты информации от съема с использованием технологии Soft-TEMPEST, то в дополнение к уже отмеченным методам защиты информации в последнее время предложены и методы программной защиты информации от утечки по каналам ПЭМИН.

. Одним из таких методов является метод TEMPEST-шрифтов (шрифтов)

удаленными верхними 30 процентами спектра горизонтальной частоты).

. Для защиты информации от утечки за счет акустических излучений

компьютера применяется звукопоглощающее оборудование, например, так называемые «звукозащищенные» корпуса. Также в качестве одного из способов защиты информации по этому каналу утечки возможно использование оптимальных схемных решений и высококачественных электронных компонентов, которые также уменьшают уровни акустических излучений. Таким образом, первые открытые иностранные публикации в середине 1980-х гг. показали всему обществу опасность современных методов добывания информации,основанных на использовании искусственно создаваемых каналов утечки информации (в частности, технологии Soft-TEMPEST), позволяющих получать информацию даже из защищенных систем. В то же время они стимулировали развитие индустрии средств защиты информации, в настоящее время имеющей годовой оборот более одного биллиона долларов.

На рисунке 13 показана схема защита от технологии Soft - TEMPEST.

Рисунок 12 - Защита от технологии Soft-TEMPEST


. Мероприятия по охране труда и безопасности жизнедеятельности

защита программный вредоносный

В ходе изучения структуры организации ООО «СтройСпецКомплект» был выявлен и рассмотрен типовой перечень ежегодно реализуемых работодателем организации ООО «СтройСпецКомплект» мероприятий по охране труда, безопасности жизнедеятельности и снижению уровней профессиональных рисков [1, 132 c.].

Актуальность вопросов охраны труда в России еще выше, чем на Западе, и объясняется это тем, что более 80% основных фондов российских предприятий давно выработали свой ресурс. Естественно, что работа на изношенном оборудовании влечет за собой повышенную аварийность, сопровождающуюся несчастными случаями различной степени тяжести.

Все это ставит на повестку дня вопросы охраны труда как первоочередные задачи развития предприятия. С одной стороны, решение этих задач дает руководителю определенную степень защищенности и уверенности в том, что завтра его предприятие не остановит инспектор, а на него прокуратура не заведет уголовное дело (в лучшем случае по халатности). С другой - решение вопросов охраны труда дает уверенность персоналу, коллективу предприятия в том, что он работает в комфортных условиях, где выполнены все требования безопасности, и что в случае чего (например, несчастного случая) работник и его семья будут защищены путем компенсационных выплат.Таким образом, охрана труда повышает эффективность производства, т.е. является важнейшим элементом конкурентоспособности предприятия.

Как же лучше построить работу по охране труда на предприятии? В первую очередь нужна система управления охраной труда (СУОТ), работающая постоянно и планомерно. СУОТ включает в себя:

цели, задачи и политику организации в области охраны труда;

организационную структуру;

деятельность по планированию;

распределение ответственности;

процедуры, процессы и ресурсы для достижения целей;

анализ результативности мероприятий по охране труда.

В отраслях экономики, субъектах Российской Федерации и в организациях могут создаваться фонды охраны труда.

Постановлениями Правительства РФ ежегодно, начиная с 2002 года, определялся порядок и условия частичного финансирования предупредительных мер по сокращению травматизма и профессиональных заболеваний работников за счёт страховых взносов по обязательному социальному страхованию от несчастных случаев на производстве и профессиональных заболеваний. Вероятнее всего подобная практика будет продолжена .

Перечень мероприятий по охране труда включает в себя следующие пункты :

Проведение в установленном порядке работ по аттестации рабочих мест по условиям труда, оценке уровней профессиональных рисков.

Реализация мероприятий по улучшению условий труда, в том числе разработанных по результатам аттестации рабочих мест по условиям труда, и оценки уровней профессиональных рисков.

Внедрение систем (устройств) автоматического и дистанционного управления и регулирования производственным оборудованием, технологическими процессами, подъемными и транспортными устройствами.

Приобретение и монтаж средств сигнализации о нарушении нормального функционирования производственного оборудования, средств аварийной остановки, а также устройств, позволяющих исключить возникновение опасных ситуаций при полном или частичном прекращении энергоснабжения и последующем его восстановлении.

Устройство ограждений элементов производственного оборудования от воздействия движущихся частей, а также разлетающихся предметов, включая наличие фиксаторов, блокировок, герметизирующих и других элементов.

Устройство новых и (или) модернизация имеющихся средств коллективной защиты работников от воздействия опасных и вредных производственных факторов.

Нанесение на производственное оборудование, органы управления и контроля, элементы конструкций, коммуникаций и на другие объекты сигнальных цветов и знаков безопасности. [21, 59 с.]

Внедрение систем автоматического контроля уровней опасных и вредных производственных факторов на рабочих местах.

Внедрение и (или) модернизация технических устройств, обеспечивающих защиту работников от поражения электрическим током.

Установка предохранительных, защитных и сигнализирующих устройств (приспособлений) в целях обеспечения безопасной эксплуатации и аварийной защиты паровых, водяных, газовых, кислотных, щелочных, расплавных и других производственных коммуникаций, оборудования и сооружений.

Механизация и автоматизация технологических операций (процессов), связанных с хранением, перемещением (транспортированием) заполнением и опорожнением передвижных и стационарных резервуаров (сосудов) с ядовитыми, агрессивными, легковоспламеняющимися и горючими жидкостями, используемыми в производстве [15, 100c.]

Механизация работ при складировании и транспортировании сырья, оптовой продукции и отходов производства.

Механизация уборки производственных помещений, своевременное удаление и обезвреживание отходов производства, являющихся источниками опасных и вредных производственных факторов, очистки воздуховодов и вентиляционных установок, осветительной арматуры, окон, фрамуг, световых фонарей.

Модернизация оборудования (его реконструкция, замена), а также технологических процессов на рабочих местах с целью снижения до допустимых уровней содержания вредных веществ в воздухе рабочей зоны, механических колебаний (шум, вибрация, ультразвук, инфразвук) и излучений (ионизирующего, электромагнитного, лазерного, ультрафиолетового).

Устройство новых и реконструкция имеющихся отопительных и вентиляционных систем в производственных и бытовых помещениях, тепловых и воздушных завес, аспирационных и пылегазоулавливающих установок, установок кондиционирования воздуха с целью обеспечения нормального теплового режима и микроклимата, чистоты воздушной среды в рабочей и обслуживаемых зонах помещений.

Приведение уровней естественного и искусственного освещения на рабочих местах, в бытовых помещениях, местах прохода работников в соответствии с действующими нормами.

Устройство новых и (или) реконструкция имеющихся мест организованного отдыха, помещений и комнат релаксации, психологической разгрузки, мест обогрева работников, а также укрытий от солнечных лучей и атмосферных осадков при работах на открытом воздухе; расширение, реконструкция и оснащение санитарно-бытовых помещений.

Приобретение и монтаж установок (автоматов) для обеспечения работников питьевой водой.

Обеспечение в установленном порядке работников, занятых на работах с вредными или опасными условиями труда, а также на работах, производимых в особых температурных и климатических условиях или связанных с загрязнением, специальной одеждой, специальной обувью и другими средствами индивидуальной защиты, смывающими и обезвреживающими средствами.

Обеспечение хранения средств индивидуальной защиты (далее - СИЗ), а также ухода за ними (своевременная химчистка, стирка, дегазация, дезактивация, дезинфекция, обезвреживание, обеспыливание, сушка), проведение ремонта и замена СИЗ.

Приобретение стендов, тренажеров, наглядных материалов, научно-технической литературы для проведения инструктажей по охране труда, обучения безопасным приемам и методам выполнения работ, оснащение кабинетов (учебных классов) по охране труда компьютерами, теле-, видео-, аудиоаппаратурой, лицензионными обучающими и тестирующими программами, проведение выставок, конкурсов и смотров по охране труда.

Организация в установленном порядке <*> обучения, инструктажа, проверки знаний по охране труда работников.

Организация обучения работников оказанию первой помощи пострадавшим на производстве.

Обучение лиц, ответственных за эксплуатацию опасных производственных объектов

Проведение в установленном порядке обязательных предварительных и периодических медицинских осмотров (обследований).

Оборудование по установленным нормам помещения для оказания медицинской помощи и (или) создание санитарных постов с аптечками, укомплектованными набором лекарственных средств и препаратов для оказания первой помощи.

Заключение

В данной ВКР решены задачи, направленные на разработку системы и подсистемы защиты от вредоносного программного обеспечения, а так же решены некоторые задачи по обеспечению комплексной защиты информации на предприятии в целом. Для этого было выполнена и собрана информация по составу структуре и методах реализации систем программной и содержательной реализации системы комплексной защиты информации). В соответствии с указанными проблемами поставлена задача разработки подсистемы защиты от вредоносного программного обеспечения информации на предприятии, а так же хищения информации.

Одним из наиболее значимых факторов угрозы нарушения безопасности информации, является : Вирусы, Трояны, черви, реализующем процессы обработки информации. Оценка защищенности информационных технологий определяется, в первую очередь, наличием законодательных актов и нормативно-технических документов по обеспечению безопасности информационных технологий

Проектирование выполнено с использованием методов системного анализа для изучения предметной области, построения схем предметной области и для описания логической и физической схем данных, методы аналогий и сравнений, которые были использованы на всех этапах проектирования.

В результате проектирования разработано прикладное решение.

Обеспечение информационной безопасности является сегодня одним из основных требований к информационным системам. Причина этого - обширное внедрение злоумышленником вредоносного программного обеспечения на предприятии, а так же всевозможные виды внедрения другого вредоносного По представленного в данной ВКР.

Список использованных источников

Аппак, М.А. Автоматизированные рабочие места на основе персональных ЭВМ [Текст] / М.А. Аппак. - М.:Радио и связь, 2011. - 250 с.

Асокин, В. В. Основы информационной безопасности [Текст] / В. В. Асокин. - М.: КУБГУ, 2012. - 297 с.

Бахвалов, Н. С. Методы обнаружения угроз [Текст] / Н. С. Бахвалов. - М.:Наука, 2012. - 630 с.

Быстров, Ю.А. Современные угрозы информационной безопасности [Текст] / Ю.А. Быстров. - М .: МФТИ, 2012. - 180 с.

Васильев, И. В. Курс общей информатики [Текст] / И. В. Васильев. - М.: ИНФТЕХ, 2014. - 432 с.

Галич, А. В. Информатика для всех [Текст] / А. В. Галич. - М.: ПРОСВЕТЛЕНИЕ, 2014. - 268 с.

Клюев, А.С. Вредоносное программное обеспечение [Текст] / А. С. Клюев. - М.: Собрание, 2011. - 464 с.

Красный, И.А. Техническая документация. Методы анализа [Текст] / И.А. Красный. - М.: ИНФТЕХ, 2010. - 246 с.

Маврина, Г.С. Защита информации [Текст] / Г.С. Маврина.- М.: БАКУ, 2013. -180 с.

Норенков, И.П. Основы автоматизированного проектирования [Текст] / И.П. Норенков. - M.: Изд-во МГТУ им. Н.Э. Баумана, 2011. - 336 с.

Пашкин, О. Г. О классификации вирусов [Текст] / О.Г. Пашкин. - Т.: Наука, 2010. - 200 с.

Савченко, К.С. Правила безопасности при обслуживании сооружений [Текст]/ К.С. Савченко. - М .: МФТИ, 2011. - 158 с.

Селин, В.Р. Анализ программного обеспечения [Текст] / В.Р. Селин. - М.: Наука, 2014. -231 с.

Сидоров, Э. А. Разработка системы информационной безопасности [Текст]/Э. А. Сидоров.- М.: МФТИ, 2011. - 537 с.

Трален, Е.А. Информационная безопасность и защита информации [Текст] / Е.А. Трален. - М.: ПРОСВЕТЛЕНИЕ, 2011. - 425 c.

Тюлев, А.С. Проектирование систем автоматизации технологических процессов [Текст] / А. С. Тюлев.- М.: ИНФТЕХ, 2011. - 364 с.

Увалов, А. А. Системы вредоносного ПО [Текст]/А. А.Увалов.- М. Наука, 2012. - 223 с.

Хешняков, И. В. Модели и методы оценки угроз информационной безопасности [Текст] / И. В. Хешняков. - М.: Наука, 2012. - 234 с.

Шаджиева, О. В. Курс общей информатики и информационной безопасности [Текст] / О. В. Шаджиева. - М.: Наука, 2014. - 324 с.

Шандала, М. Г. Охрана и оздоровление окружающей среды в условиях научно-технической революции [Текст] / М. Г. Шандала. - М.: Наука, 2012. - 375 с.

Шашкина, С. В. Модели и методы оценки угроз информационной безопасности [Текст] / С. В. Шашкина. - М.: ИНФТЕХ 2012. - 355 с.

Шашкина, С. В. Экранирование сетевой безопасности [Текст] / С. В. Шашкина. - М.: ИНФТЕХ, 2012. - 255 с.

Шитров, М.Н. Криптография [Текст] / М.Н. Шитров. - М.: Наука, 2012.-355 с.

Шпалов. Н.Р. Охрана безопасности на предприятии [Текст] / Н. Г. Шпалов. - М.: ПРОСВЕТЛЕНИЕ, 2012. - 455 с.

Шурочкин, В.И. Информационная безопасность [Текст] / В.И. Шурочкин. - М.: ИНФТЕХ, 2010. - 568 с.

Похожие работы на - Совершенствование подсистемы защиты от вредоносного программного обеспечения (разрушающих программных средств) организации (по материалам ООО 'СтройСпецКомплект', Краснодарский край, ст. Пластуновская)

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!