Świat programowania to cały wszechświat, który ma nie tylko swoją historię i tradycje, ale także całą kulturę, której częścią jest język. Jednocześnie hakerzy, z pewnością jedna z najciekawszych części tego świata, mają swój własny żargon, charakterystyczny tylko dla nich. To właśnie ten „przysłówek” zostanie omówiony dalej.

Od suxx do rulezzz

Na początek warto porozmawiać o samym słowie „haker”, które oznacza osobę, która w tym czy innym (czasem szlachetnym) celu hakuje programy, strony internetowe, konta, komputery i wiele więcej. Jednocześnie początkowo hakerami byli ci programiści, którzy eliminowali błędy w kodzie prostymi, choć nie najpiękniejszymi z punktu widzenia języka programowania, metodami.

W tym samym czasie korzenie hackowania trafiły do ​​kultury od hippisów. Czasownik hack można przetłumaczyć na rosyjski jako „wejdź w to”.

Słowo „Backdoor” (od angielskiego „Backdoor” – czarne wejście) i wywodzący się z niego czasownik „backdoor” oznacza dla hakera specjalne oprogramowanie, które odmawia mu dostępu do pożądanego „samochodu”. A „samochód” z kolei oznacza komputer osobisty, obiekt do włamań. Hakerzy nazywają inne programy pomocnicze „Narzędziami” (od angielskiego „narzędzia” - narzędzia). To także hakerzy ukuli wyrażenie „wpaść w korę”, które oznacza nieoczekiwane zakończenie programu.

Czasownik „atakować” i jego pochodne oznaczają przeprowadzenie ataku na serwer, którego skutkiem jest awaria w jego działaniu. Hakerzy nazywają „demonem” nie mityczne stworzenie, ale program znajdujący się w pamięci RAM i niewidocznie wykonujący swoją pracę. Kod źródłowy nosi nazwę „Raw”. Za tak dysonansową nazwę odpowiada angielskie słowo „Source”.

Doświadczeni użytkownicy, którzy posiadają pewien zakres wiedzy na temat hakowania, nazywani są „krakerami” („łamanie” przez profesjonalistów). Programy skanujące ruch sieciowy nazywane są „snifferami”.

Są jeszcze inne słowa, które już dawno weszły do ​​świata programistów, po części ze słownika hakerów:

  • Suxx (saksofon) jest do bani.
  • Bug to błąd.
  • Napraw - napraw.
  • Udostępnij — udostępnij publicznie.
  • Okna – Okna.
  • Carlson to chłodziarka komputerowa.
  • Lamer to osoba, która nie rozumie „tematu”, ale często chce sprawiać wrażenie takiego.
  • Rulezz jest fajny, przeciwieństwo Suxx.

Oczywiście to nie wszystkie słowa i wyrażenia używane przez hakerów. Ich język jest bardzo bogaty, a co najważniejsze, stale się rozwija, zdobywając nowe sformułowania, które tylko oni rozumieją. Jeśli jednak w swoim życiu zetkniesz się ze środowiskiem hakerskim, bardzo przydatne będzie dla Ciebie choćby ogólne zrozumienie języka hakerów!

Programowanie jest głównym narzędziem hakera. Jeśli nie znasz jeszcze żadnego języka komputerowego, to polecam zacząć od Pythona. Jest przejrzyście zaprojektowany, dokładnie udokumentowany i stosunkowo przyjazny dla początkujących. Pomimo przyjaznego podejścia do początkujących, nie jest to tylko zabawka, ale bardzo potężne i elastyczny język, który doskonale sprawdza się przy dużych projektach.Pisałem już bardziej szczegółową ocenę Pythona. Na stronie Pythona znajduje się doskonały przewodnik dla początkujących i oficjalny samouczek, a doskonałe samouczki można znaleźć także gdzie indziej, jednym z nich są Koła Informatyki.

Kiedyś polecałem Javę jako język do wczesnej nauki, ale po tych krytycznych opiniach zmieniłem zdanie (patrz też: „Pułapki Javy jako pierwszego języka programowania”). Haker nie może podejść do problemu tak, jak rozwiązuje go hydraulik w sklepie, musi wiedzieć, co dokładnie robi każdy komponent. Dlatego teraz jestem zdania, że ​​lepiej byłoby na początku uczyć się języków C i Lisp, a dopiero potem Javy.

Być może istnieje bardziej ogólne podejście do tej kwestii. Kiedy masz dobre narzędzie do stworzenia czegoś, ale jest na to za dużo języka i nauczenie się go jest trudne. Z zadaniem poradzą sobie nie tylko języki programowania, ale także różne frameworki internetowe, takie jak RubyOnRails, CakePHP, Django mogą łatwo rozwiązać zadanie, ale pozostawią Cię z powierzchowną wiedzą i nie będziesz w stanie rozwiązać bardziej złożonego problemu ani zrozumieć problem, jeśli jest szybki i łatwe rozwiązanie nie będzie działać poprawnie.

Jeśli zdecydujesz się zagłębić w poważne programowanie, musisz poznać rdzeń systemu operacyjnego Unix - język C (wymawiane Si). C++ (wymawiane Miejsce nad morzem) jest bardzo blisko spokrewniony z C, jeśli znasz jeden, to nauczenie się drugiego nie będzie trudne. Chociaż nie są to języki dla początkujących. I tak naprawdę, im bardziej będziesz unikać programowania w C, tym bardziej będziesz produktywny.

C jest bardzo wydajny i bardzo ekonomiczny pod względem zasobów maszynowych. Jednak użycie języka C będzie skuteczne tam, gdzie wymagane jest ręczne zarządzanie zasobami niskiego poziomu, takimi jak pamięć. Cały ten niskopoziomowy kod jest złożony i łatwy do popełnienia błędów, a także wymaga ogromnej ilości czasu na debugowanie (znajdowanie i naprawianie błędów). Biorąc pod uwagę możliwości współczesnych komputerów, można podjąć decyzję kompromisową – mądrzej jest wybrać język, który mniej efektywnie wykorzystuje zasoby komputera, ale więcej efektywne pod względem czasu poświęconego na wdrożenie. Tym kompromisem jest Python.

Inne języki mające ogromne znaczenie dla hakerów to Perl i LISP. Perla warto uczyć się ze względów praktycznych: jest on bardzo szeroko stosowany do aktywnych stron internetowych i administrowania systemami, więc nawet jeśli nigdy nie będziesz musiał pisać Perla, powinieneś nauczyć się go czytać. Wiele osób używa w tym celu Perla, ja jednak radzę używać Pythona i unikać programowania w C, chyba że zadanie wymaga ekonomicznego wykorzystania zasobów maszyny. Musisz zrozumieć taki kod.

LISP-a warto uczyć się z jeszcze jednego powodu - zdobędziesz głęboką wiedzę ucząc się tego języka do końca. Ta wiedza sprawi, że będziesz doskonałym programistą do końca życia, nawet jeśli tak naprawdę nigdy nie będziesz używał samego LISP-a. (Początkowe umiejętności programowania w LISP można zdobyć dość łatwo, tworząc i modyfikując rozszerzenia do edytora tekstu Emacs lub tworząc wtyczki Script-Fu do GIMP-a).

Tak naprawdę lepiej jest nauczyć się wszystkich pięciu języków: Pythona, C/C++, Java, Perla i LISP-a. Oprócz tego, że są najważniejszymi językami hakerskimi, demonstrują bardzo różne podejścia do programowania, a każdy z nich uczy wartościowych podejść.

Pamiętaj jednak, że do poziomu hakera czy nawet zwykłego programisty nie dojdziesz po prostu zbierając języki - musisz nauczyć się myśleć o tym, jak programować w sposób ogólny, niezależnie od języka. Aby zostać prawdziwym hakerem, musisz osiągnąć poziom wiedzy, na którym możesz nauczyć się nowego języka w ciągu kilku dni, po prostu przeglądając instrukcję tego języka i łącząc ją z istniejącą wiedzą. Aby stać się takim, musisz znać kilka języków, które mają bardzo różny charakter.

Nie mogę tutaj podać pełnych instrukcji, jak uczyć się programowania - to złożona sztuka. Ale mogę powiedzieć, że książki i kursy też tego nie dadzą – wielu może większość Najlepsi hakerzy są samoukami. Funkcjonalności języków (niewielkiej części wiedzy) można się nauczyć z książek, ale sposób myślenia, który sprawia, że ​​ta wiedza ma zastosowanie w życiu, można nabyć jedynie poprzez praktykę i pewien okres nauki. Czego programowanie może faktycznie nauczyć: (a) czytanie kodu źródłowego oraz b) pisanie kodu źródłowego .

Peter Norvig, jeden z czołowych hakerów Google i współautor popularnego podręcznika o sztucznej inteligencji (AI), napisał wspaniały artykuł zatytułowany Naucz się programowania w ciągu dziesięciu lat. Na szczególną uwagę zasługuje jego „przepis na udane programowanie”.

Nauka programowania jest jak nauka pisania dobrego języka naturalnego. Najlepszym sposobem na to jest przeczytanie czegoś napisanego przez uznanych mistrzów literatury, a następnie napisz trochę sam; poczytaj trochę więcej, napisz trochę więcej; czytaj jeszcze więcej - pisz jeszcze więcej... I powtarzaj to, aż Twoje programy będą wyglądać jak potężny i zorganizowany model.

Więcej o tym procesie mówiłem w artykule Jak nauczyć się hakowania. Jest to prosty zestaw instrukcji, których nie jest łatwo przestrzegać.

Znalezienie dobrego kodu źródłowego do przestudiowania było trudne, ponieważ w kodzie źródłowym dostępnych było bardzo niewiele dużych programów, które młodzi hakerzy mogliby studiować i eksperymentować. Teraz sytuacja uległa diametralnej zmianie: programy w kodzie źródłowym, narzędzia programistyczne i całe systemy operacyjne (wszystkie stworzone przez hakerów) są teraz powszechnie dostępne. Co prowadzi mnie od razu do następnej sekcji...

Za pierwszych hakerów można uznać tę niewielką grupę ludzi, składającą się z doświadczonych programistów i czarodziejów sieciowych, która kilkadziesiąt lat temu stała u początków powstania wczesnych mikrokomputerów i brała udział w eksperymentach ARPAnet. Hakowanie komputerów i sieci telefonicznych stało się przejawem kultury hakerskiej, która w rzeczywistości jest znacznie bardziej złożona i nie ogranicza się do hakowania. Jak dołączyć do tej społeczności, zdobyć niezbędne umiejętności, nauczyć się myśleć jak haker i zdobyć szacunek i reputację w tym środowisku, dowiesz się z tego artykułu.

Kroki

Część 1

Nabywanie podstawowych umiejętności

    Przejdź na system operacyjny typu Unix, taki jak Linuksa . Unix to popularny system operacyjny, często używany w serwerach, który dał impuls do rozwoju Internetu. Chociaż możesz korzystać z Internetu, nie znając Uniksa, nie możesz być hakerem internetowym, jeśli nie znasz Uniksa. Z tego właśnie powodu dzisiejsza kultura hakerska jest bardzo zorientowana na Uniksa. Unix, podobnie jak Linux, może być używany razem z systemem Windows na tym samym komputerze. Pobierz Linuksa lub poproś użytkownika Linuksa o pomoc w instalacji systemu.

    Pomóż testować i debugować programy typu open source. Poważani są także ci, którzy testują i debugują programy typu open source. W tym niedoskonałym świecie nieuchronnie największą część czasu tworzenia programu spędzamy w fazie debugowania. Dlatego każdy rozważny autor oprogramowania open source powie Ci, że dobrzy beta testerzy (którzy wiedzą, jak jasno opisać objawy, są dobrzy w lokalizowaniu problemów, potrafią poprawiać literówki i stosują kilka prostych procedur diagnostycznych) są na wagę złota.

    • Jeśli jesteś początkujący, spróbuj znaleźć program w fazie rozwoju, który Cię interesuje i zostań dobrym beta testerem. Istnieje bardzo naturalny postęp od pomocy w testowaniu programów, poprzez pomoc w ich debugowaniu, a następnie pomoc w ich modyfikowaniu. W ten sposób wiele się nauczysz i wygenerujesz dobrą karmę w relacjach z ludźmi, którzy później Ci pomogą.
  1. Opublikuj przydatne informacje. Kolejną dobrą rzeczą jest selekcja i gromadzenie przydatnych i interesujących informacji na stronach internetowych lub w dokumentach, takich jak FAQ (często zadawane pytania i odpowiedzi) i udostępnianie ich publicznie. Prowadzący najważniejsze pytania techniczne są niemal tak samo szanowani, jak autorzy oprogramowania open source.

    Pomóż utrzymać ciągłość działania infrastruktury. Kultura hakerska (i inżynieria internetowa) opiera się na wolontariacie. Aby utrzymać ten proces, należy wykonać wiele niezbędnej, ale niezbyt efektywnej pracy: administrowanie listami mailingowymi, moderowanie grup dyskusyjnych, zarządzanie dużymi archiwami oprogramowania, opracowywanie dokumentów RFC i innych standardów technicznych. Ludzie, którzy robią tego typu rzeczy dobrze, są bardzo szanowani, ponieważ każdy wie, że tego rodzaju praca zajmuje dużo czasu i nie daje tyle frajdy, co zabawa kodami. W tej pracy widać zaangażowanie.

  2. Służ samej kulturze hakerów. Wreszcie możesz służyć i szerzyć samą kulturę. Ale nie powinieneś tego robić, dopóki nie będziesz się tym zajmować przez długi czas i nie staniesz się dobrze znany z jednej z pierwszych czterech rzeczy. W kulturze hakerskiej nie ma wyraźnych liderów, ale są „bohaterowie kultury”, „starsi plemienni”, historycy i mówcy. Jeśli wystarczająco długo pożyjesz w tych okopach, możesz wyrosnąć na jedną z tych osób.

    • Ale uważaj: hakerzy są nieufni wobec swojej wrzaskliwej starszyzny plemiennej, więc pozorne osiągnięcie tego rodzaju chwały jest obarczone niebezpieczeństwem. Zamiast o to zabiegać, lepiej nie przejmować się tym, a wtedy wszystko przyjdzie samo i tylko wtedy będziesz mógł stać się skromny i miłosierny w swoim statusie.
  • Niektóre firmy zatrudniają hakerów, aby sprawdzili bezpieczeństwo ich systemów. Można więc na tym nieźle zarobić!
  • Staraj się nie dać się złapać i Nie zrób trochę hackowania.
  • Pisz dobrze w swoim ojczystym języku. Według powszechnego stereotypu programiści nie są zbyt wykształceni, ale tak naprawdę wielu hakerów doskonale włada tym językiem.
  • Lisp jest warty nauki dla głębokiego oświecenia, które zyskasz, gdy w końcu go opanujesz. Ta wiedza sprawi, że będziesz doskonałym programistą do końca życia, nawet jeśli tak naprawdę nigdy nie będziesz używał samego Lispa. Możesz zdobyć wstępne doświadczenie z Lispem w trybie edycji kodu edytora tekstu Emacsa lub wtyczki Script-Fu do edytora graficznego GIMP.
  • Perla warto uczyć się ze względów praktycznych: jest on bardzo szeroko stosowany do aktywnych stron internetowych i administrowania systemami, więc nawet jeśli nigdy nie będziesz musiał pisać Perla, powinieneś nauczyć się go czytać. Wiele osób używa Perla, aby uniknąć programowania w C, które wymaga dużej ilości zasobów.
  • Sprawdź swoją wiedzę na temat tworzonych przez siebie stron internetowych.
  • Wykorzystaj swoją wiedzę i umiejętności w dobrym celu. Bycie dobrym hakerem jest znacznie bezpieczniejsze i bardziej opłacalne dla wszystkich niż bycie złym hakerem. Źli hakerzy nie mają zbyt dobrego życia – muszą się ukrywać, aby uniknąć problemów z prawem.
  • Zawsze bądź ostrożny. Nielegalne działania mogą mieć bardzo poważne konsekwencje, a w Internecie nic nie jest tak naprawdę anonimowe.
  • Nie angażuj się w nic, co mogłoby spowodować kłopoty.
  • Zapytaj lokalne firmy, czy potrzebują sprawdzenia systemów bezpieczeństwa.

Ostrzeżenia

  • Hakowanie to czyn nielegalny, który może skutkować poważnymi karami. Hakowanie jest przestępstwem i podlega karze.

Romana Shirokiego

Czas czytania: 5 minut

A

Wielu internautów interesuje się tym, jak zostać hakerem od zera i od czego zacząć. Zwykle koneserami tego hobby są młodzi chłopcy, których średni wiek wynosi 16-20 lat.

Młodzi ludzie uważają, że haker to haker komputerowy, ale jest to błędne przekonanie. Dlatego przed opanowaniem tego zawodu polecam zrozumieć, czym jest haker.

Haker to najwyższej klasy programista, który pracuje z gotowym oprogramowaniem i wykorzystuje języki programowania do realizacji swojej wyobraźni.

Dla niektórych praca jest sposobem na życie. Tego rodzaju skłonności najczęściej powstają w dzieciństwie. W większym stopniu dotyczy to profesjonalnych hakerów. Poniżej dowiesz się, jak zostać jednym z nich.

  • Naucz się podstaw programowania. Ta umiejętność pozwoli Ci osiągnąć swój cel. Zdaniem profesjonalistów, możliwe jest samodzielne przestudiowanie bazy danych w domu, jeśli poświęci się jak najwięcej czasu na naukę materiałów, języków programowania i technologii komputerowej.
  • Podstawy programowania mają podobną strukturę i zasady. Szereg języków programowania będzie trzeba się nauczyć na pamięć. Należą do nich PHP, MySQL, Java i inne.
  • Oprócz języków programowania koniecznie zapoznaj się z systemami operacyjnymi, które na pierwszy rzut oka wydają się proste. Mówimy o platformach UNIX i Linux. Prawdziwi hakerzy nie działają z oprogramowaniem sprzętowym Windows.
  • Hakerzy dążą do prawidłowego networkingu, który obejmuje znacznie więcej niż tylko komunikację z przyjaciółmi. Jeśli naprawdę chcesz zostać prawdziwym asem, będziesz musiał zdobyć dużo wiedzy, a pomoże Ci tylko Internet. Dowiedz się, jak działa sieć WWW i zrozum, dlaczego klient przesyła serwery HTTP, w jaki sposób przeglądarka współdziała z serwerem i tak dalej. Bez tej wiedzy nie można liczyć na dobry wynik.
  • Wybierz pakiet oprogramowania. Od razu ostrzegam, że wybór odpowiednich programów narzędziowych nie jest łatwy, ale silna chęć uprości zadanie. Najpierw znajdź kompilatory i asemblery. Pierwsze rozwiązania tłumaczą tekst programu na równoważny program. Drugą opcją jest oprogramowanie konwertujące programy na instrukcje maszynowe.
  • Nie obejdzie się bez dobrego edytora tekstu, który pozwala tworzyć i edytować pliki tekstowe, przeglądać, drukować i znajdować informacje tekstowe.
  • Będziesz potrzebować specjalistycznego edytora, w którym tworzy się i modyfikuje kody źródłowe programów. Rozwiązaniem takim może być osobny program lub część środowiska deweloperskiego.

Masz pierwszy pomysł, jak zostać hakerem. Jeśli zamierzasz budować karierę, nie zaszkodzi nauczyć się kilku języków obcych. Eksperci zalecają zwrócenie szczególnej uwagi na język angielski, ponieważ jest on bardzo szeroko używany w Internecie.

Instrukcje wideo

Podsumowując, chciałbym zauważyć, że wytrwałość, wraz ze zrozumieniem celu i umiejętnością wdrażania pomysłów, pozwoli Ci odnieść sukces jako haker. To prawda, że ​​lepiej działać zgodnie z prawem, ponieważ złośliwe hakowanie jest karalne.

Jak zostać hakerem od zera


Praca profesjonalnego hakera jest bardzo interesująca. Włamanie na stronę internetową, kradzież ważnych informacji, kradzież pieniędzy, penetracja, ujawnienie tajemnic. Możliwości prawdziwego hakera są nieograniczone. Jeśli chodzi o jego imię, jest ono starannie ukryte.

Młodzi ludzie są zainteresowani aktywnymi działaniami polegającymi na kradzieży informacji i hakowaniu stron internetowych. Nie biorą jednak pod uwagę, że za takie czyny często muszą odpowiadać przed prawem.

Praca nie zawsze wiąże się z działalnością nielegalną i to jest fakt. Jeśli chcesz pracować w branży komputerowej, duże firmy będą korzystać z Twoich usług. I nie ma w tym nic dziwnego, ponieważ haker jest najwyższej klasy specjalistą IT.

Jak pokazuje praktyka, korporacje i duże banki chcą mieć w swoich szeregach profesjonalnego hakera. Organizacje chronią ważne informacje za pomocą technologii komputerowej, a specjalista jest w stanie wykryć luki w zabezpieczeniach i zapobiec kradzieży danych.

Tylko samorozwój pomoże Ci znaleźć zawód. Podzielę się kilkoma wskazówkami, a z ich pomocą zbliżysz się do swojego marzenia, a może i je zrealizujesz.

Plan działania krok po kroku

  1. Podstawowe umiejętności . Przede wszystkim zapoznaj się z Internetem, poznaj znaczenie różnych nagłówków, poznaj wiele podstawowych pojęć i zrozum interakcję przeglądarek z serwerami.
  2. Języki programowania . Zwróć szczególną uwagę na naukę języków programowania. Korzystając z tutoriali, których pełno w Internecie, naucz się pisać proste programy. Przy odrobinie wysiłku opanujesz umiejętności programowania, a w przyszłości będziesz miał możliwość ich doskonalenia.
  3. Jeśli marzysz o pracy jako haker, zwróć szczególną uwagę na naukę hipertekstowego języka znaczników zwanego HTML.
  4. język angielski. Nie obejdzie się bez znajomości języka angielskiego. Językiem tym posługują się wszystkie służby światowe. Dlatego posiadanie go jest koniecznością.

Przedstawione cztery punkty pomogą Ci opanować podstawowe umiejętności. Po wykonaniu zadania rozpocznij naukę zagadnień zawodowych i zawiłości hakowania. Na szczęście Internet jest pełen informacji związanych z dzisiejszym tematem.

  • Szanuj swój czas i współpracowników . Pamiętaj, aby podzielić się swoimi osiągnięciami ze swoimi „towarzyszami broni”.
  • Szanuj kod. Hakerzy mają swój własny kod, który zabrania dawania lub brania w zamian. Jeśli udało ci się zhakować program innej osoby, poinformuj właściciela, aby mógł pracować nad ochroną swojego pomysłu.
  • Wyeliminuj stereotypowe myśli . Haker nie powinien myśleć stereotypami. Musi posiadać umiejętność szybkiego i zawsze znajdowania odpowiedzi.
  • Zapytać o rade . Jeśli coś jest niejasne, nie wahaj się zapytać o poradę na forum tematycznym. Jeśli sam rozwiązałeś problem, udostępnij algorytm rozwiązania swoim współpracownikom. Zrobią to samo w przyszłości.
  • Miej oko na technologię . Komputer to żywy organizm i bliski przyjaciel informatyka. Dlatego sprzęt komputerowy, systemy stacjonarne, laptopy czy netbooki wymagają pielęgnacji.

Szybko osiągnij swój cel, jeśli Twój zespół sojuszników zostanie uzupełniony wytrwałością i wolnym czasem. Każdego dnia będziesz musiał uczyć się nowych informacji, które przyniosą doświadczenie.

Wskazówki wideo

O grach komputerowych lepiej zapomnieć. Spędzaj wolny czas zdobywając wiedzę, która przyda się w przyszłości. Koniecznie zapoznaj się z Kodeksem karnym, aby uniknąć nieprzyjemnej sytuacji.

Jak zostać hakerem, od czego zacząć


Kontynuując temat dzisiejszego artykułu, rozważymy główne etapy szkolenia, aby dowiedzieć się szczegółowo, od czego zacząć, aby zostać hakerem.

W filmach fabularnych hakerzy włamują się do systemów płatności, stron rządowych, dużych organizacji i obiektów przemysłowych. Głównym celem włamań są ważne informacje lub pieniądze. W rzeczywistości wszystko nie jest takie proste.

Haker to zwykły programista, który potrafi złamać kod oprogramowania. Ma jednak inne cele. Nie dąży do zdobycia ważnych danych i sprzedania ich za duże pieniądze na czarnym rynku. Podczas hackowania specjalista zapoznaje się z zasadą działania konkretnego programu, bada kod w celu znalezienia dziur i tworzy program analogowy lub podobny.

Wiele osób uważa hakerów za przestępców, którzy hakują i niszczą, dlatego istnieją „specjaliści”, którzy nie są hakerami, ale starają się prowadzić podobny tryb życia. Nawet początkujący może wyrządzić szkodę witrynie internetowej lub komputerowi, jeśli użyje złośliwego skryptu podszywającego się pod program i umieszczonego na stronach internetowych.

W prawdziwym życiu spotkanie prawdziwego profesjonalisty w tej dziedzinie jest problematyczne. Doświadczony haker nigdy nie powie Ci, co robi. Pracuje sam, bo wie, że taka działalność jest karalna.

  1. Bądź cierpliwy. Zdaj sobie sprawę, że opanowanie umiejętności zajmie lata.
  2. Zwróć szczególną uwagę na naukę matematyki stosowanej. Uwierz mi, bez wiedzy matematycznej nie będziesz mógł zostać hakerem.
  3. Koniecznie kup książki poświęcone obsłudze programów, platform programowych i systemów bezpieczeństwa.
  4. Naucz się pisać kod i tworzyć zaszyfrowane systemy bez pomocy z zewnątrz. Praca bez tych umiejętności jest niemożliwa.
  5. Czytaj magazyny tematyczne, odwiedzaj strony i fora poświęcone działalności hakerskiej. Źródła informacji pomogą w samorozwoju.
  6. Prowadzić pamiętnik. Rejestruj statystyki sukcesów i osiągnięć. Z biegiem czasu zauważysz, że Twoje umiejętności stały się bardziej zaawansowane.

Przygotuj się na to, że nauka w domu będzie długa i wymagać będzie maksymalnego wysiłku. Tylko tak można zdobywać szczyty i przełamywać stereotypy. Pamiętaj, musisz działać zgodnie z prawem.

Wideo

Mam nadzieję, że historia pomoże, a po zapoznaniu się z materiałem szybko odniesiesz sukces.

Nie zapominaj, że tworzenie lub modyfikowanie programów prowadzących do nielegalnego kopiowania, blokowania lub niszczenia ważnych informacji jest przestępstwem karalnym. Za takie czyny grozi im 3 lata więzienia i spora grzywna.

W tym rozdziale postaram się bardzo krótko przedstawić, co powinien wiedzieć haker i kompetentny administrator systemu, którego zadaniem jest zapewnienie bezpieczeństwa sieci. Niemożliwe jest całkowite omówienie wszystkich tych kwestii w ramach tego przewodnika.


3.1. Języki programowania


Podstawą hackowania nie jest umiejętność malowniczego siedzenia przed ekranem monitora i lekkomyślnego deptania po klawiaturze, ale znajomość języków programowania. Które? Porozmawiajmy krótko o językach używanych do hakowania.

Rok narodzin ARPANET był także rokiem, w którym haker z Bell Labs, Ken Thompson, stworzył Uniksa. Thompson był zaangażowany w rozwój systemu operacyjnego o nazwie Multics. Multic miał ułatwić obsługę i programowanie komputerów w celu zwiększenia produktywności. Projekt ten został wystawiony na sprzedaż, ale nigdy nie odniósł takiego sukcesu jak system operacyjny. Thompson porzucił medium Multics i zaczął bawić się mieszanką pomysłów Multics z własnymi.

Inny haker, Dennis Ritchie, wymyślił nowy język o nazwie „C” do użytku w „oryginalnym” Unix'oM Thompsona. Podobnie jak Unix, C został zaprojektowany tak, aby był naturalny i elastyczny. Zainteresowanie tymi narzędziami rozprzestrzeniło się po całym laboratorium Bell i zyskały one popularność w 1971 r., kiedy Thompson i Ritchie wygrali przetarg na coś, co obecnie nazywamy systemem automatyzacji biura do użytku wewnętrznego w firmie.

Tradycyjnie systemy operacyjne pisano w języku asemblera, aby wydobyć jak największą wydajność (efektywność) z maszyn-hostów. Thompson i Ritchie jako jedni z pierwszych zdali sobie sprawę, że sprzęt i technologia kompilacji są na tyle dobre, że cały system operacyjny można napisać w języku C, a do 1974 roku całe środowisko zostało pomyślnie przeniesione na kilka różnych typów maszyn.

Coś takiego nigdy wcześniej nie miało miejsca, a rezultaty były imponujące. Ponieważ Unix mógłby oferować ten sam interfejs i te same możliwości na wielu różnych typach maszyn, mógłby stać się standardowym środowiskiem oprogramowania dla nich wszystkich. Użytkownicy nie musieli już płacić za tworzenie nowego oprogramowania, gdy maszyny stawały się przestarzałe.

Oprócz przenośności Unix i C miały jeszcze jedną ważną zaletę. Zostały skonstruowane jako filozofia „dla najgłupszych”. Programista mógł z łatwością utrzymać w głowie całą logiczną strukturę „C” (w przeciwieństwie do większości innych języków), zamiast ciągle odwoływać się do podręczników; a Unix został skonstruowany jako elastyczny zestaw prostych programów, zaprojektowanych tak, aby można je było łączyć ze sobą w niezbędny sposób.

Na początku 1996 roku pojawił się nowy język programowania – „Java”. Na stronie głównej Konsorcjum Java znalazła się na liście tzw. Kodów Mobilnych – jednego z obiecujących obszarów dla rozwoju technologii World Wide Web. A pod koniec 1996 roku na Zachodzie rozpoczął się boom Java, który do czasu wystawy Unix-Expo-96 dotarł do naszego kraju. Według historii technologia Java (kawa) narodziła się z projektu Oak, którego głównym celem było opracowanie obiektowych sposobów opisu i komunikacji różnego rodzaju urządzeń elektronicznych. W związku z niepowodzeniem firmy Oak w 1994 roku, doświadczenia zdobyte przy jej wdrażaniu zdecydowano się zastosować w produktach przeznaczonych do zastosowań internetowych. Od kwietnia 1995 r. Hotjava, interfejs przeglądania sieci WWW dla platform Sun, jest swobodnie rozpowszechniany w Internecie.

Dosłownie miesiąc później firma Netscape Communication, wówczas wyznaczająca trendy w rozwoju programów interfejsu internetowego, kupiła licencję na Javę. Od teraz zaczyna się złoty czas dla tej technologii. Obecnie Hotjava jest wdrażana nie tylko dla Sun. OS i Solaris, ale także na wiele innych platform i Windows.

System programowania Java umożliwia kompilowanie programów na platformę komputerową, na której stoi, w taki sam sposób, jak każdy inny, na przykład C lub C++. W tym przypadku główną różnicą pomiędzy programami Java, zwanymi aplikacjami Java, jest wykorzystanie biblioteki klas Java, które umożliwiają tworzenie bezpiecznych, rozproszonych systemów. Twierdzi się, że język pozwala popełnić znacznie mniej błędów podczas tworzenia programów. Najważniejsze jest to, że w Javie zupełnie brakuje arytmetyki adresów. Znacznie ciekawszy jest rozwój mobilnych kodów bajtowych Java, które w technologii Java nazywane są apletami.

Znany język programowania Modula-2 został stworzony przez N. Wirtha w 1979 roku i został po raz pierwszy zaimplementowany na minikomputerze PDP-11. W latach siedemdziesiątych Pascal zyskał szeroką akceptację wśród użytkowników komputerów i nauczycieli, ale pierwotnie został opracowany do nauczania programowania i jako język tworzenia oprogramowania miał wiele wad. Moduł-2 wyeliminował te niedociągnięcia, zachowując przy tym logiczną strukturę i charakterystyczne cechy swojego poprzednika. Ponadto w module 2 wprowadzono nowe, potężne narzędzia językowe.

Język programowania Modula-2 należy do tzw. języków niezależnych od maszyn. N. Wirth użył Modula-2 do napisania kompletnego systemu operacyjnego dla minikomputera Lilith. Cechą charakterystyczną Modula-2 jest osobna kompilacja, która pozwala na tworzenie i przechowywanie programów w bibliotekach, które można ponownie wykorzystać.

Pierwsze wersje języka programowania C++ (wówczas zwanego „C z klasami”) powstały na początku lat 80-tych. Bjarne Stroustrup, pracownik słynnego AT&T Bell Labs, gdzie wcześniej opracowywano system operacyjny Unix i język programowania C. Według autora języka C++ nigdy nie powstał na papierze. Projektowanie, wdrażanie i dokumentowanie nowych możliwości odbywało się praktycznie jednocześnie. Jedynym celem rozwoju było stworzenie języka, w którym byłoby wygodne programowanie dla autora i jego przyjaciół. Za podstawę przyjęto język programowania C, popularny wśród profesjonalnych programistów. Pierwsze narzędzia rozszerzające C miały wspierać abstrakcję danych i programowanie obiektowe. Jak zwykle w AT&T, opis nowego języka nie został od razu opublikowany. Pierwszymi jego użytkownikami byli sami pracownicy Bell Labs.

Perł. Jeśli chodzi o tworzenie aplikacji na poziomie systemowym, w szczególności skryptów serwerów WWW, na pierwszy plan wysuwa się język programowania Perl, przede wszystkim ze względu na jego sprawdzone i bogate możliwości. Perl (Practical Extraction and Reporting Language lub, jak twórca Perla i jego inni fanatyczni zwolennicy czasami rozszyfrowują tę nazwę, Pathologically Eclectic Rubbish Lister) jest jednym z najpotężniejszych i najpopularniejszych języków programowania.

Historia Perla rozpoczęła się w 1987 roku, kiedy niejaki Larry Wall zaczął opracowywać język, którego potrzebował do rozwiązywania problemów z programowaniem systemów, które napotkał jako administrator systemów Unix. Pomimo tych skromnych początków Perl stał się w pełni funkcjonalnym, złożonym językiem. Jest atrakcyjny, ponieważ wypełnia lukę pomiędzy metodami programowania powłoki Uniksa a aplikacjami w języku C, łącząc prostotę pierwszego i funkcjonalność drugiego. Wall opisuje to w ten sposób: „Perl to język interpretowany zoptymalizowany do skanowania dowolnych plików tekstowych, wydobywania informacji z tych plików i drukowania raportów na podstawie tych informacji. Można go również wykorzystać do rozwiązania wielu problemów związanych z zarządzaniem systemem. Podczas opracowywania tego języka celem nie było piękno (mała objętość, elegancja i optymalność), ale praktyczność (łatwość użycia, wydajność i kompletność).” Wall wskazuje również, że składnia wyrażeń w Perlu jest dokładnie taka sama jak składnia wyrażeń w C; Perl nie ogranicza arbitralnie rozmiaru danych - „jeśli masz pamięć, Perl może załadować do niej cały plik w jednej linii”; rekurencja może mieć nieograniczoną głębokość, a język wykorzystuje również wyrafinowane techniki dopasowywania wzorców do szybkiego skanowania dużych ilości danych.


3.2. Dlaczego sieci się psują?


Mocną stroną rosyjskich włamywaczy w dalszym ciągu jest kolektywizm i wzajemna pomoc, a także duża wyobraźnia, której w większości przypadków brakuje ich zachodnim kolegom. Zachowują się jak przyjazna gromada (stado), którą może pokonać nawet tata. Zaprojektowane w większości według raczej infantylnych zachodnich standardów, systemy ochrony przed hakerami sprytnych i niesamowicie pomysłowych Rosjan są zwykle bezsilne. Ochroniarz z gumową pałką nigdy nie będzie w stanie powstrzymać gangu uzbrojonego w łyżki do opon i ściągacze do gwoździ. W związku z tym kradzieży pieniędzy z kont nadal dokonują nieliczni i tylko od czasu do czasu. Ale za kilka lat, wraz z rozwojem komunikacji komputerowej w Rosji, takie rzeczy można wprowadzić na rynek. Przewidując taki obrót wydarzeń, przywódcy FBI i im podobni już robią hałas i w związku z tym żądają dodatkowych środków. I, co dziwne, nasi hakerzy działają tutaj jako dobrowolni i bardzo skuteczni asystenci.

Kilka lat temu w sieci Fidonet rozeszła się informacja, że ​​pewien uczestnik wszedł do komputera sterującego sieci międzynarodowych satelitów Immarsat (obsługuje nawigację, przestrzeń kosmiczną, komunikację, sygnały SOS itp.). Nie tylko sam tam „chodził”, ale także wypuścił do sieci wszystkie instrukcje i hasła umożliwiające wejście do bazy danych. Nadal nie jest jasne, co to może oznaczać dla sieci satelitarnej.

Bezczelność naszych komputerowych chuliganów wynika między innymi z faktycznego braku walki z nimi w kraju. Poza tym nie można powiedzieć, że nic się nie robi. W 2001 roku wydano specjalny dekret prezydencki o ochronie informacji. Rosja zobowiązała się do współpracy z Interpolem w tej dziedzinie. Na początku 1995 roku przy Ministerstwie Spraw Wewnętrznych utworzono specjalną ośmioosobową jednostkę do zwalczania hakerów. W tej sprawie odbyło się nawet specjalne posiedzenie Rady Bezpieczeństwa. Dobrą ilustracją skuteczności takich działań jest to, że na pytanie korespondenta o skutki schwytania złoczyńców odpowiedzialny pracownik MSW odpowiedział wprost: „Młody człowieku, aresztują nas i sądzą zgodnie z prawem a nie według dekretów”.

W 1997 roku FBI zwróciło się do rosyjskich organów ścigania. Faktem jest, że amerykańskie globalne komercyjne sieci informacyjne, takie jak America Online i Microsoft Network, poniosły znaczne straty w ciągu 4 miesięcy 1996 r. z powodu hakerów używających fałszywych kart kredytowych, aby dostać się do sieci. Po wyśledzeniu powiązań służby bezpieczeństwa tych sieci przekazały wszystkie informacje FBI, ponieważ okazało się, że większość nielegalnych połączeń wykonała Rosja. Szczerze mówiąc, określenie źródła połączenia w Internecie jest dość proste, ale kosztowne (trzeba zatrudnić dodatkowy personel). Takie podziały istnieją w AOL i MSN. Więc co? Pierwszym krokiem jest sprawdzenie wszystkich oficjalnych punktów wejścia do sieci, tzn. jeśli w mieście istnieje oficjalne przedstawicielstwo sieci posiadające własny numer telefonu do podłączenia do konkretnej sieci, wszystkie połączenia zaczynają być automatycznie monitorowane. W takim przypadku działa funkcja Caller ID lub CID (jeśli wybieranie odbywa się tonowo). Jeśli abonent jest oficjalnie podłączony do sieci, wszystko jest w porządku. Jeżeli numer nie zostanie zidentyfikowany, abonent zostaje „wyrzucony z linii”. Jeśli numer telefonu nie pasuje do bazy oficjalnych użytkowników, połączenie zostaje automatycznie przejęte pod kontrolę. Łączenie się przez Internet (przez sieci pośrednie) również nie pomaga, ponieważ aktualne łącze jest zawsze ustalane po połączeniu (ten moment jest wykorzystywany przez sieć do automatycznego przemieszczania pakietów danych). W samej Moskwie w 1996 r. zidentyfikowano ponad 360 osób nielegalnie korzystających z usług komunikacyjnych. Jest tu pewien niuans prawny – siedząc w domu, w USA popełnia się przestępstwo. Żądanie postawienia ich przed sądem zgodnie z prawem amerykańskim, nawet w naszych starczych czasach, jest okrucieństwem. Rozpracowanie tego może zająć lata. Teoretycznie mają tu zastosowanie artykuły Kodeksu karnego Federacji Rosyjskiej dotyczące przestępstw finansowych, tj. jeśli hakera nie można ścigać za włamanie do sieci, można go ścigać na podstawie innych artykułów (na przykład za chuligaństwo, fałszowanie banknotów itp.) .).

W chwili obecnej wszyscy zidentyfikowani abonenci w dalszym ciągu poruszają się po sieciach komercyjnych za pośrednictwem Internetu, najczęściej zupełnie nieświadomi, że są już pod kontrolą. W każdym razie, aby walczyć z hakowaniem i jego konsekwencjami, musisz zrozumieć, że w zasadzie ta sama broń jest w rękach zarówno hakerów, jak i zwykłych użytkowników. Trzeba go tylko odpowiednio zastosować.


3.3. Protokół TCP/IP


Rodzina protokołów TCP/IP jest szeroko stosowana na całym świecie do łączenia komputerów z Internetem. Bardziej szczegółowe informacje na temat protokołów TCP/IP można znaleźć w dokumentach RFC (Requests for Comments), specjalnych dokumentach wydawanych przez Network Information Center (NIC).

Każde urządzenie w sieci TCP/IP (sieć IP) ma unikalny adres przydzielany przez administratora, a wszystkie dane są wysyłane i odbierane przez urządzenie przy użyciu tego unikalnego adresu. Drugim, nie mniej ważnym parametrem charakteryzującym maszynę jest maska ​​podsieci – wartość określająca maksymalną liczbę maszyn, jaka może znajdować się w jednym segmencie sieci lokalnej.

Administrator przydziela adresy IP komputerom w zależności od sieci IP, z którą są one połączone. Najbardziej znaczące bity 4-bajtowego adresu IP określają numer sieci IP. Pozostała część adresu IP to numer węzła (numer hosta). Istnieje 5 klas adresów IP, różniących się liczbą bitów w numerze sieci i numerze hosta. Klasa adresu jest określana na podstawie wartości jego pierwszego bajtu. Z tych 5 klas tylko pierwsze trzy są powszechnie stosowane.

Adresy klasy A są przeznaczone do użytku w dużych sieciach publicznych. Pozwalają na dużą liczbę numerów węzłów. Adresy klasy B są używane w sieciach średniej wielkości, takich jak uniwersytety i duże firmy. Adresy klasy C są używane w sieciach z małą liczbą komputerów.

W obrębie zakresu adresowego każdej klasy znajdują się tzw. „fikcyjne” lub „zastrzeżone” zakresy adresów, z których dane nie są przesyłane do sieci globalnej i można je wykorzystać do własnych celów.


Klasa Początek zakresu Koniec zakresu Maska
A 10.0.0.0 10.255.255 255.255.0.0.0
W 172.16.0.0 172.31.255 255.255.255.0.0
Z 192.168.1120 192.168.112.255 255.255.255.0

Zanim zaczniesz korzystać z sieci TCP/IP, musisz uzyskać jeden lub więcej oficjalnych numerów sieci. Przydziałem numerów (i wieloma innymi sprawami) w Internecie zajmuje się Centrum Informacji Sieciowej DDN (NIC). Przydział pokoi jest bezpłatny i trwa około tygodnia. Możesz uzyskać numer sieci bez względu na to, do czego służy Twoja sieć. Nawet jeśli Twoja sieć nie jest podłączona do Internetu, pożądane jest uzyskanie unikalnego numeru, ponieważ w tym przypadku istnieje gwarancja, że ​​w przyszłości podczas łączenia się z Internetem lub podczas łączenia się z siecią innej organizacji nie będzie konflikt adresów. Twój dostawca usług internetowych może podać adres Twojej sieci. Najczęściej tak właśnie się robi.

Przestrzeń adresową sieci można podzielić na nienakładające się na siebie części – „podsieci”, z których każdą można obsługiwać tak, jak w przypadku zwykłej sieci TCP/IP. W ten sposób pojedynczą sieć IP organizacji można zbudować jako kombinację podsieci.

Zazwyczaj podsieć odpowiada jednej sieci fizycznej, takiej jak jedna sieć Ethernet. Podsieci są opcjonalne. Do każdej sieci fizycznej możesz po prostu przypisać inny numer sieci, na przykład numer klasy „C”. Rozwiązanie to ma jednak dwie wady. Pierwszym z nich jest marnowanie numerów sieciowych. Poważniejszą wadą jest to, że jeśli Twoja organizacja ma wiele numerów sieci, komputery znajdujące się poza organizacją muszą prowadzić rejestr tras dostępu do każdej z tych sieci IP. Dzięki temu struktura sieci IP organizacji staje się widoczna dla całego świata. Jeżeli w sieci IP nastąpią jakiekolwiek zmiany, informacja o nich musi zostać uwzględniona w każdej z maszyn obsługujących trasy dostępu do tej sieci IP.


3.4. Porty


Interakcja pomiędzy procesami aplikacji w sieci odbywa się poprzez tzw. porty. Porty numerowane są od zera. Proces aplikacji, który świadczy usługi innym procesom aplikacji (serwer), czeka na przybycie komunikatów na porcie przeznaczonym specjalnie dla tych usług.

Wiadomości muszą zawierać zapytanie o usługi. Są one wysyłane przez procesy klienta. Na przykład serwer SMTP zawsze nasłuchuje wiadomości przychodzących na porcie 25. Jeśli klient SMTP chce otrzymać usługę, wysyła żądanie do portu 25 na komputerze, na którym działa serwer. Ten numer portu jest powszechnie znanym numerem portu, czyli stałym numerem oficjalnie przydzielanym usługom SMTP. Takie powszechnie znane liczby definiują standardy internetowe.



| |