ADB কমান্ড এবং স্থায়ী পারমিশন: আন্তর্জাতিক সাইবার সিকিউরিটি এক্সপার্টদের সম্পূর্ণ গাইড
লেখক: ডিজিটাল নিরাপত্তা গবেষক
সোর্স: Citizen Lab, Access Now, Amnesty International Security Lab, EFF, Privacy International, Android Open Source Project, NIST, NCSC, Hexnode Security Research
ADB কমান্ড স্থায়ীভাবে ব্যবহারের পদ্ধতি এবং গুরুত্ব
Android Debug Bridge (ADB) কমান্ডগুলো মূলত ডিভাইসের সাময়িক কনফিগারেশন পরিবর্তনের জন্য ডিজাইন করা হয়েছে, যা রিবুট বা রিসেটের পরে স্বয়ংক্রিয়ভাবে রিসেট হয়ে যায়।
তবে প্রাইভেসি এবং সিকিউরিটি হার্ডেনিংয়ের ক্ষেত্রে কিছু কমান্ড স্থায়ীভাবে প্রয়োগ করা অত্যন্ত গুরুত্বপূর্ণ, যাতে ডিভাইস রিবুট করার পরেও প্রাইভেসি এবং সিকিউরিটি সেটিংস বজায় থাকে।
settings put global এবং settings put secure কমান্ড
Android-এর বেশিরভাগ settings put global এবং settings put secure কমান্ড রিবুটের পরেও স্থায়ী থাকে, কারণ এগুলো সিস্টেমের settings ডেটাবেসে সংরক্ষিত হয়।
উদাহরণস্বরূপ, private_dns_mode (প্রাইভেট ডিএনএস মোড),
limit_ad_tracking (বিজ্ঞাপন ট্র্যাকিং সীমিতকরণ),
advertising_id (বিজ্ঞাপন আইডি), এবং অন্যান্য প্রাইভেসি-সম্পর্কিত সেটিংস রিবুটের পরেও বজায় থাকে।
এই কমান্ডগুলো ব্যবহার করার জন্য রুট অ্যাক্সেসের প্রয়োজন হয় না, এবং এগুলো নিরাপদে ব্যবহার করা যায়।
pm revoke এবং appops set কমান্ড
pm revoke এবং appops set কমান্ডগুলোও রিবুটের পরে স্থায়ী থাকে, কারণ এগুলো অ্যাপের পারমিশন এবং অপস সেটিংস পরিবর্তন করে।
এই কমান্ডগুলো ব্যবহার করে নির্দিষ্ট অ্যাপের পারমিশন রিভোক (বাতিল) করা যায়, যা রিবুটের পরেও বজায় থাকে।
তবে কিছু ক্ষেত্রে অ্যাপ আপডেটের পর পারমিশন আবার রিসেট হতে পারে, তাই অ্যাপ আপডেটের পর আবার কমান্ড রান করা প্রয়োজন হতে পারে।
রুট অ্যাক্সেস প্রয়োজনীয় কমান্ড
কিছু ADB কমান্ড স্থায়ীভাবে প্রয়োগ করার জন্য রুট অ্যাক্সেসের প্রয়োজন হয়।
উদাহরণস্বরূপ, setprop persist.adb.tcp.port 5555 কমান্ড ব্যবহার করে ADB ওয়্যারলেস ডিবাগিং স্থায়ীভাবে চালু করা যায়, কিন্তু এটির জন্য রুট অ্যাক্সেস প্রয়োজন।
রুট অ্যাক্সেস থাকলে init স্ক্রিপ্ট বা boot স্ক্রিপ্ট তৈরি করে রিবুটের পর স্বয়ংক্রিয়ভাবে ADB কমান্ড রান করা যায়।
রিবুটের পর ADB কমান্ড হারিয়ে যাওয়ার কারণ ও প্রতিকার
ADB কমান্ড রিবুটের পরে হারিয়ে যাওয়ার পেছনে একাধিক প্রযুক্তিগত এবং সিস্টেম-লেভেল কারণ রয়েছে, যা Android-এর আর্কিটেকচার এবং সিকিউরিটি মডেলের সাথে সম্পর্কিত।
সাময়িক মেমোরি স্টোরেজ
ADB কমান্ডের বেশিরভাগ সেটিংস সিস্টেমের সাময়িক মেমোরিতে (RAM) সংরক্ষিত হয়, যা রিবুটের পরে মুছে যায়।
উদাহরণস্বরূপ, cmd connectivity set-package-networking-enabled কমান্ডগুলো সিস্টেমের মেমোরিতে সংরক্ষিত হয় না, তাই রিবুটের পরে এগুলো রিসেট হয়ে যায়।
Android-এর সিকিউরিটি মডেল অনুযায়ী, সাময়িক পরিবর্তনগুলো রিবুটের পরে রিসেট করা হয়,
যাতে ম্যালওয়্যার বা অননুমোদিত পরিবর্তন স্থায়ীভাবে সিস্টেমে প্রবেশ করতে না পারে।
সিস্টেম পারমিশন এবং সিকিউরিটি পলিসি
Android-এর সিকিউরিটি পলিসি অনুযায়ী, কিছু ADB কমান্ড শুধুমাত্র সাময়িকভাবে প্রয়োগ করা যায়, যাতে সিস্টেমের নিরাপত্তা বজায় থাকে।
উদাহরণস্বরূপ, ADB ওয়্যারলেস ডিবাগিং রিবুটের পরে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়, যাতে অননুমোদিত অ্যাক্সেস প্রতিরোধ করা যায়।
Android Open Source Project-এর Privacy Security Best Practices গাইডলাইন অনুযায়ী,
এই সিকিউরিটি পলিসি ব্যবহারকারীর ডেটা সুরক্ষার জন্য অপরিহার্য।
অটোমেশন অ্যাপ ব্যবহার
cmd connectivity set-package-networking-enabled কমান্ডগুলো রিবুটের পরে রিসেট হয়ে যায়, কারণ এগুলো সিস্টেমের মেমোরিতে সংরক্ষিত হয় না।
এই কমান্ডগুলো স্থায়ীভাবে প্রয়োগ করার জন্য Tasker,
MacroDroid, বা অন্য অটোমেশন অ্যাপ ব্যবহার করে বুটের সময় স্বয়ংক্রিয়ভাবে কমান্ড রান করার ব্যবস্থা করতে হয়।
অটোমেশন অ্যাপ ব্যবহার করে রিবুটের পর স্বয়ংক্রিয়ভাবে ADB কমান্ড রান করা যায়, যা প্রাইভেসি এবং সিকিউরিটি সেটিংস বজায় রাখতে সাহায্য করে।
অ্যান্ড্রয়েড সিস্টেমে স্থায়ীভাবে রাইট সেটিং পারমিশন দেওয়ার নিয়ম
অ্যান্ড্রয়েড সিস্টেমে স্থায়ীভাবে রাইট সেটিং পারমিশন দেওয়া একটি জটিল প্রক্রিয়া, যা অ্যান্ড্রয়েডের সিকিউরিটি মডেল এবং পারমিশন আর্কিটেকচারের সাথে গভীরভাবে সম্পর্কিত।
আন্তর্জাতিক সাইবার সিকিউরিটি এক্সপার্ট এবং ফরেনসিক বিশেষজ্ঞদের মতে,
প্রাইভেসি এবং সিকিউরিটি হার্ডেনিংয়ের জন্য কিছু বিশেষ পারমিশন স্থায়ীভাবে প্রয়োগ করা অত্যন্ত গুরুত্বপূর্ণ, যাতে ডিভাইস রিবুট করার পরেও প্রাইভেসি এবং সিকিউরিটি সেটিংস বজায় থাকে।
WRITE_SECURE_SETTINGS পারমিশন: স্থায়ী রাইট সেটিংয়ের মূল চাবিকাঠি
WRITE_SECURE_SETTINGS পারমিশন হলো অ্যান্ড্রয়েড সিস্টেমে স্থায়ীভাবে রাইট সেটিং দেওয়ার সবচেয়ে গুরুত্বপূর্ণ পারমিশন, যা অ্যাপকে সিস্টেমের সিকিউর সেটিংস পরিবর্তন করার অনুমতি দেয়।
এই পারমিশন ব্যবহার করে অ্যাপ settings put global এবং settings put secure কমান্ডের মাধ্যমে সিস্টেমের গভীর সেটিংস পরিবর্তন করতে পারে, যা রিবুটের পরেও স্থায়ী থাকে।
WRITE_SECURE_SETTINGS পারমিশন গ্রান্ট করার জন্য ADB কমান্ড ব্যবহার করা প্রয়োজন।
নিম্নলিখিত কমান্ডগুলো ব্যবহার করে MacroDroid বা অন্য অটোমেশন অ্যাপকে
WRITE_SECURE_SETTINGS পারমিশন গ্রান্ট করা যায়:
adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION
MacroDroid v5.8 এবং পরবর্তী ভার্সনের জন্য helper ফাইলকে WRITE_SECURE_SETTINGS পারমিশন গ্রান্ট করতে হয়:
adb shell pm grant com.arlosoft.macrodroid.helper android.permission.WRITE_SECURE_SETTINGS
অন্যান্য গুরুত্বপূর্ণ পারমিশন
WRITE_SECURE_SETTINGS ছাড়াও কিছু অন্যান্য পারমিশন স্থায়ী রাইট সেটিংয়ের জন্য গুরুত্বপূর্ণ:
adb shell pm grant com.arlosoft.macrodroid android.permission.DUMP
adb shell pm grant com.arlosoft.macrodroid android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTE NER
adb shell pm grant com.arlosoft.macrodroid android.permission.READ_LOGS
স্থায়ী পারমিশনে সিস্টেমে কী ধরনের সিকিউরিটি ঝুঁকি থাকে
অ্যান্ড্রয়েড সিস্টেমে স্থায়ী পারমিশন প্রয়োগ করা প্রাইভেসি এবং সিকিউরিটি হার্ডেনিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ হলেও, এটি উল্লেখযোগ্য সিকিউরিটি ঝুঁকিও তৈরি করে।
আন্তর্জাতিক সাইবার সিকিউরিটি এক্সপার্ট এবং ফরেনসিক বিশেষজ্ঞদের মতে, স্থায়ী পারমিশন ভুলভাবে কনফিগার বা অপব্যবহার হলে ম্যালওয়্যার, স্পাইওয়্যার, এবং অননুমোদিত অ্যাক্সেসের ঝুঁকি তৈরি হয়।
প্রিভিলেজ এসকালেশন এবং রুট অ্যাক্সেস
স্থায়ী পারমিশন, বিশেষ করে WRITE_SECURE_SETTINGS, SYSTEM_ALERT_WINDOW, এবং PACKAGE_USAGE_STATS-এর মতো special permissions (বিশেষ পারমিশন), অ্যাপকে সিস্টেমের গভীর স্তরে অ্যাক্সেস দেয়।
এই পারমিশনগুলো ভুল হাতে পড়লে ম্যালওয়্যার প্রিভিলেজ এসকালেশন করে রুট অ্যাক্সেস পেতে পারে।
Talsec-এর Security Analysis অনুযায়ী, Shizuku-এর মতো টুলের পারমিশন ভুল হাতে পড়লে ম্যালওয়্যার দ্বারা অপব্যবহার হতে পারে।
RedHook Android ম্যালওয়্যার Wireless ADB ব্যবহার করে Shell Access নিয়েছিল বলে BleepingComputer রিপোর্ট করেছে।
পারসিসটেন্স মেকানিজম
স্থায়ী পারমিশন ম্যালওয়্যারের জন্য একটি পারসিসটেন্স মেকানিজম হিসেবে কাজ করে, যা আক্রমণকারীকে ডিভাইস রিবুট বা রিস্টার্টের পরেও অ্যাক্সেস বজায় রাখতে সাহায্য করে।
Hexnode Security Research অনুযায়ী,
সাইবার সিকিউরিটিতে পারসিসটেন্স বলতে সেই কৌশলগুলোকে বোঝায় যা আক্রমণকারীরা প্রাথমিক অনুপ্রবেশের পরে সিস্টেম, নেটওয়ার্ক বা ডিভাইসে অননুমোদিত অ্যাক্সেস বজায় রাখতে ব্যবহার করে।
স্থায়ী পারমিশন ব্যবহার করে ম্যালওয়্যার
startup programs (স্টার্টআপ প্রোগ্রাম), scheduled tasks (নির্ধারিত কাজ), বা service creation (সার্ভিস তৈরি)-এর মতো persistence technique ব্যবহার করতে পারে।
এক্সেসেসিভ পারমিশন এবং প্রিন্সিপল অফ লিস্ট প্রিভিলেজ
স্থায়ী পারমিশন অনেক সময় excessive permissions তৈরি করে, যা ব্যবহারকারী বা অ্যাপের প্রয়োজনের চেয়ে বেশি অ্যাক্সেস দেয়।
Entitle.io-এর গবেষণা অনুযায়ী,
অতিরিক্ত পারমিশন বলতে সিস্টেমে ব্যবহারকারী বা অ্যাপ্লিকেশনকে প্রদত্ত অযৌক্তিক অ্যাক্সেস স্তরকে বোঝায়, যা প্রায়শই সম্ভাব্য সিকিউরিটি ঝুঁকি তৈরি করে।
NIST SP 800-12 Chapter 10 অনুযায়ী,
সর্বনিম্ন সুবিধা নীতি বলতে সিকিউরিটি লক্ষ্যকে বোঝায় যেখানে ব্যবহারকারীদের শুধুমাত্র তাদের সরকারি দায়িত্ব পালনের জন্য প্রয়োজনীয় অ্যাক্সেস প্রদান করা হয়।
স্থায়ী পারমিশন এই প্রিন্সিপল লঙ্ঘন করে, যা সিস্টেমকে ঝুঁকির মুখে ফেলে।
ডেটা লিক এবং প্রাইভেসি ভায়োলেশন
স্থায়ী পারমিশন ব্যবহার করে অ্যাপ সংবেদনশীল ডেটা যেমন কন্টাক্ট, লোকেশন, মাইক্রোফোন, ক্যামেরা, এবং সিস্টেম লগে অ্যাক্সেস পেতে পারে।
Android Developers Documentation অনুযায়ী,
রানটাইম পারমিশন যাকে বিপজ্জনক পারমিশনও বলা হয়,
আপনার অ্যাপকে সীমিত ডেটাতে অতিরিক্ত অ্যাক্সেস দেয় বা আপনার অ্যাপকে সীমিত কাজ সম্পাদন করতে দেয় যা সিস্টেম এবং অন্য অ্যাপগুলোকে আরও বেশি প্রভাবিত করে।
স্থায়ী পারমিশন ভুলভাবে কনফিগার হলে এই ডেটা লিক হতে পারে বা প্রাইভেসি ভায়োলেশন হতে পারে।
আন্তর্জাতিক সাইবার সিকিউরিটি এক্সপার্টদের সুপারিশ
আন্তর্জাতিক সাইবার সিকিউরিটি এক্সপার্ট এবং ফরেনসিক বিশেষজ্ঞরা স্থায়ী পারমিশনের ঝুঁকি কমানোর জন্য কিছু সুপারিশ করেছেন, যা সিস্টেমের নিরাপত্তা বজায় রাখতে সাহায্য করে।
প্রিন্সিপল অফ লিস্ট প্রিভিলেজ (PoLP) সর্বদা ন্যূনতম অ্যাক্সেস প্রদান করুন যা একটি টাস্ক বা রোল সম্পাদনের জন্য প্রয়োজন।
Autorabit-এর গবেষণা অনুযায়ী, Principle of Least Privilege (PoLP) হলো একটি ফাউন্ডেশনাল প্র্যাকটিস, যা সিকিউরিটি এবং ইউজার এক্সপেরিয়েন্সের মধ্যে ভারসাম্য বজায় রাখতে সাহায্য করে।
স্থায়ী পারমিশন প্রয়োগ করার সময় শুধমাত্র প্রয়োজনীয় পারমিশন গ্রান্ট করুন, অপ্রয়োজনীয় পারমিশন এড়িয়ে চলুন।
রোল-বেসড অ্যাক্সেস কন্ট্রোল (RBAC)
ফাংশন অনুযায়ী অ্যাক্সেস সংজ্ঞায়িত করুন, ব্যক্তি অনুযায়ী নয়, যাতে অসামঞ্জস্যতা এবং হিউম্যান এরর কমানো যায়।
RBAC ব্যবহার করে স্থায়ী পারমিশন ম্যানেজ করা যায়, যা সিকিউরিটি ঝুঁকি কমানোয় সাহায্য করে।
টাইম-বাউন্ড অ্যাক্সেস
সাময়িক প্রয়োজনের জন্য expiring permissions ব্যবহার করুন, যা কন্ট্রাক্টর বা স্পেশাল প্রজেক্টের জন্য আদর্শ।
স্থায়ী পারমিশনের পরিবর্তে time-bound access ব্যবহার করলে সিকিউরিটি ঝুঁকি কমে।
অটোমেটেড অ্যাক্সেস রিভিউ
নিয়মিত রিভিউ এবং রিভোক করুন অপ্রয়োজনীয় বা অনাবশ্যক অ্যাক্সেস, অটোমেশন ব্যবহার করে স্কেল করুন।
Android-এর auto-reset permissions ফিচার ব্যবহার করে অপ্রয়োজনীয় পারমিশন স্বয়ংক্রিয়ভাবে রিসেট করা যায়।
ভিজিবিলিটি এবং অডিটিং
টুলস ইমপ্লিমেন্ট করুন যা পরিবেশ জুড়ে পারমিশন পরিবর্তন মনিটর এবং লগ করে।
ADB কমান্ড এবং অটোমেশন অ্যাপ ব্যবহার করে পারমিশন চেঞ্জ অডিট করা যায়, যা সিকিউরিটি ঝুঁকি শনাক্ত করতে সাহায্য করে।
সেপারেশন অফ ডিউটিস
রিস্কি কম্বিনেশন অফ পারমিশন প্রতিরোধ করুন নিশ্চিত করে যে কোনো একক ব্যবহারকারী সেন্সিটিভ অ্যাকশন শুরু এবং অনুমোদন উভয়ই করতে পারে না।
স্থায়ী পারমিশন প্রয়োগ করার সময় একাধিক ব্যবহারকারী বা অ্যাপের মধ্যে দায়িত্ব ভাগ করে নিন।
জাস্ট ইন টাইম এবং জাস্ট এনাফ অ্যাডমিনিস্ট্রেশন
NCSC-এর Secure System Administration গাইডলাইন অনুযায়ী,
Just in Time Administration এবং Just Enough Administration ব্যবহার করে স্থায়ী পারমিশনের ঝুঁকি কমানো যায়।
শুধুমাত্র প্রয়োজনের সময় এবং প্রয়োজনীয় পরিমাণে পারমিশন গ্রান্ট করুন।
বিশেষজ্ঞ সতর্কতা ;
Android Open Source Project-এর Privacy Security Best Practices গাইডলাইন অনুযায়ী, অ্যাপ বা সিস্টেম সার্ভিসের উচিত নয় তৃতীয় পক্ষের অ্যাপ থেকে প্রাপ্ত ডেটা লগ করা, যাতে সংবেদনশীল তথ্য অন্তর্ভুক্ত থাকতে পারে।
অ্যাপগুলোকে অবশ্যই কোনো Personally Identifiable Information (PII) লগ করা থেকে বিরত থাকতে হবে, যদি না এটি অ্যাপের মূল কার্যকারিতার জন্য অপরিহার্য হয়।
Talsec-এর Security Analysis অনুযায়ী
WRITE_SECURE_SETTINGS পারমিশন ভুল হাতে পড়লে ম্যালওয়্যার দ্বারা অপব্যবহার হতে পারে।
তাই স্থায়ী পারমিশন সেটআপ করার সময় সতর্কতা অবলম্বন করা গুরুত্বপূর্ণ।
Citizen Lab, Access Now, এবং Amnesty International Security Lab-এর গবেষণায় দেখা গেছে যে রাষ্ট্রীয় নজরদারি সফটওয়্যার অনেক সময় স্থায়ী পারমিশনের সুযোগ নিয়ে ডিভাইসে দীর্ঘমেয়াদী অ্যাক্সেস প্রতিষ্ঠা করে।
তাই স্থায়ী পারমিশন প্রয়োগ করার আগে ঝুঁকি মূল্যায়ন করা অপরিহার্য।
সোর্স ও রেফারেন্স নোট;
আন্তর্জাতিক গবেষণা সংস্থা:
Citizen Lab গবেষণা:
Access Now Digital Security Helpline:
EFF Surveillance Self-Defense:
Amnesty International Security Lab:
Privacy International:
Security in a Box:
Android Open Source Project:
NIST SP 800-12:
NCSC Secure System Administration:
Technical Documentation:
Android Developers Permissions:
Android 11 Permissions:
Hexnode Security Research:
Hexnode Persistence Research:
Entitle.io Excessive Permissions:
Autorabit Security Liability:
Talsec Shizuku Security Analysis:
RedHook Malware Report:
_______------____-----___-----________
লেখক: ডিজিটাল নিরাপত্তা গবেষক
সোর্স: Citizen Lab, Access Now, Amnesty International Security Lab, EFF, Privacy International, Android Open Source Project, NIST, NCSC, Hexnode Security Research
ADB কমান্ড স্থায়ীভাবে ব্যবহারের পদ্ধতি এবং গুরুত্ব
Android Debug Bridge (ADB) কমান্ডগুলো মূলত ডিভাইসের সাময়িক কনফিগারেশন পরিবর্তনের জন্য ডিজাইন করা হয়েছে, যা রিবুট বা রিসেটের পরে স্বয়ংক্রিয়ভাবে রিসেট হয়ে যায়।
তবে প্রাইভেসি এবং সিকিউরিটি হার্ডেনিংয়ের ক্ষেত্রে কিছু কমান্ড স্থায়ীভাবে প্রয়োগ করা অত্যন্ত গুরুত্বপূর্ণ, যাতে ডিভাইস রিবুট করার পরেও প্রাইভেসি এবং সিকিউরিটি সেটিংস বজায় থাকে।
settings put global এবং settings put secure কমান্ড
Android-এর বেশিরভাগ settings put global এবং settings put secure কমান্ড রিবুটের পরেও স্থায়ী থাকে, কারণ এগুলো সিস্টেমের settings ডেটাবেসে সংরক্ষিত হয়।
উদাহরণস্বরূপ, private_dns_mode (প্রাইভেট ডিএনএস মোড),
limit_ad_tracking (বিজ্ঞাপন ট্র্যাকিং সীমিতকরণ),
advertising_id (বিজ্ঞাপন আইডি), এবং অন্যান্য প্রাইভেসি-সম্পর্কিত সেটিংস রিবুটের পরেও বজায় থাকে।
এই কমান্ডগুলো ব্যবহার করার জন্য রুট অ্যাক্সেসের প্রয়োজন হয় না, এবং এগুলো নিরাপদে ব্যবহার করা যায়।
pm revoke এবং appops set কমান্ড
pm revoke এবং appops set কমান্ডগুলোও রিবুটের পরে স্থায়ী থাকে, কারণ এগুলো অ্যাপের পারমিশন এবং অপস সেটিংস পরিবর্তন করে।
এই কমান্ডগুলো ব্যবহার করে নির্দিষ্ট অ্যাপের পারমিশন রিভোক (বাতিল) করা যায়, যা রিবুটের পরেও বজায় থাকে।
তবে কিছু ক্ষেত্রে অ্যাপ আপডেটের পর পারমিশন আবার রিসেট হতে পারে, তাই অ্যাপ আপডেটের পর আবার কমান্ড রান করা প্রয়োজন হতে পারে।
রুট অ্যাক্সেস প্রয়োজনীয় কমান্ড
কিছু ADB কমান্ড স্থায়ীভাবে প্রয়োগ করার জন্য রুট অ্যাক্সেসের প্রয়োজন হয়।
উদাহরণস্বরূপ, setprop persist.adb.tcp.port 5555 কমান্ড ব্যবহার করে ADB ওয়্যারলেস ডিবাগিং স্থায়ীভাবে চালু করা যায়, কিন্তু এটির জন্য রুট অ্যাক্সেস প্রয়োজন।
রুট অ্যাক্সেস থাকলে init স্ক্রিপ্ট বা boot স্ক্রিপ্ট তৈরি করে রিবুটের পর স্বয়ংক্রিয়ভাবে ADB কমান্ড রান করা যায়।
রিবুটের পর ADB কমান্ড হারিয়ে যাওয়ার কারণ ও প্রতিকার
ADB কমান্ড রিবুটের পরে হারিয়ে যাওয়ার পেছনে একাধিক প্রযুক্তিগত এবং সিস্টেম-লেভেল কারণ রয়েছে, যা Android-এর আর্কিটেকচার এবং সিকিউরিটি মডেলের সাথে সম্পর্কিত।
সাময়িক মেমোরি স্টোরেজ
ADB কমান্ডের বেশিরভাগ সেটিংস সিস্টেমের সাময়িক মেমোরিতে (RAM) সংরক্ষিত হয়, যা রিবুটের পরে মুছে যায়।
উদাহরণস্বরূপ, cmd connectivity set-package-networking-enabled কমান্ডগুলো সিস্টেমের মেমোরিতে সংরক্ষিত হয় না, তাই রিবুটের পরে এগুলো রিসেট হয়ে যায়।
Android-এর সিকিউরিটি মডেল অনুযায়ী, সাময়িক পরিবর্তনগুলো রিবুটের পরে রিসেট করা হয়,
যাতে ম্যালওয়্যার বা অননুমোদিত পরিবর্তন স্থায়ীভাবে সিস্টেমে প্রবেশ করতে না পারে।
সিস্টেম পারমিশন এবং সিকিউরিটি পলিসি
Android-এর সিকিউরিটি পলিসি অনুযায়ী, কিছু ADB কমান্ড শুধুমাত্র সাময়িকভাবে প্রয়োগ করা যায়, যাতে সিস্টেমের নিরাপত্তা বজায় থাকে।
উদাহরণস্বরূপ, ADB ওয়্যারলেস ডিবাগিং রিবুটের পরে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়, যাতে অননুমোদিত অ্যাক্সেস প্রতিরোধ করা যায়।
Android Open Source Project-এর Privacy Security Best Practices গাইডলাইন অনুযায়ী,
এই সিকিউরিটি পলিসি ব্যবহারকারীর ডেটা সুরক্ষার জন্য অপরিহার্য।
অটোমেশন অ্যাপ ব্যবহার
cmd connectivity set-package-networking-enabled কমান্ডগুলো রিবুটের পরে রিসেট হয়ে যায়, কারণ এগুলো সিস্টেমের মেমোরিতে সংরক্ষিত হয় না।
এই কমান্ডগুলো স্থায়ীভাবে প্রয়োগ করার জন্য Tasker,
MacroDroid, বা অন্য অটোমেশন অ্যাপ ব্যবহার করে বুটের সময় স্বয়ংক্রিয়ভাবে কমান্ড রান করার ব্যবস্থা করতে হয়।
অটোমেশন অ্যাপ ব্যবহার করে রিবুটের পর স্বয়ংক্রিয়ভাবে ADB কমান্ড রান করা যায়, যা প্রাইভেসি এবং সিকিউরিটি সেটিংস বজায় রাখতে সাহায্য করে।
অ্যান্ড্রয়েড সিস্টেমে স্থায়ীভাবে রাইট সেটিং পারমিশন দেওয়ার নিয়ম
অ্যান্ড্রয়েড সিস্টেমে স্থায়ীভাবে রাইট সেটিং পারমিশন দেওয়া একটি জটিল প্রক্রিয়া, যা অ্যান্ড্রয়েডের সিকিউরিটি মডেল এবং পারমিশন আর্কিটেকচারের সাথে গভীরভাবে সম্পর্কিত।
আন্তর্জাতিক সাইবার সিকিউরিটি এক্সপার্ট এবং ফরেনসিক বিশেষজ্ঞদের মতে,
প্রাইভেসি এবং সিকিউরিটি হার্ডেনিংয়ের জন্য কিছু বিশেষ পারমিশন স্থায়ীভাবে প্রয়োগ করা অত্যন্ত গুরুত্বপূর্ণ, যাতে ডিভাইস রিবুট করার পরেও প্রাইভেসি এবং সিকিউরিটি সেটিংস বজায় থাকে।
WRITE_SECURE_SETTINGS পারমিশন: স্থায়ী রাইট সেটিংয়ের মূল চাবিকাঠি
WRITE_SECURE_SETTINGS পারমিশন হলো অ্যান্ড্রয়েড সিস্টেমে স্থায়ীভাবে রাইট সেটিং দেওয়ার সবচেয়ে গুরুত্বপূর্ণ পারমিশন, যা অ্যাপকে সিস্টেমের সিকিউর সেটিংস পরিবর্তন করার অনুমতি দেয়।
এই পারমিশন ব্যবহার করে অ্যাপ settings put global এবং settings put secure কমান্ডের মাধ্যমে সিস্টেমের গভীর সেটিংস পরিবর্তন করতে পারে, যা রিবুটের পরেও স্থায়ী থাকে।
WRITE_SECURE_SETTINGS পারমিশন গ্রান্ট করার জন্য ADB কমান্ড ব্যবহার করা প্রয়োজন।
নিম্নলিখিত কমান্ডগুলো ব্যবহার করে MacroDroid বা অন্য অটোমেশন অ্যাপকে
WRITE_SECURE_SETTINGS পারমিশন গ্রান্ট করা যায়:
adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION
MacroDroid v5.8 এবং পরবর্তী ভার্সনের জন্য helper ফাইলকে WRITE_SECURE_SETTINGS পারমিশন গ্রান্ট করতে হয়:
adb shell pm grant com.arlosoft.macrodroid.helper android.permission.WRITE_SECURE_SETTINGS
অন্যান্য গুরুত্বপূর্ণ পারমিশন
WRITE_SECURE_SETTINGS ছাড়াও কিছু অন্যান্য পারমিশন স্থায়ী রাইট সেটিংয়ের জন্য গুরুত্বপূর্ণ:
adb shell pm grant com.arlosoft.macrodroid android.permission.DUMP
adb shell pm grant com.arlosoft.macrodroid android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTE NER
adb shell pm grant com.arlosoft.macrodroid android.permission.READ_LOGS
স্থায়ী পারমিশনে সিস্টেমে কী ধরনের সিকিউরিটি ঝুঁকি থাকে
অ্যান্ড্রয়েড সিস্টেমে স্থায়ী পারমিশন প্রয়োগ করা প্রাইভেসি এবং সিকিউরিটি হার্ডেনিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ হলেও, এটি উল্লেখযোগ্য সিকিউরিটি ঝুঁকিও তৈরি করে।
আন্তর্জাতিক সাইবার সিকিউরিটি এক্সপার্ট এবং ফরেনসিক বিশেষজ্ঞদের মতে, স্থায়ী পারমিশন ভুলভাবে কনফিগার বা অপব্যবহার হলে ম্যালওয়্যার, স্পাইওয়্যার, এবং অননুমোদিত অ্যাক্সেসের ঝুঁকি তৈরি হয়।
প্রিভিলেজ এসকালেশন এবং রুট অ্যাক্সেস
স্থায়ী পারমিশন, বিশেষ করে WRITE_SECURE_SETTINGS, SYSTEM_ALERT_WINDOW, এবং PACKAGE_USAGE_STATS-এর মতো special permissions (বিশেষ পারমিশন), অ্যাপকে সিস্টেমের গভীর স্তরে অ্যাক্সেস দেয়।
এই পারমিশনগুলো ভুল হাতে পড়লে ম্যালওয়্যার প্রিভিলেজ এসকালেশন করে রুট অ্যাক্সেস পেতে পারে।
Talsec-এর Security Analysis অনুযায়ী, Shizuku-এর মতো টুলের পারমিশন ভুল হাতে পড়লে ম্যালওয়্যার দ্বারা অপব্যবহার হতে পারে।
RedHook Android ম্যালওয়্যার Wireless ADB ব্যবহার করে Shell Access নিয়েছিল বলে BleepingComputer রিপোর্ট করেছে।
পারসিসটেন্স মেকানিজম
স্থায়ী পারমিশন ম্যালওয়্যারের জন্য একটি পারসিসটেন্স মেকানিজম হিসেবে কাজ করে, যা আক্রমণকারীকে ডিভাইস রিবুট বা রিস্টার্টের পরেও অ্যাক্সেস বজায় রাখতে সাহায্য করে।
Hexnode Security Research অনুযায়ী,
সাইবার সিকিউরিটিতে পারসিসটেন্স বলতে সেই কৌশলগুলোকে বোঝায় যা আক্রমণকারীরা প্রাথমিক অনুপ্রবেশের পরে সিস্টেম, নেটওয়ার্ক বা ডিভাইসে অননুমোদিত অ্যাক্সেস বজায় রাখতে ব্যবহার করে।
স্থায়ী পারমিশন ব্যবহার করে ম্যালওয়্যার
startup programs (স্টার্টআপ প্রোগ্রাম), scheduled tasks (নির্ধারিত কাজ), বা service creation (সার্ভিস তৈরি)-এর মতো persistence technique ব্যবহার করতে পারে।
এক্সেসেসিভ পারমিশন এবং প্রিন্সিপল অফ লিস্ট প্রিভিলেজ
স্থায়ী পারমিশন অনেক সময় excessive permissions তৈরি করে, যা ব্যবহারকারী বা অ্যাপের প্রয়োজনের চেয়ে বেশি অ্যাক্সেস দেয়।
Entitle.io-এর গবেষণা অনুযায়ী,
অতিরিক্ত পারমিশন বলতে সিস্টেমে ব্যবহারকারী বা অ্যাপ্লিকেশনকে প্রদত্ত অযৌক্তিক অ্যাক্সেস স্তরকে বোঝায়, যা প্রায়শই সম্ভাব্য সিকিউরিটি ঝুঁকি তৈরি করে।
NIST SP 800-12 Chapter 10 অনুযায়ী,
সর্বনিম্ন সুবিধা নীতি বলতে সিকিউরিটি লক্ষ্যকে বোঝায় যেখানে ব্যবহারকারীদের শুধুমাত্র তাদের সরকারি দায়িত্ব পালনের জন্য প্রয়োজনীয় অ্যাক্সেস প্রদান করা হয়।
স্থায়ী পারমিশন এই প্রিন্সিপল লঙ্ঘন করে, যা সিস্টেমকে ঝুঁকির মুখে ফেলে।
ডেটা লিক এবং প্রাইভেসি ভায়োলেশন
স্থায়ী পারমিশন ব্যবহার করে অ্যাপ সংবেদনশীল ডেটা যেমন কন্টাক্ট, লোকেশন, মাইক্রোফোন, ক্যামেরা, এবং সিস্টেম লগে অ্যাক্সেস পেতে পারে।
Android Developers Documentation অনুযায়ী,
রানটাইম পারমিশন যাকে বিপজ্জনক পারমিশনও বলা হয়,
আপনার অ্যাপকে সীমিত ডেটাতে অতিরিক্ত অ্যাক্সেস দেয় বা আপনার অ্যাপকে সীমিত কাজ সম্পাদন করতে দেয় যা সিস্টেম এবং অন্য অ্যাপগুলোকে আরও বেশি প্রভাবিত করে।
স্থায়ী পারমিশন ভুলভাবে কনফিগার হলে এই ডেটা লিক হতে পারে বা প্রাইভেসি ভায়োলেশন হতে পারে।
আন্তর্জাতিক সাইবার সিকিউরিটি এক্সপার্টদের সুপারিশ
আন্তর্জাতিক সাইবার সিকিউরিটি এক্সপার্ট এবং ফরেনসিক বিশেষজ্ঞরা স্থায়ী পারমিশনের ঝুঁকি কমানোর জন্য কিছু সুপারিশ করেছেন, যা সিস্টেমের নিরাপত্তা বজায় রাখতে সাহায্য করে।
প্রিন্সিপল অফ লিস্ট প্রিভিলেজ (PoLP) সর্বদা ন্যূনতম অ্যাক্সেস প্রদান করুন যা একটি টাস্ক বা রোল সম্পাদনের জন্য প্রয়োজন।
Autorabit-এর গবেষণা অনুযায়ী, Principle of Least Privilege (PoLP) হলো একটি ফাউন্ডেশনাল প্র্যাকটিস, যা সিকিউরিটি এবং ইউজার এক্সপেরিয়েন্সের মধ্যে ভারসাম্য বজায় রাখতে সাহায্য করে।
স্থায়ী পারমিশন প্রয়োগ করার সময় শুধমাত্র প্রয়োজনীয় পারমিশন গ্রান্ট করুন, অপ্রয়োজনীয় পারমিশন এড়িয়ে চলুন।
রোল-বেসড অ্যাক্সেস কন্ট্রোল (RBAC)
ফাংশন অনুযায়ী অ্যাক্সেস সংজ্ঞায়িত করুন, ব্যক্তি অনুযায়ী নয়, যাতে অসামঞ্জস্যতা এবং হিউম্যান এরর কমানো যায়।
RBAC ব্যবহার করে স্থায়ী পারমিশন ম্যানেজ করা যায়, যা সিকিউরিটি ঝুঁকি কমানোয় সাহায্য করে।
টাইম-বাউন্ড অ্যাক্সেস
সাময়িক প্রয়োজনের জন্য expiring permissions ব্যবহার করুন, যা কন্ট্রাক্টর বা স্পেশাল প্রজেক্টের জন্য আদর্শ।
স্থায়ী পারমিশনের পরিবর্তে time-bound access ব্যবহার করলে সিকিউরিটি ঝুঁকি কমে।
অটোমেটেড অ্যাক্সেস রিভিউ
নিয়মিত রিভিউ এবং রিভোক করুন অপ্রয়োজনীয় বা অনাবশ্যক অ্যাক্সেস, অটোমেশন ব্যবহার করে স্কেল করুন।
Android-এর auto-reset permissions ফিচার ব্যবহার করে অপ্রয়োজনীয় পারমিশন স্বয়ংক্রিয়ভাবে রিসেট করা যায়।
ভিজিবিলিটি এবং অডিটিং
টুলস ইমপ্লিমেন্ট করুন যা পরিবেশ জুড়ে পারমিশন পরিবর্তন মনিটর এবং লগ করে।
ADB কমান্ড এবং অটোমেশন অ্যাপ ব্যবহার করে পারমিশন চেঞ্জ অডিট করা যায়, যা সিকিউরিটি ঝুঁকি শনাক্ত করতে সাহায্য করে।
সেপারেশন অফ ডিউটিস
রিস্কি কম্বিনেশন অফ পারমিশন প্রতিরোধ করুন নিশ্চিত করে যে কোনো একক ব্যবহারকারী সেন্সিটিভ অ্যাকশন শুরু এবং অনুমোদন উভয়ই করতে পারে না।
স্থায়ী পারমিশন প্রয়োগ করার সময় একাধিক ব্যবহারকারী বা অ্যাপের মধ্যে দায়িত্ব ভাগ করে নিন।
জাস্ট ইন টাইম এবং জাস্ট এনাফ অ্যাডমিনিস্ট্রেশন
NCSC-এর Secure System Administration গাইডলাইন অনুযায়ী,
Just in Time Administration এবং Just Enough Administration ব্যবহার করে স্থায়ী পারমিশনের ঝুঁকি কমানো যায়।
শুধুমাত্র প্রয়োজনের সময় এবং প্রয়োজনীয় পরিমাণে পারমিশন গ্রান্ট করুন।
বিশেষজ্ঞ সতর্কতা ;
Android Open Source Project-এর Privacy Security Best Practices গাইডলাইন অনুযায়ী, অ্যাপ বা সিস্টেম সার্ভিসের উচিত নয় তৃতীয় পক্ষের অ্যাপ থেকে প্রাপ্ত ডেটা লগ করা, যাতে সংবেদনশীল তথ্য অন্তর্ভুক্ত থাকতে পারে।
অ্যাপগুলোকে অবশ্যই কোনো Personally Identifiable Information (PII) লগ করা থেকে বিরত থাকতে হবে, যদি না এটি অ্যাপের মূল কার্যকারিতার জন্য অপরিহার্য হয়।
Talsec-এর Security Analysis অনুযায়ী
WRITE_SECURE_SETTINGS পারমিশন ভুল হাতে পড়লে ম্যালওয়্যার দ্বারা অপব্যবহার হতে পারে।
তাই স্থায়ী পারমিশন সেটআপ করার সময় সতর্কতা অবলম্বন করা গুরুত্বপূর্ণ।
Citizen Lab, Access Now, এবং Amnesty International Security Lab-এর গবেষণায় দেখা গেছে যে রাষ্ট্রীয় নজরদারি সফটওয়্যার অনেক সময় স্থায়ী পারমিশনের সুযোগ নিয়ে ডিভাইসে দীর্ঘমেয়াদী অ্যাক্সেস প্রতিষ্ঠা করে।
তাই স্থায়ী পারমিশন প্রয়োগ করার আগে ঝুঁকি মূল্যায়ন করা অপরিহার্য।
সোর্স ও রেফারেন্স নোট;
আন্তর্জাতিক গবেষণা সংস্থা:
Citizen Lab গবেষণা:
Access Now Digital Security Helpline:
EFF Surveillance Self-Defense:
Amnesty International Security Lab:
Privacy International:
Security in a Box:
Android Open Source Project:
NIST SP 800-12:
NCSC Secure System Administration:
Technical Documentation:
Android Developers Permissions:
Android 11 Permissions:
Hexnode Security Research:
Hexnode Persistence Research:
Entitle.io Excessive Permissions:
Autorabit Security Liability:
Talsec Shizuku Security Analysis:
RedHook Malware Report:
_______------____-----___-----________