পাসওয়ার্ড হ্যাশিং: গুগল কিন্তু আপনার জিমেইল আইডির পাসওয়ার্ড জানে না!

পাসওয়ার্ড হ্যাশিং: গুগল কিন্তু আপনার জিমেইল আইডির পাসওয়ার্ড জানে না!

২০২০ সালে এসে ডাটা ব্রিচিং মোটেও আর কোন সাইন্স-ফিকশন ব্যাপার নয়। প্রায় প্রতিনিয়তই হ্যাকাররা নানান কোম্পানির ডাটাবেজ গুলো হ্যাক করে বেড়াচ্ছে। আবার এদের মধ্যে বড় বড় কোম্পানির নাম গুলো কিন্তু শামিল রয়েছে; ফেসবুক, ইনস্টাগ্রাম, ইয়াহু — প্রত্যেকেই কিন্তু হ্যাকের শিকার হচ্ছে।

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

তাহলে হ্যাকার পাসওয়ার্ড গুলো খুজে পায় কিভাবে? বা যদি কোম্পানি গুলো আপনার পাসওয়ার্ড নাই বা জানে তাহলে তাদের ওয়েব সার্ভিসে আপনার একাউন্ট লগইন হয় কিভাবে? — আজকের আর্টিকেলে এই বিষয় গুলো নিয়েই আলোচনা করবো!

পাসওয়ার্ড হ্যাশিং

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

কোম্পানিরা ভালো করেই জানে যে তাদের সিস্টেমকে যতটাই সিকিউর করা হোক না কেন তারপরও কোনো না কোনোভাবে হ্যাক অ্যাটাক পরিচালনা করা সম্ভব। এখন তারা যদি তাদের ডাটাবেজে পাসওয়ার্ড গুলোকে হুবহু সেভাবে সেভ করেই না রাখে তাহলে তো ল্যাঠা চুকে গেল তাই না? তো হ্যাকারেরা যখন কোন পাসওয়ার্ড ভর্তি ডাটাবেস খুজে পায় সেখানে টেকনিক্যালি পাসওয়ার্ডগুলো তো থাকে কিন্তু সেটা মানুষের পড়ার যোগ্য ফর্মে থাকেনা।

কোন পাসওয়ার্ড ডেটাবেস হ্যাক করার পরে তারা যেটা খুঁজে পায় সেটা হচ্ছে; এলোমেলো স্ট্রিং এবং ক্যারেক্টার, এগুলোকে আসল পাসওয়ার্ড থেকে বিশেষ এক অ্যালগরিদম ব্যবহার করে এরকম এলোমেলো স্ট্রিং এবং ক্যারেক্টারে পরিবর্তন করা হয়েছে। আর এই স্ট্রিং এবং ক্যারেক্টার গুলোকেই পাসওয়ার্ড হ্যাশিং বলা হয়!

ধরুন; আপনি কোন সাইটে পাসওয়ার্ড সেট করেছেন “abc” — এখন ঐ সাইটটি একটি নির্দিষ্ট অংকের মাধ্যমে সেটাকে একটি স্ট্রিং বা ক্যারেক্টারে পরিণত করবে “@#$_&” — তারপরে হুবহু আপনার আসল পাসওয়ার্ড ডাটাবেসে না রেখে ওই এলোমেলো স্ট্রিং বা ক্যারেক্টারগুলো কে সেভ রাখবে।

এখন আপনি যে সাইটে আপনার পাসওয়ার্ডটি সেট করলেন, ঐ সাইট কিন্তু নিজেই আপনার আসল পাসওয়ার্ড জানে না বরং পাসওয়ার্ডটির এলোমেলো ভার্শন তার কাছে স্টোর করা রয়েছে। এখন আপনি বলবেন যে, যদি সাইটটি আমার পাসওয়ার্ড ই না জানে তাহলে আমি যখন লগইন করি আমার পাসওয়ার্ড ভুল হয়েছে না ঠিক হয়েছে সেটা কিভাবে বুঝতে পারে?

ব্যাপারটা কিন্তু খুবই সহজ, যখন আপনি আপনার পাসওয়ার্ড প্রবেশ করান ওয়েবসাইটটিতে ব্যবহৃত অ্যালগরিদম আবার আপনার পাসওয়ার্ডটিকে একই সূত্র ব্যবহার করে পাসওয়ার্ড হ্যাশে পরিবর্তন করে। এরপরে নতুন তৈরি হওয়া হ্যাশ এবং ডাটাবেজে স্টোর থাকা হ্যাশ দুটির মধ্যে মেলানো হয়। আর ব্যাস, ডাটাবেজ এর সাথে নতুন হ্যাশ টি মিলে গেলে আপনি লগইন এক্সেস পেয়ে যান।

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

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

সব পাসওয়ার্ড হ্যাশিং টেকনিক কিন্তু এক নয়!

তাত্ত্বিকভাবে কোন হ্যাকার, ঐ ওয়েবসাইট নিজেই, বা যে কেউই পাসওয়ার্ড হ্যাশ থেকে আসল পাসওয়ার্ড ফেরত আনতে পারবে না। কিন্তু এক পাসওয়ার্ড হ্যাশিং টেকনিক আরেক টেকনিক থেকে আলাদা হয়ে থাকে, আর এর উপরে ভিত্তি করেই কতোটা সফল ভাবে পাসওয়ার্ড রিভার্স করা যেতে পারে তা নির্ভর করে।

২০১২ সালে ১৭৭ মিলিয়ন লিংকডইন একাউন্ট হ্যাক হয় এবং সেটা ডার্ক ওয়েবে সেল করা হয়। ঐ ডাটাবেজে কিন্তু সরাসরি প্লেইন টেক্সট রূপে কারো পাসওয়ার্ড ছিল না বরং সব পাসওয়ার্ড এর হ্যাশ স্টোর করা ছিল।

কিন্তু পাসওয়ার্ড গুলো এক সাধারণ টেকনিক ব্যাবহার করে হ্যাশিং করা হয়েছিলো, যার নাম SHA1। ফলে হ্যাকাররা সহজেই পাসওয়ার্ড গুলো ক্র্যাক করে ফেলেছিল এবং ঐ একই পাসওয়ার্ড আলাদা আলাদা ওয়েবসাইটে ট্রায় করে সেই একাউন্ট গুলো ও হ্যাক করেছিলো।

পাসওয়ার্ড ক্র্যাকিং

কোন ওয়েবসাইট SHA1 মেথড ব্যাবহার করলেই হ্যাকার পাসওয়ার্ড রিভার্স করে ফেলবে এমনটা নয়। আসলে তারা পাসওয়ার্ড রিভার্স করার চেষ্টায় করে না। বরং কমন পাসওয়ার্ড গুলো গেস করতে থাকি এবং সেম মেথডে সেগুলোর হ্যাশ বানাতে থাকে। যদি স্টোর থাকা হ্যাশের সাথে মিলে যায়, তো বুঝতেই পারছেন ব্যাপারটি কি দারাবে?

হ্যাশ ক্র্যাকিং প্রোগ্রাম গুলো কোন কালো জাদু করে না, বরং বিশাল এক পাসওয়ার্ড লিস্ট নিয়ে একের পর এক ট্রায় চালিয়ে যায় ডাটাবেজে থাকা হ্যাশ ম্যাচ করানোর জন্য। হ্যাকারদের কাছে আগে থেকেই চুরি করা ডাটাবেজের পাসওয়ার্ড গুলো থাকে। যেমন ধরুন ২০১২ সালের ১৭৭ মিলিয়ন পাসওয়ার্ড কিন্তু বিরাট এক লিস্ট, যেটা থেকে গেস করে নতুন নতুন অনেক ডাটাবেজ ক্র্যাক করা সম্ভব।

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


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

যদি কোন ওয়েবসাইট ডাইরেক্ট পাসওয়ার্ড সেন্ড করে দেয়, তাহলে তাদের থেকে দূরে থাকায় নিরাপদ। তারা জানেই না, কিভাবে পাসওয়ার্ড সেভ করতে হয়।


WiREBD এখন ইউটিউবে, নিয়মিত টেক/বিজ্ঞান/লাইফ স্টাইল বিষয়ক ভিডিও গুলো পেতে WiREBD ইউটিউব চ্যানেলটি সাবস্ক্রাইব করুণ! জাস্ট, youtube.com/wirebd — এই লিংকে চলে যান এবং সাবস্ক্রাইব বাটনটি হিট করুণ!

Image: Shutterstock

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