RUVIDEO
Поделитесь видео 🙏

#Padding_Oracle_Attack

📁 Разное 👁️ 17 📅 09.12.2023

اگر سایتی یا پروتکلی به Padding Oracle Attack آسیب پذیر باشد، می توان بدون داشتن کلید (که تنها دو طرف ارتباط امن از آن مطلع هستند) متنی را رمزگذاری یا رمزی را رمزگشایی کرد. در حالت کلی این آسیب پذیری زمانی ایجاد می شود که یکی از طرف هایی که کلید را دارد، پس از رمزگشایی متن رمز شده و هنگام پردازش و تشخیص padding در پیام ارسالی، خطای مشخصی در خصوص خراب بودن padding برگرداند. با این اتفاق اصطلاحا یک کانال جنبی (Side Channel) به وجود می آید.

در حالتی که از Block Cipher با CBC Mode و الگوریتم padding مربوط به PKCS#7 یا PKCS#5 در رمزنگاری استفاده شده باشد، می توان عملیات رمزگشایی یا رمزگذاری بدون کلید را انجام داد. در این ویدیو، با استفاده از ابزار poattack یک حمله آزمایشی بر روی یک سرور وب آسیب پذیر انجام می شود، که دیدن روند کار این ابزار و درخواست هایی که به سمت سرور می فرستد، تا حدودی به فهم چگونگی انجام این حمله کمک می کند.

آسیب پذیری Padding Oracle را به اینگونه می توان شناسایی کرد که در روش منطق رمزگشایی آن اگر مطالعه داشته باشید می دانید که بلاک رمز شده قبل از بلاک هدف به عنوان اولین قدم رمزگشایی XOR می شود, بلاک قبلی که به عنوان Cipher key است را هکر به صورت بایت به بایت از آخر شروع به Brute Force کردن می کند، این عمل به این علت است که در مود CBC اگر یک بلاک ۱۶ بایتی تا ۸ بایت آن داده باشد ۸ بایت دیگر آن به عنوان padding در نظر گرفته میشود, الگو تخصیص Padding به این صورت است که به تعداد خانه هایی که از یک بلوک ۱۶ بایتی خالی است را حساب کرده و عدد خانه های خالی را در همان خانه ها قرار میدهد. به طور مثال اگر یک بلاک ۱۶ بایتی 8 بایت آن رمز شده و دارای داده کاربر باشد ۸ بایت دیگر آن عدد ۸ قرار می گیرد،

حال هکر با استفاده از Brute Force که پیش تر توضیح دادم شروع به کشف بایت به بایت خانه های Padding می کند تا متوجه شود که چه عددی در خانه Padding قرار داد برای مثال اگر در Brute Force و تغییر یک بایت آخر بلاک قبلی که به عنوان Cipher Key بلاک ما است تغییر کند و بر مبنای 256 کارکتر XOR شده Brute Force شود عدد ۸ که عدد صحیح Padding است کشف میشود که این کشف از پس خطا ندادن سرور به عددصحیح میباشد, یعنی بطور مثال سرور به جز عدد ۸ به عداد دیگر پاسخ خطا می دهد ولی به عدد ۸ خطا نمیدهد زیرا معیار صحیح خواندن ساختار رمزنگاری CBC به این صورت است که فقط الگو پیاده سازی Padding در بلوک ها چک می شود این عملکرد موجب رخداد یک آسیب پذیری است,

بعد از آنکه هکر تعداد خانه های بایت Padding را شناسایی کرد به خانه بعدی که داده کاربر به صورت رمز شده وجود دارد را هم به عنوان یک بایت Padding به عدد بایت های Padding صحیح اضافه میکند و به End-Point دریافت کننده این القا را می کند که آن خانه دارای محتویات کاربر, یک خانه Padding است، یعنی اگر عدد Padding صحیح ۸ باشد هکر به طور زیرکانه آن را عدد ۹ اعلام می کند با این عمل سرور بایتی که دارای داده کاربر است را به عنوان Padding در نظر میگیرد حالا نحوه عملکرد استفاده از این موضوع به چه صورت است؟

همانطور که میدانید در رمزنگاری CBC بعد اولین قدم برای رمزگشایی XOR معکوس به مبنایی است که اصطلاحا Cipher Key رمزشده ما است, این Cipher Key همان بلوک قبلی داده است و مبنای XOR صورت گرفته بر روی بلاک هدف ما مشخص نیست ما برای آنکه بتوانیم مبنا را به دست بیاوریم ( Cipher Key ) بدین صورت عمل میکنیم که خانه داده اصلی را هم به صورت XOR شده BruteForce کرده تا عدد ۹ از آن عملیات XOR خارج شود و سرور به دلیل آنکه عدد Padding صحیح القا شده است خطا ارسال نمی کند.

با این کار نتیجه ای که به دست می آوریم مبنای کاراکتری که موجب خروج عدد صحیح ۹ در رمزنگاری XOR شده است که یک مبنای کشف شده معادله XOR انجام شده در نقطه آغازین رمزنگاری بوده است حال به همین روش شروع به کشف تمامی مبنای کلید اصلی که XOR شده است خواهیم پرداخت و بدین ترتیب کلید XOR کشف می شود و با آن کلید XOR در نهایت داده رمز شده را رمزگشایی می کنیم,

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

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «#Padding_Oracle_Attack», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.