ΠΡΡΠΏΠ° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π² ΠΡΠ°Ρ (ΠΠ²ΡΡΡΠΈΡ) ΠΈ Π¦Π΅Π½ΡΡΡΠ° Π·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π₯Π΅Π»ΠΌΡ
ΠΎΠ»Ρ (CISPA),
ΠΡΠ°ΠΊΠ°ΡΠ° Foreshadow ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Π°Π΄ΡΠ΅Ρ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° Π³ΡΠ΅ΡΠΊΠ°), ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π°Π΄ΡΠ΅Ρ ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π° Π΄Π°Π½Π½ΠΈΡΠ΅, Π°ΠΊΠΎ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π² L1 ΠΊΠ΅ΡΠ°. Π‘ΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΡΠ΅Π΄ΠΈ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ° Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° (PTE), Ρ.Π΅. ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π²ΡΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΡΡ Π½Π°ΡΠ° ΡΠ΅ΡΠΈΠΌΠΎΡΡ. Π‘Π»Π΅Π΄ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΏΡΠΈ Π»ΠΈΠΏΡΠ° Π½Π° ΡΠ»Π°Π³Π° Present Π² PTE, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΠΎΡΡ Π²ΡΡΠ»Ρ, Π½ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡΡΠ°Π²Π°Ρ Π² ΠΊΠ΅ΡΠ° ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ° ΠΏΡΠ΅Π· ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ (ΡΡΠ΅Π· Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π΄ΠΎΡΡΡΠΏ ΠΊΡΠΌ ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΈ Π½Π΅ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ).
ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Foreshadow ΡΠ° Π½Π΅Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΠΈ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ
Foreshadow ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠ° Π±ΠΈΠ»ΠΈ ΡΡΠΈΡΠ°Π½ΠΈ Π·Π° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Ρ
Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Foreshadow Π°ΡΠ°ΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΡΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ°ΡΠΈ ΡΠ΄ΡΠ°, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ Π²ΡΠΈΡΠΊΠΈ Π½Π°Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈ Π½Π° Π·Π°ΡΠΈΡΠ° Π½Π° Foreshadow, ΠΊΠ°ΠΊΡΠΎ ΠΈ Ρ Π½ΠΎΠ²ΠΈ ΡΠ΄ΡΠ°, Π² ΠΊΠΎΠΈΡΠΎ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΡΠ°ΠΌΠΎ Π·Π°ΡΠΈΡΠ°ΡΠ° Spectre-v2 (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠΏΡΠΈΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux nospectre_v2).
Π£ΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΎ Π΅, ΡΠ΅
ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, Π½ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΈΡΠ΅ Π΄Π΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Ρ Π² ΡΠ΄ΡΠΎΡΠΎ. Π’ΠΎΠ²Π° ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎ ΡΡΠ»ΠΊΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π²ΡΠ² Foreshadow ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅Π· L1 ΠΊΠ΅ΡΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈ (ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅) Π² ΡΠ΄ΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠΏΡΠΈΠ½Π΅ΡΠ΅ Π·Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ·Π²ΡΠ½ L1 ΠΊΠ΅ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² L3 ΠΊΠ΅Ρ.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΡΡΠΎ ΠΎΡΠ²Π°ΡΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π°ΡΠ°ΠΊΠΈ, Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠΌ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Π°Π΄ΡΠ΅ΡΠΈ Π²ΡΠ² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π°Π΄ΡΠ΅ΡΠΈ ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. ΠΠ°ΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ, ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈΡ Π΅ΡΠ΅ΠΊΡ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅Ρ Π² Π΄ΡΡΠ³ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ ΠΎΠΊΠΎΠ»ΠΎ 10 Π±ΠΈΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Intel Core i7-6500U. ΠΠΎΠΊΠ°Π·Π°Π½Π° Π΅ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡ ΠΎΡ Π°Π½ΠΊΠ»Π°Π²Π° Intel SGX (ΠΎΡΠ½Π΅ 32 ΠΌΠΈΠ½ΡΡΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ 64-Π±ΠΈΡΠΎΠ²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ, Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² 15-Π±ΠΈΡΠΎΠ² ΡΠ΅Π³ΠΈΡΡΡΡ). ΠΡΠΊΠΎΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π°ΡΠ°ΠΊΠΈ ΡΠ΅ ΠΎΠΊΠ°Π·Π°Ρ Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π² JavaScript ΠΈ WebAssembly, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΡ Π°Π΄ΡΠ΅Ρ Π½Π° JavaScript ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΈ Π΄Π° ΡΠ΅ ΠΏΠΎΠΏΡΠ»Π½ΡΡ 64-Π±ΠΈΡΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈ ΡΡΡ ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½Π° ΠΎΡ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ.
ΠΠ° Π΄Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π°ΡΠ°ΠΊΠ°ΡΠ° Π½Π° Foreshadow ΠΏΡΠ΅Π· L3 ΠΊΠ΅ΡΠ°, ΠΌΠ΅ΡΠΎΠ΄ΡΡ Π·Π° Π·Π°ΡΠΈΡΠ° Spectre-BTB (Branch Target Buffer), Π²Π½Π΅Π΄ΡΠ΅Π½ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ° ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π½Π° retpoline, Π΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΠΌΡΡΠ°Ρ, ΡΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΎΡΡΠ°Π²ΠΈ retpoline Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Π΄ΠΎΡΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ Π½Π° Intel Π·Π°ΡΠ²ΠΈΡ Π°, ΡΠ΅ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Ρ Π΄Π° Π΄ΠΎΠ±Π°Π²ΡΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅ΡΠΊΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Foreshadow ΠΊΡΠΌ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ ΠΈ ΡΡΠΈΡΠ°Ρ Π·Π° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π°ΡΠ°ΠΊΠΈ Spectre V2 ΠΈ L1TF (Foreshadow).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru