Новая Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° эксплуатации уязвимостСй класса Spectre Π² Chrome

Π“Ρ€ΡƒΠΏΠΏΠ° исслСдоватСлСй ΠΈΠ· амСриканских, австралийских ΠΈ ΠΈΠ·Ρ€Π°ΠΈΠ»ΡŒΡΠΊΠΈΡ… унивСрситСтов ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»Π° Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ для эксплуатации уязвимостСй класса Spectre Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… Π½Π° Π±Π°Π·Π΅ Π΄Π²ΠΈΠΆΠΊΠ° Chromium. Атака, которая ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя Spook.js, позволяСт Ρ‡Π΅Ρ€Π΅Π· запуск JavaScript-ΠΊΠΎΠ΄Π° ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ изоляции сайтов ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ содСрТимоС всСго адрСсного пространства Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ процСсса, Ρ‚.Π΅. ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ страниц, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ…, Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΌ процСссС.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Chrome запускаСт Ρ€Π°Π·Π½Ρ‹Π΅ сайты Π² Ρ€Π°Π·Π½Ρ‹Ρ… процСссах, Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ практичСских Π°Ρ‚Π°ΠΊ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° сСрвисами, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ свои страницы. ΠœΠ΅Ρ‚ΠΎΠ΄ позволяСт со страницы, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ свой JavaScript-ΠΊΠΎΠ΄, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ страниц с Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ сайта ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π½ΠΈΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ банковскиС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹, подставлСнныС систСмой автозаполнСния ΠΏΠΎΠ»Π΅ΠΉ Π² web-Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’ качСствС дСмонстрации ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π°Ρ‚Π°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ‡ΡƒΠΆΠΎΠΉ Π±Π»ΠΎΠ³ Π² сСрвисС Tumblr, Ссли Π΅Π³ΠΎ Π²Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π±Π»ΠΎΠ³ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹ΠΉ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ сСрвисС.

Π”Ρ€ΡƒΠ³ΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ примСнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° являСтся Π°Ρ‚Π°ΠΊΠ° Π½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Π΅ дополнСния, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈ установкС дополнСния, ΠΏΠΎΠ΄ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ, ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ установив врСдоносноС Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ LastPass.

Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ эксплоита, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² Chrome 89 Π½Π° систСмах с CPUIntel i7-6700K ΠΈ i7-7600U. ΠŸΡ€ΠΈ создании эксплоита ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ JavaScript-ΠΊΠΎΠ΄Π° для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊ класса Spectre. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ исслСдоватСлям ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ эксплоиты для систСм Π½Π° Π±Π°Π·Π΅ процСссоров Intel ΠΈ Apple M1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΡŽΡ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ памяти со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 500 Π±Π°ΠΉΡ‚ Π² сСкунду ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ 96%. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΈ для процСссоров AMD, Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ работоспособный эксплоит ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ.

Атака ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ Π»ΡŽΠ±Ρ‹ΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌ Π½Π° Π±Π°Π·Π΅ Π΄Π²ΠΈΠΆΠΊΠ° Chromium, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Google Chrome, Microsoft Edge ΠΈ Brave. Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Firefox, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π²ΠΈΠΆΠΎΠΊ Firefox сильно отличаСтся ΠΎΡ‚ Chrome, Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ созданию ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ эксплоита оставлСна Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅.

Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ осущСствлСния Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π°Ρ‚Π°ΠΊ, связанных со спСкулятивным Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ инструкций, Π² Chrome Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ сСгмСнтированиС адрСсного пространства — sandbox-изоляция допускаСт Ρ€Π°Π±ΠΎΡ‚Ρƒ JavaScript Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с 32-разрядными указатСлями ΠΈ раздСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² Π½Π΅ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΡ…ΡΡ 4Π“Π‘ ΠΊΡƒΡ‡Π°Ρ… (heap). Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ доступа ΠΊ всСму адрСсному пространству процСсса ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π° 32-разрядного ограничСния исслСдоватСли задСйствовали Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ Type Confusion, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π²Ρ‹Π½ΡƒΠ΄ΠΈΡ‚ΡŒ JavaScript-Π΄Π²ΠΈΠΆΠΎΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 64-разрядный ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° основС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈΠ· Π΄Π²ΡƒΡ… 32-разрядных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π‘ΡƒΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ врСдоносного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² JavaScript-Π΄Π²ΠΈΠΆΠΊΠ΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ условия, приводящиС ΠΊ спСкулятивному исполнСнию инструкций, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΡ… доступ ΠΊ массиву. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ подбираСтся Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌΠΈ поля Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² области, Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 64-разрядный ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ врСдоносного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ соотвСтствуСт Ρ‚ΠΈΠΏΡƒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ массива, Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… условиях ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ дСйствия блокируСтся Π² Chrome ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π΄Π΅ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°, примСняСмого для доступа ΠΊ массивам. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΊΠΎΠ΄ для Π°Ρ‚Π°ΠΊΠΈ Type Confusion выносится Π² условный Π±Π»ΠΎΠΊ «if», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ активируСтся ΠΏΡ€ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… условиях, Π½ΠΎ выполняСтся Π² спСкулятивном Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΏΡ€ΠΈ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ прСдсказании процСссором дальнСйшСго вСтвлСния.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ процСссор спСкулятивно обращаСтся ΠΊ сформированному 64-разрядному ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ состояниС послС опрСдСлСния Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°, Π½ΠΎ слСды выполнСния ΠΎΡΠ΅Π΄Π°ΡŽΡ‚ Π² ΠΎΠ±Ρ‰Π΅ΠΌ кэшС ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ восстановлСны ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² опрСдСлСния содСрТимого кэша ΠΏΠΎ сторонним ΠΊΠ°Π½Π°Π»Π°ΠΌ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доступа ΠΊ ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ Π½Π΅ ΠΏΡ€ΠΎΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ. Для Π°Π½Π°Π»ΠΈΠ·Π° содСрТимого кэша Π² условиях нСдостаточной точности Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, доступного Π² JavaScript, примСняСтся ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Google ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΎΠ±ΠΌΠ°Π½Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ Π² процСссорах ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ вытСснСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· кэша Tree-PLRU ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π·Π° счёт увСличСния числа Ρ†ΠΈΠΊΠ»ΠΎΠ² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΈ отсутствии значСния Π² кэшС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ