REKLAMA

Zaciemnianie kodu…

...czyli jak eing6atya9zcću$indź@urtu

Pani w szkole zawsze powtarzała, że kod musi być ładny i prosty do zrozumienia, bo to ułatwia pracę nam i innym. Nie myślała jednak o tym, że „inni” nie ograniczają się tylko do ludzi z naszego zespołu, ale obejmują także wszystkich próbujących sprawdzić, w jaki sposób działa nasz algorytm wyboru najlepszego kapelusza na podstawie zawartości naszej szafy i ostatnich wpisów na blogach modowych, lub też w jaki sposób sprawdzamy, czy wprowadzony klucz licencyjny jest poprawny. W niniejszym artykule chcielibyśmy zaprezentować metody obfuskacji, które sprawią, że analiza naszego kodu nie sprowadzi się do prostego użycia deasemblera/dekompilatora, ale pochłonie znacznie więcej czasu, pieniędzy, krwi i potu atakującego.

Zagadnienia poruszane w tym artykule:

  • Transformacje kod maszynowy -> kod maszynowy;
  • Popularne metody;
  • Zmiana nazw;
  • Control flow flattening – spłaszczanie grafu sterowania przepływem;
  • Dummy code – kod śmieciowy;
  • Losowa kolejność bloków;
  • Opaque predicates;
  • Łączenie funkcji;
  • Przekształcenia plików wykonywalnych;
  • Modyfikacja plików wykonywalnych EXE;
  • Format plików PE;
  • Dodawanie kodu do plików PE;
  • Wykonywanie kodu w plikach PE;
  • Przykłady zaciemniania kodu w plikach EXE;
  • Minusy obfuskacji;
  • Przydatne projekty.

Artykuł znajduje się w miesięczniku "Programista" nr 07/2016 (50). Jest to wydanie sierpień/wrzesień. Szczegółowy spis treści tego wydania: http://programistamag.pl/programista-07-2016-50

Autorzy artykułu

arielAriel “ariel” Wasteskeen – pasjonat inżynierii wstecznej oraz wszelkiego rodzaju urządzeń wbudowanych. Pracuje dla firmy Check Point Software Technologies jako Malware Researcher. Często zajmuje się tak zwanymi “Advanced Persistent Threat” (APT) oraz technikami (anti) sandbox evasion. Ostatni research, dotyczący znalezionych bugów, które prowadzą do unikania piaskownicy Cuckoo Sandbox, zostanie przedstawiony na tegorocznej edycji konferencji Virus Bulletin w Denver. W wolnych chwilach podróżuje do dziwnych miejsc, wyciąga marchewki razem ze Snatch The Root oraz nagrywa wideokurs o temacie inżynierii wstecznej złośliwego oprogramowania dla początkujących (można znaleźć tu: http://bit.ly/2a0F8CY).

z Michał “Z” Żuberek – Wrocławianin mieszkający w Oslo. Przez ostatnie kilka lat zajmował się tworzeniem zabezpieczeń dla telewizji online w firmie Conax. Obecnie pracuje dla Blue Coat przy piaskownicy do analizy szkodników żyjących w systemach operacyjnych spod znaku jabłka. Poza pracą w wolnych chwilach zajmuje się na przemian spaniem i graniem w CTFy z polską drużyną Snatch The Root.

>>POBIERZ FRAGMENT TEGO ARTYKUŁU<<

50_foto1_750