Reverse engineering w bezpieczeństwie IT
wtorek, 09 listopad 2010
Reverse engineering jest także szeroko używane w dziedzinie oprogramowania, ze szczególnym zastosowaniem w bezpieczeństwie IT, przy analizie złośliwego oprogramowania (malware).
Tak zwani „rewerserzy" zajmują się odkrywaniem, w jaki sposób działa malware, m.in.: robaki sieciowe, trojany, trojany bankowe w zainfekowanym systemie.
Do tej pory inżynierią wsteczną w dziedzinie bezpieczeństwa IT zajmowało się bardzo wąskie grono specjalistów. Jest to skutkiem głównie tego, że wiedzę w tym zakresie można było zdobyć jedynie przez wiele lat samodzielnej pracy i uczenia się na błędach, ale także i ograniczeń prawnych funkcjonujących w niektórych krajach. Inżynierii wstecznej nie można się też nauczyć w ramach tradycyjnych programów studiów programistycznych, gdyż znacznie wykracza ona poza ich zakres.
W odpowiedzi na rodzące się na polskim rynku zapotrzebowanie na tego rodzaju wiedzę, Compendium Centrum Edukacyjne przygotowało zestaw szkoleń informatycznych, które pozwalają rozwijać się specjalistom w kierunku profesjonalnego reverse engineering.
Kursy reverse engineering w Compendium CE:
- Programowanie w asemblerze
- Analiza malware - bahawioralna
Nie jest możliwe analizowanie kodu bez znajomości niskopoziomowego języka maszynowego, dlatego pierwszym etapem jest nauka assemblera. Następny, polega na detekcji oraz analizie zachowań malware'u. Na końcu uczestnicy szkoleń IT uczą się budować wirtualne środowiska służące do dokładnego przebadania znalezionego malware'u w zainfekowanym systemie. Wszystkim procesom analizy towarzyszy poznawanie narzędzi, serwisów online oraz metodologii niezbędnych w walce z złośliwym oprogramowanie.
Ze względu na możliwe zastosowania, reverse engineering w wielu krajach jest techniką nielegalną. Przykładowo w Stanach Zjednoczonych często jest zabroniona ze względu na licencje, które tego zakazują. W Unii Europejskiej Dyrektywa o Prawnej Ochronie Programów Komputerowych zezwala na stosowanie tej technologii w celu badania interoperacyjności oprogramowania, jednak zakazuje w celu stworzenia konkurencyjnych produktów. Rezultatów uzyskanych z zastosowania inżynierii wstecznej nie wolno upubliczniać.