10 خطر امنیتی مربوط به گوشی های هوشمند عنوان شده که دانستن این خطرات می تواند ما را در حفاظت از داده های حساس خودمان و توسعه دهندگان برنامه کاربردی را نسبت به ایمن سازی برنامه هایشان کمک کند.
این روزها زیرساختهای فناوری اطلاعات و ارتباطات روند پیشرفت و توسعه را به سرعت طی می کنند و به تبع آن کاربران نیز از بستر موجود به ویژه اینترنت و دیگر فناوری های ارتباطی بهره مند خواهند شد.
به همین خاطر تمایل افراد نسبت به بهره مندی از همراه بانک ها و تجارت الکترونیک رو به افزایش است. با این وجود راه برای افراد سودجو باز خواهد بود. کافی است کاربران گوشی های هوشمند موارد امنیتی و هشدارهای داده شده را نسبت به افزایش امنیت گوشی هوشمند خود در نظر داشته باشند.
1) ذخیره داده به صورت ناامن
ذخیره داده به صورت ناامن می تواند منجر به از دست رفتن داده های کاربر به هنگام گم شدن گوشی همراه شود. گاهی اوقات ما از یک دستگاه برای استفاده چند کاربر بهره می بریم و در صورت نصب یک برنامه کاربردی ناامن در دستگاه، تمام کاربران در معرض خطر قرار خواهند گرفت .
داده هایی که در دستگاه اندرویدی ذخیره می شوند و به صورت بالقوه در معرض خطر قرار خواهند گرفت به شرح زیر است:
نام های کاربری، توکن های احراز اصالت، گذرواژه ها، کوکی ها، داده های موقعیت مکانی، UDID/EMEI، نام دستگاه، نام شبکه متصل شده ، اطلاعات شخصی: DoB، آدرس، داده های کارت های اعتباری، داده های برنامه کاربردی همچنین لاگ های ذخیره شده برنامه کاربردی، اطلاعات دیباگ، پیام های به دست آمده از برنامه کاربردی و تاریخچه تراکنش ها می باشد.
2) کنترل های ضعیف از سمت سرور
سرورهایی که برنامه کاربردی شما باید به آن دسترسی داشته باشد نیازمند یکسری فاکتورهای امنیتی است تا مانع از دستیابی کاربران غیرمجاز به داده کاربر اصلی شوند.
درصورت عدم تأمین کنترل در سمت سرور و امکان دسترسی برنامه کاربردی شما به آنها، داده های شما در معرض خطر قرار خواهد گرفت.
3) حفاظت ناکافی لایه انتقال
به هنگام طراحی یک برنامه کاربردی برای گوشی همراه، در زمان اجرا، این برنامه کاربردی داده ها را از طریق یک سرور کلاینت جابه جا خواهدکرد. در واقع این نوع از داده ها از طریق شبکه و اینترنت منتقل خواهند شد.
اگر کدنویسی این برنامه کاربردی ضعیف باشد و نتواند فاکتورهای امنیتی را برآورده نماید'عوامل تهدید' می توانند با استفاده از تکنیک هایی، داده های حساس را به هنگام عبور از خطوط ارتباط مشاهده نمایند.
عوامل تهدید شامل موارد زیر خواهند بود:
کاربران محلی در شبکه شما (نظارت Wi-Fi)، حامل ها یا دستگاه های شبکه (روترها، دکل های مخابراتی، پروکسی ها و غیره) و بدافزارهایی که از قبل روی گوشی کاربر وجود داشته اند
4) تزریق از جانب کلاینت
برنامه های کاربردی اندروید از جانب کلاینت دانلود و اجرا خواهند شد. یعنی کد برنامه کاربردی روی دستگاه کاربر قرار خواهد گرفت. مهاجمان می توانند با بارگذاری حملات ساده 'متن محور' را در هر منبع داده تزریق نمایند، این منابع می توانند فایل ها یا خود برنامه های کاربردی باشند.
حملات تزریق از جمله تزریق SQL روی دستگاه های کلاینت می تواند در صورت وجود چندین حساب کاربری روی یک برنامه کاربردی یا یک دستگاه به اشتراک گذاشته شده تشدید پیدا کنند.
5) ضعف مجوز و احراز اصالت
برنامه های کاربردی و سیستم هایی که به آنها متصل هستید باید به بهترین شکل از نظر تفویض مجوز و فرآیند احراز اصالت محافظت شوند. این کار موجب می شود تا (سیستم ها، کاربران و دستگاه ها) برای انتقال داده در زمان فعالیت برنامه کاربردی دارای اختیار و مجوز قانونی باشند و در صورت عدم وجود چنین شرایطی سیستم ها، کاربران و دستگاه های غیرمجاز توانایی این کار را نداشته باشند و مسدود شوند.
6) مدیریت نادرست لایه جلسه
ممکن است برای شما هم اتفاق افتاده باشد که در حین بررسی حساب بانکی خود از طریق کامپیوتر، کاری پیش آمده باشد و میز کامپیوتر خود را ترک کنید و پس از بازگشت با پیغام ' زمان جلسه به اتمام رسیده است - لطفاً دوباره وارد شوید' روبرو شوید. این یک نمونه خوب از مدیریت جلسه است. در واقع شما در یک مدت زمان مشخص در صورت عدم فعالیت به صورت خودکار از سیستم خارج خواهید شد.
این کار باعث می شود تا تهدیداتی از قبیل جاسوسی از کامپیوتر شما و مشاهده اطلاعات حساب بی نتیجه باقی بماند.
این مورد و سایر موارد مدیریت جلسه باید در مورد برنامه های کاربردی که دسترسی به داده های حساس را دارند اعمال شود.
7) تصمیمات امنیتی از طریق ورودی های نامطمئن
شاید فکر کنید ورودی هایی از قبیل کوکی ها، متغیرهای محیطی و فرم های مخفی موجود در گوشی شما غیرقابل تغییر و تنظیم مجدد هستند، اما این یک تصور کاملاً اشتباه است! یک مهاجم می تواند این نوع از ورودی ها را تغییر دهد و نکته مهم اینجاست که این تغییرات ممکن است قابل تشخیص هم نباشند.
زمانی که تصمیمات امنیتی از قبیل احراز اصالت و نوع مجوزها بر اساس مقادیر این دست از ورودی ها اتخاذ و ساخته می شوند بنابراین مهاجمان نیز می توانند امنیت نرم افزارها را دور بزنند.
بدون رمزگذاری مناسب، بررسی جامعیت یا دیگر مکانیسم ها هر ورودی که سرچشمه خارجی داشته باشد نمی تواند قابل اعتماد باشد.
8) نشت داده از کانال جانبی
در رمزنگاری – استراتژی های متنوعی در رمزگذاری مورد استفاده قرار می گیرند. حمله کانال جانبی: حملاتی که به منظور به دست آوردن اطلاعات از طریق اجرای فیزیکی سیستم رمزگذاری صورت می پذیرند بیشتر از حملات brute force یا پیدا کردن نقاط ضعف موجود در الگوریتم رمزنگاری باشد.
بررسی دقیق از نظر چگونگی انتقال داده و زمان و مکان انتقال آن توسط مهاجمان می تواند منجر به شناسایی و بهره برداری از حفره های امنیتی شود.
9) شکستن رمزنگاری
سیستم های رمزگذاری دائماً در حال تغییر و تحول هستند زیرا آنها همیشه رمزگشایی و یا شکسته می شوند.
نسبت به قدرت، پایا بودن و عدم شکسته شدن الگوریتم رمزنگاری که از آن استفاده می کنید اطمینان حاصل کنید.
نقاط ضعف یک الگوریتم را می توان با استفاده از ابزارها و تکنیک هایی که نیازمند تحلیل دستی و با مشارکت انسان است، انجام داد. این تکنیک ها شامل آزمون های نفوذ، مدل کردن تهدیدات و ابزارهای تعاملی است و به کاربر اجازه ثبت و تنظیم یک جلسه فعال را می دهد.
10) افشای اطلاعات حساس
از بین 9 مورد گفته شده، این مورد از اهمیت بیشتری برخوردار است. زمانی که برنامه های کاربردی، سیستم ها و الگوریتم های رمزنگاری ساخته می شوند یا توسط شرکت ها مورداستفاده قرار می گیرند، هک و یا شکسته خواهند شد، در این زمان داده شما می تواند در معرض خطر قرار گیرد.
هنگامی که داده های حساس فاش شوند، افراد سودجو می توانند این داده ها را در پایگاه های داده و سیستم های خود ذخیره کنند و به حساب های کاربری، کارت های اعتباری، نام های کاربری، گذر واژه ها و بسیاری دیگر از داده های حساس شما دسترسی داشته باشند.
جستجوی داده به منظور شناسایی آسیب پذیری هایی که از نقص موجود در برنامه های کاربردی و نوع خدمات شرکت ها منجر می شود، شما را در برابر این دست از خطرات مصون نگاه خواهد داشت.