á¥áá°áá³áááµ á á€áááá ááµá¥ ášá°á°áá ášá á®áµ á á°áá£á© ááµá¥ á á£á ášá°áá°á áá. ášáµáááµ á¥áªááœá ááµášá á ááœááᢠášI/O áµá«ááœá áášááá á ááœááᢠášá áµá°ááá áá°áá áªá« á®áµ áááá á áµá«á» á á«áá áᢠjmp ááá ášá áµá°ááá áá°áá áªá« á®áµ áá°áá á ááœááᢠášá áµá°ááá á ááá¬áœáá áµáááá£á ášá ášá áµá«á» áŠá³ ááá á ááá áá³á¥ ášááá (ááá³á ášáµáá¹ ááᜠá°ááááá ááá á á¥ááá« ááᜠáá áá á áááµ áášá á¥áá°ááá)ᢠáµááá° áááá ášá áµá°áááá ášááµá³áá» ááá (ááá³á á /proc/pid/maps) á¥áá²á°á«ááµ áá ášá á ááœááᢠášá áµá°ááá á ááá¬áœá ášáááá° áá á°áš áµááµá³á á ááá áááá ᥠášáá°ášá áášá«ááœá£ áááá ášá°á°ášá áášá«ááœá á³áá á á±á£ ááá áá°á á¥áá (ášááµáá ááá ááœáá) ášá áµáá³áµ áá®áá«áá á áá³á ááášá¥ á«áµášáµááᢠáá ášáááá á á€áááá ášá°á ášáá ááá£á á áµá«á» áŠá³ ááá áá áµá°ááá áá°áá áªá« á ááá°ášáµá áµ áá ááá¢
ášá¥áá°áá á áááµ á áµážá᪠á¥ááá³áᜠá áá»á ášá«áášáµ ážáá á°áá®á á áá ááŠá¹á ááá³á«áµ áš SGX á ášá£á¢ááœá áá áá ááœá ááá?
ášáá á á°á áá±áµ áá áá á áááµášáµ, á á á ááá á°áá£áááµ á«áá á ááµ áááá« ášá áµá°áááá áááášá» áááááá á¥á» áá, á¥á á°áá®á á áá ášáááµá ášáá® ášá«á±á á°áá³áœááµ áá áá á ááœáá. áá áááµ á¢áááááµ áá«áášáµ ážáááᜠááá á°áá£á«á áá ášáážáá áááµ áá. áá ášáœá®á áááµ ášá€áµáá€ááµ á¥á á á«áá°áá£á á á¥áá²áá ášáá«á°áááµ áááá«á¶áœ á áá± ááá¡ ášá áµá°ááá á ááá¬áœá á®áµ áá° á¢áááá áá᪠ááµášáµ á ááœááᣠá¢áááá á®áµ á°áá áááááá ášá áµá°ááá áá°áá áªá« áá á°áš áµááµá³ á áµá«á» ááá ᥠá¥á ááá ááœááá¢
áµááá ᣠá°áá®á á áá á®áµ ášá áµá°áááá áá°áá áªá« á ááášá ášáááá° ášáµáááµ á¥áªááœá ááµášá ášá»á á áááá° á®áµ ááµáážáá«á£ ášá áµá°áááá áá á°áš áµááµá³ ááááµ á¥á á á± ááµá¥ á°á³á³á¢ ášáá ROP á°áá°áá¶áœá á«áá ášá áµá°áááá áá°áá áªá« áá á áá ááá£á á ááœáá ᣠáµáá ááá³. ášá°á áá ááááœá ááµášá á¥á áááµá á á¥á» á³ááá á°á áááá ááá ááµá«áµ ááœááᢠááá³áᣠá¥á±á ááá ášááµáá á¢ááááœá ááá© ááá ášDoS á¥áá¶áœá á«á«áá±á¢ á¥áá° ááá á«ááªáᜠá¥á ášá áµá«á» ááœá áá ášáá³á°á á á£á áááá ášáášáášá« ááŽááœá á¥áá³á á³ááá©á¢
á á¥ááᜠᚠSGX á áá«á³ážá á°áá®á á áá ááá ááá áá ášáá ášá°ááá¹áµá áá°áŠáœ ááážáá ášáá ááá£ážáá á¥ááµ á áááᜠá¥áá³ááá³ááá¡ ROP á¥áá¶áœá¢ áá ášáááá° á®áµ á¥áá° á áµá°ááá á ááá¬áœá áá°áµ áááµáážá (áááááá ášááµá¬áµ áá á°áá³á³á ááᣠáá á á¥ááá áá á áááá ášáá ááá)ᣠááá ááá ášáá ááááá áááµáá°á (áááá©á á á«áášáµ á«áášáµ á¥á á ááᜠášáášáášá« ááŽáᜠášáá°ááµá áµ áµá°áµ ááá³á)á¢
ááá ᥠáá»á á¥áá°áá ááášáµ á áµá«á»ááœá áááá°áœ áá°áá
áááá«á ášáµáá ášášáá¹áá á áµá«á» áŠá³ áá áµá°ááá áá°áá áªá« á°á°á«áœ á¥áá°áá áµááá«áá á¥á á áµá«á»á ášááá°ášáµá áµá á áµá«á» áááá ᥠá²ááá áááá áµáááá°áµ á á¥áá áµá á°áµ ášáááœáá áµá ááááµ ášáááá áµá« áá¥áá³áᢠášá áµá«á»áá áŠá³ á áá»á»á áááᢠášááá ááá£á á áµá«á»ááœá á«áá³ ášáá«á°ááá áµ ááááµ ááááᢠá°áá®ááá ášá¢ááŽá TSX áŽááááá á ááá£á¥ á áá áá áá áá áœáá ááá³áᢠᚠTSX ášááá®áœ áá³á¶áœ á áá±á áá áááá¡ ášáá á°áš áµááµá³ áá³ášá» á°áá£á á TSX áá¥ááµ ááµá¥ ášá°ááá á¡ áá á«ááá á áµá«á»ááœá ášááµášáµ ášááá± áá© ááá³áᜠáŠáá¬á²áá á²áµá°áá á³áá°áá± á TSX áá³áá³áᢠáá á«ááá ášáá á°áš áµááµá³ á áµá«á» áááµášáµ ášá°áášášá£ á áá á«áá áá¥ááµ á¥á» áá ášá°áášá áᣠáááá ášá€áááá áá®áá«á á áá°ááᢠá«á¢ TSX á ááµ á¢áááá á áá¥ááµ ááµá¥ ááá áááááá á áµá«á» á°á ááá± á á°á á á ááá© á¥áá²á°ááµ á«áµáœááá - ášáá°á¥á°á¥ á á°á á³áááá¢
ášáá ášá°ááážá á áµá«á» ááááᢠášá áµá°ááá áá°áá áªá« ᣠᚠTSX áá¥ááµ á¥ááá áá ášá°á³á« ááᢠá áá á ááᣠá¥áá° ááášáŠáœ (á¥áá° ááááá¥á ááášáŠáœ á«á)ᣠáážáá« ááµáá£áµ ááá ášááµá³áá» áŠá³á á á áá«á³ áá°á¶áœ á á ááµ áá á ááášá áááá«áµ áá³á« ááœááᢠá á¥ááá á áá á ááᣠTSX ááµáá± ááá«á áááá ášáá«ááááµ ášáµá á°áµ á®áµ áááá³áᢠá á¥ááá á áá£ááᜠáá¥áá±á á¥áá°áá ááµááá á¥á» á«áµááááá³áá¢
ášáá ášá°ááážá á áµá«á» ášááᢠá áµá°ááá á ááá¬áœáᣠTSX ášá°ášá°á°áá áá© ááá³ á«á áá (áµááá° áááá á áá°ááážá) á¥á áá¥áá±á á«áµááá£áᢠáá¥áá± áµáá°á°ášá ááᜠááµá áµ á¥áá²áœá ášáµá á°áµ á®áµ áá° á¢áááá á®áµ áááá³áᢠá¥ááá ášáµá á°áµ á®á¶áœ á á¥á«á ááµá¥ á«áá á áµá«á» áá áµá°ááá áá°áá áªá« á¥áá°áááá á«áááá³áá¢
áá áš TSX ášá€áááá ááµá¥ áá ááá« ááá á°á á¥á© á£á ᪠á ááá¡ á á¥ááá¹ ášáááµáá á áá»ážá áá£áªáᜠášáá°áá«á á®áµ á ááááá áµ áá áµáááááᣠá á€áááá ááµá¥ ášá°áážá áš TSX áá¥áá¶áœá áášá³á°á á áá»ááᢠáµááá áš TSX á°áá®á á áá ááá áá á ááµááá° áááá áá á áá ášááá³á áá ááá«áá¢
á á°ášááªáᣠášáá á«áá á áá á ááážáá ášáµáááµ á¥áªáᜠáá áµáááá°ááᣠá ááá ášáµáááµ á¥áªááœá á áááµ áá³áá á áá áášáášá á ááœááᢠá¥ááá áá ášá¥áááá á á°á áá á áá°ášáá áµáá á ááá³á áá€áµ á«áµááá.
ááá á°á áš ROP á°áá°ááµ ááááµášáµ á°áµáá ášáá ááá¥á®áœá ááááá ášá áµá°áááá áá°áá áªá« á®áµ ááááá ášáá ášá°ááážáá á áá áá áááᢠá á°áá³á³á áá, á¥á«áá³áá±á á áµá«á» ááááá á á«áµááááá. ášá¥á«áá³áá± ášášáá¹áá á áµá«á» áŠá³ á ááµ á áµá«á» ááááá á á ááᢠáááá 16 ááá£ááµ ášáá á°áš áµááµá³ áá á ááááá 45 á°áá á«á á áááµá³á (á Intel i7-6700K)ᢠá áá€á±á, á°áá®ááá áš ROP á°áá°ááµ ááááá£áµ á°áµáá ášáá áá°áá á© ášááœá ááŸáœá áááá ááá áá.
á áµá«á»ááœá áááá áá¥áá
áš ROP á¥ááµá ášáá«á ááááá áµáªáµ ááá«ááµ á ááµ á á¥á á á áµá°ááá áá°áá áªá« ááµá¥ ááá ášáááœá ášááµá³áá» áŠá³ááœá áááá áá»á á áá áµá¢ á á¥áá á¥ááá á ášááµá³áá» áŠá³áᜠášáá°áµ ááá áá¬á áááµáá£áµ á¥á ášááá« áááµ (áŒáá®áµ) áááµáá£áµ áá áááᢠááá áá ááá á°áá®á á áá á¢áááá ášá áµá°ááá áá°áá áªá« áá á°áš áµááµá³á áá«á± á¥áá²ááµá¥ ááµášá á ááá»á ááᣠááá áá á ááµá© á á áµá°ááá áá°áá áªá« ášá°áá°á áá áá á°áš áµááµá³ á ááá£á¥ áá áá ááœááᢠá¥ááᥠáá, á ášá£á¢áá á³ááááµ á¥áá°ááá á«ááµá áŠá³áᜠááááµ ášá»á.
á°áá®ááá áš TSX áá ášááá®áœ áá³áµá á áá áá áá áá ááá á«á«áá³áᢠá ááááªá«á£ á¥áá° áá°áá áá³áᣠá áµá«á»áá áááááá ááášáá«áᣠášáá«á ášáá á áµá«á» áá ášáááá°á áᜠááá ášááœá áááá á«ášááá£áᢠáá áá áááµášá á°áá®ááá ášáášá°ááá á áá áá ááá-á TSX áá¥ááµ ááµá¥ ášááá á°áá£áá á«áµááá£á, á¥á ášá°á ááá á áá, ááá áá ášáá ááá á ááµ, áá¥áá±á á áá³á á áµááá° (ááᜠááá).
áš TSX áá¥ááµ ášá°ááá°áá á®áµ á áááášáµ á á¥áá ááá ášááœá áááá ááááá£áᢠ"ááᜠášáá á ááµ ááµáášáµ" ášáá á°áá®ááá á¥á±á á¢ášá³á°áá áášá»á áµá¬á³á á¥áá°ááá á°ášáµá·áᢠáá¹ á°áá£á¢-á¥á» ášááᣠáá¥áá± ášáá áááá áš"ááᜠá ááµ ááµáášáµ" á áá á áá áµá á°áµ ááá¢
áá áš TSX ááá áá á ááá á°á á¥á© ášáá áá á£á ᪠á áá (á áááµáá á áááá áá£áªáᜠáášá³á°á ášááá»á ášááá á á°ášááª) ááá ášáá á°áš áµááµá³ áµá¥ááᜠášááážááµ áá¥áá± ášá°á³á« ášáá á¥á» áµááá ᣠáá¥áá± á¥áá²á ááá ááµáá°áµ ášá°áá°ážá ášáá á°áš áµááµá³ áááµ á«ášááá£áᢠá³áááᥠááá«á.
ášááá£á áªá« áá°áµá áááá á áá
ášá€áááá áš ROP á¥ááµá á²ááœá - ášá°ááá·á áš ROP á¥áá¶áœ á á°ááš - á á¥áá á á°á áá áá®áá«á ááµá¥ ááá á áááµ á³áá«ááœá á³áá áá áš RIP ááááá¢á«áá ááá£á á ááœááᢠá á¥á á áá¥á³ ááá áá ášá°ášáážáá áš RIP ááááá¢á« áá ááá ááœááᢠá á°ááá ášáá á áááᥠáá á á«á± ROP á°áá°ááµ áá°á«áµ ááœáá.
ááá ááᣠᚠROP á°áá°áá± ášá á ášááᣠášá áµá°ááá á ááá¬áœáá ááá á ááµ áµáá áá«á ááá ášááᥠá¥áá¹ááµá á¥á á«áá°á á á ášáá®áá«á á£á áªá áá«áµášáµá ááœááᢠá¥áá±á á áµá¥á áááážá ášááááá áá«á³á£ á áá ááá³ á áášá«áᢠáµááá ᣠáá«á± ášáážáµ ááá«á ááá áá¬á ááá¥á«á á¥á á ááµá¡ ROP á°áá°ááµ á«ášáá»áᢠášáá°áµ ááá áá¬á á áááá° áá»á á ááœá ášááµá³áá» áŠá³ áá á°ááá§áᣠáá á á¥ááá°áá ááá á³áá áᜠááá«áá¢
ášáá ášá°áášáá©áµ á¶áµáµ á áááᜠááá á°á áá áá°á£á?
(á©) á ááááªá«á£ á°áá®ááá á ááá ᥠáá»á á¥áá°áá ááášáµ á áµá«á»ááœá áááá°áœ áá¥ááᣠ- á ááá£á¥ á¥á á áá ášááá áš ROP ááá¥á®áœá ášá áµá°áááá áá°áá áªá« áááááá¢
(2) ášáá«á á ááá»á á áµá«á»ááœá áááá°áœ áá¥áá, - á°áá®á á áá áááá« á á áµá°ááá á ááá¬áœá áá á°áš áµááµá³ ááµá¥ áááá« áááµ á°áµáá ášáááµá áŠá³áᜠááá«á.
(3) á ááá áᣠáááá«á á á°ášá (1) ášá°áááµ ááá¥á®áœ áš ROP á°áá°ááµ ááá¥á«á á¥á áá áá á°áá°ááµ áá° á áµá°ááá áá°áá áªá« ááá ááµá¥ á«áµáá£áá¢
(4) á áášášá»á ášá áµá°ááá á ááá¬áœá á áá°áá á°ášá ášá°áá ášáá áš ROP á°áá°ááµ á²á«áá¥áá á°áá®á á áá áááµ áááá áááá«á - á á áµá°ááá á ááá¬áœá áá© áá¥á¶áœ á¥á ášáµáááµ á¥áªááœá ášááµášá áœáá³á¢
á«áááªá áááá á á ááµ áá á°á á¥ááá á á áááᜠá¥ááŽáµ á¥áá°áá áá
ášá áµá°ááá á ááá¬áœá áá¥á¥áá áš ECALL áᜠá á áá± á á©á á«áµá°ááá á áá (áá áááá« á°áá®á á áá á¥áá°áá á³áá á«á á)ᣠá°áá®á-á áá á¢áááá á á áµá°ááá áá°áá áªá« áá á°áš áµááµá³ ááµá¥ áá áŠá³ ááááá ᣠá®áµ áááµáá£áµ (ášá¥ááá«á ášáŽáᜠá á°á á°ášá°áᜠá¥áá° áá áŠá³áᜠáááµá³á) á áá®áᜠášá°áá). ášáá«á á á©á ááá ᥠáá»á á¥áá°áá ááášáµ á áµá«á»ááœá áááá°áœ áá¥áá, - á¢áááá á á áµá°ááá á ááá¬áœá ááµá¥ áá°áá á© ášááœá ááŸáœá ááááá á¥á ROP á°áá°ááµ á«ááá«á á áá á£áá ááá« ááµá¥ "RANSOM" ášáá á á²áµ ááá ááá¥á«á (á á¥ááá°á á¥ááµ ááµá¥ á¢ááááá á«ááµá ášá°á áá áááᜠá«áá³á áš) á¥á ášá€á ááá¥ááµ á«á³á«áᢠá á°áá³á³á áá ášá áµá°ááá á ááá¬áœá á¢áááá á ááá áááµ áá¥á®áœá á¥ášášááš áá á¥á á«áááᢠáá á á®áµ ááµá¥ áá áááµáá?
ááááဠáááááµá£ á áµáááá¹ á á©á á áá³ááµ ááááá®áœá á¥ááµá°ááá á¡-
ááá«áá ášášášáµá á áá ášá áµá°áááá áá°á á áµá« áá°áá ášá áµ áááááµ áš RSP á¥á RBP ááááŠáœá ášááááªá« ááááœá á¥ááµááá£ááá¡
á°áµáá ášáá ášááá áá¬á á¥ášáááá áá ("ášáá¥á¥á áá°áµá áááá«áµ áá¥áá" á ááá ááá ááµá¥ á«ááá á®áµ áááášá±)á¢
á°áµáá áš ROP ááá¥á®áœá ááááµá¡-
ááá±á ášáááá áµ áŠá³ ááááá¡-
áš ROP á°áá°ááµ á¥áááá£áá-
á°áá®á á áá áá®áá«ááœá ááášáášá ášá°áá°áá ášá¢ááŽá á€áµáá€ááµ áŽáááá á°áá«á ááŠáœá ááá³á«áµ á áá á°áᜠášáá ááá á áá ááááµ ááá¢
ááá: hab.com