VPN কি KRACK থেকে রক্ষা করে? প্যাচটি আসলে কী ঠিক করে
VPN স্থানীয় নেটওয়ার্ক থেকে ট্রাফিক লুকায়, কিন্তু WPA2 হ্যান্ডশেক মেরামত করতে পারে না। 2017 সালের প্যাচ কী বদলেছে আর প্রতিটি স্তর কী ঢাকে, তা এখানে।
যদি কোনো শিরোনামে শুনে থাকেন যে KRACK Wi-Fi এনক্রিপশন ভেঙে দেয়, আর সেই কারণে VPN কিনছেন, তাহলে আপনি ভুল স্তর ঠিক করছেন। 2017 সালের ওই প্রকাশে WPA2-এর চার-ধাপের হ্যান্ডশেকের বিরুদ্ধে কী পুনঃস্থাপন আক্রমণের একটি পরিবার বর্ণনা করা হয়েছিল, আর সমাধান এসেছিল অপারেটিং সিস্টেম হালনাগাদ, ওয়্যারলেস ড্রাইভার প্যাচ ও রাউটার ফার্মওয়্যার হিসেবে। একটি টানেল স্থানীয় নেটওয়ার্ক থেকে আপনার ট্রাফিক লুকাতে পারে, কিন্তু তার নিচে সম্পন্ন হওয়া হ্যান্ডশেক মেরামত করতে পারে না। তাই প্রথম প্রশ্ন কোন VPN কিনবেন তা নয়; প্রশ্ন হলো আপনার কোন ডিভাইসে এখনও প্যাচহীন ওয়্যারলেস স্ট্যাক চলছে।
একই পার্থক্য বাজেটের দুশ্চিন্তার উত্তরও দেয়। যিনি সাবস্ক্রিপশনের খরচ চালাতে পারেন না, তিনি কখনও আসল সমাধান থেকে বাদ পড়েননি, কারণ সমাধানটি ছিল বিনামূল্যের হালনাগাদ। টাকা লাগে এমন হার্ডওয়্যার বদলাতে, যা আর হালনাগাদ পায় না।
আক্রমণটি আসলে কী নিয়ন্ত্রণ করেছিল
WPA2 সংযুক্তির সময়ে চার-ধাপের হ্যান্ডশেকের মাধ্যমে একটি নতুন জোড়া-কী তৈরি করে। অ্যাক্সেস পয়েন্ট একটি nonce পাঠায়, ক্লায়েন্ট নিজের nonce দিয়ে উত্তর দেয়, দুই পক্ষই জোড়া ক্ষণস্থায়ী কী গণনা করে, আর অ্যাক্সেস পয়েন্ট এমন একটি বার্তা দিয়ে নিশ্চিত করে যা ক্লায়েন্ট স্বীকার করে। কী পুনঃস্থাপন আক্রমণ পাসফ্রেজ অনুমান করার বদলে সেই ক্রমে হস্তক্ষেপ করে এবং ক্লায়েন্টকে এমন একটি কী ইনস্টল করতে বাধ্য করে যা সে আগেই ইনস্টল করেছে। প্রতিটি পুনঃস্থাপন ওই কী-এর সঙ্গে যুক্ত ট্রান্সমিট nonce ও রিসিভ রিপ্লে কাউন্টার রিসেট করতে পারে।
সেই কাউন্টারগুলো পিছনে সরে গেলে, যে ট্রাফিক প্রত্যাখ্যাত হওয়ার কথা ছিল তার কিছু আবার গ্রহণযোগ্য হয়ে যায়। ভ্যারিয়েন্ট ও বাস্তবায়নের উপর নির্ভর করে, রেডিও পরিসরের মধ্যে থাকা আক্রমণকারী ফ্রেম পুনরায় পাঠাতে, ডিক্রিপ্ট করতে বা ইনজেক্ট করতে পারত। গ্রুপ-কী হ্যান্ডশেক ও দ্রুত-স্থানান্তর হ্যান্ডশেকের নিজস্ব ভ্যারিয়েন্ট ছিল, তাই পরামর্শে একটির বদলে কয়েকটি আক্রমণের নাম তালিকাভুক্ত ছিল।
Android 6.0 ও তার পরের সংস্করণ ছিল সবচেয়ে খারাপ ঘটনা। এর wpa_supplicant সংস্করণগুলোকে সব-শূন্য কী ইনস্টল করতে বাধ্য করা যেত, যা এমন প্ল্যাটফর্মের চেয়ে ডিক্রিপশন অনেক সহজ করে দিত যেখানে পুনঃস্থাপন কেবল কাউন্টার রিসেট করে। সেই বিবরণ তখনকার সবচেয়ে সাধারণ ফোন প্ল্যাটফর্মে তাত্ত্বিক দুর্বলতাকে বাস্তব দুর্বলতা থেকে আলাদা করেছিল।
সমাধানটি ওয়্যারলেস স্ট্যাকের ভেতরেই
আপস্ট্রিম সংশোধনী বলেছিল, কী আগেই ইনস্টল হয়ে গেলে supplicant ও অ্যাক্সেস পয়েন্ট পুনঃপ্রেরিত হ্যান্ডশেক বার্তা উপেক্ষা করবে। wpa_supplicant ও hostapd-এর প্যাচ করা বিল্ড তা বহন করত, আর ডিস্ট্রিবিউশনগুলো তা পুরোনো শাখায় ফিরিয়ে এনেছিল, তাই wpa_supplicant -v যে স্ট্রিং ছাপে তা একটি সূচনা বিন্দু, কোনো রায় নয়। ডিস্ট্রিবিউশনের নিরাপত্তা পরামর্শ পড়ুন এবং কেবল সংস্করণ নম্বর নয়, নির্দিষ্ট প্যাচটি নিশ্চিত করুন। পুরোনো সংস্করণ দেখানো বিল্ডও ঠিক করা থাকতে পারে, আর নতুন সংস্করণ দেখানো বিল্ডেও প্রস্তুতকারকের প্যাচ অনুপস্থিত থাকতে পারে।
লিঙ্কের দুই প্রান্তেরই মনোযোগ দরকার। মেরামত করা রাউটার তার সঙ্গে সংযুক্ত ল্যাপটপকে প্যাচ করে না, আর মেরামত করা ল্যাপটপ রাউটারকে প্যাচ করে না। প্রস্তুতকারকরা প্রতিটি পণ্যের জন্য পরামর্শ প্রকাশ করেছিল, আর রাউটারের সমাধান সাধারণত ফোনের হালনাগাদের পিছিয়ে থাকত, কারণ প্রতিটি মডেলের নিজস্ব ফার্মওয়্যার বিল্ড দরকার। কোনো ডিভাইসের শেষ প্রকাশ যদি পরামর্শের আগের হয়, তবে প্রস্তুতকারক অন্যথা না বলা পর্যন্ত সেটিকে প্যাচহীন ধরুন।
যে সরঞ্জাম আপনি হালনাগাদ করতে পারেন না, তার জন্য বিকল্প সংকীর্ণ ও অনাকর্ষণীয়। সেটি অবসর দিন, সংবেদনশীল ট্রাফিক বহনকারী নেটওয়ার্ক থেকে দূরে রাখুন, বা এমন সেগমেন্টে সীমাবদ্ধ করুন যেখানে তার একমাত্র সহকর্মীরাও সমানভাবে ত্যাজ্য। এই বিকল্পগুলোর কোনোটিতেই সাবস্ক্রিপশন নেই, আর ভিন্ন টানেল সরবরাহকারী বেছে নিলে কোনোটিই উন্নত হয় না।
টানেল আসলে কী ঢাকে
VPN সীমান্তটি সরিয়ে দেয়। আপনার ডিভাইস প্রতিটি প্যাকেট এনক্রিপ্ট করে VPN সার্ভারে পাঠায়, যা তা ডিক্রিপ্ট করে সামনে পাঠায়। যে ব্যক্তি Wi-Fi লিঙ্ক নিয়ন্ত্রণ করে, সে বাইরের টানেল প্যাকেট দেখে, ভেতরের পেলোড নয়, তাই লিঙ্ক-স্তরের ফ্রেম উন্মোচনকারী পুনঃস্থাপন আক্রমণ স্বয়ংক্রিয়ভাবে টানেলযুক্ত সংযোগের বিষয়বস্তু উন্মোচন করে না। এই সুরক্ষা তখনও টেকে যখন নিচের ওয়্যারলেস স্ট্যাক দুর্বল থাকে, আর ঠিক এ কারণেই দুই নিয়ন্ত্রণকে গুলিয়ে ফেলা হয়।
শর্তটি হলো "টানেলযুক্ত"। স্প্লিট টানেলিং, বাইপাস তালিকা বা ক্যাপটিভ-পোর্টাল ব্যতিক্রম কিছু ট্রাফিক টানেলের বাইরে পাঠায়, আর সেই ট্রাফিক এর কোনো সুবিধা পায় না। একই নেটওয়ার্কে থাকা অন্য ডিভাইসের ট্রাফিকও তাই, যেগুলো কখনও ক্লায়েন্ট ইনস্টল করেনি। টানেল প্রতিটি ডিভাইস ও প্রতিটি রুটের সিদ্ধান্ত, ঘরের কোনো বৈশিষ্ট্য নয়, আর রাউটার-স্তরের VPN কেবল তা-ই ঢাকে যা সত্যিই রাউটার দিয়ে যায়।
টানেল যা করতে পারে না তা হলো ড্রাইভার মেরামত করা, ডি-অথেন্টিকেশন বন্যা থামানো, বা আক্রমণকারীকে চ্যানেল জ্যাম করতে বাধা দেওয়া। এটি এমন সংযোগও রক্ষা করতে পারে না যা কখনও এতে ঢোকে না। এগুলো প্রাপ্যতা ও লিঙ্ক-স্তরের সমস্যা, আর টানেলের সাইফার স্যুট যত শক্তই হোক, এগুলো ওয়্যারলেস স্ট্যাকের সঙ্গেই থাকে।
HTTPS ও টানেল ভিন্ন ভিন্ন হপ রক্ষা করে
একটি পৃষ্ঠা লোডে তিনটি আলাদা সুরক্ষা থাকতে পারে: Wi-Fi লিঙ্ক, VPN সার্ভারের টানেল, আর ওয়েবসাইটের TLS সেশন। প্রতিটি আলাদাভাবে দরকষাকষি হয়। বৈধ সার্টিফিকেট ও আধুনিক প্রোটোকল সংস্করণসহ TLS প্রথম হপ শত্রু হলেও ব্রাউজার ও সাইটের মধ্যে আপনাকে প্রমাণিত এনক্রিপশন দেয়, কারণ সার্টিফিকেট যাচাইয়েই প্রতারককে নিজের কী বসানো থেকে আটকায়।
এই যাচাইয়ের প্রান্তে দুর্বল জায়গা আছে। HTTPS থেকে HTTP-তে রিডাইরেক্ট, সাধারণ HTTP দিয়ে স্ক্রিপ্ট লোড করা পৃষ্ঠা, বা সার্টিফিকেট সতর্কবার্তা ক্লিক করে এগিয়ে যাওয়া ব্যবহারকারী সবাই ট্রাফিককে সুরক্ষিত সেশনের বাইরে নিয়ে যায়। HSTS ও ব্রাউজারের মধ্যবর্তী পৃষ্ঠা আছে কারণ এসব ভুল সাধারণ, TLS দুর্বল বলে নয়।
HTTPS ও টানেল ধরে রাখলে ওয়্যারলেস বাস্তবায়ন দুর্বল থাকা থামে না। ফ্রেমগুলো এখনও ত্রুটিপূর্ণ ড্রাইভার দিয়েই ডিক্রিপ্ট হয়; পার্থক্য হলো আক্রমণকারী ভেতরে কী পায়, আর সেই বিষয়বস্তু আগেই অন্য কিছু দিয়ে সুরক্ষিত ছিল কি না।
মিশ্র নেটওয়ার্কের জন্য মেরামতের ক্রম
অ্যাক্সেস পয়েন্ট দিয়ে শুরু করুন, কারণ এটি আপনার নিয়ন্ত্রণে থাকা ডিভাইস এবং প্রতিটি ক্লায়েন্ট এর উপর নির্ভর করে। তারপর ক্লায়েন্ট অপারেটিং সিস্টেমগুলো দেখুন, সবচেয়ে পুরোনো আগে, কারণ যে প্ল্যাটফর্মগুলো হালনাগাদ পাওয়া বন্ধ করেছে তারাই কখনও প্যাচ পাবে না। সেই তালিকা শেষ হওয়ার পরেই VPN-এর সিদ্ধান্ত অর্থবহ, আর তা মেরামত নয়, এক্সপোজার নিয়ে সিদ্ধান্ত। উল্টো ক্রমে করা, আগে টানেল পরে ফার্মওয়্যার, সাবস্ক্রিপশন যত দিন থাকে তত দিন আসল ত্রুটিটি জায়গায় রেখে দেয়।
আপনি কী যাচাই করেছেন তা লিখে রাখুন, ফার্মওয়্যার সংস্করণ ও তারিখসহ। "হালনাগাদ" এমন কোনো অবস্থা নয় যা পরে কেউ নিরীক্ষা করতে পারবে।
তিনটি যাচাই কাজের বেশিরভাগটা ঢেকে দেয়, আর এগুলো এই ক্রমে যায়। প্রথম দুটি পরিষ্কার এসেছে বলে তৃতীয়টি বাদ দেবেন না।
- রাউটার ফার্মওয়্যার: ইনস্টল করা সংস্করণটি হালনাগাদ বোতামের সঙ্গে নয়, প্রস্তুতকারকের পরামর্শ পৃষ্ঠার সঙ্গে মেলান।
- ক্লায়েন্ট OS: প্রতিটি ফোন, ল্যাপটপ ও ট্যাবলেটের জন্য ওয়্যারলেস সমাধানসহ প্যাচ স্তর নিশ্চিত করুন।
- অবশিষ্ট: প্যাচের পথ নেই এমন ডিভাইসের তালিকা করুন এবং অবসর, বিচ্ছিন্ন বা গ্রহণ করার সিদ্ধান্ত নিন।
অবশিষ্টের তালিকা লম্বা হলে, ক্লায়েন্ট আইসোলেশনযুক্ত গেস্ট নেটওয়ার্ক হার্ডওয়্যার বদলানোর সময় কিনে দেয়। তারপর প্রতিটি ব্যান্ডে একটি পরিচিত ক্লায়েন্ট পরীক্ষা করুন, ফলাফল লিখুন, আর পরের ফার্মওয়্যার প্রকাশের পর আবার যাচাই করুন। হার্ডওয়্যারের তালিকাই পরের পরামর্শকে দ্রুত করে; টানেল হলো সেই ফাঁক যা ততক্ষণ ঢাকে।