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

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

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

 

چکيده

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

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

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

 

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 را مي دهد.

 

 

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

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

مطالب مرتبط مجموعه :
آخرین مطالب سایت