Лабораторная работа 1. Ознакомление с методами определения основных характеристик пэвм
Скачать 22.66 Kb.
|
ЦЕЛЬ РАБОТЫ Ознакомление с методами определения основных характеристик ПЭВМ. АППАРАТНАЯ ЗАЩИТА ОТ КОПИРОВАНИЯ ПРОГРАММ Самым «естественным» способом использования аппаратуры для защиты программ от несанкционированного копирования является широкое использование особенностей оборудования при написании программы. Однако, это может входить в противоречия с требованиями универсальности и простоты тиражирования программного обеспечения. Подобная защита строится по типу «черного ящика». Оборудование определенным, но уникальным образом программируется: изменяется код программы в определенных местах, в некоторых точках программы происходит обращение к оборудованию с известными программе параметрами, оборудование возвращает какие–то данные, которые используются, например, для построения кода какого–то участка программы. Такая схема трудна для «вскрытия», поскольку невозможно установить по данным, передаваемым оборудованию, и по данным, получаемым от него в ответ, что за программа работает внутри. Сравнение разных копий дает мало информации для понимания происходящего (как правило, разные копии «зашумлены» случайными изменениями, чтобы затруднить поиск реальных отличий). Локальный характер обращений к оборудованию позволяет ни в один момент не строить всего исполняемого кода. Главный вопрос, стоящий при построении таких систем защиты – это обеспечение независимого функционирования оборудования, легкость монтажа и демонтажа. Первоначально подобная аппаратура размещалась внутри компьютера, как устройство, вставляемое в разъём материнской платы. Сейчас же одним из самых надежных способов реализации такой защиты является использование электронных ключей. Эти компактные устройства обычно устанавливаются на порты компьютера (обычно USB, но есть реализации и для Macintosh ADB-порта, японского стандарта Centronics36 и других). Существует огромное множество вариаций электронных ключей, совместимых со всеми сетевыми средами, операционными системами. При использовании ключа защищенное программное обеспечение «привязывается» не к компьютеру, а именно к ключу. Поэтому пользователь может взять ключ с собой и продолжить работу с защищенными данными, скажем, на домашнем компьютере. В основе электронных ключей лежат ASICпроцессоры (Application Specific Integrated Circuit). Современный ASIC-чип производится по 1,5-микронной Е2-технологии и содержит более 2500 вентилей на кристалле. По информации производителей (Aladdin, Rainbow), эти устройства, устанавливаемые на порты компьютера, совершенно не мешают работе периферийного оборудования. Многие электронные ключи позволяют осуществлять каскадирование с, образованием цепей длиной 10 и более ключей. Электронные ключи, входящие в состав аппаратнопрограммной инструментальной системы серии Aladdin HASP, не содержат элементов питания, имеют до 496 байт EPROM-памяти, доступной для чтения и записи, и возможность генерации уникальной серии кодов с использованием функции y=f(x), где х – отправляемое в ключ целое число в диапазоне от 0 до 65 535, а у – возвращаемые четыре целых числа из того же диапазона. Системы HASP предоставляет широкий выбор различных методов защиты: С использованием защитного "конверта" (Envelope) для готовых приложений без вмешательства в исходный код программы. Тело программы кодируется, и в нее добавляется специальный модуль, который при запуске защищенной программы перехватывает управление. С использованием функций API. Программа может осуществлять вызовы функции обращения к ключу из многих мест; результаты могут быть разбросаны по всему телу программы или библиотек DLL и хорошо замаскированы. Встраивание в программу вызовов API требует от разработчика некоторых усилий при программировании и модернизации программы. С использованием структурного кода PCS (Pattern Code Security), который предполагает наличие в теле программы множества структур специального вида. При вызове обращения к ключу HASP в различных частях программы происходит изменение значений переменных во всех структурах, причем отследить причинно-следственную связь и логику происходящих изменений крайне сложно. Одним из основных достоинств электронных ключей с точки зрения разработчиков программного обеспечения является возможность применять гибкие методы маркетинга. Например, использование ключей со встроенным таймером позволяет предоставлять программы в лизинг, контроль лицензии на установку клиентских частей сетевых программных продуктов. Электронные ключи, имеющие некоторый объем внутренней памяти, могут хранить идентификационную информацию о продукте, иметь счетчик запусков, определять тип версии (демонстрационная или рабочая), разрешать выполнение отдельных модулей программы, «помнить» пароли и некоторые настройки программ. Такие ключи могут контролировать сотни выполняемых программ. В частности, электронный ключ Rainbow Sentinel SuperPro содержит 128 байт собственной памяти, доступной для чтения и записи. Она организована в виде шестидесяти четырех 16-битных слов, куда может быть записана служебная и пользовательская информация (тот же счетчик запусков программ и другие функции). Один сетевой электронный ключ позволяет организовать процедуру лицензирования в сети, то есть контролировать и ограничивать количество одновременно запущенных копий программы. Ключ может устанавливаться на выделенном или невыделенном сервере или на рабочей станции. Например, при подключении ключа NetHASP к серверу запускается специальная программа HASP-server (VAP, NLM, VxD или TSR-драйвер). Реальное количество лицензий задается при заводском программировании ключа (от 5 до Unlimited пользовательских лицензий). Но имеется возможность изменять количество сетевых лицензий в сторону уменьшения самим разработчиком защищаемых программ. Пользователь защищенных программ также может получить возможность дистанционного перепрограммирования ключа: переустановить счетчик запусков программы, продлить срок аренды, увеличить число лицензий, перейти из демонстрационного режима в рабочий, обеспечить доступ к заблокированным модулям программы и многое другое. Процедура тиражирования защищенного программного продукта упрощается, так как защита на программу ставится только один раз, а потом тиражируется эталонный мастер-диск. Одним из самых защищенных в мире считается электронный ключ Hardlock. ASIC-чип этих устройств программируется только с использованием специальной платы Crypto Programmer Card, что обеспечивает почти полностью безопасное хранение ключевой информации. Каждый экземпляр этой платы является уникальным и позволяет задать 43 680 векторов инициализации алгоритма кодирования, которые могут быть использованы при программировании ключа ASIC-чипа. Логику работы чипа практически невозможно воспроизвести, а содержащийся в его памяти микрокод невозможно эмулировать или декодировать. Чип кодирует данные блоками по 64 бита. Количество комбинаций кода – 2 48. При чтении данные автоматически декодируются, а при записи кодируются с использованием заданного аппаратнореализованного алгоритма. Эту возможность данного устройства можно использовать для хранения и безопасной передачи информации в Internet. Кроме того, использование аналогичных изделий позволяет любое программное обеспечение – от операционных систем до пакетов прикладных программ - быстро и эффективно сделать уникальным. То есть сильно затруднить универсальную порчу кода аналогичного программного обеспечения. Это позволит блокировать репликацию системных вирусов и распространение червей. Универсальная возможность изменения работы остается на уровне функций, а это все же поддается контролю. К недостаткам подобного метода защиты программных продуктов от несанкционированного копирования можно отнести то, что если защищать электронными ключами несколько программ, работающих на одной ЭВМ, то использование при работе на ЭВМ десятка разнотипных электронных ключей для возможности исполнения разных лицензированных прокладных программ сильно затруднит работу пользователя. Поэтому для защиты от нелегального копирования программ, расходящихся миллионами копий она не применима, так как будет лишь отпугивать покупателей. Гораздо привлекательней здесь уступки со стороны производителей, а не навязывание защитных систем. Всё это и обуславливает сферу применения электронных ключей – достаточно дорогие, узкоспециализированные коммерческие программные продукты с достаточно невысоким тиражом. ЗАДАНИЕ НА ЛАБОРАТОРНУЮ РАБОТУ В соответствии с вариантом выбрать написать программу, определяющую уникальные характеристики ПЭВМ. Для этого необходимо Использовать следующие библиотеки Python: import platform import subprocess В случае, если вам удобнее использовать другие библиотеки, то можете использовать иные c обоснованием необходимости. ЗАДАНИЯ 0) Версия установленного Питона 1) Архитектура, название процессора 2) Сетевое имя компьютера 3) Версия ОС 4) Частота процессора 5) Производитель и название материнской платы 6) Производитель, дата и версия BIOS 7) Идентификатор ЖМД 8) Объём физической памяти 9) Структура файловой системы (тип, имена и объёмы дисков) Для выбора Индивидуального варианта необходимо взять первые буквы Фамилии, Имени и Отчества. И выбрать задание, соответствующее каждой букве по следующей таблице. Если Буквы совпадают, то нужно выбрать текущую букву и букву, идущей следующей, например, Волокитин Александр Александрович делает вариант В(3), А(1), А(1+1=2)
|