:.:. صالح خواجه دلویی .:.:

Business Development Expert - ICT & Management

:.:. صالح خواجه دلویی .:.:

Business Development Expert - ICT & Management

:.:. صالح خواجه دلویی .:.:

زندگی قرار نیست آسان باشد
شما تلاشتان را بیشتر کنید

طبقه بندی موضوعی

در دنیایی که در آن به سر می‌بریم (یعنی دنیای دیجیتال) روز به روز به اهمیت امنیت، حریم خصوصی و مقابله در برابر نفوذ افزوده می‌شود چرا که زندگی اکثر کاربران به گونه‌‌ای با فناوری‌های مدرن عجین شده است که دیگر به سختی می‌توان از فناوری دل کند و مجرمین سایبری هم از این فرصت سوء‌استفاده کرده و به دنبال راه‌هایی برای نفوذ به سیستم‌های سازمان‌ها،‌ شرکت‌ها و حتی کاربران خانگی هستند. در این مقاله، با شش مرحله از تست‌های امنیتی آشنا می‌شوید تا بتوانید تا حد امکان از ایمنی و امنیت وب اپلیکیشن‌ها اطمینان حاصل کنید.

مدل‌سازی تهدید
ایمن کردن یک برنامه، زمان و منابع زیادی می‌طلبد. با در نظر گرفتن ده‌ها نرم‌افزاری که توسط کارکنان در تمام سطوح شرکت‌ها استفاده می‌شوند، ضروری به نظر می‌رسد تا اطمینان حاصل کنیم که تمهیدات امنیتی به بهترین شکل ممکن پیاده‌سازی شده‌اند و به همین دلیل هم هست که Threat Modeling (مدل‌سازی تهدید‌) یک گام اولیهٔ حیاتی در تست امنیتی برنامه‌ها است. در این مرحله، امکان تحلیل برنامه، شناسایی تهدیدات و رتبه‌بندی آن‌ها بر اساس شدت و در نهایت اختصاص زمان و منابع کافی به منظور جلوگیری از آن‌ها در نظر گرفته می‌شود.

احراز هویت
Authentication (احراز هویت) یک خط‌مقدم بسیار مهم دفاعی به حساب می‌آید و در واقع اطمینان حاصل می‌کند که تنها کاربران و سرورهای به رسمیت شناخته شده، اجازهٔ تعامل با یک برنامه را دارند. مشکلات احراز هویت کاربری از علل شایع نفوذ به سیستم‌ها و دسترسی به داده‌های آن‌ها هستند و در این بین، داشتن نام کاربری و پروتکل‌های قوی رمزعبور کاربران نیز از اهمیت زیادی برخوردارند.

همچنین داشتن قابلیت Two-factor Authentication (احراز هویت دو مرحله‌‌ای) امری ضروری برای یک وب اپلیکیشن اصولی است. همچنین تعداد دفعاتی که کاربران برای لاگین کردن تلاش می‌کنند، همگی باید به صورت لاگ در سیستم ثبت شوند و عدم موفقیت کاربران در لاگین کردن می‌بایست با عملیات قفل شدن حساب کاربری توأم گردد.

تا به حال از چند اپلیکیشن موبایل استفاده کرده‌اید؟ آیا تاکنون به تعداد اپلیکیشن‌هایی که هر روز ساخته می‌شوند دقت کرده‌اید؟ هر چقدر هم که به‌روز باشید، باز هم از تعداد زیادی از اپلیکیشن‌ها غافل خواهید ماند چرا که نرخ رشد چشم‌گیری در این زمینه مشاهده می‌شود و روزانه صدها اپلیکیشن جدید در سراسر دنیا توسط دولوپرها عرضه می‌شوند. در همین لحظه که شما مشغول خواندن این مقاله هستید، چندین اپلیکیشن جدید در سراسر دنیا و همین ایران خودمان در حال توسعه است؛ اپلیکیشن‌هایی در دسته‌بندی‌های مختلف که در زمینه‌هایی مانند بانکداری، سرگرمی و غیره، بسیار قوی عمل می‌کنند و این بدان معنا است که پتانسیل و فرصت‌های فراوانی در صنعت اپلیکیشن‌های موبایل وجود دارد؛ ولی تمام این اپلیکیشن‌ها، آن‌قدر‌ها هم در بازار موفق نمی‌شوند!

واقعیت امر آن است که برخی اپ‌ها در همان قدم اول رَد شده، بعضی به اپ استور راه یافته ولی مورد توجه قرار نمی‌گیرند و این در حالی است که تعداد معدودی تسلط خود را حفظ کرده و دولوپرهایشان از موفقیت خود لذت می‌برند و پول زیادی هم به جیب می‌زنند!

سؤال اصلی که اینجا مطرح می‌شود این است که چه چیزی برنده یا بازنده را در این حوزه رقم می‌زد؟

اپلیکیشن‌های قدرتمند و هوشمند، حاصل کار برنامه‌نویسان عادی نیستند. وجود یکسری خصوصیات ویژه در برنامه‌نویسان و توسعه‌دهندگان موفق، به آن‌ها در درست فکر کردن و ایجاد پشت‌کار تا مرحلهٔ موفقیت کمک می‌کند که چهار مورد از این خصوصیات مهم عبارتند از: 

وسواس برای کیفیت
یک توسعه‌دهندهٔ موفق، بیشتر از اینکه ذوق و شوق ساختن اپ داشته باشد، روی کیفیت نهایی کار خود وسواس به خرج می‌دهد. اهمیت کیفیت کلی کار، بسیار بیشتر از اتمام کاری با کیفیت متوسط است و این مسئله شامل دیزاین و طراحی اپ، پلتفرم‌های قابل‌اجرا، ابعاد اجرا روی صفحه‌های نمایش و سیستم‌عامل‌های پشتیبانی شده می‌شود. یک توسعه‌دهنده باید کیفیت را به عنوان یک جنبهٔ حیاتی در توسعهٔ نرم‌افزار دانسته و به نوشتن کدهایی مشغول شود که اپلیکیشن را به موفقیتی بزرگ می‌رسانند.

افراد زیادی از اشتیاق بالایی برای توسعهٔ اپلیکیشن‌های مختلف و عرضهٔ آن‌ها به بازار برخوردارند، ولی اگر با این شیوه کیفیت کار در معرض خطر قرار بگیرد، تمام تلاش‌ها در ساختن نرم‌افزار بیهوده به حساب می‌آیند. نرم‌افزار‌ها باید در عملکرد بسیار مؤثر و کارآمد باشند. یک توسعه‌دهندهٔ موفق، به حد وسط قانع نمی‌شود؛ بلکه هدف غایی او این است تا اپلیکیشن‌اش مطابق با نیازهای کاربران و به راحتی کار کند اما در عین حال بسیار باکیفیت باشد.