অ্যান্ড্রয়েড অ্যাপ্লিকেশন ব্যবহার করার সময়, ব্যাকগ্রাউন্ডে কী হচ্ছে সেটি সাধারণত মানুষের মনে পড়ে না। দুর্ভাগ্যবশত, ডাইনামিক কোড লোডিং নামে একটি প্রোগ্রামিং অপশন নিরাপত্তার ঝুঁকি সৃষ্টি করতে পারে। এখানে আপনার যা জানা দরকার।
ডাইনামিক কোড লোডিং কী?
অ্যাপ্লিকেশন ডেভেলপমেন্টে, একটি অ্যাপ বানাতে ব্যবহৃত সম্পূর্ণ সোর্স কোড কোডবেস তৈরি করে। ডাইনামিক কোড লোডিং একটি অ্যাপকে তার কোডবেসের বাইর থেকে কন্টেন্ট টেনে আনতে এবং অপারেশন বা রানটাইমের সময় এক্সিকিউট করতে দেয়।
এই অপশনটি অ্যাপের আকার ছোট করতে পারে কারণ একটি সাধারণ অভ্যাস হলো কোড রিমোটলি স্টোর করা APK-তে এম্বেড না করে।
APK হলো ফাইল ফরম্যাট যা অ্যান্ড্রয়েড অ্যাপ ডিস্ট্রিবিউট ও ইনস্টল করার সময় ব্যবহার করে। এতে একটি অ্যাপ কম্প্যাটিবল ডিভাইসে কাজ করার জন্য সব কম্পোনেন্ট থাকে। ডাইনামিক কোড লোডিং ডেভেলপমেন্ট দৃষ্টিকোণ থেকে কিছু সুবিধা আনে, যার মধ্যে কিছু অ্যাপ ইউজেবিলিটি উন্নত করে।
উদাহরণস্বরূপ, একটি অ্যাপ একজন ব্যবহারকারীকে ফ্রি বা প্রিমিয়াম ভার্সন ব্যবহার করছেন কিনা সেটির ওপর ভিত্তি করে ভিন্ন কন্টেন্ট দেখাতে পারে। ডাইনামিক কোড লোডিং APK সাইজ বাড়াতে না ব্যবহারকারীর টিয়ার ভিত্তিতে সঠিক কন্টেন্ট প্রদর্শন করতে পারে।
অতিরিক্ত, ডাইনামিক কোড লোডিং ডেভেলপারদের মাইনর চেঞ্জস সহ নতুন অ্যাপ ভার্সন রিলিজ করতে দেয়। ব্যবহারকারীদের কিছু ডাউনলোড না করেই লেটেস্ট ভার্সন मिलে।
এই সুবিধাগুলোর সত্ত্বেও, ডাইনামিক কোড লোডিং অ্যান্ড্রয়েড অ্যাপ সিকিউরিটির সাথে সম্পর্কিত ঝুঁকি সৃষ্টি করতে পারে।
ম্যালিশাস অ্যাপগুলো প্রায়শই ডাইনামিক কোড লোডিং ফিচার করে
একটি ২০১৯ সালের রিসার্চ পেপারের লেখকরা ম্যালিশাস অ্যান্ড্রয়েড অ্যাপগুলো পরীক্ষা করলো তাদের সাধারণ বৈশিষ্ট্য খুঁজে বের করতে। তারা পূর্বের গবেষণা উদ্ধৃতি দিলো যা ডাইনামিক কোড লোডিংকে খারাপ অ্যাপের টপ ফিচার হিসেবে দেখিয়েছিল।
একটি তদন্তে ৮৬,৭৯৮ অ্যাপের মধ্যে প্রায় ২০,০০০ টিতে ডাইনামিক কোড লোডিং ছিল।
আরো স্পষ্ট করা হয়েছে যে, একটি খারাপ অ্যাপের কোর ফাংশনালিটি স্বতন্ত্র লাইব্রেরিতে রাখা হয়, তারপর ডাইনামিক কোড লোডিং ব্যবহার করে সেটি রান করানো হয়। সেই পদ্ধতিটি অ্যাপের ম্যালিশাস আচরণ আড়াল করে দেয়, ফলে সেটি কম ডিটেক্টেবল হয়।
গুগলের ডকুমেন্টেশন যেসব ম্যালওয়্যার সে ডিটেক্ট করে সেগুলোর টাইপ সম্পর্কে যেহেতু স্পষ্ট করে যে ডাইনামিক কোড মিসইউজ ব্যাকডোর ভারাইটির হিসেবে ফ্ল্যাগ করা হয়তে পারে। কোম্পানিটি ব্যাকডোর ম্যালওয়্যারকে ডিফাইন করে ডিভাইসে দূর থেকে কন্ট্রোল করা সম্ভাব্য হানিকারক অ্যাকশন এক্সিকিউট করার रूपে। তারপর ডাইনামিক কোড লোডিং এর একটি উদাহরণ দিলো যা একটি অ্যাপকে টেক্সট মেসেজ এক্সট্রাক্ট করতে দেয়।
যাইহোক, গুগল বলে সে চেক করে কোড এক্সিকিউশন স্পষ্টভাবে ম্যালিশাস আচরণ পারফর্ম করে কিনা। যদি না করে, তবে কোম্পানিটি আর্বিট্রারি কোড এক্সিকিউশনকে একটি ভালনারেবিলিটি হিসেবে বিবেচনা করে ডেভেলপারের জন্য প্যাচ করার।
খারাপ অ্যাপের ইনস্ট্যান্সগুলতে, আর্বিট্রারি কোড এক্সিকিউশন একটি হ্যাকারকে টার্গেটেড ডিভাইসে রিমোটলি কমান্ড চালাতে দেয়।
গবেষকরা একটি ডাইনামিক কোড লোডিং ইস্যু চিহ্নিত করল
গুগল ব্যবহারকারীদের নিরাপত্তা বাড়াতে সিদ্ধান্তমূলক কदम নেয়। উদাহরণস্বরূপ, থার্ড-পার্টি কুকি ব্যবহারকারীদের ট্র্যাক করে, তাদের ইনফো সংরক্ষণ করে, এবং পরে টার্গেটেড অ্যাড দেখাতে ব্যবহার করে। যাইহোক, কোম্পানিটি ২০২২ সালের মধ্যে ক্রোম ব্রাউজারে থার্ড-পার্টি কুকি ব্লক করবে। সেটির জন্য কোনো নির্দিষ্ট তারিখ দিলো না।
নিরাপত্তায় ফোকাস করা কোম্পানিকে সমস্যামুক্ত করে না, যাইহোক। সাইবার সিকিউরিটি গবেষকরা গুগল অ্যাপেPersistent আর্বিট্রারি কোড এক্সিকিউশন খুঁজে পেলো এবং কোম্পানিতে রিপোর্ট করলো। ইস্যুটি মে ২০২১-এ ফিক্স হয়েছিল, কিন্তু এতে ডাইনামিক কোড লোডিং-এর সাথে সম্পর্কিত সম্ভাব্য সমস্যাগুলোর ওপর মানুষের চোখ উঠল।
গবেষকরা নিশ্চিত করলো যে ভালনারেবিলিটি একটি হ্যাকারকে শুধু একবার একটি অ্যাপ লঞ্চ করতে দিয়ে এক ব্যক্তির গুগল ডেটা চুরি করতে দেবে। একজন হ্যাকার গুগল অ্যাপের ফ্লথ দিয়ে একটি ডেঞ্জারাস অ্যাপ থেকে একটি কোড লাইব্রেরি টেনে আনতে পারতো একজন ব্যক্তির ডিভাইসে।
সেখান থেকে, সাইবার ক্রিমিনাল প্রায় সকল গুগল ডেটা অ্যাক্সেস করতে পারতো, তাদের ইমেইলসহ। তারা ব্যবহারকারীর মাইক্রোফোন, ক্যামেরা এবং রিয়েল-টাইম লোকেশন ইনফোর্মেশনও এক্টিভেট করতে পারত।
খারাপ অ্যাপ ভালনারেবিলিটির সতর্কতাগুলোর ওপর মনোযোগ দিন
যেহেতু ডাইনামিক কোড লোডিং ডেভেলপমেন্ট এন্ডে হয়, একজন সাধারণ অ্যাপ ব্যবহারকারী কিছুই করতে পারেন না যাতে যাচাই করা যায় কোনো নির্দিষ্ট অফারিং ডাইনামিক কোড লোডিং-র সাথে সম্পর্কিত লুকানো ঝুঁকি রাখে কিনা। যাইহোক, টেক হেডলাইনে যেকোনো অ্যান্ড্রয়েড অ্যাপ সিকিউরিটি নিউজ হিট করলে সেটির ওপর চোখ রাখা বুদ্ধিমানের কাজ।
সাইবার সিকিউরিটি গবেষকরা নিয়মিত उन ইস্যুগুলো খুঁজে বের করেন যা হাজার হাজার অ্যাপ ব্যবহারকারীকে ঝুঁকিতে ফেলতে পারে, তারপর সেগুলো রিপোর্ট করে। সম্ভাব্য অ্যাপ হুমকির সম্পর্কে সচেতন থাকা ব্যবহারকারীদের সিদ্ধান্ত নেওয়ায় সাহায্য করবে কোনো পোটেনশিয়ালি প্রোবলেম্যাটিক অ্যাপ্লিকেশন আপডেট বা ডিলিট করা উচিত কিনা।