• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Cracker - haker komputerowy



    Podstrony: [1] 2 [3]
    Przeczytaj także...
    Technika odwracania, inżynieria odwrotna, inżynieria wsteczna, programowanie zwrotne (ang. reverse engineering) to proces badania produktu (urządzenia, programu komputerowego) w celu ustalenia jak on dokładnie działa, a także w jaki sposób i jakim kosztem został wykonany. Zazwyczaj prowadzony w celu zdobycia informacji niezbędnych do skonstruowania odpowiednika. Innym zastosowaniem jest porównanie lub zapewnienie współdziałania z własnymi produktami. Uwaga: inżynierii wstecznej nie należy mylić z business process reengineering czy z reengineeringiem oprogramowania, którego to inżynieria odwrotna jest tylko etapem wstępnym.Haker (ang. hacker) – osoba, która wyszukuje i ewentualnie wykorzystuje dziury bezpieczeństwa w oprogramowaniu komputerowym. Może też dzięki nim uzyskiwać dostęp do zabezpieczonych zasobów. W 2011 roku hakerzy poznali 174 mln rekordów w 855 atakach.
    Łamanie zabezpieczeń oprogramowania[ | edytuj kod]

    Łamanie zabezpieczeń opiera się tu o reverse engineering. Cracker operuje na kodzie binarnym, który poddaje dezasemblacji za pomocą narzędzi takich jak IDA czy w32Dasm i analizie na poziomie asemblera. Często śledzi działanie programu bezpośrednio w pamięci z użyciem debugera (np. SoftICE, OllyDbg). Wymaga to dobrej znajomości architektury procesora, wykorzystywanych przez oprogramowanie funkcji API, a także samego systemu operacyjnego.

    RSA – jeden z pierwszych i obecnie najpopularniejszych asymetrycznych algorytmów kryptograficznych z kluczem publicznym, zaprojektowany w 1977 przez Rona Rivesta, Adi Shamira oraz Leonarda Adlemana. Pierwszy algorytm, który może być stosowany zarówno do szyfrowania jak i do podpisów cyfrowych. Bezpieczeństwo szyfrowania opiera się na trudności faktoryzacji dużych liczb złożonych. Jego nazwa pochodzi od pierwszych liter nazwisk jego twórców.Kryptologia (z gr. κρυπτός – kryptos – "ukryty" i λόγος – logos – "słowo") – dziedzina wiedzy o przekazywaniu informacji w sposób zabezpieczony przed niepowołanym dostępem. Współcześnie kryptologia jest uznawana za gałąź zarówno matematyki, jak i informatyki; ponadto jest blisko związana z teorią informacji, inżynierią oraz bezpieczeństwem komputerowym.

    Zabezpieczenia kryptograficzne wykorzystujące algorytmy szyfrowania (np. RSA) czy funkcje skrótu (np. MD5) są łamane bardzo rzadko, gdyż zazwyczaj jest to czasochłonne i praktycznie niemożliwe. W takich przypadkach zabezpieczenia obchodzi się, wyłączając ich wywołania w kodzie programu (zwykle wstawiając instrukcje puste, tzw. nopowanie, od ang. no operation). W celu utrudnienia działania crackerom stosuje się kompresję plików binarnych, sprawdzanie sumy kontrolnej, kod polimorficzny, metody ochrony przed dezasemblacją i debugowaniem, a także metody wykrywania debugerów i innych typowych narzędzi wykorzystywanych przez crackerów.

    CrackMe (dosłownie "złam mnie") to mały program stworzony wyłącznie w celu złamania jego zabezpieczenia (lub zabezpieczeń), czyli odgadnięcie klucza, odpowiednie spreparowanie kodu wykonywalnego itp. Pisany najczęściej przez jednego crackera dla innych crackerów w celu sprawdzenia umiejętności inżynierii odwrotnej.Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.

    Najczęściej łamane typy zabezpieczeń oprogramowania to: ograniczenia czasowe, ilościowe lub funkcjonalne (wersje trial), tzw. nag screens (ekrany przypominające o niepełnowartościowym oprogramowaniu i kupieniu pełnej jego wersji) i okna reklamowe, numery seryjne, pliki klucza, sprawdzanie obecności klucza sprzętowego lub płyty CD.

    Czasownik – odmienna oraz samodzielna część mowy przedstawiająca dziejące się czynności oraz niektóre stany. W zdaniu tworzy orzeczenie. Czasowniki są nazwami czynności jakie wykonują w danym czasie istoty żywe, narzędzia lub maszyny, oraz nazwami stanów, w jakich te istoty bądź przedmioty się znajdują. Nie w każdym języku da się wyróżnić jasną klasę czasowników, np. w języku japońskim przymiotniki mają wiele właściwości charakterystycznych dla czasowników.SoftICE – znany debugger dla systemu Windows (95/98/NT/2000/XP), oferujący duże możliwości. Umożliwia śledzenie wykonywania kodu, ma wbudowanego disassemblera. Działa w niskopoziomowym trybie jądra (kernela), przez co umożliwia debugowanie sterowników, jest też często wykorzystywanym narzędziem do łamania zabezpieczeń programów (nag-screen, rejestrowanie, CD-protection itp.)

    Łamanie zabezpieczeń serwerów[ | edytuj kod]

    Zwykle łamanie zabezpieczeń sprowadza się do wykorzystania gotowych programów wykorzystujących luki w oprogramowaniu zainstalowanym na serwerze (tzw. exploitów) lub popularnych metod ataku na aplikacje webowe (np. SQL injection). O ile pierwsza metoda wymaga jedynie znajomości wersji oprogramowania na serwerze i może być stosowana bez wiedzy o zasadach wykorzystania luki (częste działanie tzw. script kiddies), o tyle druga wymaga dużej wiedzy i doświadczenia. Stąd o wiele łatwiejsza jest obrona przed script kiddies: w ogólności wystarczy aktualizować w porę wykorzystywane oprogramowanie. Zdolny cracker potrafi natomiast sam przeanalizować serwer pod kątem luk w zabezpieczeniach, pisać własne exploity czy nawet tworzyć zupełnie nowe metody ataku.

    Interfejs programowania aplikacji (ang. Application Programming Interface, API) – sposób, rozumiany jako ściśle określony zestaw reguł i ich opisów, w jaki programy komunikują się między sobą. API definiuje się na poziomie kodu źródłowego dla takich składników oprogramowania jak np. aplikacje, biblioteki czy system operacyjny. Zadaniem API jest dostarczenie odpowiednich specyfikacji podprogramów, struktur danych, klas obiektów i wymaganych protokołów komunikacyjnych.SQL Injection (z ang., dosłownie zastrzyk SQL) – luka w zabezpieczeniach aplikacji internetowych polegająca na nieodpowiednim filtrowaniu lub niedostatecznym typowaniu i późniejszym wykonaniu danych przesyłanych w postaci zapytań SQL do bazy danych. Podatne są na niego systemy złożone z warstwy programistycznej (przykładowo skrypt w PHP, ASP, JSP itp.) dynamicznie generującej zapytania do bazy danych (MySQL, PostgreSQL itp.). Wynika on zwykle z braku doświadczenia lub wyobraźni programisty.


    Podstrony: [1] 2 [3]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Test penetracyjny – proces polegający na przeprowadzeniu kontrolowanego ataku na system teleinformatyczny, mający na celu praktyczną ocenę bieżącego stanu bezpieczeństwa tego systemu, w szczególności obecności znanych podatności i odporności na próby przełamania zabezpieczeń. Polega na analizie systemu pod kątem występowania potencjalnych błędów bezpieczeństwa spowodowanych niewłaściwą konfiguracją, lukami w oprogramowaniu lub sprzęcie, słabościami w technicznych lub proceduralnych środkach zabezpieczeń, a nawet niewystarczającą świadomością użytkowników. Analiza ta jest przeprowadzana z perspektywy potencjalnego włamywacza i może zawierać aktywne wykorzystywanie podatności (np. poprzez użycie exploitów). Podstawową cechą odróżniającą test penetracyjny od włamania jest zgoda atakowanej strony na tego rodzaju działania, ponadto osoba przeprowadzająca test (zwana Pentesterem) jest zobowiązana do przedstawienia raportu dokumentującego znalezione podatności (często wraz ze sposobami ich usunięcia i rekomendacjami podnoszącymi bezpieczeństwo testowanego systemu). Test penetracyjny ma potwierdzać brak podatności w systemie oraz skuteczność zabezpieczeń w implementacji produkcyjnej lub możliwie najbardziej zbliżonej do rzeczywistej.
    MD5 (z ang. Message-Digest algorithm 5 – Skrót wiadomości wersja 5) – algorytm z dziedziny kryptografii. Jest to popularna kryptograficzna funkcja skrótu, która z dowolnego ciągu danych generuje 128-bitowy skrót.
    Społeczność hakerów tworzy grupy programistów, którzy dzielą się kodem źródłowym, wymieniają osiągnięcia i uczą się wzajemnie "sztuczek" lub lepszych sposobów programowania. "Hakowanie" w tym znaczeniu nie ma dla nich żadnego niszczycielskiego wydźwięku, co więcej, oznacza sprytne i użyteczne rozwiązywanie problemów związanych z komputerami.
    Interactive Disassembler (znany powszechnie jako IDA) – program wyprodukowany przez firmę Hex-Rays, który umożliwia deasemblację innych programów działających w systemie Linux, OS X lub Windows. Program najczęściej wykorzystywany jest w ramach inżynierii odwrotnej (także w crackingu oprogramowania). Ponieważ Interactive Disassembler ma otwartą architekturę, więc może być rozszerzony przez produkty firmy trzecich. Firma Hex-Rays wyprodukowała dekompilator nazwany Hex-Rays Decompiler, który jest przykładem takiego rozszerzenia.
    Oprogramowanie zamknięte, prawnie zastrzeżone (ang. proprietary software) – oprogramowanie objęte restrykcjami dotyczącymi używania, kopiowania lub modyfikacji, rozpowszechniane zwykle w postaci binarnej, bez kodu źródłowego. Pojęcie przeciwstawne oprogramowaniu Open Source lub Wolnemu Oprogramowaniu.
    OllyDbg – okienkowy debuger na platformę x86 napisany przez Oleha Yuschuka w roku 2000. OllyDbg jest programem wolnym od opłat, pomimo iż jego licencją jest Shareware. OllyDbg umożliwia prosty sposób poszerzania swoich możliwości poprzez sprawny system wtyczek.
    Cracking – dziedzina informatyki zajmująca się łamaniem zabezpieczeń oprogramowania. Cracking dokonywany jest niemal zawsze z naruszeniem praw autorskich, a tym samym nielegalnie. Zasadniczo wyróżnia się dwa typy crackingu:

    Reklama

    Czas generowania strony: 0.023 sek.