Dziś jak zwykle o bezpieczeństwie, ale tym razem użyczam łamów Tomkowi Sałacińskiemu z CERT Orange Polska:
O tym, że nawet teoretycznie "dobry" kod może uczynić użytkownikowi dużo szkód powie Wam każdy, kto projektował exploity na współczesne systemy. Na pewno napomknie wtedy o technice ROP (ang. Return-Oriented Programming). Metoda ta polega na tym, że z całego dostępnego "dobrego" kodu (np. bibliotek do przetwarzania multimediów, kodowania znaków, obsługi innych rozszerzonych funkcji programu) wycina się fragmenty, które łączy się w "zły" kod (np. udzielający dostępu do systemu hakerowi). To tak, jakby projektant rozwiązywał problem polegający na tym, aby ze wszystkich instrukcji, jakie może znaleźć (np. przepisy kulinarne, instrukcje obsługi pralki) wyciąć ich fragmenty i skleić w całość, która będzie stanowiła instrukcję, jak zbudować bombę.
Podobne metody są stosowane nie tylko przy projektowaniu exploitów, korzystają z nich również gotowe programy posiadające funkcje koni trojańskich, instalowane po włamaniu do systemu, by utrudnić zarówno automatyczną jak i ręczną analizę. Z przykładem takich programów zetknęliśmy się przy analizie jednej z kampanii phishingowych prowadzonej przeciwko naszym Klientom. Część wyników analizy okazało się na tyle interesujące, by ją Wam nieco przybliżyć. Ze względu na to, że jest dość spora - ściągniecie ją w pliku PDF.