REKLAMA

PROGRAMISTA 05/2016 (48) – Kontrola integralności

Czyli jak się upewnić, czy 2+2 nadal wynosi 4

W życiu każdego programu nadchodzi moment, kiedy musi opuścić przytulne miejsce na dysku programisty i wyruszyć w świat, podbijając serca użytkowników swoją funkcjonalnością i interfejsem. Świat jest jednak niebezpiecznym miejscem, przepełnionym ludźmi, którzy będą chcieli zobaczyć, co jest w środku, jak działa i czy przypadkiem nie mogą mieć tego za darmo. Zakładając, że nasz program nie jest z gatunku Open Source, możemy „nauczyć” go kilku technik obrony. Jedną z nich jest tytułowa kontrola integralności, pozwalająca na wykrycie popularnych sposobów analizy i modyfikacji oprogramowania.

Zagadnienia poruszane w tym artykule:

  • ZANIM ZACZNIEMY;
  • CO POTRAFI NASZ PROGRAM?
  • CZEGO NIE POTRAFI NASZ PROGRAM?
  • JAK ZROBIĆ, ŻEBY 2+2 NIE WYNOSIŁO 4?
  • JAK SPRAWDZIĆ, CZY KTOŚ GRZEBAŁ NAM ŚRUBOKRĘTEM W MÓZGU? m.in.: 01_checksum.c – plik bazowy z dodaną sumą kontrolną, patch.py – skrypt liczący i aktualizujący sumę kontrolną; kompilacja, wywołanie i debugowanie programu bez sumy kontrolnej;
  • CZY JESTEŚMY JUŻ BEZPIECZNI? m.in.: Przypisanie wskaźnika funkcji do listy inicjalizatorów;
  • A CO, JEŚLI NIE DZIAŁA?

Artykuł pochodzi z miesięcznika "Programista" nr 05/2016 (48). Jest to wydanie czerwiec/lipiec. Szczegółowy spis treści tego wydania: http://programistamag.pl/programista-05-2016-48

>>POBIERZ FRAGMENT TEGO ARTYKUŁU<<

Autorem artykułu jest 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.

kontrola2