Cure53 নিরাপত্তা নিরীক্ষার প্রতি Nym-এর প্রতিক্রিয়া (জুলাই ২০২৪)
Nym কোড, নেটওয়ার্ক এবং অ্যাপসের পূর্ণাঙ্গ নিরীক্ষা
১৮ নভেম্বর ২০২৫ তারিখে হালনাগাদ করা হয়েছে
ভূমিকা
NymVPN আপনার অনলাইন যোগাযোগের জন্য ব্যক্তিগত, নিরাপদ ও নির্ভরযোগ্য সুরক্ষা নিশ্চিত করার উদ্দেশ্যে তৈরি করা হয়েছে। Nym-এ স্বচ্ছতা ও ব্যবহারকারীর আস্থা সবচেয়ে গুরুত্বপূর্ণ, আর একারণেই এর কোড ওপেন-সোর্স এবং নিরাপত্তা ও গোপনীয়তার সর্বোচ্চ মান নিশ্চিত করতে নিয়মিত স্বাধীন নিরীক্ষার মধ্য দিয়ে যায়।
২০২৪ সালের জুলাই মাসে, Nym বার্লিন-ভিত্তিক সাইবার নিরাপত্তা সংস্থা Cure53 দ্বারা একটি স্বাধীন নিরীক্ষার সম্মুখীন হয়, যাদের সফটওয়্যার পরীক্ষা এবং কোড নিরীক্ষা পরিচালনার ১৫ বছরেরও বেশি অভিজ্ঞতা রয়েছে। তাদের বিস্তৃত পর্যালোচনায় Nym-এর অবকাঠামোর মূল উপাদানগুলো অন্তর্ভুক্ত ছিল, যার মধ্যে মোবাইল ও ডেস্কটপ অ্যাপ্লিকেশন, VPN অবকাঠামো, ক্রিপ্টোগ্রাফি বাস্তবায়ন এবং সামগ্রিক সিস্টেম স্থাপত্য অন্তর্ভুক্ত।
শনাক্তকৃত সকল গুরুতর এবং উচ্চ-তীব্রতার দুর্বলতা সমাধান করা হয়েছে। Cure53 আমাদের প্রয়োগ করা সমাধানগুলো পর্যালোচনা করার পর, সকল গুরুতর এবং উচ্চ-তীব্রতার দুর্বলতা সমাধান হয়েছে বলে নিশ্চিত করেছে।
Cure53-এর সম্পূর্ণ প্রতিবেদনটি এখানে প্রকাশিত হয়েছে। আপনি OSTIF-এর জন্য ডঃ নাদিম কোবেইসির আলোচনাটিও দেখতে পারেন, যেখানে তিনি Nym-এর নিরীক্ষা নিয়ে আলোচনা করেছেন এবং আবিষ্কৃত কিছু সমস্যার চমৎকার প্রযুক্তিগত গভীর বিশ্লেষণ প্রদান করেছেন।
Cure53 দ্বারা Nym নিরীক্ষার সারাংশ
Cure53, Nym ইকোসিস্টেমের একটি ব্যাপক নিরাপত্তা মূল্যায়ন পরিচালনা করেছে, যার মধ্যে পেনিট্রেশন টেস্টিং, সোর্স কোড অডিট এবং কোড রিভিউ অন্তর্ভুক্ত ছিল। এই নিরীক্ষার মূল লক্ষ্য ছিল Nym-এর মোবাইল ও ডেস্কটপ অ্যাপ্লিকেশন, ব্যাকএন্ড API, VPN সফটওয়্যার ও পরিকাঠামো এবং ক্রিপ্টোগ্রাফির নিরাপত্তা পরিস্থিতি মূল্যায়ন করা। নিরীক্ষা চলাকালীন Nym টিম Cure53 টিমকে নিরন্তর সমর্থন জুগিয়েছে, যার ফলে নির্বিঘ্ন সহযোগিতা এবং একটি স্বচ্ছ প্রক্রিয়া নিশ্চিত হয়েছে।
Cure53 একটি ক্রিস্টাল-বক্স কৌশল ব্যবহার করেছিল, যেখানে সোর্স কোড, বিল্ড, ডকুমেন্টেশন, টেস্ট এনভায়রনমেন্ট এবং সহায়ক বৈজ্ঞানিক গবেষণাপত্রে পূর্ণ প্রবেশাধিকার কাজে লাগানো হয়েছিল। ৫৬ কার্যদিবসব্যাপী এই নিরীক্ষায় ছয়জন জ্যেষ্ঠ সাইবার নিরাপত্তা বিশেষজ্ঞের একটি দল জড়িত ছিল। কাজটি পাঁচটি ওয়ার্ক প্যাকেজে (WPs) বিভক্ত ছিল:
- WP1: Nym মোবাইল এপ্স
- WP2: Nym ডেস্কটপ এপ্স
- WP3: Nym backend API
- WP4: Nym VPN সফটওয়্যার ও অবকাঠামো
- WP5: Nym ক্রিপ্টোগ্রাফি
এই নিরীক্ষায় নির্ধারিত ক্ষেত্রজুড়ে বিস্তৃত মূল্যায়ন সম্পন্ন করা হয় এবং ৪৩টি ফলাফল শনাক্ত করা হয়। এর মধ্যে ছিল ৭টি নিরাপত্তা দুর্বলতা—যার মধ্যে গুরুতর ও উচ্চ-ঝুঁকির সমস্যা অন্তর্ভুক্ত ছিল—এবং ২৪টি সাধারণ দুর্বলতা, যেগুলো মাঝারি বা নিম্ন মাত্রার অপব্যবহার সম্ভাবনা হিসেবে শ্রেণিবদ্ধ করা হয়েছে এবং সিস্টেমকে আরও শক্তিশালী করার সুযোগ হিসেবে বিবেচিত হয়েছে।
নিরাপত্তার দৃষ্টিকোণ থেকে NymVPN সফটওয়্যার ও পরিকাঠামো চমৎকার অবস্থায় পাওয়া গেছে এবং নিরীক্ষার সময় কোনো সমস্যা খুঁজে পাওয়া যায়নি। Cure53 এই সিদ্ধান্তে উপনীত হয়েছে যে, পরীক্ষিত সমস্ত উপাদানেরই শক্তিশালী নিরাপত্তা ভিত্তি ছিল, যা সামগ্রিকভাবে একটি মজবুত অবস্থান প্রদর্শন করে। নিরাপত্তার দৃষ্টিকোণ থেকে ডেস্কটপ অ্যাপ্লিকেশনগুলো ভালো অবস্থায় আছে বলে মূল্যায়ন করা হয়েছে এবং কোনো উল্লেখযোগ্য নিরাপত্তা ত্রুটি শনাক্ত করা যায়নি। নিরীক্ষা দল উল্লেখ করেছে যে সামগ্রিক বাস্তবায়ন ছিল সুদৃঢ়। একইভাবে, নিরাপত্তার দৃষ্টিকোণ থেকে Nym ব্যাকএন্ড এবং API-কে মাঝারি অবস্থায় মূল্যায়ন করা হয়েছে। বিশেষভাবে উল্লেখ্য যে, প্রতিবেদনে স্বীকার করা হয়েছে যে বেশ কিছু গুরুতর দুর্বলতা কার্যকরভাবে প্রশমিত ও প্রতিরোধ করা হয়েছে, যা নিরাপত্তার প্রতি আমাদের সক্রিয় দৃষ্টিভঙ্গি এবং সতর্ক বাস্তবায়নকে তুলে ধরে।
মূল অনুসন্ধানসমূহ
WP1: Nym মোবাইল অ্যাপগুলোর ক্রিস্টাল-বক্স পেন্টেস্টিং এবং সোর্স কোড নিরীক্ষা
WP1-এ, Cure53 অ্যান্ড্রয়েড এবং আইওএস-এর জন্য NymVPN মোবাইল অ্যাপ্লিকেশনগুলোর ওপর হোয়াইট-বক্স টেস্টিং-এর পাশাপাশি স্ট্যাটিক ও ডাইনামিক উভয় ধরনের বিশ্লেষণ পরিচালনা করেছে। এর উদ্দেশ্য ছিল অ্যাপ্লিকেশনগুলোতে থাকা যেকোনো দুর্বলতা, ভুল কনফিগারেশন বা নিরাপত্তা ঝুঁকি শনাক্ত করা। সামগ্রিকভাবে, প্রাপ্ত ফলাফলগুলো স্বল্প গুরুতর ছিল এবং কোনো মারাত্মক বা উচ্চ-ঝুঁকিপূর্ণ দুর্বলতা চিহ্নিত করা যায়নি। শনাক্তকৃত সমস্যাগুলো মূলত তীব্রতার দিক থেকে মাঝারি, কম বা তথ্যমূলক ছিল এবং অ্যাপ্লিকেশনগুলোকে আরও সুরক্ষিত করার একটি বৃহত্তর প্রচেষ্টার অংশ হিসেবে এগুলোর কার্যকরভাবে সমাধান করা যেতে পারে। স্ট্যাটিক বিশ্লেষণের লক্ষ্য ছিল অ্যাপ্লিকেশনগুলোর মধ্যে থাকা ত্রুটিপূর্ণ সেটিংস বা ভুল কনফিগারেশন খুঁজে বের করা, যা দুর্বলতার কারণ হতে পারে। তবে, বিশ্লেষণে কোনো উচ্চ ঝুঁকির উদ্বেগ প্রকাশ পায়নি।
এছাড়াও, Cure53 অ্যান্ড্রয়েডের সাধারণ আক্রমণ পদ্ধতিগুলো নিয়ে একটি গভীর তদন্ত পরিচালনা করেছে, যার মধ্যে রয়েছে unexported component-এ সম্ভাব্য অ্যাক্সেস, authentication bypass, ত্রুটিপূর্ণ broadcast receiver এবং intent extra-র অপর্যাপ্ত যাচাইকরণ। এই ক্ষেত্রগুলোর কোনোটিতেই কোনো দুর্বলতা খুঁজে পাওয়া যায়নি, যা প্ল্যাটফর্মটির নিরাপত্তা ব্যবস্থার দৃঢ়তারই প্রতিফলন ঘটায়।
Cure53 আরও নিশ্চিত করেছে যে, অ্যান্ড্রয়েড বা আইওএস অ্যাপের কোনোটিতেই হার্ডকোডেড সংবেদনশীল তথ্য বা গোপন কি ছিল না, যা নিরাপত্তার ক্ষেত্রে একটি অত্যন্ত গুরুত্বপূর্ণ বিবেচনা।
সামগ্রিকভাবে, মোবাইল অ্যাপগুলো ন্যূনতম আক্রমণের সুযোগসহ একটি ভালো নিরাপত্তা ব্যবস্থা প্রদর্শন করেছে। উন্নতির প্রয়োজন রয়েছে এমন কয়েকটি ছোটখাটো ক্ষেত্র, যেমন আইওএস অ্যাপের নিজস্ব সুরক্ষিত স্টোরেজের (NYM-01-024) অনুপযুক্ত ব্যবহার, ছাড়া অ্যাপগুলোতে কোনো উল্লেখযোগ্য নিরাপত্তা ত্রুটি শনাক্ত করা যায়নি।
WP2: Nym ডেস্কটপ অ্যাপসের বিপরীতে ক্রিস্টাল-বক্স পেনটেস্ট ও সোর্স কোড অডিট
WP2 উইন্ডোজ, লিনাক্স এবং ম্যাকওএস-এর জন্য NymVPN ডেস্কটপ অ্যাপগুলোর উপর দৃষ্টি নিবদ্ধ করেছিল। টেস্টিং টিম ক্লায়েন্ট-সাইডের সমস্যার জন্য ফ্রন্টএন্ড উপাদান এবং Rust ব্যাকএন্ড কমিউনিকেশন লেয়ার—উভয় ক্ষেত্রেই একটি পুঙ্খানুপুঙ্খ পর্যালোচনা পরিচালনা করেছে। সামগ্রিকভাবে, ডেস্কটপ অ্যাপ্লিকেশনগুলো শক্তিশালী নিরাপত্তা ব্যবস্থা প্রদর্শন করেছে।
প্রধান ইতিবাচক ফলাফলের মধ্যে রয়েছে ফ্রন্টএন্ড উপাদানগুলোর জন্য রিঅ্যাক্ট ফ্রেমওয়ার্কের ব্যবহার, যা উল্লেখযোগ্যভাবে আক্রমণের ঝুঁকি কমিয়ে দেয়। দলটি কোনো বড় ধরনের ক্লায়েন্ট-সাইড দুর্বলতা শনাক্ত করতে পারেনি, তবে একটি অত্যন্ত নির্দিষ্ট পরিস্থিতি ছাড়া, যেখানে নির্দিষ্ট শর্ত সাপেক্ষে একটি ক্ষতিকর রিপোজিটরি ইউআরএল-এ ক্লিক করা হলে তা যথেচ্ছ জাভাস্ক্রিপ্ট এক্সিকিউশন (XSS) ঘটাতে পারত। এই সমস্যাটিকে স্বল্প-ঝুঁকিপূর্ণ হিসেবে শ্রেণীবদ্ধ করা হয়েছিল, এবং এতে কোনো সংবেদনশীল তথ্য বা গুরুতর দুর্বলতা শনাক্ত করা যায়নি। ব্যাকএন্ডের ক্ষেত্রে, ইউনিক্স সকেট (Linux) এবং পাইপের (Windows) মাধ্যমে ডিমনের সাথে যোগাযোগ ব্যবস্থাটি সতর্কতার সাথে পরীক্ষা করা হয়েছে এবং এতে কোনো বড় ধরনের ত্রুটি বা নিরাপত্তা ঝুঁকি শনাক্ত করা যায়নি।
যদিও কয়েকটি ছোটখাটো সমস্যা চিহ্নিত করা হয়েছিল, এই পর্যবেক্ষণগুলো গুরুতর ত্রুটিগুলো সমাধানের পরিবর্তে নিরাপত্তা আরও জোরদার করার ওপরই বেশি আলোকপাত করেছে।
WP3: Nym ব্যাকেন্ড API-এর বিরুদ্ধে ক্রিস্টাল-বক্স পেনিটেস্ট এবং সোর্স কোড অডিট
WP3-এ ভ্যালিডেটরদের বাদ দিয়ে, গেটওয়ে এবং মিক্স নোডসহ Nym-এর ব্যাকএন্ড উপাদানগুলোর API-এর ওপর মনোযোগ দেওয়া হয়েছিল। টেস্টিং প্রক্রিয়ায় সিরিয়ালাইজেশন/ডিসিরিয়ালাইজেশন, এসকিউএল ইনজেকশন, প্রমাণীকরণ ও অনুমোদন প্রক্রিয়া, এসএসআরএফ দুর্বলতা, টাইমিং অ্যাটাক এবং কোড এক্সিকিউশন সিঙ্কগুলো পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা হয়েছে। ইতিবাচক দিক হলো, Nym ব্যাকএন্ড মাঝারি ধরনের নিরাপত্তা প্রদর্শন করেছে, যেখানে কোনো সরাসরি কোড এক্সিকিউশন দুর্বলতা, SQLi ঝুঁকি, কিংবা উচ্চ-ঝুঁকিপূর্ণ শোষণযোগ্য SSRF সমস্যা শনাক্ত করা যায়নি। আমাদের নেটওয়ার্কের প্রমাণীকরণ এবং অনুমোদন ব্যবস্থাগুলো সুরক্ষিত মানদণ্ড অনুসরণ করে প্রয়োগ করা হয়েছে, যা সম্ভাব্য ফাঁকি দেওয়ার প্রচেষ্টাকে কার্যকরভাবে প্রতিহত করে। যদিও ব্যাকএন্ড উপাদানগুলো সামগ্রিকভাবে শক্তিশালী নিরাপত্তা প্রদর্শন করেছে, তবুও কয়েকটি উল্লেখযোগ্য সমস্যা চিহ্নিত করা হয়েছে। এগুলোর মধ্যে, দুটি ফলাফলকে উচ্চ বা মারাত্মক ঝুঁকিপূর্ণ (NYM-01-027, NYM-01-030, এবং NYM-01-032) হিসেবে শ্রেণীবদ্ধ করা হয়েছিল, যা আমরা নীচে আলোচনা করব।
NYM-01-027 WP3: Nym গেটওয়েতে AES-CTR-এ ননস-কী পুনঃব্যবহার (গুরুত্বপূর্ণ)
Nym রিপোজিটরির সোর্স কোড পর্যালোচনার সময় এটি শনাক্ত করা হয়েছে যে, গেটওয়ে এবং ক্লায়েন্টদের মধ্যকার যোগাযোগে একটি গুরুতর ক্রিপ্টোগ্রাফিক ত্রুটি রয়েছে। সুনির্দিষ্টভাবে বলতে গেলে, এটি শনাক্ত করা হয়েছিল যে Nym গেটওয়ে এবং ক্লায়েন্টদের মধ্যে হ্যান্ডশেকটির যোগাযোগ ব্যবস্থায় AES-CTR এবং একটি অনন্য, অ-আবর্তনশীল কী-এর পাশাপাশি একটি স্থির শূন্য ননস ব্যবহার করে ডেটা এনক্রিপ্ট করা হতো। এর ফলে, যদি একটিমাত্র প্লেইনটেক্সট কোনো আক্রমণকারীর কাছে ফাঁস হয়ে যায়, তবে সমস্ত যোগাযোগ ঝুঁকির মধ্যে পড়ে যায়, কারণ এটি আক্রমণকারীকে সাইফারটেক্সট এবং ফাঁস হওয়া প্লেইনটেক্সটের মধ্যে সাধারণ XOR অপারেশন প্রয়োগ করে বিদ্যমান এনক্রিপশনটি ভেঙে ফেলার সুযোগ করে দেয়।
যদিও ক্লায়েন্ট এবং গেটওয়ের মধ্যে আদান-প্রদান করা ডেটার গোপনীয়তা শুধুমাত্র প্লেইনটেক্সট ফাঁসের ক্ষেত্রেই ঝুঁকির মুখে পড়ে, আমরা এই সমস্যাটির গুরুত্ব সম্পূর্ণরূপে স্বীকার করি। Nym টিম দ্রুত সাড়া দিয়ে AES-CTR এনক্রিপশনকে প্রস্তাবিত AES-GCM-SIV স্কিম দ্বারা প্রতিস্থাপন করেছে, যা 2024.12-aero রিলিজে যোগাযোগ নিরাপত্তা উল্লেখযোগ্যভাবে বৃদ্ধি করেছে।
NYM-01-030 WP3: গেটওয়ে ক্রেডেনশিয়াল সিরিয়াল নম্বর যাচাই এড়িয়ে যায় (গুরুতর)
গেটওয়ে পর্যায়ে ক্রেডেনশিয়াল সিরিয়াল নম্বর যাচাই না করা হলেও সিস্টেমের নিরাপত্তা বিঘ্নিত হয় না, কারণ zk-nyms প্রোটোকল একটি অফলাইন ই-ক্যাশ মডেল-এর উপর ভিত্তি করে তৈরি, যা মূলত ডাবল-স্পেন্ডিং শনাক্ত ও প্রতিরোধ করার জন্যই ডিজাইন করা হয়েছে। অনলাইন ই-ক্যাশ স্কিমগুলিতে, পরিষেবা প্রদানকারীরা একটি কেন্দ্রীয় কর্তৃপক্ষের (যেমন, একটি ব্যাংক বা ব্লকচেইন) সাথে অবিচ্ছিন্ন সংযোগ বজায় রাখে এবং পেমেন্ট গ্রহণ করার আগে রিয়েল টাইমে সিরিয়াল নম্বর যাচাই করে। NymVPN-এ এটি প্রয়োগ করা হলে, এর অর্থ হবে যে লেনদেন সংঘটিত হওয়ার সাথে সাথে গেটওয়েগুলো সক্রিয়ভাবে ক্রেডেনশিয়াল সিরিয়াল নম্বর যাচাই করবে। এর বিপরীতে, অফলাইন ই-ক্যাশের জন্য নিরবচ্ছিন্ন সংযোগের প্রয়োজন হয় না—পরিষেবা প্রদানকারীরা পেমেন্ট গ্রহণ করে পরে তা জমা করতে পারে, এবং ক্রিপ্টোগ্রাফিক নিশ্চয়তা থাকে যে লেনদেন যাচাইয়ের সময় একাধিকবার খরচের যেকোনো প্রচেষ্টা শনাক্ত করা হবে। zk-nyms প্রোটোকলটি এই অফলাইন ই-ক্যাশ মডেলটি অনুসরণ করে; যার ফলে গেটওয়ে স্তরে লোকাল সিরিয়াল নম্বর যাচাই করা না হলেও, টিকিটগুলো যাচাই করার সময় nym-API ভ্যালিডেটররা খুব সহজেই একাধিকবার খরচ শনাক্ত এবং প্রতিরোধ করতে পারে। এর মানে হলো, নিরাপত্তার জন্য গেটওয়েতে সিরিয়াল নম্বর যাচাই করার প্রয়োজন নেই। যাইহোক, গেটওয়ে স্তরে স্থানীয়ভাবে এই যাচাইকরণ করা হলে তা দ্রুত শনাক্তকরণের একটি অতিরিক্ত স্তর প্রদান করতে পারত, যা একই গেটওয়ের মধ্যে একাধিকবার খরচের প্রচেষ্টাগুলো আরও দ্রুত চিহ্নিত করতে সাহায্য করত। যদিও এই ধরনের যাচাই কার্যকারিতা বাড়াতে পারে, তবে এগুলো প্রোটোকলের মূল নিরাপত্তার জন্য অপরিহার্য নয়। zk-nyms প্রোটোকলে অন্তর্ভুক্ত ক্রিপ্টোগ্রাফিক নিশ্চয়তাগুলো পরবর্তী পর্যায়ে একাধিকবার খরচ নির্ভরযোগ্যভাবে শনাক্ত করা নিশ্চিত করে, যার ফলে যেকোনো ক্ষতিকারক ব্যক্তিকে চিহ্নিত করে কালো তালিকাভুক্ত করা যায়। ফলস্বরূপ, গেটওয়েতেএকাধিকবার খরচের চেককে একটি মৌলিক নিরাপত্তা আবশ্যকতা হিসেবে না দেখে, বরং একটি ঐচ্ছিক কর্মদক্ষতা বৃদ্ধিকারী ব্যবস্থা হিসেবে বিবেচনা করা উচিত।
তাছাড়া, আমাদের সিস্টেমে প্রতিটি zk-nym ক্রেডেনশিয়ালের একটি নির্দিষ্ট মেয়াদ শেষ হওয়ার তারিখ থাকে, যা বর্তমানে এক সপ্তাহ হিসেবে সেট করা আছে। এই সময়সীমার পর, নেটওয়ার্কের এন্ট্রি নোডগুলো মেয়াদোত্তীর্ণ ক্রেডেনশিয়াল আর গ্রহণ করে না। এই মেয়াদোত্তীর্ণ হওয়ার প্রক্রিয়াটি যেকোনো একাধিকবার খরচের প্রচেষ্টার প্রভাবকে আরও সীমিত করে, যা গেটওয়ে-স্তরের সিরিয়াল নম্বর যাচাই ছাড়াই সিস্টেমটিকে সুরক্ষিত রাখে।
NYM-01-032 WP3: Bloom ফিল্টার প্যারামিটার মিথ্যা ইতিবাচক ফলাফল তৈরি করে (উচ্চ)
আমরা লক্ষ্য করেছি যে, কোডের এই অংশটি সক্রিয়ভাবে উন্নয়নাধীন ছিল এবং নিরীক্ষার সময় NymVPN অ্যাপের মধ্যে ব্যবহৃত হচ্ছিল না। সরবরাহকৃত প্যারামিটারগুলো কেবলমাত্র পরীক্ষামূলক উদ্দেশ্যে দেওয়া হয়েছিল। NYM-01-030 WP3-তে যেমন ব্যাখ্যা করা হয়েছে, একাধিকবার খরচ রোধে একটি অতিরিক্ত যাচাই ব্যবস্থা হিসেবে Bloom ফিল্টারগুলো যুক্ত করা হয়েছিল। তবে, যেহেতু আমাদের প্রোটোকল ডিজাইন অনুযায়ী একাধিকবার খরচ ভিন্নভাবে পরিচালনা করে, এবং Bloom ফিল্টারগুলো অনেক বেশি ওভারহেড তৈরি করছিল (যেহেতু এগুলোকে গেটওয়ে এবং nym-api-এর মধ্যে সিংক করতে হত), তাই আমরা এগুলো সরিয়ে দেওয়ার সিদ্ধান্ত নিয়েছি।
এই উচ্চ-অগ্রাধিকারপ্রাপ্ত সমস্যাগুলো ছাড়াও, নিরীক্ষায় বেশ কিছু মাঝারি-গুরুত্বপূর্ণ দুর্বলতাও চিহ্নিত করা হয়েছে, বিশেষত সম্ভাব্য Denial of Service (DoS) আক্রমণের পদ্ধতির সাথে সম্পর্কিত। এই ফলাফলগুলো সেই ক্ষেত্রগুলো চিহ্নিত করে যেখানে NymVPN ব্যাকএন্ড সেবা বিঘ্নতার বিরুদ্ধে নিজের সহনশীলতা আরও বাড়াতে পারে। আমরা এগুলো আমাদের 2025 সালের রোডম্যাপের অংশ হিসেবে সমাধান করার পরিকল্পনা করছি।
সামগ্রিকভাবে, API এবং ব্যাকেন্ড উপাদানগুলো প্রশংসনীয় মাত্রার নিরাপত্তা প্রদর্শন করেছে, যেখানে দুর্বলতাগুলো মূলত নির্দিষ্ট কিছু পরিস্থিতি বা মজবুতকরণের সুযোগের মধ্যেই সীমিত ছিল।
WP4: Nym VPN সফটওয়্যার এবং অবকাঠামোর বিরুদ্ধে ক্রিস্টাল-বক্স পেনিটেস্ট এবং সোর্স কোড নিরীক্ষা
WP4-এ NymVPN সফটওয়্যারের একটি ব্যাপক নিরাপত্তা মূল্যায়ন চালানো হয়েছে, যেখানে নিম্নলিখিত বিষয়গুলোর উপর বিশেষ নজর দেওয়া হয়েছে:
- মূল কার্যকারিতা: প্রোটোকল পরিচালনা, নিরাপত্তা সাইফার, নেটওয়ার্ক ব্যবস্থাপনা, DNS সমাধান, এবং IP রাউটিং, টানেলিং তথা সামগ্রিক নেটওয়ার্ক স্ট্যাক সমন্বয়ের বাস্তবায়ন।
- ফ্রন্টএন্ড সমন্বয়: FFI-এর মাধ্যমে Rust কোরের সাথে নকশা, ব্যবহারযোগ্যতা এবং দক্ষ একীকরণের জন্য Tauri-ভিত্তিক UI যাচাই করা হয়েছে, আর তার পাশাপাশি Windows, macOS এবং Linux জুড়ে প্ল্যাটফর্ম-নির্দিষ্ট কার্যক্ষমতাও যাচাই করা হয়েছে।
- মূল নিরাপত্তা ব্যবস্থা: নিরাপদ ক্রেডেনশিয়াল সংরক্ষণ, ফাঁস প্রতিরোধ, কী ব্যবস্থাপনা এবং পরিচিত VPN দুর্বলতার প্রশমন।
প্রোটোকল পরিচালনা, এনক্রিপশন, IP রাউটিং, টানেলিং এবং নেটওয়ার্ক স্ট্যাক সমন্বয়ের Rust-ভিত্তিক বাস্তবায়ন নির্ভরযোগ্য বলে নির্ধারিত হয়েছে, যেখানে কোনো দুর্বলতা শনাক্ত হয়নি। ক্রেডেনশিয়াল সংরক্ষণ, ফাঁস প্রতিরোধ এবং এনক্রিপশন কী ব্যবস্থাপনার মতো মূল নিরাপত্তা বৈশিষ্ট্যগুলো উচ্চ-নিরাপত্তা মানদণ্ড পূরণ করে বলে বিবেচিত হয়েছে এবং কার্যকরভাবে ঝুঁকি হ্রাস করে।
দেখা গেছে যে ডেস্কটপ ফ্রন্টএন্ডটি ব্যবহারযোগ্যতার সাথে Rust কোরের সাথে কার্যকর একীকরণকে সফলভাবে একত্রিত করেছে। ত্রুটি পরিচালনা এবং লগিং পদ্ধতিগুলো ব্যাপক এবং সুচিন্তিতভাবে বাস্তবায়িত হয়েছে বলে নির্ধারিত হয়েছে, যা কোনো সংবেদনশীল তথ্য প্রকাশ না করেই মূল্যবান সমস্যা নিরূপণের তথ্য সরবরাহ করে।
WP4 বিশ্লেষণে কোনো দুর্বলতা শনাক্ত হয়নি, এবং NymVPN সফটওয়ার উৎকৃষ্ট নিরাপত্তা ব্যবস্থা প্রদর্শন করে বলে নিশ্চিত হয়েছে।
WP5: Nym ক্রিপ্টোগ্রাফির বিরুদ্ধে ক্রিস্টাল-বক্স পেনিটেস্ট এবং সোর্স কোড অডিট
WP5-এর মূল লক্ষ্য ছিল Nym প্ল্যাটফর্মে ব্যবহৃত ক্রিপ্টোগ্রাফির পুঙ্খানুপুঙ্খ মূল্যায়ন করা। এর মধ্যে ছিল Coconut ক্রেট, zk-nyms (ecash) ক্রেট, Sphinx প্রোটোকল, Outfox প্রোটোকল এবং অন্যান্য প্রচলিত ক্রিপ্টোগ্রাফিক প্রিমিটিভস। সমস্ত ক্রিপ্টোগ্রাফিক পদ্ধতির সোর্স কোড, যা সম্পূর্ণরূপে Rust-এ লেখা, তার চমৎকার বিন্যাসের জন্য প্রশংসিত হয়েছে, যা নিরীক্ষকদের দ্রুত বাস্তবায়নের সাথে পরিচিত হতে সহায়তা করেছে।
Coconut এবং e-cash প্রোটোকল ব্যাপকভাবে পর্যালোচনা করা হয়েছে এবং সংবেদনশীল তথ্য সুরক্ষার জন্য ব্লাইন্ডিং পদ্ধতির কার্যকর ব্যবহার প্রদর্শন করেছে, কোনো অনইচ্ছাকৃত তথ্য ফাঁস শনাক্ত হয়নি। প্রোটোকলে ব্যবহৃত দুটি NIZKP এমন কোনো শোষণযোগ্য দুর্বলতা দেখায়নি যা ভেরিফায়ারকে বাইপাস বা ধোঁকা দেওয়ার সুযোগ দিতে পারে। উপরন্তু, আন্তর্নিহিত ক্রিপ্টোগ্রাফিক লাইব্রেরির নির্বাচন, বিশেষত bls12_381, কঠোর সদস্যপদ যাচাই নিশ্চিত করেছে, অবৈধ কার্ভ পয়েন্ট বা ভুল সাবগ্রুপ ব্যবহার করে হামলা প্রতিরোধ করে। এছাড়াও, ক্রিপ্টোগ্রাফিক কী এবং ননস-এর জন্য র্যান্ডমনেস জেনারেশনে শক্তিশালী ও ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত পদ্ধতি ব্যবহার করার বিষয়টি নিশ্চিত করা হয়েছে, যা পুরো প্ল্যাটফর্ম জুড়ে কী জেনারেশনের অখণ্ডতাকে বজায় রাখে।
এতসব শক্তির পাশাপাশি, তদন্তে বেশ কিছু সমস্যাও শনাক্ত হয়েছে যা গুরুতর বা উচ্চ-ঝুঁকি হিসেবে শ্রেণিবদ্ধ করা হয়েছে। আমরা নীচে তাদের প্রত্যেকটি সম্পর্কে আলাদাভাবে আলোচনা করেছি।
NYM-01-009 WP5: Coconut লাইব্রেরিতে BLS12-381 EC সিগনেচার বাইপাস (গুরুতর)
Cure53 লক্ষ্য করেছে যে, verify_partial_blind_signature ফাংশনটি, যা ইস্যু করার পর্যায়ে পার্শিয়াল ব্লাইন্ড সিগনেচার যাচাই করার জন্য তৈরি, প্রদত্ত সিগনেচারের জন্য প্রয়োজনীয় সমস্ত যাচাই অন্তর্ভুক্ত করে না। এর ফলে, একজন আক্রমণকারী এলিপটিক কার্ভের ইনফিনিটি পয়েন্ট ব্যবহার করে সিগনেচার ভ্যালিডেশন প্রক্রিয়া এড়িয়ে যেতে পারে। তবে আমরা স্পষ্ট করতে চাই যে Coconut প্রোটোকলের মধ্যে, ক্রেডেনশিয়াল ব্যয় যাচাইর ফাংশনটি প্রয়োজনীয় সুরক্ষা যাচাই অন্তর্ভুক্ত করে এবং অবৈধ ক্রেডেনশিয়াল নির্ভরযোগ্যভাবে প্রত্যাখ্যান করে।. ফলস্বরূপ, প্রোটোকলের নকশা অনুযায়ী যেকোনো আক্রমণের চেষ্টাই ব্যর্থ হবে, কারণ জালিয়াতি করা ক্রেডেনশিয়ালগুলো পরবর্তী একটি ধাপে শনাক্ত এবং প্রত্যাখ্যান করা হয়। এটি নিশ্চিত করে যে কার্যক্ষেত্রে সিস্টেমের নিরাপত্তা ও অখণ্ডতা বিঘ্নিত না হয়।
তা সত্ত্বেও, আমরা স্বীকার করি যে Cure53-এর প্রস্তাবিত অতিরিক্ত যাচাইগুলো এই ফাংশনগুলোর দৃঢ়তা বাড়াতে পারে, যদি সেগুলো Coconut-এর নির্দিষ্ট প্রসঙ্গের বাইরে ব্যবহার করা হয়। যেহেতু আমাদের কোডটি ওপেন সোর্স এবং আমাদের লক্ষ্য হলো বৃহত্তর কমিউনিটির জন্য পুনরব্যবহারযোগ্য উপাদান সরবরাহ করা, তাই একটি অতিরিক্ত সতর্কতা হিসেবে আমরা 2024.13-magura রিলিজে ইনফিনিটি পয়েন্টের জন্য প্রস্তাবিত সিগনেচার যাচাইকরণ প্রক্রিয়াটি যুক্ত করেছি। এটি নিশ্চিত করে যে ফাংশনগুলো সর্বোচ্চ নিরাপত্তা মান বজায় রেখে অন্য প্রসঙ্গেও নির্ভরযোগ্যভাবে ব্যবহার করা যাবে।
NYM-01-014 WP5: অফলাইন eCash-এ আংশিক সিগনেচার বাইপাস (গুরুতর)
এই সমস্যাটি উপরে বর্ণিত সমস্যার অনুরূপ, তবে এটি Coconut-এর পরিবর্তে ই-ক্যাশ স্কিমের ক্ষেত্রে প্রযোজ্য। Coconut ইম্প্লিমেন্টেশনের মতোই, প্রয়োজনীয় সকল যাচাই প্রোটোকলের ব্যয় পর্যায়ে ইতিমধ্যেই যোগ করা হয়েছিল, যা নিশ্চিত করে যে যেকোনো আক্রমণের চেষ্টা ব্যর্থ হবে। এর অর্থ হলো, বাস্তবে সিস্টেমের নিরাপত্তা ও সত্যনিষ্ঠতা কখনো হুমকির মুখে পড়েনি, যদিও সমস্যাটি গুরুতর হিসেবে শ্রেণীভুক্ত করা হয়েছিল।
তা সত্ত্বেও, Coconut-এর মতোই, আমরা সকল প্রাসঙ্গিক ফাংশনে Cure53-এর সুপারিশ করা অতিরিক্ত সিগনেচার যাচাইগুলো 2024.13-magura রিলিজে সক্রিয়ভাবে যোগ করেছি। যদিও বর্তমান প্রোটোকল প্রবাহ সুরক্ষিত রাখতে এই যাচাইগুলো প্রয়োজন ছিল না, তবুও এগুলো কোডের দৃঢ়তা বাড়িয়েছে এবং নিশ্চিত করেছে যে এই ফাংশনগুলো অন্য প্রসঙ্গেও নির্ভরযোগ্যভাবে পুনঃব্যবহার করা যাবে। এই পদ্ধতি আমাদের সিস্টেম এবং বৃহত্তর ওপেন সোর্স কমিউনিটি দুটোর জন্যই সর্বোচ্চ নিরাপত্তা মান বজায় রাখার প্রতি আমাদের দায়বদ্ধতাকে তুলে ধরে।
NYM-01-033 WP5: Pointcheval-Sanders স্কিমের সিগনেচার জালিয়াতি (গুরুতর)
Pointcheval-Sanders সিগনেচার স্কিমের অন্তর্গত সাইন ফাংশনের আমাদের বাস্তবায়নে Cure53 একটি দুর্বলতা শনাক্ত করেছে। নির্দিষ্টভাবে, দুর্বলতাটি তৈরি হওয়ার কারণ হলো আমাদের ইমপ্লিমেন্টেশনে সিগনেচার টাপলের (h, s) র্যান্ডম ভ্যালু h দৈবচয়ন ভিত্তিকে নির্বাচন করা হয় না। ফলস্বরূপ, আমরা যদি কেবল পাবলিক অ্যাট্রিবিউটে সই করতাম, তাহলে সিগনেচারটি জালিয়াতির শিকার হতো।
তবে, এটা স্পষ্ট করা যে, এই সিগনেচার জালিয়াতির দুর্বলতা Coconut বা e-cash প্রোটোকলের প্রসঙ্গে কোনো ঝুঁকি তৈরি করে না। এই দুটি প্রোটোকলই ডিজাইন অনুযায়ী প্রাইভেট অ্যাট্রিবিউটের উপর নির্ভর করে, ফলে সিগনেচার গণনার জন্য ব্লাইন্ড ইস্যুয়ান্স প্রক্রিয়া ব্যবহার করে। ব্লাইন্ড ইস্যুয়েন্স প্রোটোকলে, হ্যাশ ফাংশনের ইনপুট হিসেবে মেসেজের একটি কমিটমেন্ট ব্যবহার করার বিষয়টি নিশ্চিত করে যে মেসেজের ভিন্ন ভিন্ন টাপলগুলোর জন্য 'h'-এর অনন্য মান তৈরি হবে। এর ফলে, এই দুর্বলতাটি কেবল তখনই প্রকাশ পেত যদি Coconut বা ই-ক্যাশ প্রোটোকলগুলো শুধু প্রকাশ্য বৈশিষ্ট্যের সাথে ব্যবহার করা হতো—যা Nym নেটওয়ার্কের ক্ষেত্রে প্রযোজ্য নয়। তাই, Cure53-এর চিহ্নিত ঝুঁকি আমাদের সিস্টেমে প্রযোজ্য নয়, কারণ ব্যবহৃত প্রোটোকলগুলো মূলগতভাবেই এই সমস্যাটি প্রশমিত করে।
NYM-01-042 WP5: অবৈধ অফলাইন eCash সিগনেচারে ত্রুটিপূর্ণ একত্রীকরণ (গুরুতর)
এই সমস্যাটি NYM-01-009 এবং NYM-01-014 সমস্যাগুলোর অনুরূপ, যেখানে সিগনেচারের জন্য তৈরি স্বতন্ত্র একত্রীকরণ ফাংশনটি একটি অবৈধ সিগনেচার তৈরি করতে পারে—যদি আক্রমণকারী আংশিক সিগনেচারগুলোকে এমনভাবে পরিবর্তন করতে সক্ষম হয় যার ফলে ইনফিনিটি পয়েন্ট তৈরি হয়। যাইহোক, Coconut ও ই-ক্যাশ উভয় প্রোটোকলের ক্ষেত্রেই, ভেরিফিকেশন বা যাচাইকরণ প্রক্রিয়াটি এমন যেকোনো সিগনেচারকে স্পষ্টভাবে প্রত্যাখ্যান করে যার ফলে ইনফিনিটি পয়েন্ট তৈরি হয়; সুতরাং, এই সমস্যাটি কোনো প্রোটোকলেরই নিরাপত্তা বা অখণ্ডতাকে বিপন্ন করে না। তথাপি, NYM-01-009 এবং NYM-01-014 সমস্যাগুলির জন্য গৃহীত পদক্ষেপগুলির সাথে সঙ্গতি রেখে, আমরা আমাদের কোডবেসকে আরও শক্তিশালী করতে এবং অন্যান্য প্রসঙ্গে (https://github.com/nymtech/nym/blob/nym-binaries-v2024.13-magura/CHANGELOG.md) যেকোনো সম্ভাব্য অপব্যবহার রোধ করার জন্য একত্রীকরণ ফাংশনে অতিরিক্ত চেক প্রয়োগ করেছি।
NYM-01-005 WP5: ইনফিনিটি পয়েন্ট যাচাই না থাকায় ElGamal-এর প্লেইনটেক্সট প্রকাশ (উচ্চ)
Coconut ও ই-ক্যাশের বর্তমান বাস্তবায়নে ElGamal এনক্রিপশন ব্যবহার করা হয় না (এবং নিরীক্ষার সময়েও এটি ব্যবহৃত হয়নি)। এর পরিবর্তে, আমরা আরও কার্যকর Pedersen প্রতিশ্রুতি ব্যবহার করি, যা একই ধরনের ঝুঁকি বহন করে না। সুতরাং, ElGamal সম্পর্কিত বিষয়টি আমাদের বিদ্যমান সিস্টেমে কোনো নিরাপত্তা ঝুঁকি তৈরি করেনি। আমরা এখন Coconut crate এবং ফলশ্রুতিতে ElGamal schema বাদ দিচ্ছি।
শেষ কথা
এই নিরীক্ষা প্রক্রিয়া জুড়ে তাদের দক্ষতা ও নিষ্ঠার জন্য আমরা Cure53 টিমকে ধন্যবাদ জানাতে চাই। সেই সাথে, নিরীক্ষার পরিকল্পনা ও বাস্তবায়ন—উভয় পর্যায়েই তাদের দেখানো সহযোগিতা ও পেশাদারিত্বের আমরা উচ্চ প্রশংসা করি। নিরাপত্তার প্রতি আমাদের চলমান প্রতিশ্রুতি সর্বদা আমাদের শীর্ষ অগ্রাধিকার হিসেবে থাকবে। আমাদের ইকোসিস্টেমের সর্বোচ্চ মান বজায় রাখতে আমরা আগামীতেও নিরাপত্তা বিশেষজ্ঞদের সাথে এই ধরনের অংশীদারিত্ব অব্যাহত রাখার জন্য আশাবাদী।