Silnik Polimorficzny Poly

Silnik Polimorficzny Poly pozwala zaszyfrować dowolne dane losowo wygenerowanym algorytmem szyfrowania i wygenerować zmutowany kod deszyfrujący x86.

Co to jest silnik polimorficzny?

Silnik Polimorficzny Poly to biblioteka programistyczna, stworzona do szyfrowania danych. Różni się ona od innych bibliotek szyfrujących unikalną funkcjonalnością, która polega na tym, że algorytm szyfrowania jest każdorazowo dynamicznie generowany i składa się z losowo dobranych operacji szyfrujących, a w samym procesie szyfrowania, do wyjściowych zaszyfrowanych danych, doklejany jest każdorazowo kod w architekturze procesora Intel x86 odpowiedzialny za odszyfrowanie bloku danych.

Silnik Polimorficzny

Silnik Polimorficzny Poly to jedyny dostępny na rynku, komercyjny silnik polimorficzny. Jest to wysoce specjalizowane rozwiązanie kryptograficzne stosowane w produktach zabezpieczających oprogramowanie przed złamaniem oraz inżynierią wsteczną (ang. reverse engineering). Ze względu na bardzo skomplikowany charakter nie są one powszechnie dostępne, a stworzenie ich wymaga specjalistycznej wiedzy z niskopoziomowego programowania w assemblerze oraz bardzo dokładnego przetestowania.

Bezpieczeństwo

Bezpieczeństwo

Wykorzystanie silnika polimorficznego sprawia, że dane za każdym razem są zaszyfrowane innym, losowo generowanym algorytmem i nie jest możliwe stworzenie uniwersalnych metod deszyfracji. Wygenerowany kod deszyfrujący jest zabezpieczony przed inżynierią wsteczną poprzez mutację instrukcji i obfuskację.

Stabilność

Stabilność

Silnik Poly stosowany jest od wielu lat w naszym systemie zabezpieczającym oprogramowanie przed złamaniem PELock, jest to stabilne i sprawdzone w warunkach produkcyjnych rozwiązanie, wykorzystane w tysiącach aplikacji zabezpieczonych PELock-iem, z których korzystają setki tysięcy użytkowników.

Łatwość użycia

Łatwość użycia

Silnik polimorficzny dostępny jest w formie 32 bitowej biblioteki LIB lub DLL oraz w postaci kodów źródłowych. Silnik nie jest zależny od żadnych dodatkowych bibliotek, ani nie korzysta z funkcji systemowych. Dołączone są do niego uniwersalne interfejsy programistyczne dla języków programowania C/C++, Delphi oraz Assembler.

Kompatybilność

Kompatybilność

Wygenerowany kod deszyfrujący jest kompatybilny zarówno z najstarszymi jak i najnowszymi procesorami x86 i x86-64 oraz jest niezależny od wersji systemu operacyjnego, gdyż nie wykorzystuje w swoim działaniu jakichkolwiek odwołań do funkcji systemowych.

Zastosowanie silnika polimorficznego

Silnik Polimorficzny Poly znajdzie zastosowanie we wszelkich systemach szyfrowania czy zabezpieczenia aplikacji przed złamaniem oraz inżynierią wsteczną (ang. reverse engineering).

Narzędzia zabezpieczające oprogramowania
Zabezpieczenia oprogramowania
Zabezpieczenia antypirackie DRM
Zabezpieczenia antypirackie DRM
Systemy szyfrujące
Systemy szyfrujące
Szyfrowanie shellcode
Szyfrowanie shellcode

Silniki polimorficzne są powszechnie używane w takich narzędziach jak exe-protectory, virtualizery czy cryptery.

Są również wykorzystywane w szyfratorach shellcode do ukrycia statycznych sygnatur powszechnych shellcode przed systemami IDS oraz oprogramowaniem antywirusowym.

Wykorzystanie silnika sprawia, że nie jest możliwe stworzenie uniwersalnych narzędzi deszyfrujących dla bloków danych czy też samego kodu zaszyfrowanego w ten sposób. Wynika to z faktu iż algorytm szyfrujący i wygenerowany kod jest każdorazowo inny, nie ma tutaj także stałego klucza szyfrującego, dodatkowo mutacja i obfuskacja kodu deszyfrującego skutecznie utrudniają analizę algorytmu deszyfrującego.

Lepsze szyfrowanie

Szyfrowanie polimorficzne znakomicie sprawdzi się także we wszelkiego rodzaju aplikacjach, gdzie chcemy ukryć w postaci zaszyfrowanej fragmenty danych, tekstów, komunikatów czy zawartość dodatkowych plików aplikacji.

Wygenerowany kod deszyfrujący Silnika Polimorficznego Poly
Wygenerowany kod deszyfrujący Silnika Polimorficznego Poly.

Ochrona przed modyfikacją

Wykorzystanie silnika polimorficznego pozwoli również ochronić się przed niechcianą modyfikacją zaszyfrowanych treści, gdyż zastosowanie konwencjonalnych symetrycznych algorytmów szyfrujących pozwala zarówno na odszyfrowanie danych jak i ich ponowne zaszyfrowanie, gdzie atakujący może odszyfrować ukryte dane, zmodyfikować je i ponownie zaszyfrować (przykładowo modyfikując zaszyfrowane, dodatkowe pliki aplikacji). W przypadku silnika polimorficznego zadanie te jest bardzo utrudnione ze względu na losowy charakter algorytmu szyfrującego oraz zabezpieczenia zastosowane w kodzie deszyfrujących takie jak mutacja instrukcji deszyfrujących oraz dodatkowo wstawione instrukcje zaciemniające działanie kodu.

Masz pytania?

Jeśli masz jakieś pytania dotyczące Silnika Polimorficznego Poly, masz jakieś uwagi, coś jest niejasne, napisz do mnie, chętnie odpowiem na każde Twoje pytanie.