ګوګل په براوزر کې د جاواسکریپټ په اجرا کولو سره د سپیکٹر زیانونو استخراج ښیې

ګوګل د استحصال ډیری پروټوټایپونه خپاره کړي چې د سپیکټر ټولګي زیانونو څخه د ګټې اخیستنې امکان ښیې کله چې په براوزر کې د جاواسکریپټ کوډ اجرا کول ، د مخکیني اضافه شوي محافظت میتودونو په پام کې نیولو سره. په اوسني ټب کې د ویب مینځپانګې پروسس کولو پروسې حافظې ته د لاسرسي لپاره استحصال کارول کیدی شي. د استحصال عملیاتو ازموینې لپاره ، ویب پاڼه leaky.page په لاره اچول شوې وه ، او کوډ چې د کار منطق بیانوي په GitHub کې ځړول شوی و.

وړاندیز شوی پروټوټایپ د لینوکس او کروم 7 سره په چاپیریال کې د Intel Core i6500-88U پروسیسرونو سره سیسټمونو برید کولو لپاره ډیزاین شوی. د نورو چاپیریالونو لپاره د استحصال کارولو لپاره ، ترمیم ته اړتیا ده. د استخراج میتود د انټیل پروسیسرونو لپاره ځانګړی ندی - د مناسب موافقت وروسته ، استحصال د نورو تولید کونکو CPUs سره په سیسټمونو کې کار کولو تایید شو ، پشمول د ARM جوړښت پراساس د Apple M1 په شمول. د لږو سمونونو وروسته، استخراج په نورو عملیاتي سیسټمونو او نورو براوزرونو کې د کرومیم انجن پراساس هم د کار وړ دی.

په یوه چاپیریال کې چې د معیاري کروم 88 او Intel Skylake پروسیسرونو پراساس وي، دا ممکنه وه چې د پروسې څخه ډاټا لیک شي چې په اوسني کروم ټب کې د ویب مینځپانګې پروسس کولو لپاره مسؤل دی (رینډر پروسس) په هر ثانیه کې د 1 کیلوبایټ سرعت سره. برسیره پردې، بدیل پروټوټایپونه رامینځته شوي، د بیلګې په توګه، یو استخراج چې د ثبات کمولو په قیمت کې اجازه ورکوي چې د لیک کچه 8kB/s ته لوړه کړي کله چې د 5 مایکرو ثانیو (0.005 ملیسیکنډ) دقت سره Performance.now() ټایمر کاروي. ). یوه نسخه هم چمتو شوې وه چې د یو ملی ثانوي د ټایمر دقت سره کار کوي ، کوم چې په هر ثانیه کې شاوخوا 60 بایټس سرعت سره د بلې پروسې حافظې ته د لاسرسي تنظیم کولو لپاره کارول کیدی شي.

خپور شوی ډیمو کوډ درې برخې لري. لومړۍ برخه د CPU لارښوونو قیاس اجرا کولو په پایله کې د پروسیسر کیچ کې پاتې ډیټا بحالولو لپاره اړین عملیاتو اجرا کولو وخت اټکل کولو لپاره ټایمر حسابوي. دویمه برخه د حافظې ترتیب ټاکي کله چې د جاواسکریپټ صف تخصیص کې کارول کیږي.

دریمه برخه په مستقیم ډول د سپیکټر زیانمننې څخه ګټه پورته کوي ترڅو د اوسني پروسې د حافظې مینځپانګې مشخص کړي د ځینې عملیاتو قیاس اجرا کولو لپاره شرایط رامینځته کولو په پایله کې ، چې پایله یې د ناکام وړاندوینې ټاکلو وروسته د پروسیسر لخوا رد کیږي ، مګر د نښې نښانې. اجرا کول په عمومي زیرمه کې زیرمه شوي او د دریمې ډلې چینلونو لخوا د کیچ مینځپانګې ټاکلو لپاره د میتودونو په کارولو سره بحال کیدی شي چې زیرمه شوي او غیر محفوظ شوي ډیټا ته د لاسرسي وخت کې بدلونونه تحلیلوي.

د استخراج وړاندیز شوی تخنیک دا ممکنه کوي چې پرته له لوړ دقیق ټایمرونو پرته د Performance.now() API له لارې شتون ولري ، او د SharedArrayBuffer ډول لپاره ملاتړ پرته ، کوم چې په شریکه حافظه کې د صفونو رامینځته کولو ته اجازه ورکوي. په استخراج کې د سپیکټر ګیجټ شامل دي، کوم چې د کوډ کنټرول شوي قیاس اجرا کولو لامل کیږي، او د اړخ چینل لیک شنونکی، چې د قیاس اجرا کولو پرمهال ترلاسه شوي زیرمه شوي ډاټا کشف کوي.

ګیجټ د جاواسکریپټ سرې په کارولو سره پلي کیږي چیرې چې د بفر حدود څخه بهر ساحې ته د لاسرسي هڅه کیږي ، د تالیف کونکي لخوا اضافه شوي د بفر اندازې چیک شتون له امله د شاخ وړاندوینې بلاک حالت اغیزه کوي (پروسیسر په قیاس سره ترسره کوي. د وخت څخه مخکې لاسرسی، مګر د چک کولو وروسته دولت بیرته راګرځوي). د ناکافي ټایمر دقت شرایطو لاندې د کیچ مینځپانګې تحلیل کولو لپاره ، یوه میتود وړاندیز شوی چې د Tree-PLRU کیچ ایستلو ستراتیژي په پروسیسرونو کې کارول کیږي او اجازه ورکوي چې د دورې شمیر په زیاتولو سره د بیرته راستنیدو په وخت کې د پام وړ توپیر ډیر کړي. د کیچ څخه ارزښت او کله چې په زیرمه کې هیڅ ارزښت شتون نلري.

د یادونې وړ ده چې ګوګل د سپیکټر ټولګي زیانونو په کارولو سره د بریدونو احتمال ښودلو لپاره د استحصال یو پروټوټایپ خپور کړی او د ویب پراختیا کونکي هڅوي ترڅو داسې تخنیکونه وکاروي چې د ورته بریدونو خطرونه کم کړي. په ورته وخت کې، ګوګل په دې باور دی چې د وړاندیز شوي پروټوټایپ د پام وړ بیا کار کولو پرته، دا ناشونې ده چې د نړیوالو کارونې رامینځته کړي چې نه یوازې د مظاهرې لپاره، بلکې د پراخه استعمال لپاره هم چمتو دي.

د خطر کمولو لپاره، د سایټ مالکین هڅول کیږي چې پدې وروستیو کې پلي شوي سرلیکونه د کراس اوریجن اوپنر پالیسي (COOP)، د کراس اوریجن ایمبیډر پالیسي (COEP)، د کراس اوریجن سرچینې پالیسي (CORP)، د میټاډاټا غوښتنه ترلاسه کړي، X-Frame- اختیارونه، د X -Centent-Type-اختیارونه او د ورته سایټ کوکی. دا میکانیزمونه په مستقیم ډول د بریدونو په وړاندې ساتنه نه کوي، مګر دوی تاسو ته اجازه درکوي چې د سایټ ډیټا د لیکیدو څخه پروسو ته جلا کړئ په کوم کې چې د برید کونکي جاواسکریپټ کوډ اجرا کیدی شي (لیک د اوسني پروسې له حافظې څخه پیښیږي، کوم چې د برید کونکي کوډ سربیره. ، کولی شي د بل سایټ څخه ډاټا پروسس کړي چې په ورته ټب کې پرانیستل شوي). اصلي نظر دا دی چې د سایټ کوډ اجرا کول په مختلف پروسو کې د دریمې ډلې کوډ څخه جلا کړئ چې د اعتبار وړ سرچینو څخه ترلاسه شوي، د بیلګې په توګه، د iframe له لارې شامل دي.



سرچینه: opennet.ru

Add a comment