Moatgator Shield
রিলিজের আগে প্রতিটি বিল্ড শক্তিশালী করুন।
কোড ও স্ট্রিং অবফাসকেশন, টেম্পার-প্রতিরোধ ও ইন্টেগ্রিটি পরীক্ষা, যা pull request-এর মাধ্যমে আপনার বিল্ড পাইপলাইনে যোগ হয়।
রিভার্স ইঞ্জিনিয়ারিংকে ব্যয়বহুল করুন।
আক্রমণকারীরা আপনার অ্যাপ পড়ার মাধ্যমে শুরু করে। Shield কম্পাইল করা অ্যাপ এমনভাবে নতুন করে লেখে যাতে লজিক, এন্ডপয়েন্ট ও সিক্রেট পড়া, বদলানো ও রিপ্যাকেজ করা অনেক কঠিন হয়, আপনার সোর্স কোডে হাত না দিয়েই।
- কোড ও স্ট্রিং অবফাসকেশন
- টেম্পার-প্রতিরোধ ও ইন্টেগ্রিটি পরীক্ষা
- পড়ার মতো ক্র্যাশ রিপোর্টের জন্য ম্যাপিং ফাইল সংরক্ষিত থাকে
Shield কী করে
01
নাম ও কোডের অবফাসকেশন
ক্লাস, মেথড ও ফিল্ডের নাম বদলায় এবং কন্ট্রোল ফ্লো নতুন করে সাজায়, ফলে ডিকম্পাইল করা আউটপুট অ্যাপ কীভাবে কাজ করে সে সম্পর্কে আক্রমণকারীকে খুব কমই জানায়।
02
স্ট্রিং এনক্রিপশন
Android-এ এন্ডপয়েন্ট, কী ও অন্যান্য সংবেদনশীল স্ট্রিং বিল্ডে এনক্রিপ্ট হয় এবং দরকার হলে তবেই ডিক্রিপ্ট হয়।
03
ইন্টেগ্রিটি ও টেম্পার-প্রতিরোধ
অ্যাপ রানটাইমে নিজের কোড ও স্বাক্ষর যাচাই করে এবং পরিবর্তিত বা পুনরায় সাইন করা কপি চললে সাড়া দেয়।
04
প্রতি বিল্ডে বৈচিত্র্য
সুরক্ষা এক বিল্ড থেকে আরেক বিল্ডে বদলায়, ফলে এক রিলিজের জন্য লেখা বাইপাস পরের রিলিজে কাজ করে না।
05
অ্যাসেট ও রিসোর্স সুরক্ষা
বান্ডল করা অ্যাসেট ও রিসোর্স সুরক্ষিত, তাই সেগুলো সরাসরি খুলে অন্য কোথাও আবার ব্যবহার করা যায় না।
06
পড়ার মতো ক্র্যাশ রিপোর্ট
প্রতিটি বিল্ডের জন্য একটি ম্যাপিং ফাইল তৈরি হয়, যা Crashlytics, Sentry ও Play Console-এর সঙ্গে স্ট্যাক ট্রেস ডি-অবফাসকেট করতে কাজ করে।
আপনার রিলিজে Shield কীভাবে মানিয়ে যায়
- 1
আপনার পাইপলাইনে সুরক্ষা দিন
একটি pull request আপনার Android বা iOS (বেটা) বিল্ডে Moatgator যোগ করে। সুরক্ষা চলে কম্পাইল করা অ্যাপের ওপর, আপনার সোর্স কোডের ওপর কখনও নয়।
- 2
সাইন আপনিই করেন, আগের মতোই
Moatgator সাইন না করা আর্টিফ্যাক্ট ফেরত দেয়। আপনার পাইপলাইন সেটি অ্যালাইন করে সাইন করে, তাই সাইনিং কী ও সার্টিফিকেট আপনার কাছেই থাকে।
- 3
খরচ জানুন
প্রতিটি বিল্ড অ্যাপের আকার ও চালু হওয়ার সময়ের ওপর তার প্রভাব জানায়, যাতে আপনি ঠিক করতে পারেন কী চালু রাখবেন।
shield: android: obfuscation: names + control-flow string_encryption: true asset_protection: true integrity: signature + code diversify_per_build: true report: [size, startup] # impact per buildShield কী কভার করে
Android
- ক্লাস, মেথড ও ফিল্ডের নাম বদল
- কন্ট্রোল-ফ্লো অবফাসকেশন
- স্ট্রিং এনক্রিপশন
- রিসোর্স ও অ্যাসেট সুরক্ষা
- ইন্টেগ্রিটি ও স্বাক্ষর পরীক্ষা
iOS (বেটা)
- নাম, স্ট্রিং ও সিম্বল শক্তিশালী করা
- আপনার নিজের পাইপলাইনে পুনরায় সাইনিং
- সার্টিফিকেট ও প্রোফাইল আপনার কাছেই থাকে
ফ্রেমওয়ার্ক
- Hermes বান্ডল সুরক্ষা-সহ React Native
- EAS Build-এর কাস্টম ফাংশনের মাধ্যমে Expo
- রানটাইম শনাক্তকরণসহ Flutter; Dart কোডের জন্য Flutter-এর নিজস্ব অবফাসকেশন
সচরাচর জিজ্ঞাসিত প্রশ্ন
Shield কি আমার সোর্স কোড বদলায়?
না। এটি আপনার বিল্ড পাইপলাইনের ভেতরে কম্পাইল করা অ্যাপের ওপর কাজ করে, এমন একটি pull request-এর মাধ্যমে যা আপনি রিভিউ করেন।
সুরক্ষা কি আমার অ্যাপ ধীর বা বড় করে দেবে?
সুরক্ষা কিছুটা বাড়তি ভার যোগ করে। প্রতিটি বিল্ড অ্যাপের আকার ও চালু হওয়ার সময়ের ওপর তার প্রভাব জানায়, যাতে আপনি খরচ দেখে কোন সুরক্ষা চালু রাখবেন তা ঠিক করতে পারেন।
আপনারা কি আমার সাইনিং কী রাখেন?
না। Moatgator সাইন না করা আর্টিফ্যাক্ট ফেরত দেয় এবং আপনার নিজের পাইপলাইন সেটি সাইন করে। কী, সার্টিফিকেট ও প্রভিশনিং প্রোফাইল আপনার কাছেই থাকে।
এটি কি React Native, Expo ও Flutter-এর সঙ্গে কাজ করে?
হ্যাঁ। Hermes দিয়ে তৈরি React Native bundle সুরক্ষিত থাকে এবং Expo, EAS Build-এর কাস্টম ফাংশনের মাধ্যমে কাজ করে। Flutter অ্যাপ আমাদের প্লাগইনের মাধ্যমে রানটাইম শনাক্তকরণ পায়; Moatgator Dart কোড অবফাসকেট করে না, তাই Flutter-এর নিজস্ব --obfuscate বিকল্প চালু রাখুন।
আমার ক্র্যাশ রিপোর্ট কি পড়ার মতো থাকবে?
হ্যাঁ। প্রতিটি বিল্ডের জন্য একটি ম্যাপিং ফাইল তৈরি হয়, যা Crashlytics, Sentry ও Play Console-এর সঙ্গে স্ট্যাক ট্রেস ডি-অবফাসকেট করতে কাজ করে।
শুধু অবফাসকেশনই কি যথেষ্ট?
না। অবফাসকেশন বিশ্লেষণের খরচ বাড়ায়, কিন্তু দৃঢ়প্রতিজ্ঞ আক্রমণকারীকে থামায় না। Shield-এর সঙ্গে Runtime ব্যবহার করুন, যা অ্যাপ চলার সময় টেম্পারিং ও ইনস্ট্রুমেন্টেশন শনাক্ত করে।
আপনার অ্যাপ সুরক্ষিত করতে প্রস্তুত?
বিনামূল্যে শুরু করুন, অথবা আপনার প্রয়োজন আমাদের জানান।