DNS স্পুফিং হল এমন একটি আক্রমণ যা ব্যবহারকারীদের তাদের অ্যাক্সেস করার চেষ্টা করা ওয়েবসাইটের পরিবর্তে একটি জাল সাইটের দিকে পরিচালিত করে। এটি UDP প্রোটোকলের একটি দুর্বলতাকে কাজে লাগায় এবং এটি প্রতিরোধ করার জন্য DNSSEC (ডোমেন নেম সিস্টেম সিকিউরিটি এক্সটেনশন) এর মতো সুরক্ষা ব্যবস্থা প্রয়োজন।
ডোমেইন নেম সিস্টেম (DNS) স্পুফিং হল ইন্টারনেট ব্যবহারকারীদের কোনও সাইট অ্যাক্সেস করার চেষ্টা করার সময় একটি নকল সাইটের দিকে পরিচালিত করার অভ্যাস। এটি ডোমেইন নামগুলিকে IP ঠিকানায় রূপান্তর করে সম্পন্ন করা হয়।
ইন্টারনেটের সাথে সংযুক্ত কম্পিউটারগুলিকে একে অপরের সাথে সনাক্ত করতে এবং যোগাযোগ করার জন্য, প্রতিটি কম্পিউটারের একটি অনন্য আইপি ঠিকানা থাকতে হবে, যা ইন্টারনেট প্রোটোকল (আইপি) অনুযায়ী তৈরি করা হয়। প্রোটোকল হল যোগাযোগের রীতি যা কম্পিউটারগুলি একে অপরের সাথে সংযোগ করতে এবং ডেটা পাঠাতে ব্যবহার করে এবং সফ্টওয়্যার বা হার্ডওয়্যারে প্রয়োগ করা হয়। বর্তমানে সবচেয়ে বেশি ব্যবহৃত আইপি অ্যাড্রেসগুলোকে চারটি ডট-ডিলিমিটেড ফিল্ডের সংখ্যা দ্বারা প্রতিনিধিত্ব করা হয়, যেমন “***.126.63.1”। এই ঠিকানাটি সদৃশ বা এলোমেলো করা উচিত নয় এবং একটি সর্বজনীন IP ঠিকানা বরাদ্দ করা উচিত।
দুই ধরণের পাবলিক আইপি ঠিকানা রয়েছে: স্ট্যাটিক আইপি ঠিকানা, যা ধারাবাহিকভাবে একই নম্বর ব্যবহার করে এবং ডায়নামিক আইপি ঠিকানা, যা পুনঃনামকরণ করা যেতে পারে। ডায়নামিক আইপি ঠিকানাগুলি DHCP নামক একটি প্রোটোকল দ্বারা অনুমোদিত হয়। DHCP এমন কম্পিউটারগুলির অনুরোধ গ্রহণ করে যাদের একটি আইপি ঠিকানা প্রয়োজন এবং তাদের কাছে এটি বরাদ্দ করে, এবং যখন কম্পিউটারটি আইপি ঠিকানা ব্যবহার বন্ধ করে দেয়, তখন ঠিকানাটি ফেরত দেওয়া হয় যাতে অন্য কম্পিউটার এটি ব্যবহার করতে পারে। অন্যদিকে, এমন ব্যক্তিগত আইপি ঠিকানাও রয়েছে, যা সরাসরি ইন্টারনেটে অ্যাক্সেসযোগ্য নয় এবং কেবল অভ্যন্তরীণ নেটওয়ার্কগুলিতে একে অপরকে সনাক্ত করে।
ইন্টারনেট পাবলিক আইপি অ্যাড্রেসের উপর ভিত্তি করে কাজ করে, কিন্তু যখন আমরা ইন্টারনেট ব্যবহার করি, তখন আমরা আইপি অ্যাড্রেসের পরিবর্তে ডোমেইন নেম ব্যবহার করি, যা ব্যবহারের সুবিধার্থে "www.." এর মতো অক্ষর দিয়ে তৈরি। ডোমেইন নেমগুলিকে আইপি অ্যাড্রেসে অনুবাদ করার জন্য আমাদের ডিএনএস প্রয়োজন, এবং ডিএনএস চালিত ডিভাইসগুলিকে নেমসার্ভার বলা হয়। আপনার কম্পিউটারে নেমসার্ভারের আইপি অ্যাড্রেস রেকর্ড করা প্রয়োজন, এবং একটি ডায়নামিক আইপি অ্যাড্রেস সহ একটি কম্পিউটার যখন একটি আইপি অ্যাড্রেস গ্রহণ করে তখন নেমসার্ভারের আইপি অ্যাড্রেস স্বয়ংক্রিয়ভাবে রেকর্ড করা হবে, তবে একটি স্ট্যাটিক আইপি অ্যাড্রেস সহ একটি কম্পিউটারে ব্যবহারকারীর দ্বারা নেমসার্ভারের আইপি অ্যাড্রেস ম্যানুয়ালি রেকর্ড করা প্রয়োজন। ইন্টারনেট পরিষেবা প্রদানকারীরা এমন নেমসার্ভার পরিচালনা করে যা তাদের গ্রাহকদের দ্বারা ভাগ করা হয়।
DNS হল ইন্টারনেট যোগাযোগের একটি অপরিহার্য উপাদান, এবং দ্রুত এবং নির্ভুল ডোমেন নাম অনুবাদ ইন্টারনেট ব্যবহারকারীর অভিজ্ঞতার উপর উল্লেখযোগ্য প্রভাব ফেলে। DNS পারফরম্যান্স এবং নিরাপত্তা বিশেষ করে সাইট এবং ব্যবসার জন্য গুরুত্বপূর্ণ যেগুলি প্রচুর পরিমাণে ট্রাফিক পরিচালনা করে। যদি একটি DNS সার্ভার ডাউন হয়ে যায় বা হ্যাক করা হয়, এটি একটি বিশাল পরিষেবা বিভ্রাটের কারণ হতে পারে। উদাহরণ স্বরূপ, 2016 সালে Dyn DNS আক্রমণ অনেক বড় ওয়েবসাইটকে ধ্বংস করে দিয়েছিল।
চলুন দেখে নেওয়া যাক একজন ব্যবহারকারী সাধারণত কোন সাইটের সাথে কিভাবে সংযোগ স্থাপন করে। ওয়েবসাইট অ্যাক্সেস করার চেষ্টা করা কম্পিউটারকে ক্লায়েন্ট বলা হয়। যখন একজন ব্যবহারকারী ঠিকানা বারে যে সাইটটি দেখতে চান তার ডোমেইন নাম টাইপ করেন (অথবা পোর্টাল সাইটে এটি অনুসন্ধান করেন এবং তাতে ক্লিক করেন), তখন ক্লায়েন্ট রেকর্ডে থাকা নেমসার্ভারগুলিতে একটি কোয়েরি প্যাকেট পাঠায়, ডোমেইন নামের সাথে সম্পর্কিত আইপি ঠিকানা জিজ্ঞাসা করে। যদি আইপি ঠিকানাটি তার তালিকায় থাকে, তাহলে নেমসার্ভার একটি উত্তর প্যাকেট পাঠায় যা ক্লায়েন্টকে আইপি ঠিকানা বলে। প্রতিক্রিয়া প্যাকেটটি নির্দেশ করে যে এটি কোন কোয়েরি প্যাকেটের প্রতিক্রিয়া জানাচ্ছে। যদি আইপি ঠিকানাটি তালিকাভুক্ত না থাকে, তাহলে নেমসার্ভার একটি উত্তর প্যাকেট পাঠায় যা ক্লায়েন্টকে অন্য নেমসার্ভারের আইপি ঠিকানা বলে, এবং ক্লায়েন্ট সেই নেমসার্ভারে একটি কোয়েরি প্যাকেট পাঠানোর জন্য ফিরে যায় এবং প্রক্রিয়াটি পুনরাবৃত্তি করে। ক্লায়েন্ট সাইটটি খুঁজে পেতে আইপি ঠিকানা ব্যবহার করে। নেমসার্ভার এবং ক্লায়েন্টরা UDP নামক একটি প্রোটোকল ব্যবহার করে প্যাকেটগুলি বারবার পাঠায়। প্যাকেটগুলি দ্রুত পাঠানো হয়েছে তা নিশ্চিত করার জন্য, UDP কেবল অন্য পক্ষকে প্যাকেট পাঠায় এবং আগমনের জন্য পরীক্ষা করে না; এটি একটি নির্দিষ্ট কোয়েরি প্যাকেটের জন্য আসা প্রথম প্রতিক্রিয়া প্যাকেটটিকে বিশ্বাস করে এবং পরবর্তী প্যাকেটটি পরীক্ষা না করেই বাতিল করে দেয়। DNS স্পুফিং UDP-তে এই গর্তগুলির সুযোগ নেয়।
চলুন দেখে নেওয়া যাক কিভাবে DNS স্পুফিং কাজ করে। দূষিত কোড দ্বারা সংক্রামিত একটি কম্পিউটার যা DNS স্পুফিং করে তাকে আক্রমণকারী বলা হয়। যখন একটি ক্লায়েন্ট একটি নির্দিষ্ট আইপি ঠিকানা জিজ্ঞাসা করে একটি নেমসার্ভারে একটি কোয়েরি প্যাকেট পাঠায়, প্যাকেটটি আক্রমণকারীর কাছে ফরোয়ার্ড করা হয়, যিনি একটি জাল সাইটের আইপি ঠিকানা সহ ক্লায়েন্টকে একটি প্রতিক্রিয়া প্যাকেট পাঠান। আক্রমণকারীর প্রতিক্রিয়া প্যাকেট নেমসার্ভার থেকে প্রতিক্রিয়া প্যাকেটের আগে ক্লায়েন্টের কাছে আসে এবং ক্লায়েন্ট আক্রমণকারীর প্রতিক্রিয়া প্যাকেটটিকে সঠিক প্যাকেট হিসাবে স্বীকৃতি দেয় এবং জাল সাইটে নির্দেশিত হয়।
তাই, DNS স্পুফিং আক্রমণ প্রতিরোধ করতে ডোমেইন নেম সিস্টেম সিকিউরিটি এক্সটেনশন (DNSSEC) এর মতো নিরাপত্তা ব্যবস্থা গ্রহণ করা গুরুত্বপূর্ণ। DNSSEC ডিএনএস ডেটার অখণ্ডতা এবং উৎপত্তি যাচাই করে, ক্লায়েন্টদের তারা যে ডেটা গ্রহণ করে তা বিশ্বাসযোগ্য তা যাচাই করতে দেয়। নেটওয়ার্ক প্রশাসকদের নিয়মিতভাবে DNS সার্ভার নিরীক্ষণ করা উচিত এবং অস্বাভাবিক কার্যকলাপ সনাক্ত করা উচিত যাতে তারা অবিলম্বে প্রতিক্রিয়া জানাতে পারে। শেষ ব্যবহারকারীদের জন্য মৌলিক সুরক্ষা অনুশীলনগুলি অনুসরণ করাও গুরুত্বপূর্ণ, যেমন বিশ্বস্ত সুরক্ষা সফ্টওয়্যার ব্যবহার করা এবং সন্দেহজনক ওয়েবসাইটগুলিতে না যাওয়া৷