StrandHogg অ্যাটাক / টাস্ক অ্যাফিনিটি দুর্বলতা

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

ওভারভিউ

StrandHogg আক্রমণ / টাস্ক অ্যাফিনিটি দুর্বলতা সক্ষম হয়েছে / একটি ডিজাইন বাগ দ্বারা সৃষ্ট হয়েছে যেভাবে অ্যান্ড্রয়েড একাধিক কাজ পরিচালনা করে, বিশেষত টাস্ক রিপারেন্টিং নামক বৈশিষ্ট্যটি। অ্যাপ্লিকেশান টাস্ক রিপারেন্টিং হল এমন একটি বৈশিষ্ট্য যা একটি অ্যাপ্লিকেশানকে একটি ক্রিয়াকলাপকে একটি কাজ থেকে অন্য কাজে স্থানান্তর করতে দেয়৷

StrandHogg আক্রমণ কীভাবে ইনকামিং অ্যাপ্লিকেশন টাস্ক স্ট্যাক কার্যক্রম পরীক্ষা করা যায় সে সম্পর্কে স্পষ্টতার অভাবকে কাজে লাগিয়েছে এবং একটি দূষিত অ্যাপ্লিকেশনকে অনুমতি দেয়:

  • একটি ক্ষতিকারক কার্যকলাপ একটি শিকার স্ট্যাক থেকে বা সরান
  • ক্ষতিকারক কার্যকলাপ একটি শিকার কার্যকলাপ সমাপ্তির রিটার্ন স্ট্যাক হিসাবে সেট করুন

allowTaskReparenting এবং taskAffinity সেটিংস ম্যানিপুলেট করে এই দুর্বলতাকে কাজে লাগানো হয়।

প্রভাব

একটি দূষিত অ্যাপ্লিকেশন একটি লক্ষ্য অ্যাপ্লিকেশনের প্যাকেজ নামের সাথে মেলে তার কার্যকলাপগুলির একটির টাস্কঅ্যাফিনিটি সেট করতে পারে। এটি তখন অভিপ্রায় হাইজ্যাকিংয়ের সাথে মিলিত হতে পারে যাতে পরবর্তী সময়ে ব্যবহারকারীর দ্বারা লক্ষ্য অ্যাপ্লিকেশনটি চালু করা হলে, দূষিত অ্যাপ্লিকেশনটিও চালু হয় এবং লক্ষ্য অ্যাপ্লিকেশনের উপরে প্রদর্শিত হয়।

টাস্ক অ্যাফিনিটি দুর্বলতা তারপর বৈধ ব্যবহারকারীর ক্রিয়াগুলি হাইজ্যাক করতে ব্যবহার করা যেতে পারে।

ব্যবহারকারীকে একটি দূষিত অ্যাপ্লিকেশনে শংসাপত্র প্রদানের জন্য প্রতারিত করা যেতে পারে। ডিফল্টরূপে, একবার একটি ক্রিয়াকলাপ শুরু হলে এবং একটি কাজের সাথে যুক্ত হলে, সেই সংস্থাটি কার্যকলাপের সমগ্র জীবনচক্রের জন্য টিকে থাকে। যাইহোক, allowTaskReparenting to true সেট করা এই সীমাবদ্ধতা ভঙ্গ করে, একটি বিদ্যমান কার্যকলাপকে একটি নতুন তৈরি করা "নেটিভ" টাস্কে পুনরায় অভিভাবক হওয়ার অনুমতি দেয়।

উদাহরণ স্বরূপ, অ্যাপ A-কে অ্যাপ B দ্বারা টার্গেট করা যেতে পারে, অ্যাপ A-এর সম্পূর্ণ কার্যকলাপ থেকে ফিরে আসার পরে একটি অ্যাপ B কার্যকলাপ স্ট্যাকে রিডাইরেক্ট করে। এক অ্যাপ থেকে অন্য অ্যাপে এই রূপান্তরটি ব্যবহারকারীর কাছ থেকে লুকানো থাকে এবং একটি উল্লেখযোগ্য ফিশিং হুমকি তৈরি করে।

প্রশমন

android:minSdkVersion="30" এ আপডেট করুন।

StrandHogg অ্যাটাক / টাস্ক অ্যাফিনিটি দুর্বলতা মূলত মার্চ 2019 সালে একটি নতুন এবং আরও বিস্তৃত বৈকল্পিকের সাথে সেপ্টেম্বর 2020-এ প্যাচ করা হয়েছিল। Android SDK সংস্করণ 30 এবং নতুন (Android 11) এই দুর্বলতা এড়াতে উপযুক্ত OS প্যাচ ধারণ করে। যদিও পৃথক অ্যাপ্লিকেশন কনফিগারেশনের মাধ্যমে StrandHogg আক্রমণের সংস্করণ 1 আংশিকভাবে প্রশমিত করা সম্ভব, আক্রমণের সংস্করণ 2 শুধুমাত্র এই SDK সংস্করণ প্যাচ দ্বারা প্রতিরোধ করা যেতে পারে।

সম্পদ