ΠΡΡΡΠ°ΠΆΡΠ²Π°ΡΠΈΡΠ΅ ΠΎΠ΄ Π£Π½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ Π·Π° Π½Π°ΡΠΊΠ° ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Π·Π° ΠΎΠ΄Π±ΡΠ°Π½Π° Π½Π° ΠΠ°ΡΠΎΠ΄Π½Π°ΡΠ° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈΡΠ΅Π»Π½Π° Π°ΡΠΌΠΈΡΠ°, ΠΠ°ΡΠΈΠΎΠ½Π°Π»Π½ΠΈΠΎΡ ΡΠ½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅Ρ Π²ΠΎ Π‘ΠΈΠ½Π³Π°ΠΏΡΡ ΠΈ ΠΠ’Π₯ Π¦ΠΈΡΠΈΡ ΡΠ°Π·Π²ΠΈΡΠ° Π½ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ Π·Π° Π½Π°ΠΏΠ°Π΄ Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π΅Π½ΠΊΠ»Π°Π²ΠΈ Intel SGX (Software Guard eXtensions). ΠΠ°ΠΏΠ°Π΄ΠΎΡ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° SmashEx ΠΈ Π΅ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ ΠΎΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ Π²Π»Π΅Π³ΡΠ²Π°ΡΠ΅ ΠΏΡΠΈ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΠΊ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π·Π° Intel SGX. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° Π½Π°ΠΏΠ°Π΄ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π²ΡΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ, Π΄Π° Π³ΠΈ ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΠ΅ Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π»ΠΎΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΠΈΠ»ΠΈ Π΄Π° Π³ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π²Π°ΡΠΈΠΎΡ ΠΊΠΎΠ΄ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅.
ΠΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΡΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ Π·Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΠ° Π·Π° Π΅Π½ΠΊΠ»Π°Π²ΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Intel SGX SDK (CVE-2021-0186) ΠΈ Microsoft Open Enclave (CVE-2021-33767). ΠΠΎ ΠΏΡΠ²ΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ, Π±Π΅ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅ ΠΊΠ»ΡΡ RSA ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π·Π° HTTPS, Π° Π²ΠΎ Π²ΡΠΎΡΠΈΠΎΡ, Π±Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄ΠΈ ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π΄ΠΎΠ±ΠΈΠ΅Π½Π° ΠΎΠ΄ Π°Π»Π°ΡΠΊΠ°ΡΠ° cURL ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π²Π½Π°ΡΡΠ΅ Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ°. Π Π°Π½Π»ΠΈΠ²ΠΎΡΡΠ° Π²Π΅ΡΠ΅ Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π° Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΡΠ°ΡΠ° Π½Π° Intel SGX SDK 2.13 ΠΈ Open Enclave 0.17.1. ΠΠΎΠΊΡΠ°Ρ Intel SGX SDK ΠΈ Microsoft Open Enclave, ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡΠ° ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π° ΠΈ Π²ΠΎ Google Asylo SDK, EdgelessRT, Apache Teaclave, Rust SGX SDK, SGX-LKL, CoSMIX ΠΈ Veracruz.
ΠΠ° ΠΏΠΎΡΡΠ΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ° SGX (Software Guard Extensions) ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π²ΠΎ ΡΠ΅ΡΡΠ°ΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡΠ° Intel Core ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ (Skylake) ΠΈ Π½ΡΠ΄ΠΈ Π½ΠΈΠ·Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΠΈ ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π΄Π° Π΄ΠΎΠ΄Π΅Π»Π°Ρ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ - Π΅Π½ΠΊΠ»Π°Π²ΠΈ, ΡΠΈΡΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΈΡΠ° ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ Π΄ΡΡΠΈ ΠΈ ΠΎΠ΄ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΈ ΠΊΠΎΠ΄ΠΎΡ ΠΈΠ·Π²ΡΡΠ΅Π½ Π²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ ring0, SMM ΠΈ VMM. ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΊΠΎΠΊΠ°ΡΠ΅ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ ΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ΅ ΠΈ ΡΡΠ΅ΠΊΠΎΡ - ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ EENTER, EEXIT ΠΈ ERESUME ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ°, ΠΊΠΎΡΠ° Π²ΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π°Π²ΡΠΎΡΠΈΡΠ΅Ρ. ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΠ΄ΠΎΡ ΡΠΌΠ΅ΡΡΠ΅Π½ Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈ ΠΊΠ»Π°ΡΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π²Π½Π°ΡΡΠ΅ Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ½ΠΊΠ»Π°Π²Π½Π°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ Π½Π°ΠΏΠ°Π΄ΠΈ ΠΊΠ°ΠΊΠΎ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ ΡΠΎ DRAM-ΠΌΠΎΠ΄ΡΠ».
ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π΅ ΡΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ° SGX ΠΌΡ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π΄Π° ΡΠ° ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΡΠΎ ΡΡΠ»Π°ΡΠ΅ Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠΎΠΊ, Π° Π΅Π½ΠΊΠ»Π°Π²ΠΈΡΠ΅ Π½Π΅ Π³ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈΡΠ΅ Π·Π° Π°ΡΠΎΠΌΡΠΊΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠ°ΠΊΠ²ΠΈΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠ΅Π΄ΠΎΠ²Π½ΠΈΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΠ΄ΠΎΡ Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²ΠΈΡΠ΅ Π½Π΅ΠΌΠ° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈΡΠ΅ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π°ΡΠΎΠΌΡΠΊΠΈ Π΄Π΅ΡΡΡΠ²Π° ΠΏΡΠΈ ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ. ΠΠ΅Π· Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡΠ΅ Π°ΡΠΎΠΌΡΠΊΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ, Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ Π²ΠΎ ΡΠ΅ΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅, Π΄ΡΡΠΈ ΠΈ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΈ ΠΊΠΎΠ³Π° Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΊΡΠΈΡΠΈΡΠ½ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΈ Π΅ Π²ΠΎ Π½Π΅Π±Π΅Π·Π±Π΅Π΄Π½Π° ΡΠΎΡΡΠΎΡΠ±Π° (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ Π½Π΅ ΡΠ΅ Π·Π°ΡΡΠ²Π°Π½ΠΈ/ΠΎΠ±Π½ΠΎΠ²Π΅Π½ΠΈ).
ΠΠ° Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅, ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ° SGX Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠΎ ΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°Π±ΠΈΠ»Π½ΠΈ Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ. ΠΠ²Π°Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΈΠΌ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π½Π° ΠΎΠΏΠΊΡΡΠΆΡΠ²Π°ΡΠ°ΡΠ° Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΡΠ°Π΅ΡΠ΅ Π½Π° Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΈ Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²Π°, Π½ΠΎ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅. ΠΠ°ΠΏΠ°Π΄ΠΎΡ SmashEx ΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π° Π½Π° ΠΈΡΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π²ΠΎ SDK, ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΎΡ ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ Π½Π΅ Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½Π°. ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π΅ΠΊΠ° Π·Π° Π΄Π° ΡΠ° ΠΈΡΠΊΠΎΡΠΈΡΡΠΈ ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡΠ°, Π½Π°ΠΏΠ°ΡΠ°ΡΠΎΡ ΠΌΠΎΡΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ°, Ρ.Π΅. ΠΌΠΎΡΠ° Π΄Π° ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π°.
ΠΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΠΊ, Π½Π°ΠΏΠ°ΡΠ°ΡΠΎΡ Π΄ΠΎΠ±ΠΈΠ²Π° ΠΌΠ°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΡΠΊΠΈ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΡΠ΅ΡΠ½Π΅ Π½ΠΈΡΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΏΡΠ΅ΠΊΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΡΠ° ΡΠΎ Π²Π»Π΅Π·Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ (ΡΡΠ΅Π΄ΠΈΠ½Π° Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ°), ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠΎΠΊ Π²Π΅Π΄Π½Π°Ρ ΠΏΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ°ΡΠ° Π·Π° Π²Π»Π΅Π· Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° (EENTER), ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ° Π²ΡΠ°ΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π²ΠΎ ΡΠ°Π·Π° ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠ΅ΠΊΠΎΡ Π·Π° Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π΅ Π·Π°Π²ΡΡΠ΅Π½Π°, Π²ΠΎ ΠΊΠΎΡΠ° Π΅ Π·Π°ΡΡΠ²Π°Π½Π° ΠΈ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ.
Π‘ΠΈΡΡΠ΅ΠΌΠΎΡ ΠΏΠΎΡΠΎΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° Π²ΡΠ°ΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° Π½Π°Π·Π°Π΄ Π²ΠΎ Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ°, Π½ΠΎ Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΎΡΠ°ΠΊΠΎΡ Π½Π° Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° Π½Π΅ Π±ΠΈΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° ΠΏΡΠ΅ΠΊΠΈΠ½ΠΎΡ, Π΅Π½ΠΊΠ»Π°Π²Π°ΡΠ° ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ ΡΠΎ ΡΡΠ΅ΠΊΠΎΡ ΡΡΠΎ ΡΠ΅ Π½Π°ΠΎΡΠ° Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΊΠΎΠ½ Π²ΡΠ°ΡΠ°ΡΠ΅ (ROP ) ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΠ°.ΠΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅). ΠΠΎΠ³Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΡΠ° ROP, Π½Π°ΠΏΠ°ΡΠ°ΡΠΎΡ Π½Π΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΡΠ²Π° Π΄Π° Π³ΠΎ ΡΡΠ°Π²ΠΈ ΡΠ²ΠΎΡΠΎΡ ΠΊΠΎΠ΄ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΡΠΊΡ ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π²Π΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π²ΠΎ Π²ΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π·Π°Π²ΡΡΡΠ²Π°ΡΡΠΈ ΡΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠ° Π·Π° Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° (ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠ²Π° ΡΠ΅ ΠΊΡΠ°Π΅Π²ΠΈΡΠ΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°) . Π Π°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΎΡ ΡΠ΅ ΡΠ²Π΅Π΄ΡΠ²Π° Π½Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ Π½Π° ΡΠΈΠ½ΡΠΈΡ Π½Π° ΠΏΠΎΠ²ΠΈΡΠΈ Π΄ΠΎ ΡΠ»ΠΈΡΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ (βΠ³Π°ΡΠ΅ΡΠΈβ) Π·Π° Π΄Π° ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ ΡΠ°ΠΊΠ°Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
ΠΠ·Π²ΠΎΡ: opennet.ru