سه شنبه, ۲۵ اردیبهشت, ۱۴۰۳ / 14 May, 2024
مجله ویستا

جعل هویت در وب به صورت ساده!


در زمانهای گذشته سرقتهای بانكی توسط دزدان حرفه ای و با تجربه ای انجام می شد كه سالهای عمر خود را در این راه گذرانده اند و به قول معروف پیر این راه شده اند ولی امروزه دزدی از بانكها توسط افراد زیر ۱۸ سالی انجام می شود كه فقط یك ارتباط تلفنی با اینترنت دارند.
برای فهمیدن این خطر سناریو های زیر را بخوانید :
سناریو اول :
مایكل كه یك كارمند ساده می باشد ( كاربر مشروع) برای بررسی حساب بانكی خود(پایگاه داده ) به بانك محلی خود(سرور وب بانك ) می رود و توسط تحویلدار آن (برنامه كاربردی وب ) كارش را انجام داده و بر می گردد.
سناریو دوم:
ادوارد (كاربر نامشروع) به همان بانك محلی رفته و از در جلو وارد می شود(پورت ۸۰ ) و خودش را شبیه هر مشتری كه می خواهد می كند !
او حتی به این فكر می كند كه برای سرقت بانك لازم نیست كه از درهای دیگر وارد شود (پورتهای دیگر ) بنابراین از نظر نگهبان جلو در (دیواره آتش) او فرد بی خطری می باشد. او توسط تحویل دار دیگری (برنامه كاربردی وب) سرویس دهی می شود در حالیكه او به دروغ خود را مایكل معرفی كرده است و تحویل دار نیز این را باور كرده است(مدیریت نشست ها [۱]) كه او ادوارد نیست و مایكل می باشد. بنابراین به او اجازه می دهد كه به حساب بانكی مایكل دسترسی داشته باشد.
سناریو دوم یك حمله واقعی جعل هویت را شرح می دهد كه توسط نگهبان امنیتی (دیواره آتش) نیز قابل شناسایی نمی باشد.
ازدیاد تجارتخانه های الكترونیكی و یا هر چیز دیگری كه توسط اینترنت انجام می شود باعث شده است حملات به آنها از دنیای واقعی به دنیای مجازی نفوذگران تغییر مكان دهد.
نتیجه چنین حملات جعل هویتی در برنامه های كاربردی وب ( كه در دنیای نفوذگران به حملات جعل هویت[۲] معروف است ) باعث آشكار شدن اطلاعات و هویت افراد و پس از آن دستبرد و دزدی سرمایه های آنها در وب می باشد.
به علت ضعف دیواره های آتش در تشخیص چنین حملاتی باعث شده است كه اینگونه حملات مورد توجه بسیاری از نفوذگران كلاه سیاه قرار گیرد و باعث دغدغه خاطر و نگرانی بسیاری از مدیران سایت ها و برنامه نویسان تحت وب قرار گرفته است.
در این مقاله قصد بر آن است كه توضیح بسیار مختصری درباره این نوع حمله داده شود و توسط مثالهایی كه زده می شود فهم این مطلب را برای بسیاری از دوستان راحت كنیم. هر چند برای فهم بهتر این مطلب باید آشنایی تقریبی با تكنیكها مدیریت نشست ها داشته باشید. در پایان نیز راههای مقابله با این گونه حملات بیان شده است كه امید است مورد توجه مدیران و برنامه نویسان سایتها قرار گیرد.
مدیریت نشستها
مدیرست نشستها شامل تكنیكهایی می باشد كه به وسیله برنامه های كاربردی وب به كار می رود تا برای هر درخواست Http ای كه كاربران می فرستند هر باره LOGIN نكنند و كسب مجوز لازم برای حق دسترسی به آن درخواست داده شود. مسوولیت مدیریت این كار توسط خود برنامه كاربردی وب می باشد. به همین وسیله می باشد كه پروتكل Http از حالت Stateless به حالت Statefull درآید.مدیریت نشست ها به این صورت می باشد كه برنامه كاربردی وب پس از دادن كسب مجوز لازم برای كاربر یك نشانه نشست برای او ارسال می كند. در بیشتر مواقع این نشانه توسط مجموعه كوكیها تنظیم می گردد كه در سیستم مشتری ذخیره می شود. این نشانه های نشست با هر درخواستی كه كاربر دارد ارسال می گردد تا برنامه كاربردی وب بر طبق آن هویت شما را تشخیص دهد.
مثال ساده :
وقتی در سایت www.iranianchat.com وارد می شوید و می خواهید وارد اتاق گفتگو شوید هنگامی كه یك اسم را انتخاب می كنید و وارد اتاق می شوید برنامه كاربردی یك نشانه نشست(chatID ) به شما می دهد كه در متن صفحه اتاق گفتگو نهفته است و وقتی كه شما پیغامی را برای دوستتان می فرستید پیغام شما به همراه این نشانه برای برنامه كاربردی ارسال شده و متن فرستاده شده از طرف شما روی صفحه ظاهر می گردد.یعنی به صورت زیر:
http://www.englishpersian.com/Chat۱/Chat.asp?ChatID=۳۰۸۷.۲&PostMsg=Hello
و از همین طریق می باشد كه برنامه كاربردی تشخیص می دهد كه كدام كاربر كسب مجوز دارد و كدام ندارد در مثال بالا یعنی كاربری كه پیام خود را ارسال می كند آیا قبلا اسمی برای خود انتخاب كرده است یا خیر !
مكانیسمهای مدیریت نشستها را در دو دسته می توان گنجاند : مكانیسمهای سمت مشتری و مكانیسمهای سمت سرور . این دسته بندی بر اساس محتوای نشانه های نشست هایی است كه بین مشتری و برنامه های كاربردی رد و بدل می شود.
مدیریت نشستهای سمت كاربر
در این نوع از مدیریت نشستها ، نشانه توكن شامل ضروری ترین بخش برای دادن كسب مجوز به كاربران می باشد.بنابراین این بخش از اطلاعات كسب مجوز در سمت مشتری خیره می شود كه اغلب این كار توسط كوكیها در سمت مشتری انجام می گردد. حال اگر كسی این نشانه را طوری ماهرانه تغییر دهد تا شبیه نشانه فرد دیگری شود آنگاه برنامه كاربردی اینگونه فكر می كند كه این شخص همان شخص است.
مدیریت نشستهای سمت سرور
یك اختلاف اساسی بین این نوع از مدیریت با نوع قبلی وجود دارد و آن این است كه در این نوع مدیریت اطلاعات كاربران در بانك اطلاعاتی سرور ذخیره می شود و در كوكیها هیچ اطلاعاتی ذخیره نمی گردد. ولی در اینجا نیز نشانه نشست (Token Session ) بین سرور و كاربر رد و بدل می شود. به عنوان مثال وقتی وارد سایت xyzbank.com می شوید و پس از اینكه كسب مجوز لازم برای ورود به سایت را دریافت كردید یك sessioniID به شما تعلق می گیرد كه این نشانه شما می باشد.