آخرین آپدیت کروم گوگل منتشر شد و این بار این شرکت کلماتش را خرد نکرده است در مورد یکی از دو وصله امنیتی که شامل:
گوگل آگاه است که یک سوء استفاده برای CVE-2023-3079 در طبیعت وجود دارد
همانطور که قبلاً اغلب از گوگل دیدهایم، هیچ حرف دو درجهای جدایی وجود ندارد که بگوییم این شرکت از گزارشهای یک سوء استفاده آگاه است.
این بار، "ما خودمان از همه چیز آگاه هستیم" است، که حتی به صراحت تر به "می دانیم که کلاهبرداران در حین صحبت ما از این موضوع سوء استفاده می کنند" ترجمه می شود، با توجه به اینکه گزارش باگ مستقیماً از گروه تحقیقاتی تهدیدات خود گوگل آمده است.
طبق معمول، این نشان میدهد که Google در حال بررسی یک حمله فعال (چه علیه خود گوگل، چه علیه برخی سازمانهای خارجی، ما نمیدانیم) بوده است که در آن Chrome توسط یک حفره امنیتی ناشناخته قبلاً تحت کنترل قرار گرفته است.
اشکال به سادگی به شرح زیر است: Confusion را در V8 تایپ کنید. (قابل درک است که گوگل در این مرحله بیشتر از این حرف نمیزند.)
همانطور که قبلا توضیح دادیم، الف گیجی نوع اشکال زمانی اتفاق می افتد که شما به یک برنامه داده ای را ارائه می دهید که قرار است به یک روش تجزیه، اعتبارسنجی، پردازش و عمل کند…
... اما بعداً موفق می شوید برنامه را فریب دهید تا داده ها را به روشی متفاوت، غیرمجاز، نامعتبر و بالقوه خطرناک تفسیر کند.
خطرات سردرگمی نوع توضیح داده شده است
تصور کنید که در حال نوشتن یک برنامه به زبان C هستید.
در C، شما معمولاً متغیرها را به صورت جداگانه اعلام میکنید، بنابراین نه تنها حافظه را در جایی که میتوان ذخیره کرد، ذخیره میکنید، بلکه به برنامه نشان میدهد که چگونه آن متغیرها قرار است استفاده شوند.
مثلا:
طولانی int JulianDayNumber; کاراکتر امضا شده* نام مشتری;
اولین اعلان متغیر 64 بیت را برای ذخیره یک عدد صحیح قدیمی ساده که نشان دهنده عدد روز نجومی است، ذخیره می کند. (در صورت تعجب، امروز بعدازظهر JDN 23157 است - روزهای جولیان در ظهر شروع می شود، نه نیمه شب، زیرا ستاره شناسان اغلب در شب کار می کنند و نیمه شب وسط روز کاری آنها است.)
دومی 64 بیت را برای ذخیره آدرس حافظه ذخیره می کند که در آن رشته متن نام مشتری را می توان یافت.
همانطور که میتوانید تصور کنید، بهتر است این دو مقدار را با هم قاطی نکنید، زیرا استفاده از عددی که منطقی است و بیخطر است، مانند 23157، استفاده از آن بهعنوان آدرس حافظه تقریباً مطمئن نیست.
همانطور که از این حافظه خالی یک برنامه ویندوز در حال اجرا می بینید، کمترین آدرس حافظه ای که برای استفاده تخصیص داده شده است از 0x00370000
، که در اعشار 3,604,480 است، بسیار بزرگتر از هر عدد روز معقولی.
آدرسهای حافظه واقعی که توسط ویندوز استفاده میشود بهطور تصادفی در طول زمان تغییر میکنند، تا حدس زدن چیدمان حافظهتان برای کلاهبرداران سختتر شود، بنابراین اگر بخواهید همان برنامه را اجرا کنید، مقادیری دریافت میکنید، اما با این وجود مشابه هستند:
و (اگرچه پایین تصویر بالا است) آدرسهای حافظه بخش دادههای کاربر زمان اجرا زمانی که این برنامه از 0x01130000
به 0x01134FFF
، نشان دهنده محدوده تاریخ نامحتمل 22 جولای 44631 تا 16 اوت 44687 است.
در واقع، اگر سعی کنید آن دو متغیر را با هم ترکیب کنید، کامپایلر باید سعی کند به شما هشدار دهد، به عنوان مثال مانند این:
JulianDayNumber = نام مشتری; CustomerName = JulianDayNumber; اخطار: انتساب از نشانگر بدون cast عدد صحیح می سازد هشدار: انتساب نشانگر را از عدد صحیح بدون ریخته می سازد
حالا، اگر تا به حال در C برنامه نویسی کرده باشید، می دانید که برای راحتی، می توانید متغیرها را با چندین تفسیر مختلف با استفاده از union
کلمه کلیدی، مانند این:
union { long long int JulianDayNumer; کاراکتر امضا شده* نام مشتری; } داده ها؛
اکنون می توانید دقیقاً به همان متغیر در حافظه به دو روش مختلف ارجاع دهید.
اگر بنویسید data.JulianDayNumber
، داده های ذخیره شده را به صورت جادویی به عنوان یک عدد صحیح، اما نوشتاری تفسیر می کنید data.CustomerName
به کامپایلر می گوید که شما به یک آدرس حافظه ارجاع می دهید، حتی اگر به همان داده های ذخیره شده دسترسی دارید.
کاری که شما کم و بیش انجام می دهید این است که به کامپایلر اعتراف می کنید که گاهی با داده هایی که به دست آورده اید به عنوان یک تاریخ و در مواقع دیگر به عنوان یک آدرس حافظه برخورد می کنید. شما مسئولیت به خاطر سپردن تفسیر در چه لحظه ای را بر عهده می گیرید در کد
ممکن است تصمیم بگیرید که یک متغیر دوم به نام a داشته باشید tag
(معمولا یک عدد صحیح) برای همراهی با شما union
برای پیگیری نوع داده هایی که در حال حاضر با آنها کار می کنید، به عنوان مثال:
struct { int tag; union { long long int JulianDayNumer; کاراکتر امضا شده* نام مشتری; } داده ها؛ } ارزش؛
ممکن است تصمیم بگیرید که چه زمانی value.tag
تنظیم شده است 0
، داده ها هنوز برای استفاده راه اندازی نشده اند، 1
یعنی شما در حال ذخیره یک تاریخ هستید، 2
یعنی آدرس حافظه است و هر چیز دیگری نشان دهنده خطا است.
خوب، بهتر است اجازه ندهید کسی دیگر با آن کار کند value.tag
یا برنامه شما ممکن است به طرز چشمگیری بد رفتار کند.
مثال نگران کننده تر ممکن است چیزی شبیه به این باشد:
struct { int tag; // 1 = hash, 2 = function pointers union { unsigned char hash[16]; // یا یک ساختار هش تصادفی { void* openfunc; // یا دو void* closefunc که با دقت تایید شده اند. // نشانگرهای کد برای اجرای بعدی } اعتبارسنجی; } } ارزش؛
اکنون، ما همان بلوک حافظه را بیش از حد بارگذاری می کنیم، بنابراین می توانیم گاهی از آن برای ذخیره یک هش 16 بایتی و گاهی برای ذخیره دو اشاره گر 8 بایتی به توابعی استفاده کنیم که برنامه ما بعداً آنها را فراخوانی خواهد کرد.
واضح است، چه زمانی value.tag == 1
، خوشحال می شویم که نرم افزار ما هر رشته 16 بایتی را در حافظه اختصاص داده شده برای اتحاد ذخیره کند، زیرا هش ها شبه تصادفی هستند، بنابراین هر مجموعه ای از بایت ها به همان اندازه محتمل است.
اما کی value.tag == 2
، کد ما باید بسیار مراقب باشد تا به کاربر اجازه ندهد تا آدرس های تابع نامعتبر، نامعتبر و ناشناخته را برای اجرا در آینده ارائه دهد.
حال تصور کنید که می توانید مقداری را برای این کد ارسال کنید در حالی که برچسب روی 1 تنظیم شده است، بنابراین بررسی و اعتبارسنجی نمی شود…
اما بعداً، درست قبل از اینکه برنامه واقعاً از مقدار ذخیره شده استفاده کند، میتوانید کد را فریب دهید تا تگ را به 2 تغییر دهید.
سپس کد آدرسهای تابع نامعتبر شما را بهعنوان «ایمن شناختهشده و قبلاً تأیید شده» میپذیرد (حتی اگر اینطور نبودهاند)، و اجرای برنامه را با اطمینان به یک مکان سرکش در حافظه که شما مخفیانه از قبل انتخاب کردهاید، ارسال میکند.
و این همان چیزی است که در یک اشکال سردرگمی نوع اتفاق می افتد، البته با استفاده از یک مثال ساختگی و ساده شده،
حافظه ای که در صورت استفاده از یک راه، مصرف آن ایمن خواهد بود، به طور مخرب به برنامه تحویل داده می شود تا به روشی جایگزین و ناامن پردازش شود.
چه کاری انجام دهید؟
مطمئن شوید که آخرین نسخه Chrome یا Chromium را دارید.
کروم را می خواهید 114.0.5735.106 یا بعداً در مک و لینوکس و 114.0.5735.110 یا بعد از آن در ویندوز.
مایکروسافت اج که مبتنی بر کرومیوم است نیز تحت تأثیر این باگ قرار گرفته است.
مایکروسافت تاکنون [2023-06-06T16:25:00Z] اشاره کرد که
مایکروسافت از سوء استفاده های اخیر موجود در طبیعت آگاه است. ما فعالانه در حال کار بر روی انتشار یک وصله امنیتی هستیم.
Edge در حال حاضر در نسخه 114.0.1823.37 است، بنابراین هر چیزی شماره گذاری شده است دیرتر از آن باید شامل وصله های CVE-2023-3079 مایکروسافت باشد.
برای بررسی نسخه خود و به اجبار به روز رسانی اگر نسخه ای وجود دارد که هنوز دریافت نکرده اید:
- گوگل کروم منوی سه نقطه (⋮) > کمک > درباره کروم
- مایکروسافت لبه. تنظیمات و موارد دیگر (…) > راهنما و بازخورد > درباره مایکروسافت اج
خواهش میکنم.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoAiStream. Web3 Data Intelligence دانش تقویت شده دسترسی به اینجا.
- ضرب کردن آینده با آدرین اشلی. دسترسی به اینجا.
- خرید و فروش سهام در شرکت های PRE-IPO با PREIPO®. دسترسی به اینجا.
- منبع: https://nakedsecurity.sophos.com/2023/06/06/chrome-zero-day-this-exploit-is-in-the-wild-so-check-your-version-now/
- : دارد
- :است
- :نه
- :جایی که
- $UP
- 1
- ٪۱۰۰
- 16
- 22
- 25
- 70
- a
- قادر
- درباره ما
- بالاتر
- مطلق
- پذیرفتن
- دسترسی
- عمل
- فعال
- فعالانه
- واقعی
- واقعا
- نشانی
- آدرس
- پیشرفت
- در برابر
- معرفی
- اختصاص داده شده است
- اجازه دادن
- در امتداد
- قبلا
- همچنین
- جایگزین
- هر چند
- an
- و
- هر
- هر کس
- هر چیزی
- هستند
- AS
- At
- حمله
- اوت
- نویسنده
- خودکار
- مطلع
- تصویر پس زمینه
- مستقر
- BE
- زیرا
- بوده
- قبل از
- بودن
- بهتر
- مسدود کردن
- مرز
- پایین
- اشکال
- اما
- by
- صدا
- آمد
- CAN
- دقیق
- مورد
- مرکز
- قطعا
- بررسی
- بررسی شده
- کروم
- کروم
- رمز
- مجموعه
- رنگ
- شرکت
- گیجی
- مصرف
- راحتی
- میتوانست
- پوشش
- Crooks
- در حال حاضر
- خطرناک
- خطرات
- داده ها
- تاریخ
- روز
- روز
- تصمیم گیری
- تحویل داده
- شرح داده شده
- مختلف
- مستقیما
- ارسال
- نمایش دادن
- do
- نمی کند
- عمل
- آیا
- به طور چشمگیری
- موادی که موقتا برای استعمال انبار میشود
- لبه
- هر دو
- دیگر
- پایان
- به همان اندازه
- خطا
- حتی
- تا کنون
- کاملا
- مثال
- اجرا کردن
- اعدام
- موجود
- وجود دارد
- توضیح داده شده
- بهره برداری
- سوء استفاده
- خارجی
- بسیار
- نام خانوادگی
- به دنبال
- برای
- استحکام
- یافت
- از جانب
- تابع
- توابع
- دریافت کنید
- داده
- Go
- گوگل
- گوگل
- گروه
- بود
- اتفاق می افتد
- خوشحال
- مخلوط
- آیا
- ارتفاع
- سوراخ
- در تردید بودن
- چگونه
- HTML
- HTTPS
- if
- تصویر
- تصور کنید
- in
- شامل
- شامل
- به طور جداگانه
- تفسیر
- به
- IT
- ITS
- خود
- جولای
- تنها
- نگاه داشتن
- دانستن
- شناخته شده
- بزرگتر
- بعد
- آخرین
- طرح
- ترک کرد
- کمتر
- پسندیدن
- احتمالا
- لینوکس
- محل
- طولانی
- پایین ترین
- مک
- ساخت
- باعث می شود
- مدیریت
- حاشیه
- ماده
- حداکثر عرض
- به معنی
- حافظه
- مایکروسافت
- مایکروسافت لبه
- متوسط
- قدرت
- بیش
- چندگانه
- نام
- نیاز
- با این اوصاف
- شب
- نه
- طبیعی
- اکنون
- عدد
- شماره گذاری شده
- of
- خاموش
- غالبا
- قدیمی
- on
- ONE
- فقط
- or
- سازمان
- دیگر
- ما
- خارج
- روی
- خود
- وصله
- پچ های
- پل
- ساده
- افلاطون
- هوش داده افلاطون
- PlatoData
- موقعیت
- پست ها
- بالقوه
- قبلا
- روند
- برنامه
- برنامهریزی شده
- ارائه
- تصادفی
- محدوده
- اخذ شده
- اخیر
- ارجاع
- نسبی
- آزاد
- به خاطر سپردن
- گزارش
- نمایندگی
- تحقیق
- گروه تحقیقاتی
- ذخایر
- مسئوليت
- راست
- دویدن
- در حال اجرا
- امن
- همان
- گفتن
- گفته
- دوم
- بخش
- تیم امنیت لاتاری
- وصله امنیتی
- دیدن
- مشاهده گردید
- حس
- تنظیم
- محیط
- باید
- امضاء شده
- مشابه
- ساده شده
- به سادگی
- So
- تا حالا
- نرم افزار
- جامد
- برخی از
- چیزی
- صحنه
- شروع
- شروع می شود
- opbevare
- ذخیره شده
- رشته
- ارسال
- چنین
- عرضه
- مفروض
- SVG
- TAG
- مصرف
- می گوید
- نسبت به
- که
- La
- شان
- سپس
- آنجا.
- اینها
- آنها
- این
- کسانی که
- اگر چه؟
- تهدید
- زمان
- بار
- به
- بالا
- مسیر
- انتقال
- شفاف
- درمان
- امتحان
- دو
- نوع
- به طور معمول
- قابل درک است
- اتحادیه
- ناشناخته
- بعید
- بروزرسانی
- بر
- URL
- استفاده کنید
- استفاده
- کاربر
- با استفاده از
- معمولا
- تصدیق
- ارزش
- ارزشها
- تایید
- نسخه
- می خواهم
- هشدار
- بود
- مسیر..
- راه
- we
- خوش آمد
- بود
- چی
- چه زمانی
- چه
- که
- در حین
- وحشی
- اراده
- پنجره
- با
- بدون
- تعجب کردم
- مهاجرت کاری
- کارگر
- خواهد بود
- نوشتن
- نوشته
- هنوز
- شما
- شما
- زفیرنت