WSTG-ATHN-010

بررسی Weaker Authentication in Alternative Channel

در این بخش از دوره آموزشی OWASP-WSTG به چهارمین بخش از استاندارد WSTG با شناسه WSTG-ATHN-010 می پردازیم که مربوط به بررسی Weaker Authentication in Alternative Channel می باشد.

خلاصه

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

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

برای مثال:

• وب سایت استاندارد
• وب سایت بهینه شده برای تلفن همراه یا دستگاه خاص
• وب سایت‌هایی با زبان متفاوت و طراحی شده برای کشوری خاص
• وب سایت‌های موازی که از حساب‌های کاربری مشابه استفاده می‌کنند. (مانند وب سایتی که سایت دیگری که عملکردی خاصی ارائه می‌دهد را پیشنهاد می‌کند؛ در صورتی که هر دو سایت برای یک سازمان می‌باشند یا سایت یک شریک تجاری با حساب‌های کاربری به اشتراک گذاشته شده)
• نسخه‌های تست، Development یا تست UAT (User Acceptance Testing) یک وب سایت استاندارد

آن‌ها همچنین می‌توانند انواع دیگری از برنامه‌ها یا فرآیندهای تجاری باشند:

• اپلیکیشن تلفن همراه
• برنامه‌های دسکتاپ
• اپراتورهای مرکز تماس
• پاسخ‌های صوتی تعاملی یا سیستم درختی تلفن

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

آشنایی با WSTG-ATHN-09

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

برای مثال:

• بهره گیری از روش‌های Progressive enhancement و graceful degradation که عملکرد را تغییر می‌دهد.
• استفاده از سایت‌های بدون کوکی
• استفاده از سایت بدون جاوا اسکریپت
• استفاده از وبگاه بدون پلاگین مانند فلش و جاوا

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

نمونه

وب سایت اصلی www.example.com است و توابع احراز هویت همیشه در صفحات با استفاده از TLS www.example.com/myaccount/ انجام می‌شود.
با این حال، یک وب سایت بهینه‌سازی شده برای تلفن همراه جداگانه وجود دارد که به هیچ وجه از TLS استفاده نمی‌کند و یک مکانیزم بازیابی رمز عبور ضعیف‌تر دارد. m.example.com/myaccount

اهداف تست

• شناسایی کانال‌های احراز هویت جایگزین
• ارزیابی اقدامات امنیتی مورد استفاده و امکان Bypass بر روی کانال‌های جایگزین

چگونه تست را انجام دهیم

مکانیزم اولیه را درک کنید

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

شناسایی کانال‌های دیگر

کانال‌های دیگر را می‌توان با استفاده از روش‌های زیر شناسایی نمود:

• در حال خواندن محتوای سایت، به ویژه صفحه اصلی، contact us، به صفحات help، مقالات پشتیبانی و FAQs، بخش قوانین و مقررات، اعلامیه‌های حریم خصوصی، فایل robots.txt، فایل sitmap و هر فایل دیگر
• جستجو در لاگ‌های HTTP Proxy، موراد ثبت‌شده در طول جمع‌آوری اطلاعات و آزمایش‌های قبلی، برای رشته‌هایی مانند “موبایل”، “آندروید”، “بلک بری”، “آی پد”، “آی فون”، “برنامه تلفن همراه”، “e-reader”، “wireless”، “auth”، “sso”، “Single sign on” در مسیرهای URL و محتوای بدنه سایت.
• استفاده از موتورهای جستجو برای پیدا کردن وب سایت‌های مختلف از یک سازمان، یا استفاده از نام دامنه یک‌سان، که محتوای صفحه اصلی مشابهی دارند یا همچنین مکانیزم‌های احراز هویت دارند.

برای هر کانال تایید کنید که آیا حساب‌های کاربری در سراسر این موارد به اشتراک گذاشته می‌شوند یا دسترسی به عملکرد مشابه یا یکسان را فراهم می‌کنند.

Enumerate Authentication Functionality

برای هر کانال جایگزین که در آن حساب‌های کاربری یا عملکرد به اشتراک گذاشته می‌شوند، شناسایی کنید که آیا تمام توابع احراز هویت کانال اصلی در دسترس هستند و آیا چیز دیگری وجود دارد. ایجاد یک grid مانند زیر می‌تواند مفید باشد:

در این مثال، تلفن همراه یک تابع اضافی “change password” دارد اما “logout” را ارائه نمی‌دهد. تعداد محدودی از وظایف نیز با تلفن زدن به مرکز تماس ممکن است. مراکز تماس می‌توانند جالب باشند، زیرا بررسی تایید هویت آن‌ها ممکن است ضعیف‌تر از وب سایت باشد، که اجازه می‌دهد این کانال برای کمک به یک حمله در برابر حساب کاربری مورد استفاده قرار گیرد.

در حالی که برشمردن این موارد ارزش توجه به نحوه انجام مدیریت session را دارد، در صورتی که در هر کانال همپوشانی وجود داشته باشد (‏به عنوان مثال کوکی‌ها در محدوده نام دامنه یک‌سان با parent قرار می‌گیرند، جلسات همزمان در سراسر کانال‌ها مجاز هستند، اما نه در یک کانال)

Review and Test

کانال‌های جایگزین باید در گزارش تست ذکر شوند، حتی اگر به عنوان “Information Only” یا “Out of Scope” مشخص شده‌باشند.

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

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

Related Test Cases

موارد تست برای تمام تست‌های احراز هویت دیگر باید مورد استفاده قرار گیرند.

Remediation

اطمینان حاصل کنید که یک سیاست احراز هویت ثابت در تمام کانال‌ها اعمال می‌شود به طوری که به یک اندازه ایمن باشند.

درباره نویسنده: احسان نیک آور

ممکن است دوست داشته باشید