امنیت عمومی

  • حملات فیشینگ و روش‌های پیشگیری از آنها

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

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

    از شایع‌ترین این روش‌‌ها که کلاهبرداران اینترنتی در حملات فیشینگ از آنها بهره می‌‌برند می‌‌توان به مواردی همچون طراحی صفحات بانکی تقلبی (Website Phishing)، ارسال ایمیل حاوی اطلاعات مخرب (Email Phishing)، برقراری تماس تلفنی (Vishing) و ارسال پیام های کوتاه (Smishing) که در ذیل به صورت مختصر توضیح داده خواهند شد اشاره کرد:

    • طراحی صفحه‌‌‌‌‌‌ای تقلبی نظیر دروازه پرداخت اینترنتی به‌ پرداخت ملت https://bpm.shaparak.ir با ظاهری کاملا مشابه و اختلاف جزیی در آدرس مانند https://bpm.shapaarak.ir و یا https://bpm.shapparak.ir و فریب قربانی برای وارد کردن اطلاعات مالی.
    • ارسال ایمیل‌‌های فریب دهنده و متقاعد کننده حاوی لینک‌‌های مخرب با موضوعاتی در مورد بلایای طبیعی یا موضوعات سیاسی و اجتماعی روز و یا ایمیل‌‌های سازمانی تقلبی برای کارکنان یک سازمان یا یک موسسه مانند “بخشنامه ۷۶۷ تبدیل نیروهای قراردادی به رسمی مصوب هیئت دولت”، ” بخشنامه افزایش حقوق شماره ۳۴۷ مصوب هیئت مدیره شرکت”، ” بخشنامه شماره ۷۲۴ تعدیل نیرو مصوب سال ۱۳۹۸” و غیره.
    • برقراری تماس تلفنی و درخواست از قربانی برای اعلام مشخصات کارت بانکی و یا مراجعه به دستگاه خود‌‌ پرداز به بهانه‌‌هایی همچون پرداخت جایزه مسابقات تلویزیونی و غیره.
    • ارسال پیام‌‌های کوتاه (SMS)با محتوا و شماره تماس شبیه به مراجع قانونی و قضایی و درخواست از مخاطب برای کلیک برروی لینک یا نصب برنامه‌‌ای خاص.

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

    طراحی و ایجاد برنامه آگاهی بخشی امنیتی (Security Awareness Program) برای سازمان‌‌ها و موسسات تجاری مختلف بدون شک بهترین راهکار برای آموزش و آگاه‌سازی کارکنان برای مقابله با انواع تهدیدات امنیتی از جمله تهدیدات حملات فیشینگ است. برنامه آگاهی بخشی امنیتی با برگزاری دوره‌‌های مستمر آموزشی منطبق بر سناریوها و تهدیدات دنیای واقعی می‌‌تواند ضمن افزایش دانش کارکنان، ریسک تهدیدات امنیتی را کاهش داده و امنیت داده‌‌های حساس سازمان و عدم نشت این اطلاعات را تا حد قابل قبولی تضمین کند.

    انجام تست‌‌های امنیتی کنترل شده برای ارزیابی دانش امنیتی و نقاط قوت و ضعف کارکنان یک موسسه یا سازمان از دیگر مزایای برنامه آگاهی بخشی امنیتی است. بخشی از این برنامه به ارزیابی دانش کارکنان در نحوه تعامل با تهدیدات حملات فیشینگ است. در این ارزیابی که با هماهنگی مدیریت و به وسیله متخصصین امنیت و آی‌‌تی سازمان انجام می‌‌گردد کارکنان به وسیله روش‌هایی که در بالا توضیح داده شد تحت ارزیابی‌‌های امنیتی مختلف قرار گرفته و خروجی و نتایج این آزمون‌‌ها برای شناسایی نقاط ضعف امنیتی سازمان و شکل‌‌دهی به آموزش‌‌های مورد نیاز کارکنان مورد استفاده قرار می‌‌گیرند.

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

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

    ذکر این نکته ضروری است که تنها دلیل این ارزیابی‌‌ها آموزش و افزایش دانش امنیت کارکنان است و نباید نتایج این آزمون به صورت تنبیهی برعلیه کارکنان استفاده گردیده و موجبات عدم اطمینان به مدیریت و بخش آی‌‌تی سازمان را در آینده فراهم آورد.

    در پایان لازم به ذکر است همچون دیگر کشورها، طبق قوانین جرایم رایانه‌‌ای ایران کلاهبرداری‌‌های اینترنتی جرم بوده و مجازاتی از قبیل حبس و جرایم نقدی برای مجرمین در نظر گرفته شده است.

     

  • فین تک و تهدیدات امنیتی

    فین تک (Fintech) یا فناوری های مالی (Financial Technology) از جدیدترین و جذابترین عرصه های بهره گیری از تکنولوژی های نوین در بخش ارائه خدمات مالی است که با سرمایه گذاری های عظیم در سرتاسر دنیا توسط استارت آپ هایی که در زمینه خدمات تجاری و مالی فعالیت میکنند در حال توسعه و بهره برداری است.

    کاربرد تکنولوژی در خدمات مالی از جمله تعاریف کلی است که برای درک ماهیت این صنعت نسبتا نوپا توسط کارشناسان اقتصادی ارائه شده است، ولی به عبارتی ساده تر و کاملتر فین تک بهره برداری از تکنولوژی های نو به منظور ایجاد سرویسهای نوین مالی و کارآمدتر کردن، تسهیل و سرعت بخشی در ارائه خدمات مالی و بازرگانی است که در حال حاضر بانکها و موسسات مالی به روشهای سنتی در حال ارائه آنها به مشتریان خود هستند است.

    وام دهی (Lending)، پرداخت (Payment)، ارسال و دریافت پول در سطح بین المللی (International Money Transfer)، مدیریت امور مالی شخصی (Personal Finance)، امور مالی سهام (Equity Financing)، خدمات بیمه (Insurance) از جمله خدماتی مالی است که شرکتهای فین تک به مشتریان خود ارائه میکنند. گرچه اکثر فعالیتهای ذکر شده خدمات فین تک ها هم راستا با بانکها و موسسات مالی سنتی است و شباهت های فراوانی بین این دو وجود دارد ولی با توجه به نحوه و گستره بهره گیری این استارت آپ ها از تکنولوژی و نحوه ارائه خدمات، شرکت های فین تک را نمیتوان زیر مجموعه بانکها قلمداد کرد.

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

    با توجه به گستردگی و سودآور بودن این صنعت استارت آپ ها و شرکتهای فراوانی جذب این بازار شده اند که شاخص ترین آنها در عرصه جهانی همچون Stripe، Markit, Square, Lufax و Lending Club با بهره گیری از جدیدترین تکنولوژی ها همچون هوش مصنوعی (AI)، بلاکچین (BlockChain)، رایانش توزیع شده (Distributed Computing)، رمزنگاری (Cryptography) و ارز های رمزنگاری شده  (Cryptocurrencies) در حال توسعه و ارائه خدمات مالی به مشتریان خود در سرتاسر جهان هستند. رشد این صنعت به حدی بوده است که تنها در سال ۲۰۱۷ سیزده استارت آپ فین تک هر کدام بیش از یک میلیارد دلار ارزش گذاری شده اند.

    اگرچه این صنعت و رشد سریع آن مزایای فراوانی همچون ارائه خدمات نوین و بهبود کیفیت و سرعت ارائه خدمات مالی با هزینه های کمتر نسبت به خدمات سنتی بانکها و در نتیجه افزایش رضایت مشتریان را به همراه خواهد داشت ولی از آنجایی که سرویسهای ارائه شده استقرار و مرکزیت سرویسهای سنتی بانک ها را دارا نیستند و غالب خدمات ارائه شده به صورت آنلاین و بر بستر اینترنت عرضه میشود تهدیدات امنیتی متعددی وجود دارد که میتواند امنیت و آینده این صنعت را به خطر بیندازد.

    امنیت و حفظ حریم خصوصی داده ها (Data Security and Privacy) و مقابله با فریب و کلاهبرداری (Fraud Fighting) از مهمترین دغدغه هایی است که صنعت فین تک با آن روبرو خواهد بود. حفظ امنیت حجم عظیم اطلاعاتی همچون اطلاعات مشتریان از قبیل مشخصات فردی و مالی، الگوی فعالیت مشتریان و برنامه های مالی آینده که فین تک ها برای پیشبرد اهداف خود و سیاست گذاری ها به آنها نیازمندند در مقابل انواع حملات سایبری و جلوگیری از سوءاستفاده از این حجم داده نیازمند طراحی و بهره گیری از طرح های امنیتی قوی است که فعالین این صنعت باید به آن توجه ویژه داشته باشند.

    مسلما عدم آشنایی با تهدیدات امنیتی که امنیت داده ها و اطلاعات مشتریان و موسسات را تهدید میکند و در نظر نگرفتن و عدم ارائه راه حل ها و ساختارهای امنیتی منسجم برای مقابله با این مشکلات امنیتی به صورت جدی میتواند ایجاد و حفظ اعتماد مشتریان و از این رو موفقیت و آینده استارت آپ های فین تک را به خطر بیندازد.

  • ایمن سازی نرم افزار با بهره گیری از Misuse Case و Threat Modeling

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

    مشکلات و حملات امنیتی که  نرم افزارها و سامانه های مختلف را درگیر میکنند غالبا به دلیل نقص هایی است که در طراحی و توسعه اولیه نرم افزارها رخ میدهند. متاسفانه این نقص های امنیتی سطح پایین و غالبا ابتدایی امکان سو استفاده وسیع توسط هکرها و نفوذ گران را فراهم مینمایند. حملاتی مانند حمله تزریق به پایگاه داده SQL Injection، آسیب پذیری های XSS و حمله سرریز بافر Buffer Overflow که سالهاست در صدر لیست ده حمله برتر OWASP قرار دارند و با روشهایی همچون صحت سنجی ورودی ها Input Validation قابل پیشگیری هستند، غالبا با سو استفاده از این دسته ایرادات امنیتی رخ میدهند.

    طراحی صحیح نرم افزارها و قراردادن نرم افزارهای طراحی شده تحت آزمایشهای امنیتی مختلف قبل از انتشار عمومی میتواند تا حد زیادی امنیت این نرم افزارها را در مقابل تهدیدات امنیتی تامین کند.

    از متداول ترین روشهای ایمن سازی در بین توسعه دهندگان نرم افزارهای مختلف، ایمن سازی چرخه توسعه نرم افزارها (SDLC) و شبیه سازی خطرات یا Threat Modeling هستند که دستورالعمل اجرایی این دو روش بر این قاعده استوار است که برنامه نویسان در سطوح مختلف باید از قواعد کد نویسی امن مطلع بوده و با استفاده از این روشها در مراحل مختلف توسعه نرم افزار احتمال سو استفاده های امنیتی را کاهش دهند. با این حال استفاده از این روشها و کد نویسی امن به تنهایی نمیتواند امنیت نرم افزارها را در مقابل تهدیدات امنیتی مختلف تضمین نماید و بهره گیری از دیگر روشهای ایمن سازی باید در دستور کار قرار گیرد.

    از دیگر روشهای نه چندان جدید ولی بسیار کاربردی استفاده از خروجی ها و نتایج تست های Misuse Case که بر پایه مدل Use Case که در بخش های مختلف توسعه نرم افزار طراحی شده است. در ساده ترین تعریف این دو مدل نحوه و امکان بهره گیری سیستم از قابلیت های پیش فرض طراحی شده در بخش های مختلف نرم افزار را Use Case و در طرف مقابل روشهای احتمالی سو استفاده از قابلیت های توسعه داده شده به منظور آسیب رساندن به امنیت و یکپارچگی نرم افزار توسط هکرها را به عنوان Misuse Case معرفی میکنند.

    در تست های Misuse Case برنامه نویس یا متخصص آنالیز نرم افزار تلاش خواهد کرد که از نگاه یک هکر امنیت و پایداری قابلیت های مختلف نرم افزار مورد نظر را در معرض انواع حملات و تهدیدات امنیتی احتمالی قرار دهد.

    در این مدل نرم افزار در حال توسعه با توجه به نوع و کاربرد آن باید حداقل تحت تست ها و حملاتی همچون منع سرویس (DoS)، تزریق پایگاه داده (SQL Injection)، بروت فورس (Brute Force)، سرریز بافر (Buffer Overflow) و بالا بردن سطح دسترسی (Escalation of Privileges) قرار گیرد.

    طراحی و اجرای Misuse Case مختلف بر روی بخش ها و قابلیتهای مختلف نرم افزار در حال توسعه غالبا کشف نقص های امنیتی مختلف را به دنبال خواهد داشت که این نقص های فنی و امنیتی بدست آمده ایجاد Use Case جدید و اصلاح قابلیت های فعلی و افزودن قابلیتهای امنیتی جدید در صورت نیاز برای جلوگیری و انسداد نقص های امنیتی کشف شده را در پی خواهد داشت. طراحی و اجرای دقیق تست های Misuse Case در کنار امکان کشف و ضبط نقص های امنیتی و راه های مقابله با آنها، امکان ایجاد تغییرات ساختاری در معماری کلی نرم افزار در جهت ایمن سازی را نیز به توسعه دهنده خواهد داد.

    دو مدل معرفی شده Threat Modeling و Misuse Case در کنار اشتراکات متعدد، در نحوه تعامل با بخش های توسعه ای نرم افزار تفاوتهای محسوسی با هم دارند. شاخص ترین آنها در نحوه تعامل با ساختار کلی و اجزای نرم افزار است، به نحوی که در شبیه سازی خطرات یا Threat Modeling تمرکز اصلی بر روی معماری و ساختار کلی نرم افزار و در مدل Misuse Case امکانات و قابلیتهای مختلف نرم افزار در حال توسعه به صورت جداگانه و دقیق مورد توجه و تست قرار میگیرند.

    در پایان این مطلب ذکر این نکته ضروری است که برای رسیدن به بهترین نتیجه ممکن و بهره گیری از مزایای ایمن سازی این دو مدل، توسعه دهندگان باید همکاری نزدیکی با متخصصین تست و آنالیز و دیگر اعضای تیم داشته باشند. از این جهت بهره گیری از جدیدترین و موثرترین روشهای جمع آوری اطلاعات از اعضای مختلف تیم در تمام بخش ها کاملا ضروری خواهد بود. برین استورمینگ Brain Storming از موثرترین و جدیدترین روشهای گردآوری اطلاعات از تمام اعضای مشارکت کننده در توسعه نرم افزار است. در این روش معمولا اعضای تیم در بخش های مختلف گرد آمده و ایده ها و نظرات خود را در مورد خطرات احتمالی و نحوه ایمن سازی نرم افزار مورد نظر را بدون محدودیت ارائه میدهند.

    خروجی این جلسات و اطلاعات دقیق از بخش های توسعه داده شده نرم افزار که در اختیار بخش برنامه نویسی قرار دارد در کنار دانش متخصصین آنالیز و بهره گیری از موثرترین مدلهای ایمن سازی میتواند موجب توسعه نرم افزاری ایمن و پایدار گردد.

     

دکمه بازگشت به بالا
بستن