تکنیک تولید قفل سخت افزاری و نرم افزاری وشکستن انها ( مقاله اول )
مقدمه - در جنگ های رودررو و فیزیکی، ایجاد بسترهای امنیتی، بیشتر در قالب سنگر، خاکریز و غیره معنای واقعی پیدا می کند، ولی در جنگ های سایبری که در جهت سرقت...
نابودسازی و تغییر اطلاعات محرمانه انجام می شود، ایجاد بستر امنیتی در قالب سرویس های امنیتی مانند فایروال، آنتی ویروس، سیستم تشخیص نفوذ، آنتی اسپم، سیستم ضدجاسوسی، همچنین استفاده از قفل ها و غیره معنا پیدا می کند. امروزه یکی از دغدغه های مهم در عرصه اطلاعات، جلوگیری از نفوذ به سیستم هاست. به همین دلیل تخصص تولید قفل و روش های شکستن آن به عنوان یکی از شاخه های مهم امنیتی، اهمیت دو چندانی یافته است، تا حدی که با داشتن قفل های مناسب می توان پایداری سیستم را در مقابل حملات مختلف حفظ کرد.
انواع قفل ها
الف – قفل های سخت افزاری
ب – قفل های نرم افزاری
ج- قفل های CD، DVD وغیره
د- قفل های اینترنتی
الف – قفل های سخت افزاری
چنانچه از سخت افزار خاصی برای قفل گذاری استفاده شود، به آن قفل سخت افزاری می گوییم. این قفل ها بعضی به صورت یک رابط بر روی پورت پارالل سیستم نصب می شوند که البته هر دو نوع آن عملکرد مشابه دارند. بخش اصلی قفل، از یک حافظ قابل پاک شدن تشکیل شده که با توجه به نوع و حجم آن، دارای عملکردی متفاوت است و عمدتاً به یکی از دو روش زیر عمل می کند.
روش اول قفل گذاری سخت افزاری
روش اول قفل گذاری به این صورت است که تولید کننده نرم افزار یک یا چند بایت از اطلاعات را در قفل نوشته و برنامه در هنگام اجرا آن را چک می کند. در صورتی که قفل وجود داشته باشد، برنامه به کار خود ادامه می دهد و اگر قفل وجود نداشته باشد و یا اطلاعات خوانده شده از روی قفل صحیح نباشد، برنامه متوقف شده و با اعلام خطا از اجرای صحیح، سرباز می زند. این نوع قفل ها دارای ساختاری ساده، حافظه ای در حد چند بایت و قیمتی ارزان هستند. استفاده از این قفل ها بسیار ساد بوده و نیاز به تخصص خاصی ندارد، تنها کافی است نرم افزار ویژه قفل را (که توسط شرکت تولید کننده قفل ارایه شده) اجرا کرد. در ابتدا که قفل فاقد اطلاعات است، اول یک کلمه دلخواه، به عنوان کلمه عبور درخواست کرده و سپس با توجه به نوع قفل، یک یا چند کلمه اطلاعات را دریافت و در حافظه قفل ثبت می کند. پس از ثبت اطلاعات در قفل، تولید کننده نرم افزار، اطلاعات ثبت شده در یک برنامه را چک می کند که نحوه چک کردن اطلاعات، با توجه به نوع قفل متفاوت است. در بعضی فقط اطلاعات درون قفل چک می شود و در بعضی دیگر، در مرحله اول وجود قفل چک شده و در مرحله بعدی، اطلاعات درون آن چک می شود.
روش دوم قفل گذاری سخت افزاری
روش دیگر قفل گذاری به این صورت است که تولید کننده نرم افزار، بخش کوچکی از برنامه را در حافظه قفل قرار می دهد که در این حالت، چنانچه قفل وجود نداشته باشد، برنامه به هیچ وجه قادر به اجرا و ادامه کار نخواهد بود. این نوع قفل ها دارای ساختاری کمی پیچیده، حافظه ای گاه تا چند کیلوبایت و قیمتی نسبتاً گران هستند. استفاده از این قفل ها، به سادگی نوع قبلی نیست. البته نحوه کلی کار مشابه روش قبلی است. با اجرای نرم افزار ویژه قفل و وارد کردن کلمه عبور، باید نام فایلی را که می خواهیم بر روی آن قفل بزنیم، مشخص کنیم تا بخشی از آن در قفل ثبت شود.
ب – قفل های نرم افزاری
با توجه به نوع کاربرد برنامه، اندازه، قابلیت کپی برداری از آن بر روی دیسک، تحت شبکه بودن برنامه و غیره می توانیم از انواع روش هایی که برای حفاظت از نرم افزار در نظر داریم (و متعاقبا توضیح داده خواهد شد) استفاده کنیم. چگونگی استفاده از قفل منتخب به شرایط زیر بستگی دارد:
الف) اعتقاد طراح نرم افزار به اینکه کاربر حتما باید آن را خریداری کند تا از امکانات آن مطلع شود
در این حالت قفل نرم افزاری در ابتدای شروع به کار برنامه کنترل می شود، حتی طراح می تواند در مواقع حساس نیز قفل را مجددا کنترل کند و یا در حالتی که طراح واقعا سختگیر باشد، می تواند در زمان های مشخصی از وجود قفل اطمینان حاصل کند (مثلاً هر 4 ثانیه).البته در این حالت طراح باید روشی را که برای کنترل قفل استفاده می کند نیز در نظر بگیرد.
ب) اعتقاد طراح نرم افزار به این که کاربر می تواند از نرم افزار به عنوان نسخه نمایشی نیز استفاده کند
طراح در این حالت می بایست در مکان های خاصی از برنامه، قفل را کنترل کند. مثلا در یک برنامه حسابداری می توان تمام بخش های سیستم را آزاد گذاشت (یعنی برنامه نیازی به قفل نداشته باشد) و در صورتی که کاربر مایل به استفاده از امکانات گزارش گیری سیستم باشد، قفل نرم افزاری درخواست شود. مزیت این روش بر روش قبلی این است که دیگر نیاز به طراحی نسخه نمایشی برای مشاهده کاربران نیست. در انتها طراح باید موارد زیر را نیز در نظر گرفته و با توجه به برنامه مورد نظر یکی را انتخاب کند.
*محدودیت در تعداد کپی (Copy Limited)
در این حالت برنامه نصب کننده نرم افزار، فضای مشخصی در دیسک را با روش خاصی فرمت کرده و تعداد مجاز نسخه برداری را در آن درج می کند. به این ترتیب با هر بار کپی کردن برنامه، یک واحد از این عدد کم می شود و هنگامی که تعداد مجاز آن به صفر رسیدن دیگر نمی توان برنامه را بر روی سیستم نصب کرد.
*استفاده از دیسکت در هنگام اجرای برنامه (Required Disk)
در این حالت، دیسکت مورد نظر، یا به روش خاصی فرمت می شود و سپس هنگام اجراء اطلاعات روی آن بررسی می شود و یا قسمتی از دیسکت را به صورت فیزیکی و عمدی خراب می کنند. در اینجا، در واقع همان صدمه ای که به عمد بر سطح دیسکت وارد شده است، به عنوان قفل و محافظ نرم افزار عمل می کند. از این پس برای انتقال برنامه از یک سیستم به سیستم دیگر، این فلاپی مانند قفل سخت افزاری عمل می کند و می بایست مختصات آن توسط برنامه تایید شود و چنانچه این فلاپی در درایور نباشد، برنامه اجرا نخواهد شد.
روش های قفل گذاری نرم افزاری
در ادامه چند نمونه از روش های قفل گذاری نرم و نحوه طراحی آن آورده شده است.
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 را می دهد.
مطالب مشابه :
عناوین پروژه های پایان نامه آقای مهندس حسینی
وبلاگ دانشجویان کارشناسی سخت افزار - عناوین پروژه های پایان نامه آقای مهندس حسینی - موسسه
پروژه با میکرو پرسسور
سخت افزار با سحر - پروژه با میکرو پرسسور - قدرت در ذهن شماست نه در امکانات
دانلود رایگان پروژه درس سخت افزار 2
پروژه درس سخت افزار 2 این مقاله در چند بخش آماده شده که بخش اول آن که به قلم خودم می باشد برای
تکنیک تولید قفل سخت افزاری و نرم افزاری وشکستن انها ( مقاله اول )
مقاله ، تحقیق ، پروژه ، پایان نامه - تکنیک تولید قفل سخت افزاری و نرم افزاری وشکستن انها
طراحی سخت افزار / نرم افزار و کد برای سیستم دنبال کننده جاده خودکار فازی
سفارش انجام پروژه های متلب - طراحی سخت افزار / نرم افزار و کد برای سیستم دنبال کننده جاده
مقاله,تحقیق, پروژه و پایان نامه کامپیوتر سخت افزار و نرم افزار
پروژه و سورس دانشجويي پروژه و پایان نامه کامپیوتر سخت افزار و نرم افزار.
درس سخت افزار
آموزش و پروژه های دانشجویی - درس سخت افزار - پروزه دانشجویی & مقاله آموزشی & برنامه نویسی
پروژه CD ROM كامپيـوتـر
سخت افزار - hardware شناخت درايوهاي CD ROM. تاريخچه CD Rom ها به اواخر دهه 80ميلادي بر مي گردد و با
پروژه ها و مطالب مربوط به درس اندازه گیری و کنترل رایانه ای استاد مرامی
سخت افزار کامپیوتر - پروژه ها و مطالب مربوط به درس اندازه گیری و کنترل رایانه ای استاد مرامی
سخت افزار های موجود در کلاس های خصوصی پی ال سی وان
HMI دلتا , پروژه plc , آموزش plc - سخت افزار های موجود در کلاس های خصوصی پی ال سی وان , این وبلاگ در
برچسب :
پروژه سخت افزار