SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

ΠšΠ°ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠΎΠ΄ΡŠΡ‚, изпълняван Π² Π°Π½ΠΊΠ»Π°Π²Π°, Π΅ сСриозно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ във функционалността си. НС ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° систСмни повиквания. НС ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° I/O ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ΠΎΠΉ Π½Π΅ Π·Π½Π°Π΅ основния адрСс Π½Π° кодовия сСгмСнт Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. НС ΠΌΠΎΠΆΠ΅ Π΄Π° jmp ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ° ΠΊΠΎΠ΄ Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΎΠΉ няма прСдстава Π·Π° структурата Π½Π° адрСсното пространство, която управлява хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΈ страници са ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π°Π½ΠΈ ΠΈΠ»ΠΈ какъв Π²ΠΈΠ΄ Π΄Π°Π½Π½ΠΈ сС Π½Π°ΠΌΠΈΡ€Π°Ρ‚ Π½Π° Ρ‚Π΅Π·ΠΈ страници). Π’ΠΎΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° поиска ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Π΄Π° ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π° част ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ към нСя (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Ρ€Π΅Π· /proc/pid/maps). НаивнитС ΠΎΠΏΠΈΡ‚ΠΈ Π·Π° сляпо Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° област ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π° Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° ΠΎΠΏΠΈΡ‚ΠΈΡ‚Π΅ Π·Π° запис, Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно (Π½Π°ΠΉ-вСроятно ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ) Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ прСкратяванС Π½Π° Π°Π½ΠΊΠ»Π°Π²Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°. Π’ΠΎΠ²Π° сС случва Π²ΠΈΠ½Π°Π³ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½ΡŠΡ‚ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎΡ‚ΠΎ адрСсно пространство, поискан ΠΎΡ‚ Π°Π½ΠΊΠ»Π°Π²Π°, Π΅ Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π·Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

ΠšΠ°Ρ‚ΠΎ сС ΠΈΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ‚Π°ΠΊΠΈΠ²Π° сурови рСалности, Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π»ΠΈ писатСлят Π½Π° вируси Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° SGX Π°Π½ΠΊΠ»Π°Π²ΠΈ, Π·Π° Π΄Π° постигнС Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ‚Π΅ си Ρ†Π΅Π»ΠΈ?

– Π₯Π°ΠΊ Π·Π° сондиранС Π½Π° адрСси, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π°Π»ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ
– Π₯Π°ΠΊ Π·Π° сондиранС Π½Π° адрСси Π·Π° записваСмост
– Π₯Π°ΠΊ Π·Π° прСнасочванС Π½Π° контролния ΠΏΠΎΡ‚ΠΎΠΊ
– Какво Π΄Π°Π²Π°Ρ‚ Ρ‚Ρ€ΠΈΡ‚Π΅ Ρ…Π°ΠΊΠ°, ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ ΠΏΠΎ-Π³ΠΎΡ€Π΅, Π½Π° злодСя?
– Как злодСят ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚Π΅Π·ΠΈ Ρ…Π°ΠΊΠΎΠ²Π΅, Π·Π° Π΄Π° създадС ranzowari

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

Π’ΡŠΠ· основа Π½Π° всичко ΠΏΠΎ-Π³ΠΎΡ€Π΅, ΠΎΠ±Ρ‰ΠΎΠΏΡ€ΠΈΠ΅Ρ‚ΠΎ Π΅, Ρ‡Π΅ Π°Π½ΠΊΠ»Π°Π²ΡŠΡ‚ Π΅ способСн Π΄Π° обслуТва само хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Ρ‡Π΅ Π°Π½ΠΊΠ»Π°Π²ΡŠΡ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° упраТнява собствСна ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ Π°Π½ΠΊΠ»Π°Π²ΠΈΡ‚Π΅ нямат практичСска стойност Π·Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° вируси. Π’ΠΎΠ²Π° ΠΏΡ€ΠΈΠ±ΡŠΡ€Π·Π°Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈΡ‚Π΅, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ SGX Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° Π΅ асимСтрична: ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° Π°Π½ΠΊΠ»Π°Π²Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° Π°Π½ΠΊΠ»Π°Π²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ‡Π΅Ρ‚Π΅ ΠΈ пишС Π½Π° всСки адрСс Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, Π°ΠΊΠΎ злонамСрСният Π°Π½ΠΊΠ»Π°Π²Π΅Π½ ΠΊΠΎΠ΄ Π΅ Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ систСмни извиквания ΠΎΡ‚ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π΄Π° изпълни ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΊΠΎΠ΄ ΠΎΡ‚ Π½Π΅Π³ΠΎΠ²ΠΎ ΠΈΠΌΠ΅, Π΄Π° сканира ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅ злоупотрСбяващи ROP Π²Π΅Ρ€ΠΈΠ³ΠΈ Π² нСя, Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π²Π»Π°Π΄Π΅Π΅ пълния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π°Π΄ хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π² стСлт Ρ€Π΅ΠΆΠΈΠΌ. Π’ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π½Π΅ само Π΄Π° ΠΊΡ€Π°Π΄Π΅ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π° потрСбитСлски Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π½ΠΎ ΠΈ Π΄Π° дСйства ΠΎΡ‚ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° потрСбитСля. НапримСр, ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Ρ„ΠΈΡˆΠΈΠ½Π³ ΠΈΠΌΠ΅ΠΉΠ»ΠΈ ΠΎΡ‚ Π½Π΅Π³ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°ΠΉΡ‚Π΅ DoS Π°Ρ‚Π°ΠΊΠΈ. Π‘Π΅Π· страх Π΄ΠΎΡ€ΠΈ ΠΎΡ‚ Π½Π°ΠΉ-ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΡ‚Π΅ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΊΠ°Ρ‚ΠΎ стСк ΠΊΠ°Π½Π°Ρ€Ρ‡Π΅Ρ‚Π° ΠΈ саниранС Π½Π° адрСси.

Π©Π΅ Π²ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ няколко Ρ…Π°ΠΊΠ°, ΠΊΠΎΠΈΡ‚ΠΎ Π°Ρ‚Π°ΠΊΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚, Π·Π° Π΄Π° прСодолСят ограничСнията, описани ΠΏΠΎ-Π³ΠΎΡ€Π΅, Π·Π° Π΄Π° сС Π²ΡŠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚ SGX Π·Π° собствСнитС си Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ Ρ†Π΅Π»ΠΈ: ROP Π°Ρ‚Π°ΠΊΠΈ. Или Π·Π° изпълнСниС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΠΊΠΎΠ΄, маскиран ΠΊΠ°Ρ‚ΠΎ процСс Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° изпъкванС Π½Π° процСс, ΠΊΠΎΠ΅Ρ‚ΠΎ чСсто сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ софтуСр), ΠΈΠ»ΠΈ Π·Π° маскиранС Π½Π° Π³ΠΎΡ‚ΠΎΠ² Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ софтуСр (Π·Π° Π΄Π° спаси нСговия Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ софтуСр ΠΎΡ‚ прСслСдванС ΠΎΡ‚ антивируси ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ).

Π₯Π°ΠΊ Π·Π° сондиранС Π½Π° адрСси, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π°Π»ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ

Въй ΠΊΠ°Ρ‚ΠΎ Π°Π½ΠΊΠ»Π°Π²ΡŠΡ‚ Π½Π΅ Π·Π½Π°Π΅ ΠΊΠΎΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΈ ΠΎΡ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎΡ‚ΠΎ адрСсно пространство са Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π·Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π°Π½ΠΊΠ»Π°Π²ΡŠΡ‚ Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄Π΅Π½ Π΄Π° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅ Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ адрСс, нападатСлят Π΅ ΠΈΠ·ΠΏΡ€Π°Π²Π΅Π½ ΠΏΡ€Π΅Π΄ Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ- Ρ‚ΠΎΠ»Π΅Ρ€Π°Π½Ρ‚Π½ΠΎ сканиранС Π½Π° адрСсното пространство. НамСрСтС Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π°Ρ‚Π΅ Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ адрСси. ЗлодСят Ρ€Π΅ΡˆΠ°Π²Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠ°Ρ‚ΠΎ злоупотрСбява с тСхнологията TSX Π½Π° Intel. Използва Π΅Π΄ΠΈΠ½ ΠΎΡ‚ страничнитС Π΅Ρ„Π΅ΠΊΡ‚ΠΈ Π½Π° TSX: Π°ΠΊΠΎ функцията Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π΅ поставСна Π² TSX транзакция, Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ‚Π°, ΠΏΡ€ΠΎΠΈΠ·Ρ‚ΠΈΡ‡Π°Ρ‰ΠΈ ΠΎΡ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΈ адрСси, сС потискат ΠΎΡ‚ TSX, Π±Π΅Π· Π΄Π° сС достига Π΄ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма. Ако сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΎΠΏΠΈΡ‚ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π½Π΅Π²Π°Π»ΠΈΠ΄Π΅Π½ адрСс Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, само Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° транзакция сС ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°, Π° Π½Π΅ цялата ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Π°Π½ΠΊΠ»Π°Π². Π§Π΅. TSX позволява Π½Π° Π°Π½ΠΊΠ»Π°Π²Π° сигурСн Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ всСки адрСс ΠΎΡ‚ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° транзакция - Π±Π΅Π· риск ΠΎΡ‚ колапс.

Π°ΠΊΠΎ посочСният адрСс Π΅ свободСн хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, TSX транзакцията Π½Π°ΠΉ-чСсто Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½Π°. Π’ Ρ€Π΅Π΄ΠΊΠΈ случаи ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ външни влияния ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ (ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊΠ°), ΠΈΠ·Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° кСша ΠΈΠ»ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π° модификация Π½Π° място Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΎΡ‚ мноТСство процСси. Π’ Ρ‚Π΅Π·ΠΈ Ρ€Π΅Π΄ΠΊΠΈ случаи TSX Π²Ρ€ΡŠΡ‰Π° ΠΊΠΎΠ΄ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ°, ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‰, Ρ‡Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄Π°Ρ‚Π° Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Π°. Π’ Ρ‚Π΅Π·ΠΈ случаи просто трябва Π΄Π° рСстартиратС транзакцията.

Π°ΠΊΠΎ посочСният адрСс Π΅ Π½Π΅Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, TSX потиска Π²ΡŠΠ·Π½ΠΈΠΊΠ½Π°Π»ΠΎΡ‚ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (ОБ Π½Π΅ сС увСдомява) ΠΈ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π° транзакцията. Код Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ° сС Π²Ρ€ΡŠΡ‰Π° към ΠΊΠΎΠ΄Π° Π½Π° Π°Π½ΠΊΠ»Π°Π²Π°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π΅Π°Π³ΠΈΡ€Π° Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ транзакцията Π΅ Π±ΠΈΠ»Π° ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½Π°. Π’Π΅Π·ΠΈ ΠΊΠΎΠ΄ΠΎΠ²Π΅ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ‚, Ρ‡Π΅ Π²ΡŠΠΏΡ€ΠΎΡΠ½ΠΈΡΡ‚ адрСс Π½Π΅ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π·Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

Π’Π°Π·ΠΈ манипулация Π½Π° TSX ΠΎΡ‚ Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚Ρ‚Π° Π½Π° Π°Π½ΠΊΠ»Π°Π²Π° ΠΈΠΌΠ° приятна функция Π·Π° злодСя: Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ броячи Π½Π° производитСлност Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π° Π½Π΅ сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Π°Π½ΠΊΠ»Π°Π²Π°, нСвъзмоТно Π΅ Π΄Π° сС прослСдят TSX Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈΡ‚Π΅, изпълнСни Π²ΡŠΡ‚Ρ€Π΅ Π² Π°Π½ΠΊΠ»Π°Π²Π°. Π’Π°ΠΊΠ° Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π°Ρ‚Π° манипулация Π½Π° TSX остава напълно Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠ° Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма.

ОсвСн Ρ‚ΠΎΠ²Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ горният Ρ…Π°ΠΊ Π½Π΅ Ρ€Π°Π·Ρ‡ΠΈΡ‚Π° Π½Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ систСмни повиквания, Ρ‚ΠΎΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π½ΠΈΡ‚ΠΎ Π΄Π° бъдС ΠΎΡ‚ΠΊΡ€ΠΈΡ‚, Π½ΠΈΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚Π΅Π½ Ρ‡Ρ€Π΅Π· просто Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π΅ Π½Π° систСмни повиквания; ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΄Π°Π²Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»Π΅Π½ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π² Π±ΠΎΡ€Π±Π°Ρ‚Π° с Π»ΠΎΠ²Π° Π½Π° яйца.

ЗлодСят ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° описания ΠΏΠΎ-Π³ΠΎΡ€Π΅ Ρ…Π°ΠΊ, Π·Π° Π΄Π° Ρ‚ΡŠΡ€ΡΠΈ Π² ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° хоста Π΄ΠΆΠ°Π΄ΠΆΠΈ, подходящи Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° ROP Π²Π΅Ρ€ΠΈΠ³Π°. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΏΡ€ΠΎΡƒΡ‡Π²Π° всСки адрСс. Π”ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΅ Π΄Π° сС изслСдва ΠΏΠΎ Π΅Π΄ΠΈΠ½ адрСс ΠΎΡ‚ всяка страница Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΎΡ‚ΠΎ адрСсно пространство. ΠŸΡ€ΠΎΠ±Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° всички 16 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΎΡ‚Π½Π΅ΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 45 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ (Π½Π° Intel i7-6700K). Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° злодСят ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° списък с изпълними страници, ΠΊΠΎΠΈΡ‚ΠΎ са подходящи Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ROP Π²Π΅Ρ€ΠΈΠ³Π°.

Π₯Π°ΠΊ Π·Π° сондиранС Π½Π° адрСси Π·Π° записваСмост

Π—Π° Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ Π°Π½ΠΊΠ»Π°Π²Π½Π° вСрсия Π½Π° ROP Π°Ρ‚Π°ΠΊΠ°, атакуващият трябва Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ‚ΡŠΡ€ΡΠΈ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ области Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ записвани. НападатСлят ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚Π΅Π·ΠΈ мСста Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π·Π° Π΄Π° ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π° Ρ„Π°Π»ΡˆΠΈΠ² стСков ΠΊΠ°Π΄ΡŠΡ€ ΠΈ Π΄Π° ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π° ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€ (shellcode). Π˜Π·Π²ΠΎΠ΄ΡŠΡ‚ Π΅, Ρ‡Π΅ злонамСрСният Π°Π½ΠΊΠ»Π°Π² Π½Π΅ Π΅ Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π΄Π° изисква ΠΎΡ‚ хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π΄Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚ Π·Π° сСбС си, Π½ΠΎ вмСсто Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈ с ΠΏΠ°ΠΌΠ΅Ρ‚, която Π²Π΅Ρ‡Π΅ Π΅ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΎΡ‚ хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. Ако, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, успСС Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈ Ρ‚Π°ΠΊΠΈΠ²Π° Ρ€Π°ΠΉΠΎΠ½ΠΈ, Π±Π΅Π· Π΄Π° сринС Π°Π½ΠΊΠ»Π°Π²Π°.

ЗлодСят ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ‚ΠΎΠ²Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Ρ€ΡƒΠ³ страничСн Π΅Ρ„Π΅ΠΊΡ‚ Π½Π° TSX. ΠŸΡŠΡ€Π²ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ случай, Ρ‚ΠΎΠΉ изслСдва адрСса Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅ ΠΈ слСд Ρ‚ΠΎΠ²Π° провСрява Π΄Π°Π»ΠΈ страницата, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ адрСс, ΠΌΠΎΠΆΠ΅ Π΄Π° сС записва. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π°, злодСят ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° слСдния Ρ…Π°ΠΊ: Ρ‚ΠΎΠΉ поставя функция Π·Π° запис Π² TSX транзакция ΠΈ слСд Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅, Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π΅ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈΠ»Π°, Ρ‚ΠΎΠΉ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π° транзакцията (явно ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅).

ПоглСТдайки ΠΊΠΎΠ΄Π° Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ ΠΎΡ‚ TSX транзакция, атакуващият Ρ€Π°Π·Π±ΠΈΡ€Π° Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС записва. Ако става Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° β€žΡΠ²Π΅Π½ Π°Π±ΠΎΡ€Ρ‚β€œ, злодСят Ρ€Π°Π·Π±ΠΈΡ€Π°, Ρ‡Π΅ Π·Π°ΠΏΠΈΡΡŠΡ‚ Ρ‰Π΅ΡˆΠ΅ Π΄Π° Π΅ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½, Π°ΠΊΠΎ Π³ΠΎ бСшС послСдвал. Ако страницата Π΅ само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅, Ρ‚ΠΎΠ³Π°Π²Π° транзакцията Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° с Π³Ρ€Π΅ΡˆΠΊΠ°, Ρ€Π°Π·Π»ΠΈΡ‡Π½Π° ΠΎΡ‚ β€žΡΠ²Π½ΠΎ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅β€œ.

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

Π’Π°Π·ΠΈ манипулация Π½Π° TSX ΠΈΠΌΠ° Π΄Ρ€ΡƒΠ³Π° функция, която Π΅ приятна Π·Π° злодСя (освСн Π½Π΅Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° прослСдяванС Ρ‡Ρ€Π΅Π· броячи Π½Π° производитСлността Π½Π° Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π°): Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ всички ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° запис Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ само Π°ΠΊΠΎ транзакцията Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½Π°, ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡ‚ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° транзакцията Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ сондираната ΠΊΠ»Π΅Ρ‚ΠΊΠ° ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° остава Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π°.

Π₯Π°ΠΊ Π·Π° прСнасочванС Π½Π° контролния ΠΏΠΎΡ‚ΠΎΠΊ

ΠŸΡ€ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ROP Π°Ρ‚Π°ΠΊΠ° ΠΎΡ‚ Π°Π½ΠΊΠ»Π°Π² - Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ROP Π°Ρ‚Π°ΠΊΠΈ - атакуващият ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ RIP Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Π°Ρ‚Π°ΠΊΡƒΠ²Π°Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° (ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€ ΠΈΠ»ΠΈ Π½Π΅Ρ‰ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ). НападатСлят ΠΌΠΎΠΆΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° ΠΏΡ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅ стойността Π½Π° RIP Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ Π² стСка. По-спСциално, Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ стойността Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€ със собствСна ROP Π²Π΅Ρ€ΠΈΠ³Π°.

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ ROP Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° Π΅ дълга, Ρ‚ΠΎΠ³Π°Π²Π° прСзаписванСто Π½Π° голямо ΠΏΠ°Ρ€Ρ‡Π΅ ΠΎΡ‚ стСка Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΠΎΠ²Ρ€Π΅Π΄Π° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΈ Π½Π΅ΠΎΡ‡Π°ΠΊΠ²Π°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. ЗлодСят, ΠΊΠΎΠΉΡ‚ΠΎ сС стрСми Π΄Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° си скрито, Π½Π΅ Π΅ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ ΠΎΡ‚ Ρ‚ΠΎΠ²Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° Π½Π΅Ρ‰Π°Ρ‚Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ Ρ‚ΠΎΠΉ създава Ρ„Π°Π»ΡˆΠΈΠ² Π²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ стСков ΠΊΠ°Π΄ΡŠΡ€ Π·Π° сСбС си ΠΈ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° своята ROP Π²Π΅Ρ€ΠΈΠ³Π° Π² Π½Π΅Π³ΠΎ. Π Π°ΠΌΠΊΠ°Ρ‚Π° Π½Π° Ρ„Π°Π»ΡˆΠΈΠ²ΠΈΡ стСк сС поставя Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° записваСма ΠΏΠ°ΠΌΠ΅Ρ‚, оставяйки истинския стСк Π½Π΅ΠΏΠΎΠΊΡŠΡ‚Π½Π°Ρ‚.

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

Какво Π΄Π°Π²Π°Ρ‚ Ρ‚Ρ€ΠΈΡ‚Π΅ Ρ…Π°ΠΊΠ°, ΠΈΠ·Π±Ρ€ΠΎΠ΅Π½ΠΈ ΠΏΠΎ-Π³ΠΎΡ€Π΅, Π½Π° злодСя?

(1) ΠŸΡŠΡ€Π²ΠΎ, злонамСрСният Π°Π½ΠΊΠ»Π°Π² ΠΏΡ€Π΅Π· Ρ…Π°ΠΊ Π·Π° сондиранС Π½Π° адрСси, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π°Π»ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ, – Ρ‚ΡŠΡ€ΡΠΈ Π² хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° злоупотрСбяващи ROP Π΄ΠΆΠ°Π΄ΠΆΠΈ.

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

(2) Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΎΡ‚ Ρ…Π°ΠΊ Π·Π° сондиранС Π½Π° адрСси Π·Π° записваСмост, – Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ Π°Π½ΠΊΠ»Π°Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° области Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΊΠΎΠΈΡ‚ΠΎ са подходящи Π·Π° ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€.

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

(3) Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π°Π½ΠΊΠ»Π°Π²ΡŠΡ‚ създава ROP Π²Π΅Ρ€ΠΈΠ³Π° ΠΎΡ‚ Π΄ΠΆΠ°Π΄ΠΆΠΈΡ‚Π΅, ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ Π² ΡΡ‚ΡŠΠΏΠΊΠ° (1) ΠΈ ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π° Ρ‚Π°Π·ΠΈ Π²Π΅Ρ€ΠΈΠ³Π° Π² стСка Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

(4) И накрая, ΠΊΠΎΠ³Π°Ρ‚ΠΎ хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ срСщнС ROP Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π°, създадСна Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ°, злонамСрСният ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ‚ΠΎΠ²Π°Ρ€ Π·Π°ΠΏΠΎΡ‡Π²Π° Π΄Π° сС изпълнява - с ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ способността Π΄Π° ΠΏΡ€Π°Π²ΠΈ систСмни повиквания.

Как Π΅Π΄ΠΈΠ½ Π·Π»ΠΎΠ΄Π΅ΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚Π΅Π·ΠΈ Ρ…Π°ΠΊΠΎΠ²Π΅, Π·Π° Π΄Π° създадС ranzowari

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π°Π½ΠΊΠ»Π°Π²Π° Ρ‡Ρ€Π΅Π· Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ECALL (Π±Π΅Π· Π΄Π° ΠΏΠΎΠ΄ΠΎΠ·ΠΈΡ€Π°, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ Π°Π½ΠΊΠ»Π°Π² Π΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½), злонамСрСният Π°Π½ΠΊΠ»Π°Π² Ρ‚ΡŠΡ€ΡΠΈ свободно място Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ (Π²Π·Π΅ΠΌΠ°ΠΉΠΊΠΈ ΠΊΠ°Ρ‚ΠΎ свободни пространства Ρ‚Π΅Π·ΠΈ послСдоватСлности ΠΎΡ‚ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ ΠΊΠΎΠΉΡ‚ΠΎ Π΅ пълСн с Π½ΡƒΠ»ΠΈ). Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π· Ρ…Π°ΠΊ Π·Π° сондиранС Π½Π° адрСси, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π΄Π°Π»ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ, – Π°Π½ΠΊΠ»Π°Π²ΡŠΡ‚ Ρ‚ΡŠΡ€ΡΠΈ изпълними страници Π² хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ROP Π²Π΅Ρ€ΠΈΠ³Π°, която създава Π½ΠΎΠ² Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅ β€žRANSOMβ€œ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° дирСктория (ΠΏΡ€ΠΈ истинска Π°Ρ‚Π°ΠΊΠ° Π°Π½ΠΊΠ»Π°Π²ΡŠΡ‚ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ потрСбитСлски Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅) ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π·Π° ΠΎΡ‚ΠΊΡƒΠΏ. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π°ΠΈΠ²Π½ΠΎ вярва, Ρ‡Π΅ Π°Π½ΠΊΠ»Π°Π²ΡŠΡ‚ просто добавя Π΄Π²Π΅ числа. Как ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚ΠΎΠ²Π° Π² ΠΊΠΎΠ΄?

Π—Π° ΠΏΠΎ-лСсно Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ°Π½Π΅, Π½Π΅ΠΊΠ° въвСдСм някои ΠΌΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠΈ Ρ‡Ρ€Π΅Π· Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ‚Π΅:

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

НиС Π·Π°ΠΏΠ°Π·Π²Π°ΠΌΠ΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ‚Π΅ стойности Π½Π° RSP ΠΈ RBP рСгистритС, Π·Π° Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠΌ Π½ΠΎΡ€ΠΌΠ°Π»Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° хост ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ слСд изпълнСниС Π½Π° полСзния Ρ‚ΠΎΠ²Π°Ρ€:

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

Π’ΡŠΡ€ΡΠΈΠΌ подходяща стСкова Ρ€Π°ΠΌΠΊΠ° (Π²ΠΈΠΆΡ‚Π΅ ΠΊΠΎΠ΄Π° ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π»Π° β€žΡ…Π°ΠΊ Π·Π° прСнасочванС Π½Π° контролния ΠΏΠΎΡ‚ΠΎΠΊβ€œ).

НамиранС Π½Π° подходящи ROP Π΄ΠΆΠ°Π΄ΠΆΠΈ:

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

НамиранС Π½Π° място Π·Π° ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° полСзния Ρ‚ΠΎΠ²Π°Ρ€:

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

НиС ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°ΠΌΠ΅ ROP Π²Π΅Ρ€ΠΈΠ³Π°:

SGX Π·Π»ΠΎΠ²Ρ€Π΅Π΄Π΅Π½ софтуСр: ΠΊΠ°ΠΊ Π·Π»ΠΎΠ΄Π΅ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½ΠΎΠ²Π°Ρ‚Π° тСхнология Π½Π° Intel Π·Π° Ρ†Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π΅ замислСна

Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ тСхнологията SGX Π½Π° Intel, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π΄Π° противодСйства Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚ Π·Π»ΠΎΠ΄Π΅ΠΈ Π·Π° постиганС Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΈ Ρ†Π΅Π»ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€