সিঁড়ি।  এন্ট্রি গ্রুপ।  উপকরণ।  দরজা.  তালা।  ডিজাইন

সিঁড়ি। এন্ট্রি গ্রুপ। উপকরণ। দরজা. তালা। ডিজাইন

» ইলেকট্রনিক কী - ফাইল Electronic key.doc। ক্রিপ্টোগ্রাফিক প্রক্রিয়ার জন্য হার্ডওয়্যার সমর্থন

ইলেকট্রনিক কী - ফাইল Electronic key.doc। ক্রিপ্টোগ্রাফিক প্রক্রিয়ার জন্য হার্ডওয়্যার সমর্থন

এই নিবন্ধটি হার্ডওয়্যার সুরক্ষা সিস্টেমগুলিকে বাইপাস করার উপায়গুলি বর্ণনা করে৷ উদাহরণ হিসেবে, আমরা আলাদিন নলেজ সিস্টেমস লিমিটেড দ্বারা তৈরি HASP (হার্ডওয়্যার এগেইনস্ট সফটওয়্যার পাইরেসি) প্রযুক্তি বিবেচনা করি। অতীতে এই প্রযুক্তিসবচেয়ে জনপ্রিয় হার্ডওয়্যার সফ্টওয়্যার সুরক্ষা সিস্টেম ছিল.

HASP হার্ডওয়্যার সুরক্ষার শক্তি অনেক গুরুতর সফ্টওয়্যার বিকাশকারীরা ব্যবহার করেন যারা তাদের পণ্য অনুমতি ছাড়া বিতরণ করতে চান না। হাস্প, উদাহরণস্বরূপ, "1C. অ্যাকাউন্টিং" বা "1C. এন্টারপ্রাইজ" প্যাকেজগুলিকে রক্ষা করে, যা ছাড়া কম বা বেশি সংগঠিত ব্যবসা টিকে থাকতে পারে না। জনপ্রিয় আইনি ডিরেক্টরি "কনসালট্যান্টপ্লাস" এছাড়াও ইলেকট্রনিক কী ব্যবহার করে ডেটা অ্যাক্সেস রক্ষা করে। উপরে উল্লিখিত বা অন্যান্য সমান ব্যয়বহুল সফ্টওয়্যার ব্যবহার করার জন্য কাউকে একটি পয়সাও প্রদান না করে, কী সহ একটি txt টুলের সন্ধানে ইন্টারনেট সার্ফ করা যথেষ্ট নয়। যাইহোক, একজন হ্যাকার সর্বদা সুরক্ষা, এমনকি হার্ডওয়্যার দিয়ে কী করতে হবে তা নির্ধারণ করবে। এবং এর জন্য তার সোল্ডারিং আয়রনের প্রয়োজন নেই।

একবার দেখা যাক

অতিরঞ্জিত করে, আমরা বলতে পারি যে HASP দুটি অংশ নিয়ে গঠিত: হার্ডওয়্যার এবং সফ্টওয়্যার। হার্ডওয়্যার হল একটি USB কীচেন, PCMCIA কার্ড, LTP ডিভাইস বা এমনকি একটি অভ্যন্তরীণ PCI কার্ডের আকারে একটি ইলেকট্রনিক কী। ইনস্টল করা সফ্টওয়্যারটি শুধুমাত্র সেই মেশিনে কাজ করবে যেখানে ইলেকট্রনিক কী ঢোকানো হয়েছে। প্রকৃতপক্ষে, মানিব্যাগের জন্য এমন একটি অপ্রীতিকর অভ্যাস থেকে সফ্টওয়্যারটিকে দুধ ছাড়ানো একটি ভাল ধারণা হবে৷

সফ্টওয়্যার অংশটিতে ইলেকট্রনিক কী ড্রাইভার এবং বিভিন্ন সফ্টওয়্যার রয়েছে যা ইলেকট্রনিক কীগুলিকে তাদের ড্রাইভারের সাথে সরাসরি সুরক্ষিত পণ্যে বা কিছু এনক্রিপ্ট করা ডেটার সাথে আবদ্ধ করে। এই নিবন্ধে আমরা একটি USB কীচেন ব্যবহার করে সুরক্ষা দেখব এবং বাইপাস করব - সম্ভবত আজকের সবচেয়ে জনপ্রিয় ইলেকট্রনিক কী।

সুরক্ষা সিস্টেম প্রক্রিয়া

কী fob নিজেই আমাদের কাছে কোন আগ্রহের বিষয় নয়, এটির সাথে অন্তর্ভুক্ত সফ্টওয়্যারের বিপরীতে। hardlock.sys মডিউল আমাদের কাছে সবচেয়ে বেশি আগ্রহের বিষয়। বিশদে না গিয়ে, আমি নোট করব যে এই ড্রাইভার হার্ডওয়্যার ডঙ্গলের সাথে ইন্টারঅ্যাক্ট করার জন্য দায়ী। এটিতে দুটি ডিভাইস অবজেক্ট রয়েছে, যার একটিকে প্রতীকীভাবে DeviceFNT0 নাম দেওয়া হয়েছে। এই বস্তুটি ব্যবহার করে, সুরক্ষিত অ্যাপ্লিকেশন, I/O ম্যানেজারের মাধ্যমে, এই সফ্টওয়্যারটি ব্যবহার করার লাইসেন্স চেক করে।

এই ধরনের একটি সুরক্ষা ব্যবস্থার প্রধান অসুবিধা হল I/O ম্যানেজারের কল বাধা দেওয়ার এবং একটি হার্ডওয়্যার কী অনুকরণ করার ক্ষমতা। একটি ভার্চুয়াল কী ড্রাইভার বিকাশের বিকল্পও রয়েছে, তবে এটি কল ইন্টারসেপশনের চেয়ে অনেক বেশি জটিল প্রযুক্তিগত কাজ।
আপনি জানেন, মডিউলটি লোড করার সময় ড্রাইভার মডেলটি DRIVER_OBJECT কাঠামোতে বর্ণনা করা হয়। এটি বার্তা হ্যান্ডলারের একটি অ্যারে সঞ্চয় করে। তদুপরি, এই ঠিকানাগুলি পুনরায় লিখতে এবং আমাদের কোড কার্যকর করার মাধ্যমে নিয়ন্ত্রণ পেতে কেউ আপনাকে বিরক্ত করবে না। এইভাবে, লাইসেন্স ডেটা প্রতিস্থাপন করে আইআরপি প্যাকেটগুলি আটকানো এবং প্রতিস্থাপন করা সম্ভব। অন্য কথায়, যদি আপনার কাছে সিকিউরিটি কী এর ডাম্প থাকে, তাহলে আপনি এটিকে এমন একটি প্রোগ্রামে পাঠাতে পারেন যা লাইসেন্স ডেটার যথার্থতা পরীক্ষা করে!

অন্য পদ্ধতি পরিচালনা করার জন্য, একটি কী ডাম্পেরও প্রয়োজন হয়, তবে ডেটা প্রতিস্থাপন ভিন্নভাবে করা হয়, যেমন সফ্টওয়্যার এমুলেশনে। অর্থাৎ, সিকিউরিটি ড্রাইভার ভার্চুয়াল কীটিকে ফিজিক্যালের মতো একইভাবে পরিচালনা করতে সক্ষম হবে।

বাধা এবং অনুকরণ

ইতিমধ্যেই উল্লেখ করা হয়েছে, ইন্টারসেপশনের ধারণা হল IRP প্যাকেট হ্যান্ডলারদের ওভাররাইট করা। এটি করার জন্য, আপনাকে অবশ্যই DRIVER_OBJECT কাঠামোর ক্ষেত্রগুলি পরিবর্তন করতে সক্ষম হতে হবে৷ সৌভাগ্যবশত, IoGetDevicePointer নামে একটি ফাংশন রয়েছে যা নামযুক্ত ডিভাইস স্ট্যাক অবজেক্টের শীর্ষে একটি পয়েন্টার এবং সংশ্লিষ্ট ফাইল অবজেক্টে একটি পয়েন্টার প্রদান করে। এখানে ফাংশনের জন্য একটি কোড স্নিপেট রয়েছে যা হুক সেট করে:

UNICODE_STRING ডিভাইসের নাম;
PDEVICE_OBJECT ডিভাইস অবজেক্ট;
PFILE_OBJECT ফাইল অবজেক্ট;

RtlInitUnicodeString(&DeviceName, lpDevice);
IoGetDeviceObjectPointer(&DeviceName, 1u, &FileObject, &DeviceObject);

DEVICE_OBJECT কাঠামোতে একটি পয়েন্টার পাওয়ার পর, আমাদের কাছে DRIVER_OBJECT এর জন্য একটি পয়েন্টার রয়েছে৷ এখন হ্যান্ডলার এবং ড্রাইভার আনলোডিং ফাংশনগুলির ঠিকানাগুলি আমাদের নিজস্ব দ্বারা প্রতিস্থাপন করা যাক:

NTSTATUS হুকডিভাইস(LPWSTR lpDevice)

gDriverObject = DeviceObject->DriverObject;

gDeviceControl = gDriverObject->MajorFunction;
gDriverObject->MajorFunction = HookDispatch;

gInternalDeviceControl = gDriverObject->MajorFunction;
gDriverObject->MajorFunction = HookDispatch;

gDriverUnload = gDriverObject->DriverUnload;
gDriverObject->DriverUnload = HookUnload;

ObfDereferenceObject(FileObject);

শেষ লাইনটি ObfDereferenceObject ফাংশনকে কল করে, যা ফাইল অবজেক্টের রেফারেন্সের সংখ্যা হ্রাস করে। রিসোর্স লিক এবং অনুরূপ ত্রুটিগুলি এড়াতে ড্রাইভারটিকে সঠিকভাবে আনলোড করতে এটি অবশ্যই করা উচিত।

যেহেতু সুরক্ষা ড্রাইভার অবজেক্টের পয়েন্টারটি সংরক্ষণ করা হয়েছে, ফাঁদটি সরাতে, আপনাকে কেবল পূর্ববর্তী আইআরপি প্যাকেট হ্যান্ডলারগুলি পুনরুদ্ধার করতে হবে:

অকার্যকর আনহুকডিভাইস (অকার্যকর)

gDriverObject->MajorFunction = gDeviceControl;
gDriverObject->MajorFunction = gInternalDeviceControl;
gDriverObject->DriverUnload = gDriverUnload;

অবশ্যই, আমাদের পয়েন্টারগুলির বৈধতার জন্য উপযুক্ত চেক যোগ করতে হবে এবং তাই।

এখন আপনাকে ড্রাইভারগুলির সঠিক আনলোডিং বাস্তবায়ন করতে হবে। যেহেতু কোনও কারণে সুরক্ষা সিস্টেমটি আমাদের ড্রাইভারের আগে তার কাজ শেষ করতে পারে, অবৈধ পয়েন্টারের কারণে সিস্টেম ক্র্যাশ এড়াতে, আমরা এই ইভেন্টটি হুকআনলোড ফাংশনে প্রক্রিয়া করব:

অকার্যকর হুকআনলোড(PDRIVER_OBJECT DrvObj)

আনহুকডিভাইস();
gDriverUnload(DrvObj);

এখানে DRIVER_OBJECT কাঠামোর ক্ষেত্রগুলি পুনরুদ্ধার করা হয়, এবং বাধাপ্রাপ্ত ডিভাইস ড্রাইভার আনলোড করার জন্য নিয়ন্ত্রণ মূল কোডে স্থানান্তরিত হয়।

আমাদের ড্রাইভার যদি সুরক্ষা ব্যবস্থার আগে বন্ধ করে দেয় তবে আমরা একই কাজ করি। আপনাকে কেবল ক্যাপচার করা সংস্থানগুলি ছেড়ে দিতে হবে এবং সংরক্ষিত gHookUnload কল করতে হবে না।

এমুলেটর কিভাবে কাজ করে

ইন্টারসেপ্টর

আইআরপি প্যাকেটের সহজতম ইন্টারসেপশনের মৌলিক নীতিগুলি জেনে, আরও বিশ্লেষণের জন্য শুধুমাত্র ইন্টারসেপ্টর নিজেই প্রয়োগ করা যাক। এটি করার জন্য, আমরা একটি ড্রাইভার অবজেক্ট তৈরি করব যাতে একটি প্রতীকী নাম (উদাহরণস্বরূপ, ডসডিভাইস হুক) এবং এন্ট্রি পয়েন্টগুলি তৈরি করা, বন্ধ করা, পড়ুন।

IoCreateDevice(DriverObject, 0, &usDeviceName, FILE_DEVICE_NULL, 0, 0, &pDeviceObject);
IoCreateSymbolicLink(&usSymbolicDeviceName, &usDeviceName);

DriverObject->MajorFunction = DriverDispatch;
DriverObject->MajorFunction = DriverDispatch;
DriverObject->MajorFunction = DriverDispatch;
DriverObject->DriverUnload = DriverUnload;

CreateFileReadFileCloseHandle ফাংশন ব্যবহার করে একটি ফাইল হিসাবে আমাদের ইন্টারসেপ্টরের সাথে কাজ করার জন্য এটি প্রয়োজনীয়। অ্যাপ্লিকেশন এবং ইন্টারসেপ্টরের মধ্যে ডেটা আদান-প্রদানের এই বাস্তবায়নের সাথে, এটি অবিলম্বে ব্যবহারকারীর প্রোগ্রামে পাঠানো অসম্ভব, তাই ধরা পড়া প্যাকেট সম্পর্কে প্রয়োজনীয় ডেটা সংরক্ষণ করার জন্য কিছু কাঠামো তৈরি করা প্রয়োজন। উদাহরণস্বরূপ, আমার দ্বারা বাস্তবায়িত একটি এককভাবে লিঙ্ক করা তালিকা। এখন আপনাকে সিদ্ধান্ত নিতে হবে কোন তথ্য বাফার করা দরকার। এটি প্যাকেজ সম্পর্কে সাধারণ তথ্য (প্রকার, পতাকা, ইত্যাদি) এবং অবশ্যই, বাফার। আপনি বাধা সময় যোগ করতে পারেন। বাফারের বিষয়বস্তু অনুলিপি করার সময়, আপনাকে তাদের ধরণ মনে রাখতে হবে, অন্যথায় এটি ক্র্যাশ হবে। সামনের দিকে তাকিয়ে, আমি নোট করব যে সুরক্ষা ড্রাইভারটি বাফারযুক্ত I/O ব্যবহার করে, যা কোডটিকে কিছুটা সরল করে।

হুক ডিসপ্যাচ কোড

যদি (idlTail->IrpData.InputLength)
{
idlTail->InputBuffer = ExAllocatePool(NonPagedPool, idlTail->IrpData.InputLength);
RtlCopyMemory(idlTail->InputBuffer, Irp->AssociatedIrp.SystemBuffer, idlTail->IrpData.InputLength);
}

যদি (IoSL->MajorFunction == IRP_MJ_DEVICE_CONTROL)
স্থিতি = pHookedDriverDispatch(DeviceObject, Irp);

যদি (idlTail->IrpData.OutputLength)
{
idlTail->OutputBuffer = ExAllocatePool(NonPagedPool, idlTail->IrpData.OutputLength);
RtlCopyMemory(idlTail->OutputBuffer, lpBuffer, idlTail->IrpData.OutputLength);
}

যা অবশিষ্ট থাকে তা হল ড্রাইভার থেকে পড়া বাস্তবায়ন করা। যেহেতু প্যাকেটটিতে বাফার রয়েছে যার বিষয়বস্তু আগ্রহের, তাই বার্তাগুলির আকার আগে থেকে জানা যায় না। অতএব, আমরা নিম্নরূপ এগিয়ে যাই: প্রথম পাঠে আমরা পাই সাধারণ জ্ঞাতব্যপ্যাকেট এবং বাফারের আকার সম্পর্কে; পুনরাবৃত্তি করার সময়, আমরা বিষয়বস্তু পড়ি, প্যাকেজের তালিকা থেকে লিঙ্কটি সরিয়ে ফেলি এবং ডেটা সহ ক্রমিক কাজের জন্য স্পিন লকগুলি সম্পর্কে ভুলবেন না:

ড্রাইভার ডিসপ্যাচ কোড

দৈর্ঘ্য = IoSL->প্যারামিটার।পড়ুন।দৈর্ঘ্য;
যদি (দৈর্ঘ্য == sizeof(IRP_DATA) && idlHead)
RtlCopyMemory(Irp->UserBuffer, &idlHead->IrpData, দৈর্ঘ্য);
অন্যথায় যদি (idlHead && Length == (idlHead->IrpData.InputLength + idlHead->IrpData.OutputLength))
{
RtlCopyMemory(Irp->UserBuffer, idlHead->InputBuffer, idlHead->IrpData.InputLength);
RtlCopyMemory((PVOID)((ULONG)Irp->UserBuffer + idlHead->IrpData.InputLength), idlHead->OutputBuffer, idlHead->IrpData.OutputLength);
}
অন্যথায় যদি (দৈর্ঘ্য == 1 && idlHead)
{
যদি (idlHead->InputBuffer)
ExFreePool(idlHead->InputBuffer);
যদি (idlHead->আউটপুটবাফার)
ExFreePool(idlHead->OutputBuffer);

idlTemp = idlHead->ldlNext;
এক্সফ্রিপুল (আইডিএলহেড);
idlHead = idlTemp;
যদি (!idlTemp)
idlTail = NULL;
}

যখন ইন্টারসেপ্টর প্রস্তুত হয়, আমরা প্রথমে এটি চালু করি এবং তারপরে কী সহ এবং ছাড়া সুরক্ষিত অ্যাপ্লিকেশনটি চালু করি। প্রাপ্ত লগগুলি থেকে এটি স্পষ্ট হয়ে যায় যে কোন নিয়ন্ত্রণ কোডগুলি পাঠানো হয়েছে এবং তাদের ফলাফলগুলি। আপনি এটিও দেখতে পারেন যে দুটি ভিন্ন কোডের (9c402450, 9c4024a0) অনুরোধ এবং প্রতিক্রিয়া পরিবর্তন হয় না। দেখে মনে হবে যে একটি টেবিল এমুলেটর তৈরি করা সম্ভব, তবে একাধিক লঞ্চের পরে আমরা নিশ্চিত যে এটি অসম্ভব, যেহেতু বাফারগুলির বিষয়বস্তু ভিন্ন, এবং এটি কীভাবে গঠিত হয় তা জানা যায়নি।

একটি চাবি ছাড়া প্যাকেট ক্যাপচার

চাবি দিয়ে আটকানো প্যাকেট

তারপরে আরও ক্রিয়াকলাপের জন্য বেশ কয়েকটি বিকল্প রয়েছে:

  • সুরক্ষা ড্রাইভারের জঙ্গল অন্বেষণ;
  • সিস্টেম ডেভেলপারদের নিজেদের তথ্য ব্যবহার করুন.

উভয় অপশন দেয় প্রয়োজনীয় তথ্য. সুতরাং, এটা দেখা যাচ্ছে যে প্যাকেটের বিষয়বস্তু পাবলিক সিমেট্রিক অ্যালগরিদম AES (অ্যাডভান্সড এনক্রিপশন স্ট্যান্ডার্ড) ব্যবহার করে এনক্রিপ্ট করা হয়েছে। যৌক্তিক লক্ষ্য হল এনক্রিপশন কী প্রাপ্ত করা।

কিন্তু আমরা যদি সিকিউরিটি সিস্টেম ডিজাইনের অধ্যয়নের আরও গভীরে অনুসন্ধান করি, তাহলে দেখা যাচ্ছে যে হার্ডওয়্যার কীটির একটি অনন্য নম্বর রয়েছে এবং এতে সমস্ত প্রয়োজনীয় তথ্য রয়েছে, তবে এটি অ্যাক্সেস করার জন্য সফ্টওয়্যার কীগুলির প্রয়োজন৷

কী ডাম্প উদাহরণ

অতএব, আপনাকে প্রথম জিনিসটি চাবিটি পেতে হবে। সমস্যাটি একটি সাধারণ পাশবিক শক্তি দ্বারা সমাধান করা যেতে পারে:

স্বাক্ষরবিহীন ছোট কী;
স্বাক্ষরবিহীন চর RefKey, VerKey;

জন্য (কী = 0; কী<= 0x7fff, Key++)
{
যদি (!HL_LOGIN(কী, 1, RefKey, VerKey))
{
HL_LOGOUT();
বিরতি;
}
}

HL_LOGIN, HL_LOGOUT ফাংশনগুলি এই প্ল্যাটফর্মে সুরক্ষিত অ্যাপ্লিকেশনগুলির বিকাশকারীদের জন্য HASP SDK থেকে উপলব্ধ, এবং নিম্নলিখিত প্রোটোটাইপগুলি রয়েছে:

WORD HL_LOGIN(WORD ModAd, Word Access, Byte *RefKey, Byt *VerKey);
WORD HL_LOGOUT(অকার্যকর);

প্রথম ফাংশনটি ড্রাইভার ব্যবহার করে একটি সুরক্ষা কী দিয়ে কাজ করার একটি সেশন খুলতে ব্যবহৃত হয়, দ্বিতীয়টি সেশনটি শেষ করে। এগুলি HASP SDK-এর পুরানো সংস্করণগুলির প্রোটোটাইপ, তবে এগুলি নতুন ধরনের কীগুলির সাথেও কাজ করে, যেহেতু বিকাশকারীরা পশ্চাদমুখী সামঞ্জস্যতা নিশ্চিত করেছে৷

নতুন এপিআই পুরানোটির থেকে সামান্য ভিন্ন, এবং এটি কোনোভাবেই ব্রুট ফোর্স অপারেশনের নীতিকে প্রভাবিত করে না। বিশদ হ্যাস্প এপিআই ডকুমেন্টেশন, ব্রুট ফোর্স এবং কী ডাম্পারের রেডিমেড বাস্তবায়ন এখানে পাওয়া যাবে।

হ্যান্ডলার

এখন আপনার কাছে মডিউলটি সঠিকভাবে কাজ করার জন্য প্রয়োজনীয় সবকিছু রয়েছে। যা অবশিষ্ট থাকে তা হল লাইসেন্স তথ্যের প্রতিস্থাপন বাস্তবায়ন করা। তাছাড়া, শুধুমাত্র কিছু IRP প্যাকেট আটকানো যেতে পারে। এখানে সবকিছু কী এবং সুরক্ষিত প্রোগ্রামের নির্দিষ্ট সংস্করণের উপর নির্ভর করে।

ড্রাইভারের মধ্যে কী ডাম্প এম্বেড না করা ভাল, তবে এটি রেজিস্ট্রি থেকে গতিশীলভাবে লোড করা ভাল। রেডিমেড রিকোয়েস্ট ইন্টারসেপ্টরের উপর নির্ভর করা ভালো, এটি ব্যবহারকারীর অ্যাপ্লিকেশনে বিশ্লেষণের জন্য ইন্টারসেপ্টেড/প্রতিস্থাপিত প্যাকেট পাঠানোর মাধ্যমে ড্রাইভারকে ডিবাগ করা সহজ করবে। মূলত, ইন্টারসেপ্টর লজিক এই মত দেখাবে:

NTSTATUS HookDispatch():

PIO_STACK_LOCATION স্ট্যাক = Irp->Tail.Overlay.CurrentStackLocation;
ULONG IoControlCode;
যদি (স্ট্যাক->মেজর ফাংশন == 14)
{
IoControlCode = Stack.DeviceIoControl.IoControlCode;
যদি (IoControlCode != 0x9c402458)
{
রিটার্ন gDeviceControl(DeviceObject, Irp);
}
অন্য
{
এনক্রিপ্ট(Irp->AssociatedIrp.SystemBuffer);
Crypt(Irp->AssociatedIrp.SystemBuffer, Key, DumpMemory);
}
}

STATUS_FAILED ফেরত দিন;

ড্রাইভার অনুরোধ প্যাকেট এনক্রিপ্ট করা হয়, তাই এর বিষয়বস্তু অ্যাক্সেস করার জন্য ডিক্রিপশন এবং তারপর এনক্রিপশন প্রয়োজন। প্রশ্ন উঠছে: কোন অ্যালগরিদম এবং কী কী এনক্রিপ্ট করতে ব্যবহার করা হয়েছিল? সিস্টেমের স্রষ্টাদের কাছ থেকে সোর্স কোডের সন্ধান করার পরে, আপনি নিম্নলিখিত প্রাথমিক প্যাকেট এনক্রিপশন অ্যালগরিদম পেতে পারেন:

এনক্রিপ্ট() কোড

অকার্যকর এনক্রিপ্ট (বাইটিই * বাফার)
{
শব্দ বীজ = (শব্দ)বাফার + 0x5e);
শব্দ Ver = (শব্দ)বাফার + 0xba);

যদি (Ver)
{
জন্য (int i = 0; i< 0xB9; i++) {
(শব্দ)(বাফার + i) += বীজ;
বীজ = (বীজ >> 15) | (বীজ<< 1);
বীজ -= (শব্দ)(বাফার + i) ^ i;
}

জন্য (int i = 0xBE; i< 0xFF; i++) {
(শব্দ)(বাফার + i) -= বীজ;
বীজ = (বীজ >> 15) | (বীজ<< 1);
বীজ += (শব্দ)(বাফার + i) ^ i;
}

(শব্দ)বাফার + 0xba) = বীজ;
}
}

এটা দেখা যায় যে অ্যালগরিদম স্বাভাবিক পরিবর্তনের চেয়ে অনেক বেশি জটিল এবং একচেটিয়া “বা”। এবং এখানে ডিক্রিপশন অ্যালগরিদম:

কোড ডিক্রিপ্ট()

অকার্যকর ডিক্রিপ্ট (বাইটিই* বাফার)
{
শব্দ বীজ = (শব্দ)বাফার + 0x5e);
শব্দ Ver = (শব্দ)বাফার + 0xba);

যদি (Ver) (
জন্য (int i = 0xFE; i > 0xBD; i—) (
বীজ -= (শব্দ)(বাফার + i) ^ i;
বীজ = (বীজ<< 15) | (Seed >> 1);
(শব্দ)(বাফার + i) += বীজ;
}

জন্য (int i = 0xB8; i >= 0; i—) (
বীজ += (শব্দ)(বাফার + i) ^ i;
বীজ = (বীজ<< 15) | (Seed >> 1);
(শব্দ)(বাফার + i) -= বীজ;
}

(শব্দ)বাফার + 0xba) = বীজ;
}
}

তারপরে ডেটা রূপান্তরের আরেকটি পর্যায় অনুসরণ করে, আরও জটিল এবং সম্পূর্ণভাবে অনুরোধের কাঠামোর উপর নির্ভরশীল। আপনি বিচ্ছিন্নকারী ছাড়া এটি করতে পারবেন না; আপনাকে বিনে ঢুকতে হবে এবং নির্মাতাদের কাছ থেকে কিছু কোড ধার করতে হবে। এটি সহজ নয়, যেহেতু নিরাপত্তা ড্রাইভার কোডটি ব্যাপকভাবে অস্পষ্ট, তবে এতে বিভিন্ন কৌশল নেই। এটি ড্রাইভারকে সম্পূর্ণরূপে নয়, শুধুমাত্র কিছু কোডের টুকরো ডিকম্পাইল করার জন্য যথেষ্ট হবে।

উপসংহারে, আমি নোট করি যে ডিভাইসআইওকন্ট্রোল ইন্টারসেপশনের উপর ভিত্তি করে একটি টেবিল এমুলেটর তৈরি করা একটি বরং কঠিন কাজ। কিন্তু এই এমুলেটর নীতিটি ইন্টারঅ্যাকশনের অন্য স্তরে ব্যবহার করা যেতে পারে: একটি ভার্চুয়াল USB বাস তৈরি করতে।

উপসংহার

নিরাপত্তা ব্যবস্থা থেকে মুক্তি পাওয়ার এটাই একমাত্র উপায় নয়। অন্যান্য, আরো উন্নত পদ্ধতি আছে। নিবন্ধে বর্ণিত নীতিগুলি আইআরপি প্যাকেটগুলিকে বাধা দেওয়ার মাধ্যমে ড্রাইভারের ক্রিয়াকলাপ বিশ্লেষণ করতেও ব্যবহার করা যেতে পারে। এইভাবে আপনি আপনার হাঁটুতে তৈরি আপনার কিটটিতে একটি ভাল টুল যুক্ত করতে পারেন। শুভকামনা!

যেকোনো ক্রিপ্টোগ্রাফিক অ্যালগরিদমের নিরাপত্তা ব্যবহৃত ক্রিপ্টোগ্রাফিক কী দ্বারা নির্ধারিত হয়। ভাল ক্রিপ্টোগ্রাফিক কীগুলির পর্যাপ্ত দৈর্ঘ্য এবং এলোমেলো বিট মান থাকতে হবে। টেবিলে 4.3 সিমেট্রিক এবং অ্যাসিমেট্রিক ক্রিপ্টোসিস্টেমগুলির মূল দৈর্ঘ্য দেখায়, যা ব্রুট ফোর্স অ্যাটাক (ব্রুট ফোর্স অ্যাটাক) একই প্রতিরোধ প্রদান করে।

কী পেতে, হার্ডওয়্যার এবং সফ্টওয়্যার র্যান্ডম কী মান তৈরি করতে ব্যবহৃত হয়। একটি নিয়ম হিসাবে, সিউডোর্যান্ডম নম্বর সেন্সর (PRN) ব্যবহার করা হয়। যাইহোক, সংখ্যা তৈরিতে এলোমেলোতার মাত্রা অবশ্যই অনেক বেশি হতে হবে। আদর্শ জেনারেটর হল "প্রাকৃতিক" এলোমেলো প্রক্রিয়ার উপর ভিত্তি করে ডিভাইস, উদাহরণস্বরূপ এর উপর ভিত্তি করে সাদা রেডিও শব্দ.

গড় নিরাপত্তা প্রয়োজনীয়তা সহ একটি নেটওয়ার্কে, সফ্টওয়্যার কী জেনারেটর যা PRSP কে বর্তমান সময়ের একটি জটিল ফাংশন হিসাবে গণনা করে এবং (বা) ব্যবহারকারীর দ্বারা প্রবেশ করা সংখ্যাটি বেশ গ্রহণযোগ্য।

সিমেট্রিক ক্রিপ্টোসিস্টেমগুলির জন্য একটি সেশন কী তৈরি করার একটি পদ্ধতি ANSI X9.17 স্ট্যান্ডার্ডে বর্ণনা করা হয়েছে। এটি DES ক্রিপ্টোগ্রাফিক অ্যালগরিদমের ব্যবহার অনুমান করে (যদিও অন্যান্য সিমেট্রিক এনক্রিপশন অ্যালগরিদম ব্যবহার করা যেতে পারে)।

পদবি:

E K (X) - DES অ্যালগরিদম দ্বারা X মান এনক্রিপশনের ফলাফল;

K - গোপন কী তৈরি করার জন্য সংরক্ষিত কী;

V 0 - গোপন 64-বিট বীজ;

টি - টাইম স্ট্যাম্প।

ANSI X 9.17 মান অনুসারে একটি র্যান্ডম সেশন কী R i তৈরি করার স্কিম চিত্রে দেখানো হয়েছে৷ 7.1। মান গণনা করে এলোমেলো কী R i তৈরি করা হয়

R i = E K (E K (T i) Å V i)।

চিত্র 7.1 – একটি র্যান্ডম কী R i অনুযায়ী তৈরি করার স্কিম

ANSI X9.17 স্ট্যান্ডার্ড সহ

পরবর্তী মান V i+1 নিম্নরূপ গণনা করা হয়:

V i+1 = E K (E K (T i) Å R i)।

যদি একটি 128-বিট র্যান্ডম কী প্রয়োজন হয়, একটি কী জোড়া R i , R i তৈরি করুন + 1 এবং তাদের একসাথে একত্রিত করুন।

যদি চাবিটি নিয়মিত পরিবর্তন না করা হয়, তাহলে এটির প্রকাশ এবং তথ্য ফাঁস হতে পারে। কী পরিবর্তন পদ্ধতি ব্যবহার করে নিয়মিত কী প্রতিস্থাপন করা যেতে পারে।

মূল পরিবর্তনএকটি ওয়ান-ওয়ে (ওয়ান-ওয়ে) ফাংশন ব্যবহার করে পূর্ববর্তী কী মান থেকে একটি নতুন কী তৈরি করা হয়। একটি তথ্য বিনিময়ে অংশগ্রহণকারীরা একই কী ভাগ করে এবং একই সাথে একই ফলাফল প্রাপ্ত করে একটি একমুখী ফাংশনে যুক্তি হিসাবে এর মান প্রবেশ করান। তারপরে তারা একটি নতুন কী মান তৈরি করতে এই ফলাফলগুলি থেকে নির্দিষ্ট বিট নেয়।

কী পরিবর্তনের পদ্ধতিটি কার্যকর, কিন্তু আমাদের মনে রাখতে হবে যে নতুন কীটি আগের কীটির মতোই সুরক্ষিত। যদি আক্রমণকারী পূর্ববর্তী কীটি পেতে পারে, তাহলে সে কী পরিবর্তন পদ্ধতিটি সম্পাদন করতে সক্ষম হবে।

সাথে অপ্রতিসম ক্রিপ্টোসিস্টেমগুলির জন্য কী প্রজন্ম পাবলিক কীঅনেক বেশি জটিল, কারণ এই কীগুলির অবশ্যই কিছু গাণিতিক বৈশিষ্ট্য থাকতে হবে (এগুলি অবশ্যই খুব বড় এবং সহজ হতে হবে, ইত্যাদি)।

দরজা কোথায়

পাইরেটেড ডিস্ট্রিবিউশন থেকে সফ্টওয়্যার রক্ষা বা অননুমোদিত অনুলিপি থেকে ডেটা রক্ষা করার সমস্যাগুলি অনিবার্যভাবে সারা বিশ্বে দেখা দেয়, যা সফ্টওয়্যার নির্মাতাদের এবং গোপনীয় ডেটার রক্ষকদের জন্য অনেক সমস্যা সৃষ্টি করে। স্বাভাবিকভাবেই, এই সমস্যাগুলি সমাধান করা সাধারণ ব্যবহারকারীদের অতিরিক্ত অসুবিধা ছাড়া আসে না। বর্তমানে, সফ্টওয়্যার বা ডেটা সুরক্ষার সমস্ত পদ্ধতি দুটি প্রধান গ্রুপে বিভক্ত করা যেতে পারে:

  • বিভিন্ন হার্ডওয়্যার কী ব্যবহার করে সুরক্ষা (ক্রমিক, সমান্তরাল, ইউএসবি পোর্ট, পিসিএমসিআইএ স্লট, বিশেষ পাঠক ইত্যাদিতে ঢোকানো ক্ষুদ্র ডিভাইস);
  • বিভিন্ন সফ্টওয়্যার কী এবং ডেটা এনক্রিপশন ব্যবহার করে সুরক্ষা।

সবচেয়ে কার্যকর এক এবং সুবিধাজনক উপায়সুরক্ষা হ'ল হার্ডওয়্যার কীগুলির ব্যবহার - ছোট মাইক্রোইলেক্ট্রনিক ডিভাইস, যা ছাড়া প্রোগ্রামটি শুরু হবে না এবং ডেটা ডিক্রিপ্ট করা হবে না।

হার্ডওয়্যার সুরক্ষা কী ব্যবহার করে এমন সিস্টেমগুলির অপারেটিং নীতি (অন্তত বাহ্যিকভাবে) প্রায় একই: প্রোগ্রামটি একটি নির্দিষ্ট ডিভাইস অ্যাক্সেস করে এবং প্রতিক্রিয়া হিসাবে একটি কোড পায় যা এটি একটি নির্দিষ্ট ফাংশন চালানো বা ডেটা ডিক্রিপ্ট করতে দেয়। একটি কী অনুপস্থিতিতে, প্রোগ্রামটি হয় একেবারেই কাজ করে না বা ডেমো মোডে কাজ করে (কোন কার্যকারিতা অক্ষম করা হয়, ডেটা পড়া হয় না ইত্যাদি)। উপরন্তু, এই জাতীয় ডিভাইসে অ-উদ্বায়ী মেমরি থাকতে পারে যেখানে ডেটা বা কোডের টুকরোগুলি সংরক্ষণ করা হয়।

আপনি স্থানীয়ভাবে এবং একটি নেটওয়ার্ক সংস্করণ উভয় ইলেকট্রনিক "স্টাব" এর সাথে কাজ করতে পারেন। একটি নেটওয়ার্ক কী ব্যবহার করার সময়, প্রতিটিতে স্থানীয় কী ইনস্টল করার প্রয়োজন নেই কর্মক্ষেত্র. মধ্যে লাইসেন্সিং এক্ষেত্রেএকটি সফ্টওয়্যার সার্ভার থেকে একটি কী দিয়ে সম্পন্ন করা হয় যা সুরক্ষিত অ্যাপ্লিকেশন থেকে অনুরোধগুলি প্রক্রিয়া করে। উদাহরণস্বরূপ, যদি সার্ভারে একটি কী এবং একটি ড্রাইভার সার্ভিসিং ইনস্টল করা থাকে (কি সার্ভিসিং করা একটি ছোট প্রোগ্রাম সুবিধামত Windows NT/2000/XP-এ বুট করার সময় চালু করা পরিষেবা হিসাবে নিবন্ধিত হয় এবং Windows 95/98/Me-এ রেসিডেন্ট প্রোগ্রাম), তারপর যেকোন দূরবর্তী প্রোগ্রাম সার্ভার থেকে লাইসেন্সের জন্য অনুরোধ করতে পারে এবং এটি প্রাপ্ত হলেই কাজ চালিয়ে যেতে পারে। প্রতিটি কী-এর জন্য লাইসেন্সের সংখ্যা নির্দিষ্টভাবে সেট করা যেতে পারে এবং আপনি যে প্রোগ্রামটি কিনেছেন সেটির জন্য ডিজাইন করা হয়েছে একই সাথে কতগুলি অনুলিপি চলছে তার উপর নির্ভর করে, এটি হয় শুরু হবে বা হবে না। এই ক্ষেত্রে, লাইসেন্স বিতরণ, একটি নিয়ম হিসাবে, একটি সাধারণ নীতি অনুসারে পরিচালিত হয়: "একটি কম্পিউটার - একটি লাইসেন্স।" এর মানে হল যে যদি একটি অ্যাপ্লিকেশনের বেশ কয়েকটি কপি একটি নির্দিষ্ট কম্পিউটারে চলছে, তবে এর জন্য শুধুমাত্র একটি লাইসেন্স বরাদ্দ করা হবে। সুতরাং, ওয়ার্কস্টেশনের সংখ্যার উপর একটি সীমাবদ্ধতা রয়েছে যেখান থেকে প্রোগ্রামটি একসাথে ব্যবহার করা যেতে পারে।

এই সুরক্ষা পদ্ধতির নিঃসন্দেহে সুবিধার মধ্যে রয়েছে এর সরলতা এবং নির্ভরযোগ্যতা। উপরন্তু, এই ধরনের সুরক্ষা অবিলম্বে অনভিজ্ঞ ব্যবহারকারীদের অননুমোদিত কর্ম থেকে বিরত করবে। এই জাতীয় সিস্টেমের অসুবিধা হ'ল প্রোগ্রামের সাথে কীটির জন্য বিশেষ ড্রাইভার ইনস্টল করা এবং কীটি নিজেই যত্ন নেওয়া এবং প্রয়োজনে এটি আপনার সাথে বহন করা। এছাড়াও, প্রয়োজনীয় পোর্ট বা স্মার্ট কার্ড রিডারের উপস্থিতি বা অনুপস্থিতি, সেইসাথে তাদের অপারেশনের জন্য একই পোর্ট ব্যবহার করে এমন অন্যান্য ডিভাইসগুলির সাথে মিথস্ক্রিয়ায় সম্ভাব্য হার্ডওয়্যার সমস্যার কারণে এই ধরণের সুরক্ষার উপর অতিরিক্ত বিধিনিষেধ আরোপ করা যেতে পারে।

স্বাভাবিকভাবেই, আপনার প্রোগ্রাম বা ডেটাকে শুধুমাত্র এইভাবে রক্ষা করা উচিত যদি তাদের খরচ (বা অস্পষ্ট মান) একটি হার্ডওয়্যার সুরক্ষা কী-এর মূল্যের সাথে তুলনীয় হয় (এমনকি একটি সমান্তরাল পোর্টের জন্য সবচেয়ে আদিম অনুরূপ কীটির দাম প্রায় $10)।

উপরন্তু, জীবনের সত্য যে কোন পদ্ধতির সাথে পরম সুরক্ষা সম্পর্কে কথা বলা মূলত অসম্ভব। এবং অ্যাপ্লিকেশনটি হ্যাক করা অসম্ভব হওয়ার জন্য, এটিতে কোনও অ্যাক্সেস সম্পূর্ণরূপে বাদ দেওয়া প্রয়োজন। অতএব, নিরাপত্তার মাত্রা হুমকির জন্য পর্যাপ্ত হতে হবে। সাধারণ জ্ঞান যেমন নির্দেশ করে, একটি অ্যাপ্লিকেশন বা ডেটা অ্যাক্সেস করা যত বেশি কঠিন, তার সাথে কাজ করা তত কম সুবিধাজনক। একটি সু-নির্মিত নিরাপত্তা ব্যবস্থা হ্যাকিং প্রতিরোধ করতে পারে যে স্তরে এটি সংবেদনশীল হতে পারে, এবং এর বেশি নয়।

একটি ইলেকট্রনিক কী কি

একটি ইলেকট্রনিক কী হল একটি ডিভাইস যা প্রোগ্রাম এবং ডেটাকে অননুমোদিত ব্যবহার, অনুলিপি এবং প্রতিলিপি থেকে রক্ষা করার জন্য ডিজাইন করা হয়েছে। এটি, একটি নিয়ম হিসাবে, একটি ছোট মাইক্রোইলেক্ট্রনিক ডিভাইস যার দুটি সংযোগকারী রয়েছে: তাদের মধ্যে একটি কম্পিউটারের সমান্তরাল বা সিরিয়াল পোর্টের সাথে সংযোগ করার জন্য ডিজাইন করা হয়েছে এবং অন্যটি একটি প্রিন্টার, মডেম বা অন্যান্য ডিভাইসের সাথে সংযোগ করতে ব্যবহৃত হয় এই বন্দর। এই ক্ষেত্রে, কীটি পোর্টের ক্রিয়াকলাপকে প্রভাবিত করবে না এবং এটির মাধ্যমে সংযুক্ত ডিভাইসগুলিতে সম্পূর্ণ "স্বচ্ছ" হওয়া উচিত (অর্থাৎ, এটি তাদের স্বাভাবিক ক্রিয়াকলাপে হস্তক্ষেপ করা উচিত নয়)। তবে, বিভিন্ন পোর্টের জন্য এবং বিভিন্ন ডিজাইনে (অভ্যন্তরীণ, বাহ্যিক, একটি কী ফোবের আকারে, PCMCIA বা স্মার্ট কার্ডের আকারে, ইত্যাদি) অন্যান্য ধরনের কী রয়েছে। কীগুলি ক্যাসকেডে কাজ করতে পারে, যখন বিভিন্ন ধরনের সহ একাধিক কী একই সাথে একটি পোর্টের সাথে সংযুক্ত থাকে। কী এবং পোর্টের মধ্যে ডেটা আদান-প্রদানের প্রোটোকল সাধারণত গতিশীলভাবে পরিবর্তিত হয়, এনকোড করা হয় এবং এমুলেশন থেকে রক্ষা করার জন্য "কোলাহলপূর্ণ" হয়।

অনেক আধুনিক প্রকারকীগুলি বৈদ্যুতিকভাবে প্রোগ্রামযোগ্য অ-উদ্বায়ী মেমরি দিয়ে সজ্জিত। সাধারণত, ডংলে অন্তর্নির্মিত শক্তির উত্স থাকে না, এটি সম্পূর্ণরূপে নিষ্ক্রিয় এবং কম্পিউটার থেকে সংযোগ বিচ্ছিন্ন হয়ে গেলে এতে রেকর্ড করা তথ্য ধরে রাখে। যাইহোক, একটি অন্তর্নির্মিত ঘড়ি সঙ্গে পরিবর্তন এবং স্বায়ত্তশাসিত ব্যাটারিশক্তি, যা আপনাকে নির্মাণ করতে দেয় বিভিন্ন মডেলসুরক্ষিত সফ্টওয়্যার বিক্রয়, ভাড়া, লিজিং এবং লাইসেন্সিং। চাবির বৌদ্ধিক এবং শারীরিক ক্ষমতা মূলত যে ভিত্তির উপর চাবি তৈরি করা হয় তার দ্বারা নির্ধারিত হয়।

হার্ডওয়্যারের উপর ভিত্তি করে আধুনিক কীনিম্নলিখিত ধরনের বিভক্ত করা যেতে পারে:

  • অ-উদ্বায়ী বৈদ্যুতিকভাবে রিপ্রোগ্রামেবল মেমরি (EEPROM) চিপ ব্যবহার করে;
  • কাস্টম ASIC (অ্যাপ্লিকেশন স্পেসিফিক ইন্টিগ্রেটেড সার্কিট) কনফিগারেশনের উপর নির্মিত;
  • মেমরি সহ বা ছাড়া চিপ ব্যবহার করা;
  • সম্পূর্ণ বৈশিষ্ট্যযুক্ত মাইক্রোপ্রসেসর (মাইক্রোকন্ট্রোলার) এর ভিত্তিতে নির্মিত।

তাদের বাহ্যিক নকশার পরিপ্রেক্ষিতে, ইউএসবি পোর্টের সাথে সংযোগ করার জন্য কী ফোব আকারে উত্পাদিত কীগুলি সবচেয়ে জনপ্রিয়।

সুরক্ষা কীগুলির নকশা এবং অপারেশন সম্পর্কিত অতিরিক্ত তথ্য আলাদিন নলেজ সিস্টেমের (http://www.aks.com/) বিকাশকারী রাশিয়ান ওয়েব সাইটে (http://www.aladdin.ru/) পাওয়া যাবে। HASP সুরক্ষা ব্যবস্থা।

সফ্টওয়্যার এবং ডেটা সুরক্ষা

কিভাবে আপনি একটি ইলেকট্রনিক কী ব্যবহার করে একটি অ্যাপ্লিকেশন রক্ষা করতে পারেন?

এই জাতীয় কী প্রোগ্রাম এবং ডেটা সুরক্ষার বিভিন্ন স্তর এবং পদ্ধতি সরবরাহ করতে পারে। সবচেয়ে সহজ পদ্ধতি হল স্বয়ংক্রিয় সুরক্ষা, যখন একটি কী শুধুমাত্র কয়েকটি মাউস ক্লিকে একটি বিশেষ ইউটিলিটি ব্যবহার করে রেডিমেড প্রোগ্রামগুলির সাথে সংযুক্ত করা হয়। যাইহোক, একটি প্রোগ্রামে প্রয়োগ করা একটি স্বয়ংক্রিয়-সুরক্ষা মডিউল এটির সাথে একক সম্পূর্ণ গঠন করতে পারে না, তাই একটি বিপদ রয়েছে যে একটি হ্যাকার স্বয়ংক্রিয়-সুরক্ষা মডিউল এবং অ্যাপ্লিকেশনটিকে আলাদা করতে সক্ষম হবে।

আরও জটিল পদ্ধতিএকটি বিশেষ API-এর ব্যবহারের উপর ভিত্তি করে তৈরি করা হয়, যা ইলেকট্রনিক কীগুলির নির্মাতারা সুরক্ষিত সফ্টওয়্যার বিকাশকারীদের কাছে সরবরাহ করে। এই API-এর ফাংশনগুলি একটি কী: অনুসন্ধানের সাথে একটি প্রোগ্রামের মিথস্ক্রিয়া করার জন্য বিভিন্ন অপারেশন করার জন্য ডিজাইন করা হয়েছে প্রয়োজনীয় কোড, ডঙ্গল মেমরি পড়া/লেখা, ডঙ্গল হার্ডওয়্যার অ্যালগরিদম চালানো এবং সেগুলি ব্যবহার করে অ্যাপ্লিকেশন কোড এবং ডেটা রূপান্তর করা।

সফ্টওয়্যার বিতরণের উপর অতিরিক্ত নিয়ন্ত্রণের জন্য, বৈদ্যুতিন কীগুলি অনন্য নম্বরগুলির সঞ্চয়স্থানের জন্য সরবরাহ করে - এটি ব্যবহারকারীর নিবন্ধন নম্বর এবং সফ্টওয়্যার সংস্করণ নম্বর উভয়ই হতে পারে। তদুপরি, সুরক্ষা ব্যবস্থাটি এমনভাবে তৈরি করা যেতে পারে যে কেবলমাত্র সেই অ্যাপ্লিকেশনগুলি যেগুলির সংস্করণ নম্বরগুলি কীটিতে রেকর্ড করা মান অতিক্রম করে না তারা এই কী দিয়ে কাজ করতে পারে এবং দূরবর্তী প্রোগ্রামিং ব্যবহার করে এই ক্ষেত্রে নতুন তথ্য লেখা যেতে পারে, যা নিশ্চিত করুন যে শুধুমাত্র আইনি, নিবন্ধিত ব্যবহারকারীদের আপডেট করা হয়।

এছাড়াও, কীগুলি সুরক্ষিত অ্যাপ্লিকেশনগুলির ব্যবহারে বিভিন্ন বিধিনিষেধ আরোপ করতে পারে, যার ফলস্বরূপ আপনি প্রোগ্রাম বা ডেটা ব্যবহার করার সময়, সেইসাথে একটি অ্যাপ্লিকেশন বা মডিউল কতবার চালু করা হয় তা সীমিত করতে পারেন। এটি করার জন্য, ডঙ্গলের মেমরিতে একটি বিশেষ কাউন্টার সংগঠিত হয়, যার মান হয় নির্দিষ্ট বিরতিতে বা প্রতিবার অ্যাপ্লিকেশন চালু করার সময় হ্রাস পেতে পারে। এইভাবে, আপনি ডেমো বা অ্যাপ্লিকেশনের সীমিত সংস্করণ সরবরাহ করতে পারেন এবং আপনি চুক্তির শর্তাবলী অর্থ প্রদান বা পরিবর্তন করার সাথে সাথে আপনি দূরবর্তী কী প্রোগ্রামিংয়ের মাধ্যমে সীমাবদ্ধতাগুলি সরিয়ে ফেলতে পারেন।

Http://glasha.zap.to/ HASP কী এমুলেটর সবার জন্য অফার করা হয়)।

তাহলে কি হবে আমরা সম্পর্কে কথা বলছিসফ্টওয়্যার সম্পর্কে, তারপর জলদস্যুতা মোকাবেলায় এটি প্রতিষ্ঠা করা অনেক বেশি কার্যকর ভালো সেবা কারিগরি সহযোগিতাএবং গোপন তথ্য নিরাপদে রাখুন...

কম্পিউটারপ্রেস 3"2002

কম্পিউটার পাইরেসি মোকাবেলায় বিশেষ সফটওয়্যারের পাশাপাশি হার্ডওয়্যার এবং সফটওয়্যারও ব্যবহার করা হয়। এগুলি কম্পিউটারের অভ্যন্তরীণ বাস বা এর বাহ্যিক সংযোগকারীগুলির সাথে সংযুক্ত ইলেকট্রনিক ডিভাইসগুলির ব্যবহারের উপর ভিত্তি করে। যদি আমরা সুরক্ষার নির্ভরযোগ্যতার ডিগ্রীকে "ব্রেক" করার জন্য প্রয়োজনীয় শ্রমের পরিমাণ দ্বারা মূল্যায়ন করি, তাহলে হার্ডওয়্যার এবং সফ্টওয়্যারগুলি বিশুদ্ধ সফ্টওয়্যারের চেয়ে "শক্তিশালী"।

প্রকৃতপক্ষে, এই জাতীয় প্রতিরক্ষা প্রকাশ করার জন্য, প্রোগ্রামের কৌশলগুলি উন্মোচন করা যথেষ্ট নয়। অতিরিক্ত সরঞ্জাম সহ প্রোগ্রামগুলির বিনিময়ের প্রোটোকল এবং বিষয়বস্তু পুনরুদ্ধার করা প্রয়োজন। এই সমস্যাগুলি সমাধান করার জন্য সাধারণত বিশেষ হার্ডওয়্যার যেমন লজিক বিশ্লেষক ব্যবহার করা প্রয়োজন।

ইলেকট্রনিক কীএকটি কমপ্যাক্ট ডিভাইস যা একটি কম্পিউটারের সমান্তরাল বা সিরিয়াল পোর্টগুলির সাথে সংযোগ করে এবং কম্পিউটারের সাথে মিথস্ক্রিয়াকে প্রভাবিত করে না বাহ্যিক ডিভাইস. একটি ইলেকট্রনিক কী ব্যবহার করে সুরক্ষার ধারণাটি হল সুরক্ষিত প্রোগ্রামে কীটির সাথে ইন্টারঅ্যাক্ট করার জন্য একটি বিশেষ অ্যালগরিদম ব্যবহার করা, যা এটি ছাড়া প্রোগ্রামটিকে কার্যকর করার অনুমতি দেয় না। এই ক্ষেত্রে, প্রোগ্রামের প্রতিটি অনুলিপি একটি ইলেকট্রনিক কী দিয়ে সরবরাহ করা হয়। একটি ইলেকট্রনিক কী-এর গুণমান নির্ণয়ের জন্য মানদণ্ড: কীটি অবশ্যই কোনো ধরনের ফাংশন জেনারেটর হতে হবে, এবং শুধুমাত্র ধ্রুবকের জন্য মেমরি নয়; চাবিটি অবশ্যই একটি কাস্টম ইন্টিগ্রেটেড সার্কিটের ভিত্তিতে তৈরি করা উচিত, যা এর আইনি প্রজননের সম্ভাবনা বাদ দেয়।

ইলেকট্রনিক কীগুলি নিম্নলিখিত কাজগুলি সমাধান করতে ব্যবহার করা যেতে পারে:

  • অননুমোদিত বিতরণ থেকে প্রোগ্রাম সুরক্ষা;
  • এতে থাকা তথ্যের প্রকাশ থেকে ডেটা সুরক্ষা;
  • অননুমোদিত ব্যক্তিদের দ্বারা অ্যাক্সেস থেকে কম্পিউটার রক্ষা

1. প্রোগ্রাম দুটি উপায়ে সুরক্ষিত হয়. প্রথম পদ্ধতিতে (আসুন এটিকে ম্যানুয়াল বলি) ডেভেলপার নিজেই তার প্রোগ্রামে টুকরোগুলিকে একীভূত করে যা ইলেকট্রনিক কীটির সাথে যোগাযোগ করে। দ্বিতীয় পদ্ধতির উপর ভিত্তি করে স্বয়ংক্রিয় সুইচিং চালুএকটি কী সহ একটি সুরক্ষিত বিনিময় ফাইলে। এই ক্ষেত্রে, কী সহ সরবরাহ করা একটি বিশেষ প্রোগ্রাম স্বয়ংক্রিয়ভাবে এক্সিকিউটেবল ফাইলগুলিকে এমনভাবে প্রক্রিয়া করে যে সেগুলি কী ছাড়াই অকার্যকর হয়ে যায়। সুবিধা স্বয়ংক্রিয় সুরক্ষাম্যানুয়াল এই পদ্ধতির প্রায় শূন্য শ্রম তীব্রতা আগে. এছাড়াও, স্বয়ংক্রিয় সুরক্ষা প্রোগ্রামটি উচ্চ যোগ্য বিশেষজ্ঞদের দ্বারা তৈরি করা হয়েছে, যা এর বৃহত্তর নির্ভরযোগ্যতা নিশ্চিত করে।

2. এতে থাকা তথ্যের প্রকাশ থেকে ডেটা সুরক্ষা এনক্রিপশনের মাধ্যমে অর্জন করা হয়। যথেষ্ট আছে কার্যকর পদ্ধতিএনক্রিপশন, যেমন DES অ্যালগরিদম। যাইহোক, এনক্রিপশনের নিরাপত্তা এনক্রিপশন কী এর নিরাপদ স্টোরেজ এবং ট্রান্সমিশনের চেয়ে বেশি হতে পারে না। এই ক্ষেত্রে, এনক্রিপশন কীটি মনে রাখার বা লেখার প্রয়োজন নেই এবং যা খুবই গুরুত্বপূর্ণ, কীবোর্ড থেকে কম্পিউটারে প্রবেশ করার প্রয়োজন নেই। একটি কম্পিউটারে সংরক্ষিত ডেটা কেবলমাত্র ডিক্রিপ্ট করা যেতে পারে যদি কী উপলব্ধ থাকে। উপরন্তু, নির্ভরযোগ্যতা বাড়াতে, এনক্রিপশন/ডিক্রিপশন প্রোগ্রাম নিজেই একই কী ব্যবহার করে সুরক্ষিত করা যেতে পারে।


3. অননুমোদিত ব্যক্তিদের থেকে আপনার কম্পিউটারকে সুরক্ষিত করার জন্য ডাউনলোড করা জড়িত৷ অপারেটিং সিস্টেমশুধুমাত্র অনুমোদিত ব্যবহারকারীদের জন্য, সেইসাথে নিশ্চিত করা যে প্রতিটি ব্যবহারকারীর শুধুমাত্র বরাদ্দকৃত সংস্থানগুলিতে অ্যাক্সেস রয়েছে, যার মধ্যে লজিক্যাল ড্রাইভ, ডিরেক্টরি এবং পৃথক ফাইল অন্তর্ভুক্ত থাকতে পারে। এই ধরনের সুরক্ষা বাস্তবায়ন ব্যবহারকারী সনাক্তকরণের সাথে সম্পর্কিত। এর জন্য ইলেকট্রনিক কী ব্যবহার করা যেতে পারে। এই ক্ষেত্রে, দুটি পন্থা সম্ভব।

প্রথম পদ্ধতিটি অনুমান করে যে প্রতিটি অনুমোদিত ব্যবহারকারীর হাতে একটি অনন্য ইলেকট্রনিক কী রয়েছে। সংযোগকারীর সাথে কীটি সংযুক্ত করার পরে কোনও পাসওয়ার্ড প্রবেশ না করেই ব্যবহারকারীর স্বীকৃতি দেওয়া হয়। এই ক্ষেত্রে, এটি যুক্তি দেওয়া যেতে পারে যে ব্যবহারকারীর গোপনীয়তার চাবি তাদের পকেটে রাখা হয়। তবে, যদি কম্পিউটারটি কোনও সংস্থায় ব্যবহৃত হয়, তবে প্রশাসন, একটি নিয়ম হিসাবে, সমস্ত ফাইলগুলিতে অ্যাক্সেস পেতে এবং সমস্ত ব্যবহারকারীর কাজ নিয়ন্ত্রণ করতে চায়। এটি করার জন্য, আপনার কাছে অবশ্যই কমপক্ষে দুটি অভিন্ন কীগুলির সেট থাকতে হবে, একটি সেট সংস্থার প্রধানের দ্বারা রাখা হবে।

দ্বিতীয় পদ্ধতিটি সমস্ত ব্যবহারকারীর জন্য শুধুমাত্র একটি কী ব্যবহার করে সুরক্ষার খরচ হ্রাস করে। কীটি প্রতিষ্ঠানের ব্যবস্থাপনা দ্বারা নিযুক্ত সিস্টেম প্রশাসক দ্বারা পরিচালিত হয়। অপারেটিং সিস্টেম শুধুমাত্র লোড করা যেতে পারে যখন ডঙ্গল সংযুক্ত থাকে। ব্যবহারকারী সনাক্তকরণ পাসওয়ার্ড প্রবেশ করে বাহিত হয়.

স্ব-পরীক্ষার প্রশ্ন

  1. তথ্যের জন্য "হুমকি" ধারণা দ্বারা কি বোঝানো হয়েছে?
  2. আকস্মিক এবং ইচ্ছাকৃত হুমকির বৈশিষ্ট্য
  3. তথ্যে ইচ্ছাকৃত অ্যাক্সেসের চ্যানেল
  4. তথ্য লঙ্ঘনের উত্স
  5. তথ্য ফাঁস প্রধান চ্যানেল
  6. তথ্য সুরক্ষা ব্যবস্থা এবং তাদের বৈশিষ্ট্যের শ্রেণীবিভাগ
  7. সিস্টেমের নকশা এবং পরিচালনার পর্যায়ে তথ্য সুরক্ষার কৌশল এবং কৌশল কী?
  8. প্রমাণীকরণ ধারণা। প্রমাণীকরণের ধরন
  9. যোগাযোগ চ্যানেলে তথ্য সুরক্ষার পদ্ধতি এবং উপায়
  10. একটি ডিজিটাল স্বাক্ষরের উদ্দেশ্য এবং তাদের নির্মাণের পদ্ধতি
  11. ডিজিটাল স্বাক্ষর প্রয়োগের ক্ষেত্র
  12. উদ্দেশ্য এবং পাসওয়ার্ডের শ্রেণীবিভাগ। প্রতিটি পাসওয়ার্ড গ্রুপের সুবিধা এবং অসুবিধা
  13. বায়োমেট্রিক নিরাপত্তা ব্যবস্থা। তাদের বৈশিষ্ট্য এবং প্রয়োগের ক্ষেত্র
  14. বায়োমেট্রিক নিরাপত্তা ব্যবস্থার সুবিধা এবং অসুবিধা
  15. ইলেকট্রনিক কী অ্যাসাইনমেন্ট। এর প্রয়োগের ক্ষেত্র।

ডেটা ইন্টিগ্রিটি মাইক্রোসফ্ট অ্যাক্সেসের নিয়মগুলির একটি সিস্টেমকে বোঝায় যা একটি বস্তু পরিবর্তন করা হলে, সমস্ত সম্পর্কিত বস্তুগুলিকে স্বয়ংক্রিয়ভাবে পরিবর্তন করতে এবং সম্পর্কিত ডেটা দুর্ঘটনাজনিত মুছে ফেলা বা পরিবর্তনের বিরুদ্ধে সুরক্ষা প্রদান করে।

মানগুলির তালিকাটি নির্দিষ্ট করা যেতে পারে মানগুলির একটি নির্দিষ্ট সেট দ্বারা যা ব্যবহারকারীর দ্বারা প্রবেশ করা হয় যখন ক্ষেত্রটি তৈরি করা হয়, বা একটি রেফারেন্স টেবিল বা ক্যোয়ারী থেকে মানগুলির একটি তালিকা দ্বারা।

সূচী একটি মাইক্রোসফ্ট অ্যাক্সেস টুল যা একটি টেবিলে অনুসন্ধান এবং সাজানোর গতি বাড়ায়। টেবিলের মূল ক্ষেত্রটি স্বয়ংক্রিয়ভাবে সূচিত হয়। আপনি MEMO এবং হাইপারলিঙ্ক ক্ষেত্র বা OLE অবজেক্ট ক্ষেত্রগুলিতে সূচী তৈরি করতে পারবেন না।

একটি অনন্য সূচক হল একটি সূচক যা সূচকযুক্ত ক্ষেত্রের সম্পত্তির জন্য "হ্যাঁ (কোনও মিল অনুমোদিত নয়)" মান সহ সংজ্ঞায়িত করা হয়। এই ক্ষেত্রে, সূচীকৃত ক্ষেত্রে ডুপ্লিকেট মানগুলি প্রবেশ করা অসম্ভব হয়ে পড়ে। কী ক্ষেত্রগুলির জন্য একটি অনন্য সূচক স্বয়ংক্রিয়ভাবে তৈরি হয়।