خطرات گواهینامه های دیجیتال ابری هارد کد شده در اپلیکیشنهای موبایل

امروزه اپلیکیشنهای موبایل به بخشی جداییناپذیر از زندگی روزمره ما تبدیل شدهاند. با میلیونها دانلود از پلتفرمهایی مانند گوگل پلی استور و اپ استور، یک تهدید پنهان وجود دارد که میتواند دادههای کاربران و سرویسهای backend را در معرض خطرات جدی قرار دهد. تحلیلهای اخیر نشان دادهاند که بسیاری از اپلیکیشنهای پراستفاده، اعتبارنامههای سرویسهای ابری را به صورت هاردکد و بدون رمزنگاری در کدهای خود جاسازی کردهاند. این عمل خطرناک به این معناست که هر کسی که به کد منبع یا باینری اپلیکیشن دسترسی داشته باشد، میتواند این اعتبارنامهها را استخراج کرده و از آنها برای دستکاری یا سرقت دادهها استفاده کند.
اعتبارنامههای هاردکد شده AWS در اپلیکیشنهای موبایل
اپلیکیشن Pic Stitch: Collage Maker با بیش از 5 میلیون دانلود در گوگل پلی استور، یکی از نمونههایی است که اعتبارنامههای AWS را به صورت هاردکد در کد خود جاسازی کرده است. این اعتبارنامهها شامل نام سطل Amazon S3، کلیدهای دسترسی خواندن و نوشتن، و کلیدهای مخفی هستند. اگر یک مهاجم به این اعتبارنامهها دسترسی پیدا کند، میتواند به راحتی به سرویسهای ابری مرتبط دسترسی پیدا کرده و دادهها را سرقت یا دستکاری کند.
مثالهای دیگر از اپلیکیشنهای iOS
در اپلیکیشنهای iOS نیز نمونههای مشابهی از این آسیبپذیریها یافت شده است. سه اپلیکیشن Crumbl، Eureka: Earn Money for Surveys، و Videoshop - Video Editor همگی اعتبارنامههای AWS را به صورت هاردکد و بدون رمزنگاری در کدهای خود جاسازی کردهاند.
Crumbl: این اپلیکیشن با بیش از 3.9 میلیون رتبهبندی و رتبه 5 در دسته Food & Drink در اپ استور، از یک AWSStaticCredentialsProvider با اعتبارنامههای متنی ساده استفاده میکند. این اعتبارنامهها برای پیکربندی سرویسهای AWS استفاده میشوند و در معرض خطر سوءاستفاده قرار دارند.
Eureka، Earn Money for Surveys: این اپلیکیشن با 402.1 هزار رتبهبندی و رتبه 61 در دسته Lifestyle، اعتبارنامههای AWS را به صورت هاردکد در کد خود جاسازی کرده است. این اعتبارنامهها برای ثبت رویدادها در AWS استفاده میشوند و منابع ابری حیاتی را در معرض خطر قرار میدهند.
Videoshop - Video Editor: این اپلیکیشن با 357.9 هزار رتبهبندی، اعتبارنامههای AWS را به صورت مستقیم در متد -[VSAppDelegate setupS3] جاسازی کرده است. این اعتبارنامهها رمزنگاری نشدهاند و هر کسی که به باینری اپلیکیشن دسترسی داشته باشد، میتواند آنها را استخراج کند.
اعتبارنامههای هاردکد شده Azure در اپلیکیشنهای موبایل
این مشکل تنها محدود به AWS نیست. در چندین اپلیکیشن محبوب اندروید نیز اعتبارنامههای هاردکد شده Microsoft Azure Blob Storage یافت شده است. این اعتبارنامهها به صورت مستقیم در کدهای اپلیکیشنها جاسازی شدهاند و خطرات جدی برای امنیت و حریم خصوصی کاربران ایجاد میکنند.
Meru Cabs: با بیش از 5 میلیون دانلود در گوگل پلی استور، این اپلیکیشن اعتبارنامههای Azure را در سرویس UploadLogs جاسازی کرده است. این اعتبارنامهها شامل یک رشته اتصال با کلید حساب هستند که برای مدیریت آپلود لاگها استفاده میشوند.
Sulekha Business: این اپلیکیشن با بیش از 500 هزار دانلود، اعتبارنامههای Azure را در چندین بخش از کد خود جاسازی کرده است. این اعتبارنامهها برای اهداف مختلفی مانند افزودن پستها، مدیریت فاکتورها و ذخیره پروفایلهای کاربری استفاده میشوند.
نمونههای ذکر شده در اینجا نشاندهنده خطرات جدی امنیتی ناشی از جاسازی اعتبارنامههای ابری هاردکد شده در اپلیکیشنهای موبایل هستند. این عمل زیرساختهای حیاتی را در معرض حملات احتمالی قرار داده و دادههای کاربران و سرویسهای backend را به خطر میاندازد. گستردگی این آسیبپذیریها در هر دو پلتفرم iOS و اندروید، نیاز فوری به تغییر رویههای توسعه به سمت روشهای امنتر را نشان میدهد.
بهترین روشها برای توسعهدهندگان
برای کاهش این خطرات، توسعهدهندگان باید بهترین روشهای مدیریت اطلاعات حساس در اپلیکیشنهای خود را دنبال کنند:
استفاده از متغیرهای محیطی: اعتبارنامههای حساس را در متغیرهای محیطی ذخیره کنید که در زمان اجرا بارگذاری میشوند، به جای اینکه آنها را مستقیماً در کد جاسازی کنید.
مدیریت اسرار: از ابزارهای مدیریت اسرار مانند AWS Secrets Manager یا Azure Key Vault برای ذخیره و دسترسی ایمن به اعتبارنامهها استفاده کنید.
رمزنگاری دادههای حساس: اگر اعتبارنامهها باید در اپلیکیشن ذخیره شوند، از الگوریتمهای رمزنگاری قوی استفاده کنید و آنها را در زمان اجرا رمزگشایی کنید.
بازبینی و حسابرسی کد: به طور منظم بازبینی کد و حسابرسی امنیتی انجام دهید تا اعتبارنامههای هاردکد شده و سایر آسیبپذیریهای امنیتی را شناسایی و حذف کنید.
اسکن امنیتی خودکار: ابزارهای اسکن امنیتی خودکار را در خط لوله CI/CD خود ادغام کنید تا اعتبارنامههای هاردکد شده و سایر نقاط ضعف امنیتی را در مراحل اولیه توسعه شناسایی کنید.
با اتخاذ این روشها، توسعهدهندگان میتوانند خطر افشای اطلاعات حساس را به میزان قابل توجهی کاهش داده و اطمینان حاصل کنند که اپلیکیشنهای آنها در برابر تهدیدات احتمالی ایمن هستند.
حفاظت و کاهش خطرات
برای بهروزرسانیهای حفاظتی اخیر، لطفاً به بولتن حفاظتی سیمانتک مراجعه کنید. سیمانتک به کاربران توصیه میکند برای محافظت از دستگاهها و دادههای خود، یک اپلیکیشن امنیتی مناسب مانند Symantec Endpoint Protection نصب کنند. همچنین، کاربران باید از دانلود اپلیکیشنها از سایتهای ناشناخته خودداری کرده و تنها از منابع معتبر نصب کنند. بهروزرسانی نرمافزارها و توجه به مجوزهای درخواستی اپلیکیشنها نیز از دیگر توصیههای مهم سیمانتک برای حفظ امنیت است.
با رعایت نکات فوق، میتوانید از دادهها و دستگاههای خود در برابر تهدیدات امنیتی محافظت کنید و تجربهای امنتر در استفاده از اپلیکیشنهای موبایل داشته باشید