HackCert
Advanced 10 min read May 25, 2026

WebRTC Exploitation: ভিপিএন ব্যবহারের পরও ব্রাউজারের WebRTC প্রোটোকলের দুর্বলতা দিয়ে কীভাবে আপনার আসল আইপি অ্যাড্রেস ফাঁস হয়ে যায়?

WebRTC IP Leak-এর গভীর বিশ্লেষণ, ব্রাউজার-ভিত্তিক আক্রমণ এবং প্রাইভেসি সুরক্ষার Advanced কৌশল।

Omar Faruq Hossain
Security Researcher
share
WebRTC Exploitation: ভিপিএন ব্যবহারের পরও ব্রাউজারের WebRTC প্রোটোকলের দুর্বলতা দিয়ে কীভাবে আপনার আসল আইপি অ্যাড্রেস ফাঁস হয়ে যায়?
Overview

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

WebRTC (Web Real-Time Communication) ব্রাউজারে peer-to-peer যোগাযোগ সম্ভব করার একটি শক্তিশালী প্রযুক্তি, যা ভিডিও কল, ফাইল শেয়ারিং, এবং রিয়েল-টাইম গেমিংয়ের ভিত্তি। তবে এই প্রযুক্তির একটি দিক রয়েছে যা প্রায়ই অবহেলিত: WebRTC IP Leak। এই আক্রমণে একজন ম্যালিশিয়াস ওয়েবসাইট মাত্র কয়েক লাইন JavaScript কোডের মাধ্যমে ব্যবহারকারীর প্রকৃত IP ঠিকানা প্রকাশ করতে পারে, এমনকি VPN সক্রিয় থাকা অবস্থায়ও। এই বিস্তারিত প্রতিবেদনে আমরা WebRTC-র অভ্যন্তরীণ কার্যপ্রণালী, IP Leak-এর প্রক্রিয়া, এবং কার্যকর প্রতিরোধমূলক ব্যবস্থা গভীরভাবে বিশ্লেষণ করব।

WebRTC-র মৌলিক ধারণা

WebRTC একটি ওপেন সোর্স প্রকল্প যা Google ২০১১ সালে চালু করেছিল। এর উদ্দেশ্য হলো ব্রাউজারগুলোতে কোনো প্লাগইন ছাড়াই রিয়েল-টাইম যোগাযোগ সক্ষম করা। Skype-এর মতো অ্যাপ্লিকেশনের জন্য আগে আলাদা সফটওয়্যার ডাউনলোড করতে হতো, কিন্তু WebRTC-র সাথে এই সব ব্রাউজারে সম্ভব। Google Meet, Discord, Zoom (ওয়েব সংস্করণ), এবং Facebook Messenger-এর মতো প্ল্যাটফর্ম WebRTC ব্যবহার করে। এই প্রযুক্তি Chrome, Firefox, Edge, এবং Safari-সহ সব আধুনিক ব্রাউজারে অন্তর্নির্মিত।

WebRTC-র মূল কার্যকারিতা peer-to-peer সংযোগ স্থাপন। প্রথাগত web কমিউনিকেশনে ক্লায়েন্ট সর্বদা সার্ভারের সাথে কথা বলে, কিন্তু WebRTC দুই ব্যবহারকারীর ব্রাউজারের মধ্যে সরাসরি সংযোগ তৈরি করে। এই সংযোগ স্থাপনের জন্য কিছু চ্যালেঞ্জ মোকাবিলা করতে হয়, বিশেষত NAT (Network Address Translation)-এর কারণে। বেশিরভাগ ব্যবহারকারী একটি প্রাইভেট IP-এর পেছনে থাকেন, এবং তাদের পাবলিক IP জানা ছাড়া peer-to-peer সংযোগ সম্ভব নয়। এই সমস্যা সমাধানের জন্য WebRTC STUN এবং TURN সার্ভার ব্যবহার করে, এবং এখানেই IP Leak-এর সূত্রপাত।

STUN এবং TURN প্রোটোকল

STUN (Session Traversal Utilities for NAT) হলো একটি প্রোটোকল যা একটি ক্লায়েন্টকে তার পাবলিক IP ঠিকানা আবিষ্কার করতে সাহায্য করে। যখন একটি ক্লায়েন্ট STUN সার্ভারে রিকোয়েস্ট পাঠায়, সার্ভার সেই রিকোয়েস্টের সোর্স IP দেখে ক্লায়েন্টকে জানায় তার পাবলিক IP কী। Google, Mozilla, এবং অন্যান্য প্রতিষ্ঠান পাবলিক STUN সার্ভার চালায়, যেমন stun.l.google.com। WebRTC এই STUN সার্ভারগুলো ব্যবহার করে peer-to-peer সংযোগের জন্য প্রয়োজনীয় IP তথ্য সংগ্রহ করে।

TURN (Traversal Using Relays around NAT) হলো STUN-এর একটি বিকল্প যখন direct peer-to-peer সংযোগ সম্ভব নয়। কিছু কর্পোরেট ফায়ারওয়াল এবং Symmetric NAT direct সংযোগ ব্লক করে, এই ক্ষেত্রে TURN সার্ভার একটি রিলে হিসেবে কাজ করে। ICE (Interactive Connectivity Establishment) ফ্রেমওয়ার্ক STUN এবং TURN-এর সমন্বয়ে সবচেয়ে ভালো সংযোগ পথ খুঁজে বের করে। সমস্যা হলো এই প্রক্রিয়ায় ICE Candidate তৈরি হয়, যেখানে ব্যবহারকারীর সমস্ত IP ঠিকানা (লোকাল প্রাইভেট IP, VPN IP, এবং প্রকৃত পাবলিক IP) প্রকাশিত হয়। আক্রমণকারী এই Candidates JavaScript-এর মাধ্যমে অ্যাক্সেস করতে পারেন।

WebRTC IP Leak-এর প্রক্রিয়া

একটি ম্যালিশিয়াস ওয়েবসাইট কীভাবে আপনার IP প্রকাশ করতে পারে তার একটি সরল উদাহরণ দেখা যাক। RTCPeerConnection API ব্যবহার করে JavaScript-এ একটি পিয়ার কানেকশন তৈরি করা হয়। তারপর createOffer() ফাংশন কল করে একটি SDP (Session Description Protocol) অফার তৈরি করা হয়। এই অফারে ICE Candidates অন্তর্ভুক্ত থাকে, যেগুলো ব্যবহারকারীর সমস্ত IP ঠিকানা প্রকাশ করে। onicecandidate event listener এই candidates ক্যাপচার করতে পারে।

কোডটি দেখতে এমন হবে: একটি RTCPeerConnection তৈরি করে STUN সার্ভার কনফিগার করা হয়, তারপর createDataChannel এবং createOffer কল করে। যখন ব্রাউজার ICE candidate তৈরি করে, প্রতিটি candidate-এর string-এ IP ঠিকানা থাকে যা regex দিয়ে extract করা যায়। প্রায়ই দেখা যায় তিন ধরনের IP প্রকাশিত হয়: লোকাল IP (192.168.x.x বা 10.x.x.x), VPN IP, এবং প্রকৃত পাবলিক IP। VPN সক্রিয় থাকলেও STUN সার্ভার সরাসরি ISP-র মাধ্যমে প্রকৃত পাবলিক IP প্রকাশ করতে পারে, কারণ অনেক VPN ক্লায়েন্ট WebRTC ট্র্যাফিক টানেলের বাইরে যেতে দেয়। এই আক্রমণ সম্পূর্ণভাবে স্বয়ংক্রিয় এবং ব্যবহারকারীর কোনো ইন্টারঅ্যাকশন প্রয়োজন নেই।

ব্রাউজার-নির্দিষ্ট আচরণ

বিভিন্ন ব্রাউজার WebRTC IP Leak-এর ক্ষেত্রে ভিন্ন আচরণ দেখায়। Chrome এবং Edge ডিফল্টরূপে সমস্ত ICE candidates প্রকাশ করে, যা সবচেয়ে বেশি লিক প্রবণ। Firefox-এ চমৎকার নিরাপত্তা বৈশিষ্ট্য রয়েছে, যেখানে about:config-এ media.peerconnection.enabled false করে WebRTC সম্পূর্ণ বন্ধ করা যায়, বা media.peerconnection.ice.no_host true করে শুধু host candidates ব্লক করা যায়। Safari-তে IP leak সাধারণত কম কারণ এটি stricter privacy settings প্রয়োগ করে।

Brave Browser প্রাইভেসি-ফোকাসড এবং ডিফল্টরূপে WebRTC IP handling নিরাপদভাবে কনফিগার করা থাকে। Tor Browser-এ WebRTC সম্পূর্ণ disable, যা সর্বোচ্চ প্রাইভেসি প্রদান করে কিন্তু রিয়েল-টাইম যোগাযোগ অসম্ভব করে। মোবাইল ব্রাউজারে আচরণ আলাদা হতে পারে, এবং অনেক in-app browser (Facebook, Instagram, Twitter)-এ এই সমস্যা বেশি। সমস্ত ব্রাউজারে mDNS (Multicast DNS) candidates একটি নতুন সংযোজন, যা প্রাইভেট IP-কে UUID-এর মাধ্যমে obfuscate করে। তবে এই সমাধান শুধু লোকাল IP-র জন্য, পাবলিক IP এখনও প্রকাশ পেতে পারে।

VPN এবং WebRTC-র দ্বন্দ্ব

VPN-এর প্রতিশ্রুতি হলো আপনার সমস্ত ইন্টারনেট ট্র্যাফিক একটি এনক্রিপ্টেড টানেলের মাধ্যমে যাবে, ফলে আপনার আসল IP লুকানো থাকবে। কিন্তু WebRTC প্রায়ই এই টানেল উপেক্ষা করে কাজ করে। কারণ WebRTC-এর STUN রিকোয়েস্ট অপারেটিং সিস্টেম স্তরে যায়, যা VPN অ্যাপ্লিকেশনের নিয়ন্ত্রণে নাও থাকতে পারে। বিশেষত যখন ব্রাউজারে multiple network interface চিহ্নিত হয় (যেমন একটি VPN interface এবং একটি প্রকৃত network interface), WebRTC সবগুলোর জন্য candidates তৈরি করে।

ভালো VPN প্রোভাইডার এই সমস্যা সম্পর্কে সচেতন এবং তাদের ক্লায়েন্টে WebRTC Leak Protection অন্তর্ভুক্ত করে। তবে শুধু VPN ক্লায়েন্টের ফিচার যথেষ্ট নয়, ব্রাউজার-স্তরের কনফিগারেশনও প্রয়োজন। ipleak.net বা browserleaks.com/webrtc-এ গিয়ে আপনার বর্তমান সেটআপ পরীক্ষা করুন। যদি STUN/TURN টেবিলে আপনার আসল ISP-র IP দেখা যায়, তাহলে আপনার সেটআপে leak আছে। মনে রাখবেন, একটি বড় VPN প্রোভাইডারের নাম মানেই WebRTC Leak Protection আছে এমন নয়, প্রতিটি প্ল্যাটফর্ম এবং সেটিংস আলাদাভাবে যাচাই করা প্রয়োজন।

ব্যবহারিক আক্রমণ পরিদৃশ্য

WebRTC IP Leak-এর প্রকৃত-জগতে প্রয়োগ অনেক। একজন সাংবাদিক একটি সরকারি দুর্নীতির বিরুদ্ধে গোপন প্রতিবেদন করছেন এবং পরিচয় গোপন রাখতে চাইছেন। একটি ম্যালিশিয়াস লিঙ্কে ক্লিক করলে তার আসল IP ফাঁস হয়ে যেতে পারে, যা গোয়েন্দা সংস্থাকে তার অবস্থান শনাক্ত করতে সাহায্য করবে। ব্যবসায়িক প্রতিদ্বন্দ্বিতায় একজন কর্মচারী যিনি প্রতিদ্বন্দ্বী কোম্পানির পণ্য পরিদর্শন করছেন, IP Leak-এর মাধ্যমে চিহ্নিত হতে পারেন।

Geo-restriction ফাঁকি দিতে ব্যবহার করা VPN WebRTC Leak-এর কারণে বিফল হতে পারে। স্ট্রিমিং সার্ভিসগুলো যদি WebRTC দিয়ে আসল IP জেনে যায়, তারা VPN-ভিত্তিক বাইপাস প্রতিরোধ করতে পারে। অনলাইন গেমে cheating প্রতিরোধে অনেক অ্যান্টি-চিট সিস্টেম WebRTC ব্যবহার করে প্লেয়ারের আসল IP যাচাই করে। সাইবার অপরাধে ফরেনসিক তদন্তেও এই কৌশল কাজে আসে, একটি "honeypot" সাইট তৈরি করে সন্দেহভাজনদের IP চিহ্নিত করা যায়। অ্যাডভার্টাইজিং কোম্পানিগুলো cross-device tracking-এ WebRTC IP ব্যবহার করে, যা প্রাইভেসি একটি বড় উদ্বেগ।

সাম্প্রতিক WebRTC দুর্বলতা

IP Leak ছাড়াও WebRTC-তে অন্যান্য নিরাপত্তা দুর্বলতা পাওয়া গেছে। ২০১৯-২২ সালে Chromium এবং Firefox-এ একাধিক ক্রিটিকাল WebRTC ভালনারেবিলিটি প্রকাশিত হয়েছে। CVE-2020-15999 ছিল FreeType লাইব্রেরিতে একটি heap buffer overflow যা WebRTC-র মাধ্যমে exploit করা যেত। CVE-2022-2294 ছিল WebRTC stack-এ একটি heap buffer overflow যা remote code execution সম্ভব করেছিল। এই ধরনের দুর্বলতা attacker-কে শুধু IP জানা নয়, পুরো ব্রাউজার বা সিস্টেম কম্প্রোমাইজ করার সুযোগ দিতে পারে।

WebRTC-র DTLS (Datagram Transport Layer Security) ইমপ্লিমেন্টেশনে দুর্বলতা পাওয়া গেছে। SCTP (Stream Control Transmission Protocol) যা WebRTC-র data channel-এর ভিত্তি, সেখানেও memory corruption bug-এর ঘটনা ঘটেছে। Browser fingerprinting-এ WebRTC-র অবদান গুরুত্বপূর্ণ; এটি ব্রাউজার এবং সিস্টেমের অনেক unique বৈশিষ্ট্য প্রকাশ করে যা একজন ব্যবহারকারীকে identify করতে সাহায্য করে। Audio এবং Video device enumeration ব্যবহারকারীর হার্ডওয়্যার সম্পর্কে তথ্য প্রকাশ করে, যা প্রাইভেসি ঝুঁকি।

প্রতিরোধমূলক ব্যবস্থা: Browser Configuration

প্রতিটি ব্রাউজারে WebRTC কনফিগার করার নিজস্ব পদ্ধতি রয়েছে। Firefox-এ সবচেয়ে সহজ সমাধান: address bar-এ about:config টাইপ করুন, media.peerconnection.enabled খুঁজে false করে দিন। এতে WebRTC সম্পূর্ণ disable হবে। যদি WebRTC প্রয়োজন (যেমন ভিডিও কনফারেন্সিংয়ের জন্য) কিন্তু IP leak এড়াতে চান, media.peerconnection.ice.default_address_only বা media.peerconnection.ice.proxy_only সেট করুন।

Chrome এবং Edge-এ built-in WebRTC disable অপশন নেই, কিন্তু Extension ব্যবহার করে নিয়ন্ত্রণ করা যায়। WebRTC Leak Prevent, WebRTC Network Limiter, এবং uBlock Origin (advanced settings-এ) এই কাজ করে। uBlock Origin-এ Dashboard > Settings-এ "Prevent WebRTC from leaking local IP addresses" অপশন আছে। Brave Browser-এর Settings > Shields-এ WebRTC IP handling policy কনফিগার করা যায়। Tor Browser ব্যবহার করুন সর্বোচ্চ প্রাইভেসির জন্য, যেখানে WebRTC সম্পূর্ণ disabled। মোবাইল ডিভাইসে Firefox Focus বা Brave-এর মতো প্রাইভেসি-ফোকাসড ব্রাউজার ব্যবহার করুন।

প্রতিরোধমূলক ব্যবস্থা: Network Level

ব্রাউজার-স্তরের সুরক্ষার পাশাপাশি নেটওয়ার্ক-স্তরের পদক্ষেপ গ্রহণ গুরুত্বপূর্ণ। একটি Firewall রুল কনফিগার করুন যা STUN সার্ভারে আউটগোয়িং ট্র্যাফিক ব্লক করে। UDP পোর্ট ৩৪৭৮ এবং ৫৩৪৯ STUN/TURN-এর জন্য সাধারণ, কিন্তু Google-এর STUN সার্ভার বিভিন্ন পোর্ট ব্যবহার করে। pfSense বা OPNsense-এর মতো অ্যাডভান্সড ফায়ারওয়াল কনফিগারেশন এই কাজে সাহায্য করে।

VPN প্রোভাইডার বাছাইয়ের সময় WebRTC Leak Protection একটি গুরুত্বপূর্ণ বিবেচনা। ExpressVPN, NordVPN, ProtonVPN, এবং Mullvad এই সুরক্ষা প্রদান করে। VPN সংযোগ স্থাপনের পর সর্বদা ipleak.net-এ যাচাই করুন। Kill Switch সক্রিয় রাখুন যাতে VPN সংযোগ বিচ্ছিন্ন হলে সমস্ত ইন্টারনেট ট্র্যাফিক ব্লক হয়। Split tunneling সাবধানে ব্যবহার করুন; কিছু অ্যাপ্লিকেশন VPN-এর বাইরে যেতে দিলে browser-ও সেখানে থাকতে পারে। কর্পোরেট পরিবেশে DNS-level filtering এবং Group Policy ব্যবহার করে WebRTC নিয়ন্ত্রণ করা যায়। Windows-এ Registry edit করে Edge-এর WebRTC handling কনফিগার করা সম্ভব।

প্রতিরোধ ও Best Practices

WebRTC IP Leak থেকে নিজেকে রক্ষা করতে একটি বহুস্তরীয় পদ্ধতি অনুসরণ করুন। প্রথমত, নিয়মিত আপনার সেটআপ যাচাই করুন। ipleak.net, browserleaks.com/webrtc, এবং dnsleaktest.com-এ গিয়ে দেখুন কোনো leak আছে কিনা। দ্বিতীয়ত, প্রাইভেসি-ফোকাসড ব্রাউজার ব্যবহার করুন। Tor Browser সর্বোচ্চ প্রাইভেসি প্রদান করে, Brave দৈনন্দিন ব্যবহারের জন্য ভালো বিকল্প। তৃতীয়ত, যদি Chrome বা Firefox ব্যবহার করেন, সঠিক এক্সটেনশন এবং কনফিগারেশন প্রয়োগ করুন।

চতুর্থত, একটি বিশ্বস্ত VPN প্রোভাইডার বেছে নিন যারা WebRTC Leak Protection প্রদান করে। বিনামূল্যের VPN এড়িয়ে চলুন। পঞ্চমত, সংবেদনশীল কাজের জন্য একটি dedicated browser প্রোফাইল বা সম্পূর্ণ আলাদা ব্রাউজার ব্যবহার করুন। ষষ্ঠত, JavaScript control করুন NoScript বা uBlock Origin-এর মতো এক্সটেনশন দিয়ে। অপরিচিত সাইটে JavaScript ব্লক করুন। সপ্তমত, কর্পোরেট পরিবেশে নেটওয়ার্ক অ্যাডমিনিস্ট্রেটররা Group Policy বা MDM-এর মাধ্যমে WebRTC নিয়ন্ত্রণ করুন। অষ্টমত, যদি ভিডিও কনফারেন্সিং প্রয়োজন, সেই সময়ের জন্য তাৎক্ষণিকভাবে WebRTC সক্রিয় করুন এবং কাজ শেষে আবার disable করুন। অবশেষে, প্রাইভেসি একটি ধারাবাহিক প্রক্রিয়া, প্রযুক্তি ক্রমাগত পরিবর্তিত হচ্ছে এবং আপনার সচেতনতাও আপডেট থাকতে হবে।

Key Takeaways

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

আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ WebRTC Exploitation MCQ Quiz-টি দিন!

Related articles

back to all articles