অ্যান্ড্রয়েড: রপ্তানি করা হয়েছে

OWASP বিভাগ: MASVS-প্ল্যাটফর্ম: প্ল্যাটফর্ম ইন্টারঅ্যাকশন

ওভারভিউ

android:exported অ্যাট্রিবিউট সেট করে যে একটি উপাদান (ক্রিয়াকলাপ, পরিষেবা, সম্প্রচার রিসিভার, ইত্যাদি) অন্যান্য অ্যাপ্লিকেশনের উপাদানগুলির দ্বারা চালু করা যেতে পারে কিনা:

  • true হলে, যেকোন অ্যাপ অ্যাক্টিভিটি অ্যাক্সেস করতে পারে এবং তার সঠিক ক্লাসের নাম দিয়ে এটি চালু করতে পারে।
  • false হলে, একই অ্যাপ্লিকেশনের শুধুমাত্র উপাদান, একই ব্যবহারকারী আইডি সহ অ্যাপ্লিকেশন, বা সুবিধাপ্রাপ্ত সিস্টেম উপাদানগুলি কার্যকলাপ চালু করতে পারে।

এই অ্যাট্রিবিউটের ডিফল্ট মানের পিছনে যুক্তি সময়ের সাথে পরিবর্তিত হয় এবং উপাদানের প্রকার এবং Android সংস্করণের উপর নির্ভর করে ভিন্ন ছিল। উদাহরণ স্বরূপ, API লেভেল 16 (Android 4.1.1) বা <provider> উপাদানের মান কম করা ডিফল্টরূপে true হিসেবে সেট করা আছে। এই বৈশিষ্ট্যটি সেট না করা স্পষ্টভাবে কিছু ডিভাইসের মধ্যে বিভিন্ন ডিফল্ট মান থাকার ঝুঁকি বহন করে।

প্রভাব

বিভিন্ন ডিফল্ট মান সহ পরিস্থিতি মানে আপনি ঘটনাক্রমে অভ্যন্তরীণ অ্যাপ্লিকেশন উপাদানগুলি প্রকাশ করতে পারেন। ফলাফলের কয়েকটি উদাহরণ নিম্নলিখিত হতে পারে:

পরিষেবা আক্রমণ অস্বীকার. আপনার অ্যাপের অভ্যন্তরীণ কার্যকারিতা পরিবর্তন করতে অন্য অ্যাপগুলি অভ্যন্তরীণ উপাদানগুলিকে অনুপযুক্তভাবে অ্যাক্সেস করছে। সংবেদনশীল তথ্য ফাঁস. দুর্বল আবেদনের প্রেক্ষাপটে কোড নির্বাহ।

প্রশমন

সর্বদা স্পষ্টভাবে android:exported বৈশিষ্ট্য সেট করুন। এটি ব্যাখ্যার জন্য কোন জায়গা ছেড়ে দেবে না এবং একটি উপাদানের দৃশ্যমানতার বিষয়ে আপনার উদ্দেশ্যকে স্পষ্টভাবে সংকেত দেবে।

{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}