About Hacking and how to crack any password?

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

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

পাসওয়ার্ড ক্র্যাকিং
পাসওয়ার্ড ক্র্যাকিং কী তা জানার আগে জেনে নেয়া যাক ওয়েবসাইটগুলোতে কীভাবে পাসওয়ার্ড সংরক্ষণ করা হয় সেই সম্পর্কে। ওয়েবসাইটে পাসওয়ার্ড সংরক্ষণের অনেক উপায় আছে। হ্যাশিং, সল্টিং, টোকেইন, টু ফ্যাক্টর অথেনটিকেশন – এগুলোই বেশি ব্যবহার করা হয়। প্রথমেই হ্যাশিং কী তা একটু জানা যাক। আমরা সাধারণত যেসব শব্দ ব্যবহার করে নতুন পাসওয়ার্ড নির্বাচন করি ঠিক সেভাবে পাসওয়ার্ডগুলোকে ওয়েবসাইটগুলো সংরক্ষণ করে না। এই পাসওয়ার্ডগুলোকে সাইটের সার্ভারে সংরক্ষণ করা হয় একটি বিশেষ এনক্রিপশন অ্যালগরিদমের মাধ্যমে। সেই অ্যালগরিদমকে বলা হ্যাশিং বা হ্যাশ ফাংশন। এই অ্যালগরিদমের কাজ খুবই সাধারণ। আমাদের ইনপুট দেয়া প্লেইন টেক্সট বা সাধারণ অক্ষরগুলোকে এই অ্যালগরিদম একটি নির্দিষ্ট দৈর্ঘের কিছু দুর্বোধ্য কোড বা সংকেতে পরিণত করে। যেমন, abc123 এই পাসওয়ার্ডটির জন্য হ্যাশ হবে e99a18c428cb38d5f260853678922e03 (এমডি৫ হ্যাস অ্যালগরিদম অনুযায়ী)। কিন্তু এই হ্যাশিং আবার পর্যায়ক্রমিক হয় না, যেমন “password” শব্দটির হ্যাশ 5f4dcc3b5aa765d61d8327deb882cf99, কিন্তু “password1” শব্দটির হ্যাস 7c6a180b36896a0a8c02787eeafb0e4c। দুটি সম্পূর্ণ আলাদা হয়ে যাবে কেবল একটি মাত্র শব্দ বেশি ব্যবহারের জন্য। এই হ্যাশ পদ্ধতির জন্য বেশ কিছু জনপ্রিয় অ্যালগরিদম হল এমডি ৫, এসএইচএ ১, এসএইচএ ২ সহ এমন আরো বেশ কিছু। এগুলো হল ওয়ান ওয়ে ফাংশন, যার অর্থ হল পাসওয়ার্ড একবার হ্যাশ করা হয়ে গেলে সেটি থেকে আবার পুনরায় প্লেইন টেক্সট আকারে পাসওয়ার্ড ফেরত পাওয়া যায় না। তাহলে আপনি প্রতিবার লগ ইন করেন কীভাবে? খুব সোজা! প্রতিবার আপনার ইনপুট দেয়া পাসওয়ার্ডকে হ্যাশিং করে সার্ভারে সংরক্ষিত হ্যাশ কোডের সাথে মিলিয়ে দেখা হয়। দুটি হ্যাশই মিলে গেলে আপনাকে লগইন করার অনুমিত দেয়া হয়। আর এই বিশেষ পদ্ধতির প্রয়োজনীয়তা হল হ্যাকারদের হাত থেকে রক্ষা পাওয়া। কারণ পাসওয়ার্ড ফাইলগুলো জমা রাখা হয় ওয়েবসাইটের সার্ভারে আর সেসব সার্ভার হ্যাক করা যায় এবং পাসওয়ার্ড ফাইলগুলো দেখা যায়। তাই হ্যাকারদের থামানোর জন্য এই পদ্ধতি। কিন্তু তারপরও হ্যাকাররা এই হ্যাশ কোডকে ডিক্রিপ্ট করে ফেলে, আর এটিই হলো পাসওয়ার্ড ক্র্যাকিং। পাসওয়ার্ড ক্র্যাক করার অনেক উপায় আছে, এখন আমরা দেখব এমন কিছু ক্র্যাকিং পদ্ধতি।

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

একটি উদাহরণ দেয়া যাক, যদি হ্যাকারের সফটওয়্যার অনুমান aaaa থেকে শুরু হয় আর তারপর aaab, তারপর aaac এবং এভাবে সেটা zzzz পর্যন্ত পরীক্ষা করে দেখতে থাকবে। এখানে ৪টি অক্ষরের জন্য এমনটা হবে। আর ধীরে ধীরে তার দৈর্ঘ্য কিন্তু বাড়তে থাকবে। কিন্তু প্রশ্ন হলো, এই প্রক্রিয়া চলতে কতটা সময় নেয়?

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

ডিকশনারি অ্যাটাক
ডিকশনারি অ্যাটাককে ব্রুট ফোর্সেরই একটি অংশ বলা চলে। ডিকশনারি অ্যাটাকে সাধারণ কিছু পাসওয়ার্ডের একটি ডিকশনারি তৈরি করে হ্যাকার। এর মাধ্যমে অনেক দ্রুত এবং দুর্বল পাসওয়ার্ডগুলো খুব সহজে ক্র্যাক করে করে ফেলা যায়। কত দ্রুত? ৬.২ বিলিয়ন পাসওয়ার্ড ম্যাচ করতে পারে প্রতি সেকেন্ডে। সাধারণ পাসওয়ার্ডের মধ্যে পড়ে নিজের নাম, কোনো সাধারণ শব্দ বা নিজের নামের সাথে কোনো সংখ্যা এগুলোই। তো আপনি এরকম কিছু পাসওয়ার্ড হিসেবে ব্যাবহার করছেন না তো?

ডিকশনারি অ্যাটাককে আরেকটু কার্যকরী এবং আরেকটু কঠিন পাসওয়ার্ড ক্র্যাক করতে সাহায্য করে হাইব্রিড অ্যাটাক। এর সাহায্যে ডিকশনারি অ্যাটাকে ব্যবহৃত শব্দগুলোকে একটু ভিন্নভাবে সাজানো হয়। সাধারণ শব্দগুলোতে ব্যবহার করা হয় নাম্বার, বিশেষ চিহ্ন ইত্যাদি। যেমন, ডিকশনারি অ্যাটাকে কেবল password123 চেক করলে হাইব্রিড অ্যাটাকে চেক করা হয় p@$$w0rd123, অর্থাৎ a, s, এবং o এর স্থলে ব্যবহার করা হয়েছে @, $ এবং 0 ।

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

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

সল্টিং হ্যাশ
না, খাবার লবণের কথা বলছি না। এটাকে পাসওয়ার্ডের লবণ বলা যেতে পারে। কারণ এটি পাসওয়ার্ডের স্বাদ কিছুটা বদলে দেয়। আরেকটু পরিষ্কার করা যাক।

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

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

তাহলে বাঁচার উপায় কী?

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

১. কেবলমাত্র পাসওয়ার্ডে বিশেষ চিহ্ন ব্যবহার করলেই চলবে না। খেয়াল রাখতে হবে পাসওয়ার্ড যেন সহজ না হয়।

২. সর্বনিম্ন ৮ অক্ষরের পাসওয়ার্ড নির্বাচন করুন। পাসওয়ার্ড যত বড় হবে হ্যাকারের তা বের করতে তত বেশি সময় লাগবে।

৩. প্রয়োজনে বাক্য ব্যবহার করুন। হতে পারে তা কোনো কবিতার চরণ বা গল্পের লাইন কিংবা নিজের বানানো কোনো উক্তি।

৪. প্রতি মাসে অন্তত একবার পাসওয়ার্ড পরিবর্তন করুন। একই পাসওয়ার্ড বার বার ব্যবহার করবেন না।

৫. মনে রাখতে সহজ হবে ভেবে সহজ পাসওয়ার্ড ব্যবহার করবেন না। আপনার কাছে যেটা সহজ সেটা হয়ত আগেই কোনো হ্যাকার ক্র্যাক করে রেখেছে।

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

সবই তো জানলেন। কিন্তু আপনার পাসওয়ার্ড কতটা জটিল বলে মনে হয়? হ্যাকার কি পারবে আপনারটি ক্র্যাক করতে?