Защита ПО новые подходы и решения Белоконь Андрей Одесса www.softcomplete.com The business of security, is the business of paranoia.

Slides:



Advertisements
Similar presentations
AUTOMATING FREE & REDUCED MEAL APPLICATION PROCESSING Online Submission Presented To Muscogee County GA. SD Image One – X208
Advertisements

Datamax/MCL Off-Line License Activation Method
Digital Certificate Installation & User Guide For Class-2 Certificates.
Installation & User Guide
Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Thomas S. Messerges, Ezzat A. Dabbish Motorola Labs Shin Seung Uk.
Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
Digital Certificate Installation & User Guide For Class-2 Certificates.
PRODUCT TRAINING Installation.
Digital Certificate Installation & User Guide For Class-2 Certificates.
Welcome To ITDC e-Procurement
Cryptography Chapter 7 Part 4 Pages 833 to 874. PKI Public Key Infrastructure Framework for Public Key Cryptography and for Secret key exchange.
Welcome to Keyboarding Pro DELUXE ® Get Started Get Started Create Your Student Record Create Your Student Record The Main Menu The Main Menu Send Files.
Application of Digital Signatures: Case Studies Jagdeep S Kochar Executive Director.
Java Security Model Lab#1 I. Omaima Al-Matrafi. Safety features built into the JVM Type-safe reference casting Structured memory access (no pointer arithmetic)
FIT3105 Smart card based authentication and identity management Lecture 4.
Summer School Certificates Diego Romano & Gilda Team.
1 Pertemuan 12 Security Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
Public Key Management Brent Waters. Page 2 Last Time  Saw multiple one-way function candidates for sigs. OWP (AES) Discrete Log Trapdoor Permutation.
MAGNET ™ Sales Manual Storage Assets Real-Time Networks Projects
Lecture 12 Security. Summary  PEM  secure  PGP  S/MIME.
MCL Licensing: How it Works
Cookies COEN 351 E-commerce Security. Client / Session Identification HTTP does not maintain state. State Information can be passed using: HTTP Headers.
Digital Signature Xiaoyan Guo/ Xiaohang Luo/
INTRODUCTION Why Signatures? A uthenticates who created a document Adds formality and finality In many cases, required by law or rule Digital Signatures.
CSCI 6962: Server-side Design and Programming
CRYPTOGRAPHY PROGRAMMING ON ANDROID Jinsheng Xu Associate Professor North Carolina A&T State University.
Digital Certificate Installation & User Guide For Class - 2 Certificates.
HTML 5 Tutorial Chapter 8 Form Elements. New Form Element HTML5 has several new elements and attributes for forms. New form types : datalist keygen output.
Secure Online USB Login System. Everything is going online Social Interactions Banking Transactions Meetings Businesses... including all sorts of crimes.
Fundamentals of Networking Discovery 1, Chapter 2 Operating Systems.
Secure Electronic Transaction (SET)
Open the home/programs section Click: Enter : Click : (Registration number and license are provided at the time of purchase. Once these are entered, you.
Week #7 Objectives: Secure Windows 7 Desktop
Lecture 23 Internet Authentication Applications modified from slides of Lawrie Brown.
Welcome to Keyboarding Pro DELUXE ® Get Started Get Started Create Your Student Record Create Your Student Record The Main Menu The Main Menu Send Files.
Louisiana Registry System Presented by Mark A. Hebert
Chapter 6 Electronic Mail Security MSc. NGUYEN CAO DAT Dr. TRAN VAN HOAI 1.
SECURITY MANAGEMENT Key Management in the case of public-key cryptosystems, we assumed that a sender of a message had the public key of the receiver at.
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
Types of Electronic Infection
All Input is Evil (Part 1) Introduction Will not cover everything Healthy level of paranoia Use my DVD Swap Shop application (week 2)
John A. Coates, P.E., Administrator Wastewater Compliance Evaluation Section, Office of Wastewater Management Florida Department of Environmental Protection.
Security in Skype Prepared by Prithula Dhungel. Security in Skype2 The Skype Service P2P based VoIP software Founded by the founders of Kazaa Can be downloaded.
Middleware for Secure Environments Presented by Kemal Altıntaş Hümeyra Topcu-Altıntaş Osman Şen.
HASP ® SRM Enabling Business Growth through Software Rights Management All Rights Reserved © 2007 Aladdin Knowledge Systems. Yariv Drory International.
1. U2F Case Study Examining the U2F paradox 3 What is Universal 2 nd Factor (U2F)?
Chapter 4 - X.509 Authentication TE-405 Network Security and Management Fall Dr. Faisal Kakar
Secure Messenger Protocol using AES (Rijndael) Sang won, Lee
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
Digital Signatures and Digital Certificates Monil Adhikari.
WebDat: A Web-based Test Data Management System J.M.Nogiec January 2007 Overview.
Security on Grid: User Interface, Internals and APIs Simone Campana LCG Experiment Integration and Support CERN IT.
How to get a CADian authority code ? (First registration) 301, Suite 448, Gasan-dong, Gumcheon-gu, Seoul, Korea Helpdesk :
Panasonic UC Pro - Activation Keys installation -
IPEmotion License Management PM (V1.2).
3.9 Temiss Installation 1.In the “IPC Setup” folder, access the “Temiss Program V5.2.6” folder and then enter the “Temiss Setup” folder. 1 Temiss Program.
There are many leading online sources that are providing reliable encryption solution for your online as well as offline file security through smart software.
Digital Certificates Presented by: Matt Weaver. What is a digital certificate? Trusted ID cards in electronic format that bind to a public key; ex. Drivers.
How to Enable Account Key Sign Instead Of Password In Yahoo? For more details:
Chapter 8 Building the Transaction Database
Installation & User Guide
Registering on the SITE is a MULTI-STEP process:
Louisiana Registry System Presented by Mark A. Hebert
Device Apps Joseph Ngari| Program Manager.
Google for Education offering
AzMERIT Training.
Online software and backups
Electronic Payment Security Technologies
Presentation transcript:

Защита ПО новые подходы и решения Белоконь Андрей Одесса The business of security, is the business of paranoia

Бизнес модель ПроизводительПокупатель распространение оплата код регистрации Ограниченное использование Генерация кода регистрации Зарегистрированная копия

Уязвимости модели Модификация кода (crack) Использование ключа на > 1 компьютере Распространение ключа Создание KeyGen

Последствия атак Модификация кода (crack) модификация кода в новой версии Использование ключа на > 1 компьютере использование HardwareID Распространение ключа блокирование ключа в новой версии Создание KeyGen изменение схемы генерации ключей

Защита кода от модификации EXECryptor AsProtect PELock Armadillo

Шифрование кода AsProtect {$I reg_crypt_begin.inc} Mess := 'Registered version'; {$I reg_crypt_end.inc} EXECryptor {$I crypt_user_start.inc} Mess := 'Registered version'; {$I crypt_user_end.inc} Код исполняется только в зарегистрированной версии

EXECryptor дополнительные средства шифрования кода {$I crypt_start.inc} // Участок зашифрованного кода if TrialMode then ShowMessage(‘Unregistered’); {$I crypt_end.inc} {$I crypt_single_start.inc} // Однократно исполняемый участок. // Код разрушается после исполнения RegName:=SecureRead(‘RegName’); RegCode:=SecureRead(‘RegCode’); {$I crypt_single_end.inc}

EXECryptor Safe API function Safe_GetProcAddr(ModuleName,ProcName: PChar): TFarProc; function Safe_MessageBox(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; function Safe_LoadLibrary(lpLibFileName: PAnsiChar): HMODULE; stdcall; function Safe_GetModuleHandle(lpModuleName: PAnsiChar): HMODULE; stdcall; function Safe_FreeLibrary(hLibModule: HMODULE): BOOL; stdcall; function Safe_GetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): TFarProc;

Надежные алгоритмы генерации ключей Криптография с открытым ключом M - регистрационная информация K - ключ регистрации F - алгоритм проверки ключа F(M, K) = 0 find K = G(M) is hard

Алгоритмы

Устойчивость алгоритмов

HFE x 1 x 2 + x 2 + x 3 = a 1 x 1 x 2 + x 1 x 3 + x 3 = a 2 x 1 + x 2 x 3 + 1= a 3 x i in 0,1

HFE x 1 x 2 + x 2 + x 3 = a 1 x 1 x 2 + x 1 x 3 + x 3 = a 2 x 1 + x 2 x 3 + 1= a 3 x i in 0,1 hash of registration info

HFE x 1 x 2 + x 2 + x 3 = a 1 x 1 x 2 + x 1 x 3 + x 3 = a 2 x 1 + x 2 x 3 + 1= a 3 x i in 0,1 hash of registration info x 1 x 2 x 3 - registration key

HFE public key x 1 x 2 + x 2 + x 3 = a 1 x 1 x 2 + x 1 x 3 + x 3 = a 2 x 1 + x 2 x 3 + 1= a 3 x i in 0,1 hash of registration info x 1 x 2 x 3 - registration key

HFE: устойчивость EuroCrypt Nessie (New European Schemes for Signatures, Integrity and Encryption) HFE-based: Flash, Sflash, Quartz На практике HFE 80 бит эквивалентна (по стойкости) RSA 512 бит

Сравнение ПО генерации стойких ключей

Короткие ключи AsProtect ZhZShJt8ob4ffXI/Z0e2BQMM cn231YAXFasi1645ScnbB/NC qNlnS2GtPJVCgcsMysPxG6/X v3wXFCgtMdfY90I3mC4hM1d3 nyvP6OETOfbYpkV7PSztvboa YCKck2hwsnbp7aomNcxsdDv9 tUsl2+o1ggag6mobCSqkmesr KXY= HardKey EM6KX-LYHDE-43U8J-KNANS

Короткие ключи Удобство распространения (в печатном виде, по телефону, факсу …) Отсутствие вложений и связанных с этим проблем Не требует особых знаний у пользователя

HardKey System

HardKey System

HardKey System

HardKey System

HardKey System // Проверка ключа регистрации function VerifyRegCode(const RegName, RegCode: string; var LicType: integer; var LicName,LicInfo: string; var Expire: TDateTime): Boolean; // идентификатор оборудования function GetHardwareID: string; // защищенная работа с реестром function SecureRead(const Name: string): string; procedure SecureWrite(const Name,Value: string); // текущая дата function SecureGetDate: TDateTime;

ActivateSoft.net License Management ServerUser PC User enters product key User prompted to activate (up to 14 days of grace period) Choice of activation method: Internet Automatic activation or Browser User manually submits hardware ID “2F75M” and product key 36JJW - XYAZ7 - L4UP7 –ABUJG - TQBAR License server looks up for the product key 36JJW - XYAZ7 - L4UP7 – ABUJG - TQBAR Verifies number of installations allowed by EULA, increases the counter and stores the hardware ID “2F75M” The server returns activation number to the user: 24M4X - NX3SQ - CT3WC-AWL7C - 6AKAH Internet Activation key is automatically applied Browser The user enters activation key into the activation wizard Activation successful An off-line certificate is automatically created; the activation wizard will no longer show up

ActivateSoft.net License Enforcement –License key generation, verification and activation based on strong HFE –All features of HardKey licenses –SDK source code (C/C++/Delphi/VB) –ASProtect & EXECryptor integration for code encryption

ActivateSoft.net Online License Management –Block stolen keys online –Product key reminder –Online key generator for many registration services –Automatically blocks licenses with suspicious activity

The business of security, is the business of paranoia ActivateSoft.net HardKey System EXECryptor Ваши вопросы - наши ответы