آسیب پذیری – 2FA / MFA و مدیریت جلسه

سابقه و هدف

محققان اخیراً گزارش كردند كه اشکالات مربوط به وضعیتی را نشان می دهند كه یك وب سایت جلسات فعال ثانویه (جداگانه) را باطل نمی سازد ، زیرا 2FA / MFA در جلسه اولیه فعال شود.

سناریو

  • را در نظر بگیرید user1 در site.com دارای 2FA غیرفعال است.
  • user1 وارد دو جلسه جداگانه می شود
  • user1 2FA را در یکی از جلسه های اولیه
  • user1 مجدداً جلسه دوم را بارگیری می کند ، تا ببیند جلسه ثانویه انجام می شود یا خیر
    بی اعتبار

مغز من

اگرچه منطقی راجع به آن می گیرم ، حتی اگر جلسه ثانویه باطل نشود ، آن را به عنوان یک اشکال امنیتی معتبر نمی دانم. آیا من اینجا چیزی را گم نمی کنم؟ شاید یک PoV متفاوت!

آیا PASETO جایگزین JWT برای مجوز API می شود؟

آیا سرور PASETO متقارن کلید به طور جدی به عنوان یک کاندیدای قابل قبول برای جایگزینی JWT برای مجوز جلسه API ارزیابی شده است؟

JWT

https://tools.ietf.org/html/rfc7519

https: / /jwt.io

PASETO

https://raw.githubusercontent.com/paragonie/paseto/d7a1067c48e5ada67567fc546e8a6232d82c94ce/docs/RFC/draft-paragonie-paseto-rfc-00.txt

https://paragonie .com / blog / 2018/03 / paseto-platform-agnostic-security-tokens-is-secure-alternative-jose-standards-jwt-etc

SAML 2 | در صورتی که کاربر در SP کار می کند، بازخوانی جلسه IdP

میخواهد بحث و گفتگو درباره راه حل و گزینههایی را برای تازه کردن جلسه IdP زمانی که کاربر به طور فعال در SP کار می کند، مورد بحث قرار دهد. مورد استفاده این است که پس از موفقیت آمیز SSO آغاز شده، دو جلسه در تصویر وجود دارد:

  • IdP (SSO) جلسه
  • SP Session

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

به بهترین نحو از مشخصات من SAML Specifications برای این مورد استفاده را ارائه نمی دهد.

بنابراین، به نظر من، جلسه IdP باید " به صراحت 'یا توسط درخواست SAML منفعل یا با فراخوانی یک API IdP برای بازخورد جلسه.

لطفا تأیید کنید که آیا درک درست من و سایر گزینه ها است.

PS: من در مورد OpenAM فکر می کنم این پرونده مورد استفاده توسط عوامل خط مشی وب مدیریت شده است، اما نه همه شناسه های موجود در آن نماینده ها هستند.

مرورگر وب – آیا ردیابی session-user agent-agent هر گونه مزایایی را ارائه می دهد؟

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

اگر شناسه جلسه توسط تکان دادن (محافظت نشده) ترافیک به سرقت رفته باشد، کاربر عامل نیز به راحتی در دسترس در اطلاعات خرج شده است، بنابراین می توان آن را کاملا فریب داد. اگر کوکی جلسه به جای XSS یا مشابه (به عنوان مثال کوکی برای httponly تنظیم نشده) دزدیده شده باشد، دقیقا مشخص نیست که عامل کاربر بلافاصله شناخته شده است، بلکه می تواند با برخی از ترفندها نیز بازیابی شود (به توضیحات @ multithr3at3d در این پاسخ مراجعه کنید).

بنابراین، از جمله عامل کاربر در کوکی جلسه، حفاظت اضافی مرتبط را در صورتی که سایت شما HTTPS تنها (یا حداقل کوکی، یعنی پرچم امن باشد) ارائه نمی کند و کوکی نمی تواند بخواند توسط XSS (یعنی httponly پرچم)، که هر دو چیز شما باید انجام دهید به هر حال

احراز هویت – حفاظت از کاربر از دسترسی غیر مجاز

بنابراین ما در حال برنامه ریزی برای اضافه کردن یک ویژگی به برنامه ما است که شبیه آنچه گوگل انجام می دهد، اما کمی سخت تر:

  1. شما لیستی از جلسات که به عامل کاربر و آدرس IP (؟) ( گوگل یک مکان را نشان می دهد)
  2. 2FA مورد نیاز است تنها زمانی که شما سعی می کنید از یک دستگاه که برای 30 روز گذشته تایید نشده است وارد شوید.
  3. اگر تلاش ورود به سیستم از یک جفت کاربر / agent / IP جدید ساخته شود ، ما می خواهیم یک پیوند را با یک نشانه برای آدرس ایمیل خود برای تأیید ورود به سیستم ارسال کنیم.
  4. هنگامی که روی پیوند کلیک می کنند، اگر 2FA فعال باشد، خواهیم از 2FA برای تایید ورود به سیستم

چند چیز ما در مورد:

  1. با ایجاد کاربر اقدام به تایید ورود به سیستم، به جای گوگل که در آن فقط به شما می گوید از ورود … ما امیدواریم برای جلوگیری از تعداد بیشتری از ورود به سیستم های غیر مجاز. (در حال حاضر ما هر بار که کاربر وارد سیستم می شود، هر بار که وارد سیستم می شود، ما به آنها عامل کاربر و منطقه می گوئیم.)
  2. با درخواست از 2FA برای استفاده از لینک، ما امیدواریم که بیشتر از ورود نامحدود محافظت کنیم (در حالی که می توانید از طریق ایمیل دسترسی، ما قبل از ورود به صفحه برای ورود به گذرواژه جدید بعد از کلیک روی پیوند بازنشانی، باید قبل از ورود به سیستم 2FA را مجددا اتخاذ کنیم.)
  3. بزرگترین نگرانی ما این است که ما به طور تصادفی اشتباه نمیکنیم و برخی از کاربران باید پرش کنند از طریق این حلقه یک میلیارد بار در همان جلسه، زیرا حامل تلفن همراه خود را به طور مداوم IP خود را تغییر دهید … و غیره

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

توجه: من درک می کنم این ما توقف همه برای امنیت نیست، اما ما می خواهیم این لایه را اضافه کنیم تا موارد دسترسی غیر مجاز را کاهش دهیم.

سوال من: چه مدل کلی برای محدودیت جلسه / ورود به یک توازن خوب بین "جلوگیری از هکرها / jerks جدید از ورود به سیستم به عنوان شما زمانی که رمز عبور خود را حدس زد / فیشش آن" و "کاربر مزاحم همیشه با لینک های پست الکترونیکی "؟