تبیان، دستیار زندگی
یکی از دغدغه های امروز در حوزه فناوری اطلاعات و فضای سایبر، برقراری امنیت است. روش متنوعی برای برقراری امنیت وجود دارد. یکی از این روش ها استفاده از انواع قفل ها بر روی نرم افزار، ست افزار، لوح فشرده و غیره است.
بازدید :
زمان تقریبی مطالعه :

روش‌های قفل‌گذاری نرم‌افزاری

چکیده

یکی از دغدغه های امروز در حوزه فناوری اطلاعات و فضای سایبر، برقراری امنیت است. روش متنوعی برای برقراری امنیت وجود دارد. یکی از این روش ها استفاده از انواع قفل ها بر روی نرم افزار، سخت افزار، لوح فشرده و غیره است. در این مقاله مانند مقاله قبل به بررسی انواع قفل و روش های ساخت آنها می پردازیم و در ادامه روش های شکستن این قفل ها را ارایه می دهیم.

روش‌های قفل‌گذاری نرم‌افزاری

روش های قفل گذاری نرم افزاری

در ادامه چند نمونه از روش های قفل گذاری نرم و نحوه طراحی آن آورده شده است.

1- قفل گذاری با استفاده از شماره سریال اصلی دیسکت

سیستم عامل برای هر دیسکت یک شماره سریال واحد (UNIQUE) اختصاص می دهد، به طوری که شماره سریال هر دو دیسکت با هم یکی نیستند. بنابراین همین روش، خود یک راه تشخیص دیسکت کلید (قفل) است.

2- قفل گذاری با استفاده از مشخصات سیستم

در این نوع قفل نرم افزاری، برنامه قبل از اجرا ابتدا مشخصات سیستم را خوانده (که این کار از طریق مراجعه به بخش های خاصی از حافظه و یا مراجعه به اطلاعات BIOS انجام می شود.) سپس آن را با فایلی که قبلا توسط نویسنده نرم افزار بر روی کامپیوتر کپی شده، مقایسه می کند و در صورت عدم برابری. اجرای برنامه پایان می پذیرد. درصد اطمینان این نوع قفل 65 تا 75 درصد است.

روش‌های قفل‌گذاری نرم‌افزاری

3- قفل با استفاده از موقعیت فایل روی هارد دیسک

این نوع قفل فقط بر روی هارد دیسک قابل استفاده بوده و به این صورت است که فایل اجرایی به موقعیت خود بر روی هارد حساس است چرا که قبل از اجرا ابتدا موقعیت خود را از روی سکتورهای ROOT  خوانده و سپس شماره کلاستر اشاره گر به خودش را به دست می آورد، سپس آن را با شماره کلاستری که قبلا توسط برنامه نویس بر روی یکی از فایل های برنامه(ممکن است به صورت کد شده باشد) قرار داده شده، مقایسه کرده و در صورت برابر بودن اجرا می شود. ضریب اطمینان این نوع قفل نیز 70 تا 80 درصد است.

4- قفل با استفاده از فرمت غیر استاندارد

این شیوه یکی از رایج ترین قفل های نرم افزاری است که هنوز هم به صورت جدی مورد استفاده قرار می گیرد. سیستم عامل برای دسترسی به اطلاعات یک دیسکت از فرمت خاصی (18 سکتور در هر تراک) استفاده می کند اما اگر یک تراک به صورت غیر استاندارد فرمت شود (مثلاً 19 سکتور در تراک) سیستم عامل دیگر توانایی استفاده از سکتورهای غیرمجاز را نخواهد داشت و بنابراین تمام نرم افزارهای تحت سیستم عامل مزبور نیز از سکتورهای مخفی استفاده نکرده، در نتیجه امکان کپی برداری از آنها بسیار ضعیف است. از همین روش برای طراحی قفل مورد نظر استفاده می شود. قفل نرم افزاری Copy Control که معروف ترین در نوع خود است، از همین روش استفاده می کند. این قفل فقط برای فلاپی دیسک قابل استفاده است و درصد اطمینان در این روش حدود 85 تا 95 درصد می باشد.

5- قفل با استفاده از شماره سریال ساختگی

این روش قفل گذاری که قوی ترین قفل است، مخلوطی از روش های 1 و 4 است، یعنی ابتدا تراک خاصی را به صورت غیراستاندارد فرمت کرده و سپس اطلاعات خاصی را درون آن قرار می دهند (شماره سریال فرضی). این قفل فقط برای فلاپی دیسک قابل استفاده بوده و ضریب اطمینان آن حدود 90 تا 98 درصد است.

6- قفل های اکتیو ایکس

در واقع یک اکتیو ایکس که مانع اجرای برنامه در شرایط خاصی شود را قفل اکتیو ایکس می نامند. این نوع قفل مانند سایر کامپوننت های برنامه نویسی است. برنامه نویس به سادگی آن را بر روی فرم برنامه خود قرار می دهد و با تنظیم پارامترها و خصوصیات آن، سبب فعالیت آن می شود. این اکتیو ایکس قبل از قرار گرفتن فرم اصلی در حافظه، شروع به کار می کند و اگر برای اولین بار اجرا می شود برحسب اندازه حافظه، شماره سریال و سرعت پردازنده کد ویژه ای تولید می کند این کد تولید شده وابسته به خصوصیات کامپیوتر است بنابراین کد برگشتی این اکتیوایکس بر روی هر سیستمی متفاوت خواهد بود.

روش‌های قفل‌گذاری نرم‌افزاری

پس از ارایه کد، کد معادل آن را از کاربر درخواست می کند. کاربر با ارایه کد تولید شده به شرکت تولدی کننده نرم افزار، کد معادل آن را دریافت می کن. این کد را کاربر از طریق تلفن یا پست الکترونیکی و یا اینترنت دریافت می کند. در صورتی که کد معادل دریافت شده پس از کد شدن معادل کد ارایه شده باشد یا به عبارتی کد ارایه شده از طرف کامپیوتر مکمل کد دریافت شده از شرکت باشد، اکتیو ایکس اجازه می دهد برنامه بدون اشکال شروع به کار کند. کاربر نیز می تواند بارها از این کد بر روی کامپیوتر خود (کامپیوتری که کد دریافت کرده) استفاده کند. پس از ورود کد، این کد در مکانی از سیستم مثلا رجیستری با یک فایل به صورت کد شده قرا م یگیدر و هر بار کامپیوتر برنامه را اجرا کند به جای درخواست کد از کاربر، کد را از رجیستری یا فایل پس از کدیابی مورد استفاده قرار می دهد.

نقاط ضعف:

*قفل های اکتیوایکس به دریافت کد از شرکت نیاز دارند یعنی کاربر باید به نحوی با شرکت تولید کننده تماس بگیرید و نمی تواند برنامه را پس از خرید بلافاصله استفاده کند.

*قفل های اکتیوایکس تنها بر روی یک سیستم اجرا می شوند و باید برای دریافت کد برای هر کامپیوتر اقدام شود (دشواری در نصب های تعداد بالا)

*در قفل های اکتیوایکس ممکن است با فرمت کردن، پارتیشن بندی تغییر یابد که شرکت نمی تواند دقیقاً حدس بزند این قفل برای این سیستم بوده یا واقعاً تغییر کرده است. در اکثر قفل های ساخته شده تغییرات این کد بسیار مشاهده شده است.

*با صدمه دیدن قطعه ای از کامپیوتر و یا تعویض یک قطعه، برنامه تصور می کند که سیستم تغییر یافته است مثلا با تغییر حافظه سیستم.

نقاط قوت:

*امنیت بالا برای برنامه نویس از نظر کپی برداری با تعداد بالا.

*دارای بیشترین امنیت نسبت به سایر قفل های نرم افزرای یا CD.

*سازگاری بسیار بالا نسبت به سایر قفل های نرم افزاری.

*قابلیت آمارگیری فروش برنامه توسط شرکت ارایه کننده کد معادل قفل های CD را می دهد.

نویسنده: هانیه کارخانه/ کارشناس مرکز پدافند غیرعامل

تنظیم برای تبیان: فاطمه مجدآبادی