Mullvad VPN सुरक्षा ऑडिट रिव्यू
(x41-dsec.de)- X41 ने source code access सहित white-box penetration test के जरिए Mullvad VPN ऐप की जांच की, और इसके साथ एक हल्का threat model भी तैयार किया
- ऑडिट का दायरा Android 2024.8-beta1, iOS 2024.8, Desktop 2024.6 code था, और Linux, Windows, macOS, Android, iOS इन 5 platforms पर संचालन को आधार माना गया
- टेस्ट में 6 vulnerabilities मिलीं, लेकिन रिपोर्ट के threat model के आधार पर Mullvad VPN ऐप ने कुल मिलाकर उच्च सुरक्षा स्तर दिखाया
- सबसे गंभीर issue signal handler में race condition और temporal safety violation से होने वाला memory corruption था, लेकिन इसकी गंभीरता इसलिए कम हो जाती है क्योंकि attacker को पहले किसी दूसरे flaw से signal trigger करना होगा
- कुछ vulnerabilities से adjacent network attacker द्वारा user identity information leak हो सकती थी, या कुछ खास परिस्थितियों में side-channel attack संभव हो सकता था, और Mullvad VPN AB ने fixes को जल्दी लागू कर दिया
ऑडिट का दायरा और लक्ष्य की विशेषताएँ
- X41 ने Mullvad VPN application पर white-box penetration test किया
- इसमें source code access था और एक हल्का threat model तैयार करना भी शामिल था
- ऑडिट के लिए target source code के versions ये थे
- target ऐप का दायरा बड़ा है और यह 5 platforms पर चलता है, इसलिए ऑडिट की कठिनाई अधिक थी
- supported platforms हैं Linux, Windows, macOS, Android, iOS
- Mullvad VPN नियमित ऑडिट कराता रहा है, और मौजूदा code में नई vulnerabilities का मिलना यह दिखाता है कि product की complexity को देखते हुए लगातार security review जरूरी है
- mature targets में findings का झुकाव अक्सर application development team के direct control या focus से बाहर के क्षेत्रों की ओर चला जाता है
- operating system के behavior characteristics
- अलग-अलग network layers और protocols के बीच interaction
निष्कर्ष और सुरक्षा मूल्यांकन
- X41 के टेस्ट में कुल 6 vulnerabilities मिलीं
- रिपोर्ट के threat model के आधार पर Mullvad VPN application ने उच्च सुरक्षा स्तर दिखाया
- secure coding और design patterns
- नियमित ऑडिट और penetration testing
- hardened execution environment
- सबसे गंभीर vulnerability signal handler code में race condition और temporal safety violation से होने वाला memory corruption था
- signal handler code एक बार trigger हो जाए तो exploitation की संभावना कम नहीं लगती
- लेकिन attacker को पहले किसी दूसरी flaw से signal trigger करना होगा, इसलिए overall severity कम हो जाती है
- दूसरी vulnerabilities से adjacent network attacker user identity information leak कर सकता था, या कुछ परिस्थितियों में client जिस site तक पहुँच रहा है उसे उजागर करने वाला side-channel attack संभव हो सकता था
- अधिकांश side-channel attacks को mitigate कर दिया गया
- अपवाद protocol-level attacks हैं, जो NAT और आधुनिक HTTP protocol variants जैसी कई technologies के संयोजन से पैदा होते हैं, और यह Mullvad VPN AB के control scope से बाहर है
- जिन users को अधिक security और privacy चाहिए, वे protected VPN के भीतर obfuscation technologies और proxy services को विकल्प के रूप में चुन सकते हैं
- Mullvad VPN AB ने findings को तेजी से fix किया, और ऑडिट में यह भी पुष्टि हुई कि fixes सही तरह से काम कर रहे हैं
1 टिप्पणियां
Hacker News की राय
मिली हुई समस्याओं के शीर्षक हैं: signal handler alternate stack की कमी, async-safe न होने वाले functions का इस्तेमाल, tunnel device के virtual IP address का leak, NAT के जरिए anonymity हटना, MTU के जरिए anonymity हटना, और installation process में sideloading आदि
कुल मिलाकर बातें काफी सीधी-समझ आने वाली हैं, और यह DAITA (AI traffic analysis defense) पर काफी निर्भर दिखता है; अभी पूरी तरह समझ नहीं पाया हूं, लेकिन और पढ़ने लायक लगता है: https://mullvad.net/en/vpn/daita
OpenSSH तक में इससे जुड़ा issue था https://blog.qualys.com/vulnerabilities-threat-research/2024..., और explicit function coloring mechanism के बिना किसी भी भाषा में अच्छा abstraction बनाना मुश्किल लगता है
शायद Haskell जैसी pure functional language में मुमकिन हो
async-safe न होने वाले functions का इस्तेमाल आम समस्या है, लेकिन असल exploit मुश्किल है; signal handlers से काम कर चुके developer ने timing issue की बेहद मुश्किल reproducibility के कारण ऐसी गलती शायद कभी न कभी की ही होगी
ARP address leak Mullvad की अपनी समस्या से ज्यादा local network में ही exploit होने वाली चीज है, anonymity हटाने वाले attacks सभी VPN पर लागू होते हैं और और ज्यादा anonymize किया जा सकता है, लेकिन उसकी लागत आती है
sideloading शायद सबसे खराब issue है, लेकिन अकेले इससे exploit नहीं होता
लेकिन Rust program में heap corruption vulnerability को सच में trigger हो सकने लायक ढूंढ निकालना अच्छी पकड़ है
हालांकि अगली vulnerability को high severity देना theoretical लगता है, proof of concept भी नहीं दिखता, और memory corruption भी नहीं है, इसलिए यह rating inflation जैसा लगता है
अलग threat model section वह हिस्सा है जिसे कई audit firms अपनी reports में छोड़ देती हैं
मुझे यकीन है कि Cure53, Assured, Atredis जैसे पिछले auditors ने भी Mullvad के साथ पहले से उचित threat model बनाया होगा, लेकिन अगर यह reader के लिए साफ-साफ लिखा न हो तो results को गलत समझे जाने की गुंजाइश रहती है
अगर target को audit या attack methods पर बोलने का अधिकार मिले, तो results का target के पक्ष में biased न होना मुश्किल है
सबसे कम bias वाला तरीका शायद यह है कि target को बिल्कुल पता न हो कि auditor क्या करने वाला है
अगर Mullvad ने method में हिस्सा लिया या testing scope को limit किया, तो results वैसे भी बेकार हैं
OpenVPN support बंद होना भी मेरे लिए अच्छा नहीं है, क्योंकि कुछ use cases में इसकी जरूरत है, इसलिए मैं किसी और जगह shift करने वाला हूं
इतने लंबे समय तक अच्छा काम करने वाली जगह के लिए अफसोस है
port forwarding हटाने से handle किए जाने वाले abuse में बड़ी कमी आती है, और इसका असर सिर्फ बहुत थोड़े से ultra-nerd users पर होता है
मैं कुछ समय से Mullvad पर torrents इस्तेमाल कर रहा हूं, और कम seeds वाले torrents कभी-कभी शुरू होने में बहुत समय लेते हैं, लेकिन आखिरकार download हो जाते हैं
ज्यादा niche media के लिए कभी-कभी कुछ दिन पहले से सोचकर रखना पड़ता है
सच कहूं तो OpenVPN support न देने वाले provider को शायद मैं consider ही नहीं करूंगा, तो इसका मतलब ही क्या रह जाता है
किसी वजह से मेरे router पर site-to-site VPN के रूप में यह कहीं ज्यादा अच्छा और stable चलता है
man wg)अच्छा चलता है, और anonymity के लिए Bitcoin से monthly purchase भी कर सकते हैं
क्या मैंने कुछ गलत समझा?
मैं यह छिपाने की कोशिश नहीं कर रहा कि मैं कभी-कभी VPN इस्तेमाल करता हूं; ISP tunnel देखता है, visited websites VPN IP देखती हैं, और netflow में time, duration, transfer amount आदि रह जाते हैं
VPN का इस्तेमाल अपने-आप में secret नहीं है
मुझे लगता है ज्यादातर VPN users मेरी तरह online advertisers और data collectors से privacy चाहने वाले आम लोग हैं
VPN प्रदाता से privacy न चाहता हूँ, न उम्मीद करता हूँ
वैसे भी मैं अपने नाम वाले account के home ISP IP से उनकी VPN service से जुड़ता हूँ
VPN payment को आप जैसे भी छिपाएँ, उन्हें पता चल ही जाएगा कि आप कौन हैं
तकनीकी लोग, खासकर security वाले, ऐसे मामलों में अक्सर इतना आगे निकल जाते हैं कि बात अवास्तविक हो जाती है, और असली दुनिया के threat model और use case से दूर लगती है
James Mickens का छोटा लेख “This World of Ours” इस विषय को अच्छी तरह कवर करता है: https://www.usenix.org/system/files/1401_08-12_mickens.pdf
टेस्ट किए गए VPN apps में यह सबसे reliable था, और प्रति account अधिकतम 5 devices तक इस्तेमाल किए जा सकते हैं
अगर वे दावे के मुताबिक logs store नहीं करते, तो वे आपके बारे में कुछ भी जानते हों, पुलिस जिस IP के बारे में पूछ रही है उसे हजारों customers में से कोई भी इस्तेमाल कर सकता था, इसलिए चाहें भी तो वे authorities को दे नहीं सकते
क्या मैं कुछ miss कर रहा हूँ?
काफी बकवास दिखती है, और यह माहौल भी है कि “cool” VPN किसी Scandinavian देश से आना चाहिए, जबकि असल में ज्यादातर ऐसा नहीं है
बहुत उदारता से देखें तो भी इसका लेख से सिर्फ peripheral संबंध है, और wording अस्पष्ट है, जिससे लगता है कि topic यानी Mullvad कुछ खराब कर रहा है
Mullvad बताता है कि वह Sweden-based है, तो क्या आपका मतलब है कि यह सच नहीं है? वे server locations और owners भी disclose करते हैं
वे VPN क्यों इस्तेमाल करना चाहिए या नहीं करना चाहिए, इस पर भी काफी जानकारी देते हैं, customer data log नहीं करते, RAM-only infrastructure पर चले गए हैं, और single flat fee के साथ सस्ते हैं
जानना चाहूँगा कि ठीक-ठीक बकवास क्या है, और आप उनसे क्या अलग करवाना चाहते हैं
न यह समझ आता है कि ऐसा क्यों होना चाहिए, न यह कि यह सच क्यों नहीं है
fairness से कहें तो, मेरी जानकारी में strong privacy-oriented VPNs में Scandinavia से बाहर वाला बस ProtonVPN ही है
कुछ साल पहले Nord इस्तेमाल करते हुए मैंने एक silent failure पकड़ा था, जिसमें वह connected दिखा रहा था लेकिन असल में VPN से connect नहीं कर रहा था; report करने पर जवाब मिला कि known issue है, चिंता न करें
मेरी जानकारी में उन्होंने कोई security advisory जारी नहीं की
यह बात उल्टा भरोसा देती है कि वे YouTube या affiliate sites पर भारी ad spend नहीं करते
मुझे यह भी पसंद है कि वे ऐसी jurisdiction में नहीं हैं जो shady companies की शरणस्थली जैसी हो
कुल मिलाकर बकवास कम है और ठीक लगते हैं, इसलिए पसंद हैं
मुझे नहीं लगता कि मैं PIA या ऐसी companies पर भरोसा कर पाऊँगा
मुझे काफी यकीन है कि aggressive blocking abuse की वजह से नहीं, बल्कि इसलिए है कि VPN tracking और data mining के लिए सच में समस्या बन गए हैं
exit server अक्सर इन दोनों में से किसी एक पर चलता है, लेकिन दोनों पर नहीं, इसलिए शक होता है कि YouTube और Reddit के बीच IP blocking कुछ हद तक coordinated है, ताकि VPN इस्तेमाल को झंझट भरा बनाकर discourage किया जा सके
VPN users के लिए social media का ping-pong बाधित करना behavior को प्रभावित करने की effective strategy लगता है, और दोनों लगभग natural monopoly हैं, इसलिए ऐसा करने पर users खोने का जोखिम बहुत कम है
यह कुछ वैसा ही है जैसे cookie banners का इस्तेमाल data mining के पक्ष में privacy regulation को लेकर लोगों की भावना बदलने के लिए किया जाता है
यहाँ तक कि कई tech लोग भी मानते हैं कि परेशान करने वाले cookie banners EU की गलती हैं, लेकिन असली practices अक्सर malicious compliance, अनावश्यक, या साफ तौर पर illegal होती हैं
खैर, यह सच में बेहद irritating है, और पूरे web की enshittification और तेजी से बढ़ती नाराजगी का एक पहलू लगता है
practically persona non grata जैसा बर्ताव होता है, और कई captchas तो बस blocks हैं, पर ऐसा दिखता है जैसे free training की उम्मीद कर रहे हों