Нестандартное использование классов и свойств Windows Management Instrumentation для привязки программного обеспечения к комплектующим автоматизированного рабочего места без использования инсталлятора
Проблема нелегального использования программного обеспечения. Программы побайтного копирования данных с накопителей. Виртуальная защита. Рассмотрен инструментарий управления Windows, системный анализ его классов и свойств. Защита программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 30.01.2019 |
Размер файла | 66,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1
MN414
1
MN414
Нестандартное использование классов и свойств Windows Management Instrumentation для привязки программного обеспечения к комплектующим автоматизированного рабочего места без использования инсталлятора
Белов Сергей Павлович
ФГБОУ ВПО «Московский государственный университет приборостроения и информатики»
Аспирант
Аннотация. Проблема нелегального использования программного обеспечения всегда была актуальной, усложнившейся с появлением программ побайтного копирования данных с накопителей. При их использовании виртуальная защита, встраиваемая в систему инсталлятором программного обеспечения, теряет практический смысл. В случае дорогостоящего программного обеспечения и оборудования - для его использования встает вопрос разработки иных методов защиты, даже если это требует ручной настройки для каждого оборудования. Для этого был изучен инструментарий управления Windows, произведен системный анализ его классов и свойств, выделены необходимые для работы с комплектующими и операционной системой. В статье рассматриваются данные классы и свойства в рамках защиты программного обеспечения (в том числе и их нестандартное использование).
Ключевые слова: защита; программное обеспечение; копирование; пиратство; автоматизированное рабочее место; инсталлятор; инструментарий управления windows.
программное обеспечение защита классы свойства
При первоначальном изучении проблемы защиты программного обеспечения (далее - «ПО») автором была разработана методика, использовавшая Windows Management Instrumentation (далее - «WMI») для привязки ПО к автоматизированному рабочему месту (далее - «АРМ») [1]. У методики на тот момент был ряд недостатков:
? не все классы WMI (далее - «классы») и свойства классов WMI (далее - «свойства») были проанализированы (неполнота исследования);
? методика предназначена для использования разработчиком (недоступность для рядового персонала);
? не все свойства были опробованы на практике.
В данной работе количество изученных классов и свойств составляет более 10000 (пространство имен «root\CIMV2», основное пространство параметров комплектующих АРМ), из них отобраны свойства, позволяющие установить привязку (жесткую или мягкую) к операционной системе (далее - «ОС») или комплектующим АРМ. Жесткая привязка - любое изменение комплектующей или параметра ОС приведет к определению ее как чужеродной. Мягкая привязка - определенное изменение комплектующей или параметра ОС приведет к определению ее как чужеродной (например, к модели материнской платы или общему объему оперативной памяти). Количество классов пространства имен «root\CIMV2» изменяется от АРМ к АРМ (зафиксированное количество - от 331 до 575), поэтому количество отобранных свойств составляет всего 59 единиц. Отобранные свойства обеспечивают высокую вероятность обеспечения соответствующей привязки (тестирование проводилось менее чем на 100 АРМ).
На основе отобранных свойств было написано ПО, позволяющее рядовому персоналу выбирать их и генерировать файлы электронных ключей безопасности [2]. Механизм проверки ключей единоразово интегрируется программистом любой квалификации в разрабатываемое ПО. Рядовой персонал любой квалификации получил возможность диагностики комплектующих оборудования и ключей, получая коды ошибок ключа и расшифровывая их по инструкции к ПО.
Далее приводится таблица, содержащая отобранные свойства, принадлежность их к классу, комплектующие, тип привязки (М/Ж), особенности, нестандартное применение. Несколько мягких привязок могут формировать жесткую привязку. Коды экземпляра устройства - в большинстве своем уникальны и обеспечивают жесткую привязку.
Таблица 1
Описание свойств классов WMI, используемых для привязки ПО к комплектующим АРМ
Свойство |
Класс |
Комплектующая |
Привязка |
Особенности |
Особое применение |
||
Материнская плата |
|||||||
Manufacturer |
BaseBoard |
Производитель |
М |
В случае«пиратской» материнскойплаты можетбыть пустым |
|||
Product |
BaseBoard |
Модель |
М |
Модель указывается без ревизии |
|||
Name,Manufacturer,SerialNumber,Version,ReleaseDate |
BIOS |
Чип BIOS |
М |
Важны именно как комбинация свойств |
Жесткая привязка к прошивкеBIOS |
||
SerialNumber |
BaseBoard |
Серийный номер** |
М,Ж |
В большинстве материнских плат содержит мусорную неуникальнуюинформацию («пиратские», см. [1]). |
Если серийный номер уникальный - получится жесткая привязка к нему |
||
InternalReferenceDesignator |
PortConnector |
Интерфейсы (порты I/O, активные инеактивные) |
М |
Обычноинтерфейсывида «IDE», «USB», новстречаютсявида «J2A2A», «J9A1 - TPMHDR» |
|||
PNPDeviceID |
FloppyController |
Код экземпляра контроллера FDD*** |
Ж |
||||
PNPDeviceID |
IDEController |
Код экземпляра контроллеровIDE*** |
Ж |
Обычно число контроллеровIDE (ATA,PATA,Integrated Drive Electronics) кратно двум |
|||
PNPDeviceID |
InfraredDevice |
Код экземпляра инфракрасного порта*** |
Ж |
Колодки ИК-порта встречаются и на современных материнских платах |
|||
PNPDeviceID |
ParallelPort |
Код экземпляра контроллера LPT*** |
Ж |
Свойство |
Класс |
Комплектующая |
Привязка |
Особенности |
Особое применение |
|
PNPDeviceID |
PCMCIAController |
Код экземпляра контроллера PCMCIA*** |
Ж |
Полезен при привязке ПО к ноутбуку или нетбукус поддержкой PCMCIA |
||
PNPDeviceID |
SCSIController |
Код экземпляра контроллераSCSI*** |
Ж |
ИнтерфейсSmall Computer System Interface уступил место Serial Attached SCSI в 2000-хгодах [3] |
Определяет ли данный параметр и код экземпляраконтроллераSAS - неизвестно |
|
PNPDeviceID |
1394Controller |
Код экземпляра контроллера1394*** |
Ж |
ИнтерфейсIEEE 1394(FireWire, i-Link) не уступает другим интерфейсам, обеспечивая пропускную способность до 3200Мб/с, применяется в зарубежной военнойпромышленности [4] |
||
PNPDeviceID |
SerialPort |
Код экземпляра контроллераCOM*** |
Ж |
RS232 является устаревшим, но не ушедшим с рынка комплектующи х интерфейсом |
||
PNPDeviceID |
USBController |
Код экземпляра контроллеровUSB*** |
Ж |
Обычно каждыйконтроллер USB поддерживает один разъем на материнскойплате (параинтерфейсов USB) или пару интерфейсов USB на задней панели |
Свойство |
Класс |
Комплектующая |
Привязка |
Особенности |
Особое применение |
||
PNPDeviceID |
USBHub |
Периферия: Код экземпляра концентраторо в USB*** |
Ж |
Не работает в Windows 2000.В список концентраторовUSB будутвходить подключенные к материнской плате внешние и внутренние кард-ридеры, концентраторы USB и флешки |
Код экземпляра флешки уникален, поэтому данный параметр может использоват ься в роли ключа eToken.Карты памяти таким свойством не обладают |
||
Накопитель |
|||||||
BytesPerSector |
DiskDrive |
Байт секторе** |
в |
М |
На большинстве накопителей - 512 байт. Кардридер и флешки также являются накопителями |
||
Model |
DiskDrive |
Модель |
М |
||||
InterfaceType |
DiskDrive |
Интерфейс |
М |
Иногда SATA определяется как IDE |
|||
Partitions |
DiskDrive |
Число логических дисков |
М |
||||
PNPDeviceID |
DiskDrive |
Код экземпляра*** |
Ж |
Уникален, за исключением кард-ридера |
|||
Привод |
|||||||
Caption |
CDROMDrive |
Модель |
М |
||||
PNPDeviceID |
CDROMDrive |
Код экземпляра*** |
Ж |
||||
PNPDeviceID |
FloppyDrive |
Код экземпляра (FDD)*** |
Ж |
||||
Оперативная память |
|||||||
Capacity |
PhysicalMemory |
Общее количество |
М |
||||
SerialNumber |
PhysicalMemory |
Серийный номер** |
М, Ж |
Уникален, но практически всегда пуст |
Если серийный номер уникальный - получится жесткая привязка к нему |
Свойство |
Класс |
Комплектующая |
Привязка |
Особенности |
Особое применение |
|||
SKU |
PhysicalMemory |
Идентификато р SKU** |
М(Ж?) |
Должен быть уникален, но пуст всегда. |
StockKeeping Unit-идентификат ор товарной позиции, единица учёта запасов, складской номер,используемый в торговле для отслеживани я статистики по реализованн ым товарам/усл угам |
|||
Model |
PhysicalMemory |
Модель** |
М |
Практически всегда пуст |
||||
Position |
PhysicalMemory |
Положение слотах |
в |
М |
||||
Сетевая карта |
||||||||
Manufacturer |
NetworkAdapter |
Производитель чипа* ** |
М |
Система не видит различия между физической сетевой картой и виртуальной. |
||||
PNPDeviceID |
NetworkAdapter |
Кодэкземпляра* *** |
Ж |
Уникалентолько для физических сетевых карт |
||||
MACAddress |
NetworkAdapter |
MAC-адрес* ** |
М |
Уникален, нолегко подделать |
||||
Видеокарта |
||||||||
Name |
VideoController |
Модель |
М |
Не уникален, но модель определяется однозначно |
||||
AdapterRAM |
VideoController |
Объем памяти |
М |
|||||
PNPDeviceID |
VideoController |
Код экземпляра*** |
Ж |
|||||
Процессор |
||||||||
Name |
Processor |
Модель* |
М |
|||||
ProcessorID |
Processor |
Серийный номер* ** |
М |
Хаотичен, но не уникален |
Свойство |
Класс |
Комплектующая |
Привязка |
Особенности |
Особое применение |
|
ExtClock |
Processor |
Внешняя частота* |
М |
Уникален в случае, если значение было измененопользовател ем в BIOS вручную и используется совместнос параметром модели процессора |
||
MaxClockSpeed |
Processor |
Тактовая частота* ****** |
М |
В случаеавтоматического определения вBIOS данныйпараметр использовать нельзя, так как имеются флуктуации частоты ±1Гц |
В случаеручногоопределения в BIOS может стать уникальным параметром, если используется совместнос параметром модели процессора |
|
АКБ |
||||||
DeviceID |
Battery |
Код экземпляра |
М |
Не уникален, иногдасовпадает сназваниемоборудования,которое ееиспользует |
Использован ие этих трех свойств позволяет запускатьПО на портативных ПК.Параметры батареи активны только тогда, когда батарея присутствует в оборудовании |
|
Name |
Battery |
Модель**** |
М |
Нестабильный параметр на некоторыхноутбуках - требуется до 30ти раз перевыбирать модель, убедившись в ее неизменности |
||
Свойство |
Класс |
Комплектующая |
Привязка |
Особенности |
Особое применение |
|
BatteryStatus |
Battery |
Батарея: Режим работы |
М |
«От сети», «от батареи» - 2стабильных вида данногосвойства |
||
Периферия |
||||||
Name |
Printer |
Принтеры** |
М |
Позволяетполучитьпривязку к принтеру, подключенному к конкретномупорту |
||
PNPDeviceID |
Keyboard |
Код экземпляра клавиатуры |
М |
Уникалентолько каккомбинация модели клавиатуры и порта ее подключения(только дляпортов USB) |
||
PNPDeviceID |
PointingDevice |
Код экземпляра мыши |
М |
Уникален только как комбинациямодели мыши и порта ее подключения(только для портов USB) |
||
PNPDeviceID |
TapeDrive |
Код экземпляра стримера (TapeDrive) |
Ж |
Технологии размещения информации на ленточных накопителях в настоящее время конкурентоспособны страдиционными технологиями накопителей ЭВМ [5] |
||
PNPDeviceID |
DesktopMonitor |
Периферия: Код экземпляра монитора |
М |
* - получение информации по свойству занимает более 1 секунды;
** - свойство с высокой вероятностью неуникальности и ненадежности;
*** - уникальность наиболее вероятна;
**** - нестабильное свойство.
Заключение
Системный анализ WMI позволил точно определить свойства классов WMI, необходимые для решения проблемы нелегального копирования ПО, а именно привязку ПО к конкретному АРМ. Часть отобранных признаков позволяют осуществить жесткую привязку ПО к комплектующим АРМ, предотвращая негативное воздействие программ побайтного копирования данных.
Было разработано ПО, позволяющее осуществить данную задачу посредством создания электронных ключей безопасности. Оно легко интегрируется в защищаемое ПО программистом любой квалификации, создание и обслуживание ключей доступно сотруднику любой квалификации.
Основные методы нестандартного использование свойств классов WMI:
? код экземпляра концентраторов USB (свойство PNPDeviceID класса USBHub) может быть использован для привязки ПО к флешке (независимо от ее размера, фирмы и наполнения) как к ключу eToken, запретив загрузку ПО при ее отсутствии. Уникальность данного параметра тестировалась на 20 флешках, из них 10 - одного производителя, марки, модели и объема;
? в системе присутствуют виртуальные сетевые карты, получаемые при помощи свойств класса NetworkAdapter (Manufacturer, PNPDeviceID, MACAddress);
? внешняя и тактовая частота процессора (класс Processor: MaxClockSpeed, ExtClock), в случае ручного изменения в BIOS, могут стать уникальными параметрами, если используются совместно с параметром модели процессора;
? Stock Keeping Unit оперативной памяти (класс PhysicalMemory: SKU) мог бы использоваться для отслеживания статистики отказов комплектующих определенного поставщика, если бы не был всегда пуст;
? возможна привязка к батарее ноутбука/нетбука/планшета, позволяющая запускать ПО только на этих портативных устройствах (класс Battery: DeviceID, Name, BatteryStatus);
? возможна привязка к модели монитора как наименее очевидной для взлома защиты (свойство PNPDeviceID класса DesktopMonitor).
ЛИТЕРАТУРА
1. Белов С.П. Разработка методики привязки программного обеспечения к комплектующим автоматизированного рабочего места без использования инсталлятора / Москва: МГУПИ, Сборник научных трудов VI Всероссийской научно-технической конференции «Мехатроника. Робототехника. Автоматизация», №7, 2014 г.
2. Свидетельство об официальной регистрации программы для ЭВМ №2014660899 (Защитник ПО v.1.0). Программа предназначена для привязки программного обеспечения к конкретным комплектующим системного блока (посредством создания и использования зашифрованных ключей) / Белов С.П. - 2014 г.
3. Википедия. SCSI / Сан-Франциско: Wikimedia Foundation, Inc., Свободная энциклопедия «Википедия», 2012 г. [Электронный ресурс] URL: https://ru.wikipedia.org/wiki/SCSI.
4. Уилф Салливан (Dy 4 Systems Inc.). Что заменит MIL-STD-1553 в роли сетевой магистрали военных систем следующего поколения? / Канада, Онтарио: журнал «Мир компьютерной автоматизации», №4, 1999 г.
5. Залужный Д. Ленточные накопители DAT/DDS. Настоящее и будущее формата / Москва: компания «NStor», 2008 г.
Sergey Belov
Non-standard use the classes and properties of Windows Management Instrumentation for fasten software to automation equipped working place without use installer
Abstract. The problem of the illegal use of software always was actual, complicated with appearance of the programs byte copying given with drives. Under their use virtual protection, built in system from software installer, loses the sense. In the event of high-priced software and equipment - for its use will get up the question of the development of other methods of protection even though this requires the manual setting for each equipment. For this was a studied Windows management instrumentation, is made system analysis of its classes and properties, are chosen required for work with completing. In article are considered given classes and properties within the framework of software protection (including their non-standard use).
Keywords: protection; software; copying; piracy; automated worker place; installer; windows management instrumentation.
Размещено на Allbest.ru
...Подобные документы
Понятие программного обеспечения, вопросы его разработки и использования. Общая характеристика системного программного обеспечения и работа операционной системы. Специфика процесса управления разработкой программного обеспечения и его особенности.
курсовая работа [636,2 K], добавлен 23.08.2011Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Изучение основных видов угроз программного обеспечения. Выявление наиболее эффективных средств и методов защиты программного обеспечения. Анализ их достоинств и недостатков. Описания особенностей лицензирования и патентования программного обеспечения.
курсовая работа [67,9 K], добавлен 29.05.2013Архитектура Windows NT 5. Приоритеты выполнения программного кода. Описание формата MIDI-данных. Установка драйвера в системе. Выбор средств разработки программного обеспечения. Обработка запросов драйверной модели WDM. Использование библиотеки DirectKS.
курсовая работа [498,8 K], добавлен 24.06.2009Цели и задачи информационной системы управления предприятием как формальной структуры для выдачи администрации данных, необходимых для принятия решений. Составление внутрифирменных баз данных. Правовая и экономическая защита программного обеспечения.
курсовая работа [1,6 M], добавлен 21.08.2011Проект автоматизированного рабочего места для работы с клиентами и использования клиентских баз данных. Регистрация данных о состоянии объекта управления. Обеспечение взаимодействия человека с системой. Доступ к результатам регистрации информации.
курсовая работа [1,7 M], добавлен 02.10.2010Проектирование структур данных и пользовательского интерфейса. Разработка руководства системного программиста и пользователя. Основные элементы организации работы менеджера по работе с клиентами. Характеристика программного обеспечения ООО "Доминион+".
курсовая работа [1,7 M], добавлен 14.10.2012Методические аспекты перехода на СПО в условиях школьного образования. Аналоги Linux-программ при создании школьного комплекта свободного программного обеспечения. Методика использования альтернативной реализации Windows-интерфейса в системе Linux.
дипломная работа [2,3 M], добавлен 03.05.2012Методика исследования и анализа средств аудита системы Windows с целью обнаружения несанкционированного доступа программного обеспечения к ресурсам вычислительных машин. Анализ угрозы информационной безопасности. Алгоритм работы программного средства.
дипломная работа [2,9 M], добавлен 28.06.2011Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013Появление и развитие Microsoft. Крупнейшая в мире компания-разработчик компьютерного программного обеспечения. Появление Windows и Интернета. Выход Windows XP с обновленным дизайном. Разработка интеллектуальных функций для обеспечения безопасности.
реферат [32,7 K], добавлен 19.11.2013Установка программного обеспечения на компьютер, снабженный операционной системой Microsoft Windows XP Service Pack2: офисных программ, антивируса, программы для работы в Интернете "Opera". Диагностика корректной установки программного обеспечения.
отчет по практике [101,1 K], добавлен 05.07.2009Анализ существующих технологий управления компьютерным классом. Установка программного обеспечения на компьютер Windows 2000/XP/7 и Linux debian. Выбор программного обеспечения для управления компьютерным классом. Настройка компьютеров учителя и ученика.
курсовая работа [3,8 M], добавлен 20.06.2014Особенности интерфейса между разными видами программного обеспечения OLE, разработанного корпорацией Майкрософт. Использование веб-дизайнерами современных элементов управления ActiveX для вставки в страницы мультимедийных данных приложений Windows.
курсовая работа [3,0 M], добавлен 20.08.2014Организация аппаратной части компьютеров и сетей ЭВМ. Характеристика основных видов программного обеспечения. Классификация ПО. Базовая система ввода-вывода. Виды инструментального ПО. Программы архивирования данных. Защита от компьютерных вирусов.
курсовая работа [762,0 K], добавлен 27.04.2013Практические аспекты использования прикладного программного обеспечения при разработке базы данных "Аудиторный фонд ГБОУ СПО "Старооскольский педагогический колледж". Системы управления базами данных. Описание и функциональные возможности приложения.
курсовая работа [360,4 K], добавлен 07.10.2014Понятие локализации программного обеспечения как процесса его адаптации к культуре какой-либо страны. Перевод пользовательского интерфейса, документации и сопутствующих файлов программного обеспечения. Инструментарий для локализации. Языковые теги и коды.
презентация [243,7 K], добавлен 07.10.2013Классификация программного обеспечения. Операционные системы и их функции. Служебные приложения Windows. Средства обеспечения компьютерной безопасности. Программы проверки и обслуживания диска Windows. Классификация служебных программных средств.
реферат [50,5 K], добавлен 23.06.2012Изучение технических возможностей операционной системы Windows XP – ОС семейства Windows NT корпорации Microsoft. Особенности интегрированного программного обеспечения. Дополнительные аплеты в панели управления Windows. Графический интерфейс пользователя.
презентация [7,4 M], добавлен 23.05.2010Классификация служебных программных средств. Файловая структура операционных систем. Основы графического интерфейса пользователя Windows XX. Анализ алгоритмов решения задач. Описание процесса разработки программного обеспечения и результатов работы.
курсовая работа [2,4 M], добавлен 14.11.2016