۶ راهکار برای امن سازی برنامه موبایل
گوشیها به ما اجازه میدهند، خیلی از فعالیتهای موردنیاز را به صورت آنلاین انجام دهیم. میتوانیم کارهای بانکی را انجام دهیم، وزن خود و ساعات فعالیت ورزشی را ثبت و ذخیره کنیم، وسایل خونه خود را کنترل کنیم، در اینترنت چیزهایی که میخواهیم پبدا کنیم، خرید کنیم، بفروشیم یا حتی کارهای شرکت را در خانهمان انجام دهیم. در این موارد امنسازی برنامۀ موبایل شما اهمیت بالایی دارد. برنامههای روی گوشی تلفن همراه ما به API ها و سرورها وصل میشوند تا دادهها، سرویسها را ارائه دهند .
همۀ توضیحات بالا در صورتی اجرا میشود که امنسازی برنامه موبایل انجام گیرد؛ و اگر از لحاظ امنیتی شرایط فراهم نباشد، برنامههای خود، سیستمهای خود، اطلاعات مشتریان و حتی شهرت خود را به خطر میاندازید. چون دزدهای دیجیتال و هکرها منتظر فرصتی برای سوء استفاده هستند .
برنامهها و گوشیها یک هدف بسیار بزرگ برای هکرها و کرکرها هستند ؛ در صورتی که امنسازی برنامه موبایل میتواند از این موضوع جلوگیری کند .
گزارش سال ۲۰۱۶ ارکسان در خصوص امن سازی برنامه موبایل:
Arxan Technology’s 2016 State of App Security گزارش کرده است ۲۰% برنامههای تست شده خطرات عمده امنیتی OWASP را دارا بودند .
کلمۀ OWASPمخفف شده Open Web Application Security Protocol Project است و یک متدولوژی یا بهتر بگوییم یک پروژه غیردولتی است که در آن به شما به عنوان یک کارشناس برنامهنویس تحت وب، معیارهایی که بایستی برای امنتر شدن نرمافزار خود بهکار ببرید؛ صورتی که تشریح شده است.
OWASP یک متدولوژی است، یعنی راهکار را به ما نشان میدهد، این متدولوژی منحصر به شرکت یا فرد یا سازمان خاصی نبوده و نیست و یک پروژه کاملا متن باز (Open Source) است که هر کسی در هر جای دنیا میتواند به آن بپیوندد و در آن شرکت کند.
ارکسان همچنین گزارش داده، حدود ۵۰% شرکتها هیچ هزینهای نسبت به امنسازی برنامۀ موبایل نکردهاند.
هکر هایی که هدف تخریب و تغییر منابع در برنامه های موبایلی دارند می توانند :
- هکر ها بد افزار ها را درون کد برنامه و درون دستگاه میزبان قرار می دهد تا به داده های میزبان دسترسی پیدا کنند و از طریق اطلاعات بدست آمده رمز و پسورد های مورد نیاز را جمع اوری می کنند.
- در کد برنامه شما دخالت می کنند یا کپی می کنند و با مهندسی معکوس برنامه مخرب حاوی بد افزار را قرار میدهد .
- اطلاعات مهم را که از طریق امواج رادیویی در حال انتقال است رهگیری و یا قطع می کنند.
- دزدیدن اطلاعات مشتریان برای دزدن هویت یا اهداف کلاهبرداری .
- صاحب شدن دارایی های تجاری خصوصی .
- دسترسی به IPشما را و شبکه back-end شما به خطر می افتد .
برنامه های موبایل و APIها امکان این را دارند تا سیستم ها و داده ها را آسیب پذیر کنند.
در صورتی این اتفاق می افتد که استاندارد های امن سازی برنامه موبایل اجرا نشود.
مشتریان انتظار دارند تا برنامه ها امن باشند ، و می توان این اعتماد را به راحتی از بین برد .برای برنامه هایی که با مقدار زیادی داده کار می کنند یا برنامه های مالی و مراقبت های بهداشتی نقش پر رنگ تری دارند.
چه کار هایی برای امن سازی برنامه موبایل باید انجام داد ؟
اگر شما برنامه ای در حال ساخت دارید یا در مارکت موجود است ، احتمالا شما به اینکه چطور برنامه خود ، داده های خود و داده های مشتریانتان را امن کنید فکر نمی کنید.
در این قسمت چند تا راه کار برای امن سازی برنامه شما وجود دارد که توسط متخصصین تعریف شده.
کد برنامۀ خود را از پایه امنسازی کنید.
مانند هر پروژه نرمافزاری، امنسازی برنامۀ موبایل باید جزو اولویتهای اول باشد. هر چند نرمافزارهای خود گوشی با نرمافزارهای وب فرق دارند، در حالتی که داده و نرمافزار به طور امن بر روی سرور قرار دارد و مرورگر فقط یک راه ارتباطی است.
اما برنامههای native وقتی دانلود میشوند کدهای درون دستگاه سیو میشود. این کار باعث میشود در دسترستر باشد، برای کسانی که هدفشان تخریب و دستکاری است. تعداد زیادی آسیب و ضعف در کدهای یک برنامه میتوان یافت، اما اینجا جایی نیست که شرکتها تمرکز امنیتی خود را قرار میدهند.
اجزای شبکه و دادههای امنیتی قسمت بسیار مهمی در بحث امنیت هستند. اما امنسازی برنامه موبایل باید با خود برنامه شروع شود. آسیبها میتوانند توسط خطای مهندس ، عدم تست کد و شکست خوردن در تست آن، یا برنامه شما توسط یک هکر مورد هدف قرار بگیرد.
نکاتی اساسی برای امنسازی برنامه موبایل:
- کد خود را رمزگذاری کنید. کد شما باید یک راز باشد! و خیلی سخت خوانده شود. مدرن باشید! یک الگوریتم خوب و APIرمزگذاری میتواند کمک کند.
- کد خود را برای آسیبپذیریها چک کنید، منبع کد را اسکن کنید.
- برنامۀ شما باید به روزرسانی شود و پچ شود؛ مهندسی کردن کد برای سرعت بالا مهم است !
- حواستان به چیزهایی مانند اندازه فایل، زمان بالا آمدن، کارایی و مصرف داده و باطری باشد. درست است شما میخواهید برنامهتان را امن کنید؛ اما نباید کارایی را پایین بیارید یا مصرف را بالا ببرید.
۲-اتصال شبکه خود را در back-end امن کنید.
سرورها و سرورهای کلود که به API های برنامهها دسترسی دارند باید امنیت داشته باشند تا از دادهها محافظت کنیم و از دسترسی غیرمجاز جلوگیری کنیم.
API ها و کسانی که دسترسی بهشون داده میشود باید تایید بشوند تا از استراق سمع جلوگیری شود.
نکات:
- Containerization یک روش رمزگذاری است که از اطلاعات و اسناد، محافظت میکند.
- با متخصص امنیت مشاوره داشته باشید تا تست نفوذ و آسیبپذیریهای شما را دربیارد تا شما از دادههای درست با روشی درست محافظت میکنید.
۳-شناسایی، تأییدیه، و اقدامات مجوز گیری را در جای خود قرار دهید
تکنولوژی شناسایی و تایید به کاربران کمک میکند تا خود را به برنامه معرفی کنند و این کار امنیت برنامه موبایلی شما را بالاتر میرود.
نکات:
- OAuth2 یک پروتوکل پرکاربرد و معروفی است که اتصالات را امن میکند. این پروتوکل هر بار که کاربر بخواهد وارد برنامه شود، از یک کد که همان موقع به وجود آمده؛ و بعد از استفاده آن کد غیرقابل استفاده میشود. مانند سوالات ۲مرحله ای SMS.
- JSON دادهها را رمزنگاری میکند. این روش مناسب گوشیهای همراه است به دلیل سبک بودن رمزنگاری و امنیت خوب.
۴-نرم افزار خود را تست کنید!!تست کنید!!!تست کنید!!!!
تست کردن برنامه برای توسعۀ آن یکی از مهمترین کارهایی است که انجام میشود.
برنامهها به سرعت در حال انتشار هستند، چه چیزی مهم است تا شما در مارکت جایگاه دلخواه را کسب کنید.
وقتی شما دارید برنامه را تست میکنید که ببینید کارایی آن چطور است. متخصصین توصیه میکنند که از لحاظ امنیتی هم آنرا تست کنید.
با این کار شما میتوانید ضعفها و آسیبپذیریها را دربیارید و سپس قبل از عرضه آنها را درست میکنیم و بعد آن را منتشر میکنیم.
۵-کاربران:از دستگاه های خود محافظت کنید
سازندگان برنامهها نمیتوانند شما را از لحاظ امنیتی مطمئن کنند؛ اما در قسمت پایین چند نکته برای جلوگیری از دزدی هویت، مشکلات امنیتی و …
نکات:
- از دستگاههای روت شده با جیل برک استفاده نکنید. این کار باعث میشود امنیت درون ساخت خود دستگاه حذف شود و آسیبپذیری آن بالا میرود.
- برنامهها را فقط از منابع قابل اعتماد دانلود کنید، مانند آپستورهای قابل اعتماد.
نکات:
- تست نفوذ ضعفهای برنامه را مشخص میکند و با رفع آنها، امنیت برنامه را میتوانیم افزایش دهیم.
- شبیهسازها برای دستگاهها و سیستم عاملها و موتورهای جستوجو به شما این اجازه را میدهند تا آنها را در فضای شبیهساز شده تست کنید.
۶-اگر شما شرکتی دارید که کارمندان شما دستگاه های شخصی خود را می اورند ، شما باید بیشتر مراقب باشید.
شرکتهایی که به کارمندان خود اجازه میدهند دستگاههای خود را بیاورند، خود میتواند یک نوع خطر ایجاد کند. Mobile device management ها بیشتر مواقع ارزش سرمایه گذاری را دارند مثل Air watch Mobile Iron
نکات:
- از VPN استفاده کنید تا اتصال امن را برقرار کند و احتمال آسیبپذیری را کمتر کنید.
- دسترسی به دستگاههایی که ناشناس هستند و تعریف نشدهاند، ندهید. دستگاههایی که امن هستند را با دیواره آتش، ویروسکش مجهز کنید.
- دستگاه خود را مجهز به سیستمی کنید که از خطرهای احتمالی مطلع شود و از آنها جلوگیری کند. درون برنامهها میتوان کدهایی نوشت تا از تغییرات ناخواسته و خطرناک جلوگیری کند .
و حتی میتوان دستگاه را مجهز به سیستمی کنید که اگر دستگاهی دزدیده یا گم شد، دادهها و فایلهای مهم را پاک کند .