Centrum wiedzy o technologiach i pracy w IT
bug-co-to-definicja - error

Bug – co to takiego? Zostań pentesterem

Ostatnia aktualizacja 26 kwietnia, 2023

W Polsce Bug to nazwa rzeki, ale na całym świecie, także u nas używa się tej nazwy w informatyce. Co to takiego? Jaka jest definicja tego pojęcia? Gdzie najczęściej występuje? Kim jest pentester i co ma wspólnego z bugami? Wyjaśniamy to w niniejszym tekście.

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy co drugi czwartek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co 2 tygodnie

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Bug – jaka jest definicja

W informatyce definicja słowa bug jest następująca – tym określeniem nazywamy błąd w oprogramowaniu uniemożliwiający lub utrudniający poprawne działanie programu. Określenie to pochodzi od angielskiego słowa oznaczającego robaka. Błędy, tak jak robaki, psują materiał, w którym można je spotkać.

Niektórzy przyjmują, że określenie to powstało, gdy komputer Harvard Mark 2 zaczął działać nieprawidłowo. Przyczyną okazał się owad, który powodował zwarcie. Na poniższym zdjęciu można zobaczyć właśnie tego owada, czyli pierwszego buga.

bug-co-to-definicja -First_Computer_Bug_1945
The First Computer Bug Moth found trapped between points at Relay # 70, Panel F, of the Mark II Aiken Relay Calculator while it was being tested at Harvard University, 9 September 1945. The operators affixed the moth to the computer log, with the entry: First actual case of bug being found. They put out the word that they had debugged the machine, thus introducing the term debugging a computer program. In 1988, the log, with the moth still taped by the entry, was in the Naval Surface Warfare Center Computer Museum at Dahlgren, Virginia. Courtesy of the Naval Surface Warfare Center, Dahlgren, VA., 1988. U.S. Naval History and Heritage Command Photograph.

Bugi w programach najczęściej powstają w wyniku błędu programisty. Mogą one powstawać w wyniku źle zapisanego kodu lub przypadkowym literówkom, które mogą przydarzyć się przy wpisywaniu komend z klawiatury.

Gdzie występują bugi?

Bugi występują zazwyczaj głównie w oprogramowaniu, ale może się też zdarzyć, że pojawią się w elementach elektronicznych. Źle zlutowane ścieżki, zimny lut na jednej z nóżek układu scalonego i inne tego typu problemy mogą sprawić, że urządzenie nie będzie działało, albo będzie działało wadliwie. Taką sytuację też można opisać, że powstała przez buga.

O bugach mówi się także nie tylko w znaczeniu funkcjonalnym, ale też w kontekście cyberbezpieczeństwa. Jedna z głośniejszych sytuacji w ostatnim czasie dotyczyła błędu oprogramowania Log4j. Apache Log4j jest biblioteką, która służy do zapisywania dzienników zdarzeń i szeroko wykorzystują ją w modelu open source aplikacje oparte o Javę. Korzysta z niej wiele aplikacji do tworzenia systemów rejestrowania.

9 grudnia 2021 roku wykryto lukę zdalnego kodu, która umożliwiała wykorzystanie jej do rozpowszechniania złośliwego oprogramowania. Za sprawą tej podatności hakerzy mogli doprowadzić do zdalnego uruchomienia kodu, co umożliwiałoby przejęcie kontroli nad zainfekowanym systemem.

Rodzaje błędów w oprogramowaniu

Rodzaje błędów w oprogramowaniu można podzielić na kilka kategorii.

  • Po pierwsze, mamy błędy funkcjonalne, które dotyczą nieprawidłowego działania programu lub braku realizacji określonych wymagań. Występują, gdy program nie wykonuje zadania zgodnie z oczekiwaniami użytkownika lub dokumentacją.
  • Po drugie, są błędy wydajności, gdzie program działa wolniej, niż powinien lub zużywa nadmiernie zasoby, takie jak pamięć czy procesor.
  • Trzecią kategorię stanowią błędy bezpieczeństwa, związane z zagrożeniami dla prywatności i ochrony danych. Takie błędy mogą prowadzić do nieautoryzowanego dostępu, utraty danych czy ataków hakerskich.
  • Czwartą kategorię tworzą błędy zgodności, gdzie program nie działa prawidłowo na różnych systemach, przeglądarkach czy urządzeniach. Błędy te mogą wpływać na interfejs użytkownika, funkcjonalność czy wydajność.
  • Ostatnią kategorię stanowią błędy użytkowe, powstające na skutek niejasnego interfejsu lub niewłaściwego szkolenia użytkowników.

Jak zapobiega się powstawaniu bugów?

Aby wyeliminować powstawanie bugów, można wdrożyć różne metody weryfikacji kodu. Najżmudniejszą i najmniej skuteczną jest przeglądanie treści programu przez autora lub kogoś, kto także zna się na programowaniu. Tak niestety łatwo przeoczyć błędy.

Innym sposobem są specjalne programy, zwane debuggerami. Są tak zaprogramowane, aby wyszukiwać potencjalnie źle zapisanych poleceń lub błędów w składni.

Kim jest pentester i ile zarabia?

Wspomnieliśmy wcześniej o pentesterach i pewnie zastanawiacie, kim oni są? Pentester to inaczej tester penetracyjny. Jego zadaniem jest wyszukiwanie błędów – bugów, dzięki którym cyberprzestępcy mogą złamać zabezpieczenia danego oprogramowania. Mogą to oczywiście wykorzystać, aby wykraść dane, użyć aplikacji w nieuprawniony sposób itp.

Zobacz: czym zajmuje się product manager

Pentesterzy nazywani są także etycznymi hakerami. Na rynku jest na nich spore zapotrzebowanie, dlatego mogą oni liczyć na zarobki w granicach 9 000 – 13 000 zł brutto na umowę B2B, gdy są początkujący na tym stanowisku. Doświadczony tester penetracyjny może zarobić od 13 000 – 20 000 zł brutto na umowę B2B. Eksperci mogą liczyć na zarobki powyżej 21 000 zł na umowę B2B.

Jak wygląda hackowanie metodą Dead-Bug?

Nazwa Bug występuje także w metodzie hakerskiej określanej jako Dead-Bug i lepiej nie pomylić jej z popularnym określeniem ćwiczeń wykonywanych w leżeniu na plecach. Choć trzeba przyznać, że ma to ze sobą nieco wspólnego, a chodzi o formę umieszczania układów scalonych, do których hakerzy chcą się włamać.

Sprawdź: jakie są umiejętności jutra

Metoda Dead-Bug polega na odlutowaniu układów scalonych, którymi najczęściej są różnego rodzaju pamięci, umieszczeniu ich w taki sposób, aby nóżki lub styki skierowane były w górę. Do nich przylutowuje się przewody służące do prób odczytu danych, a te z kolei do specjalnych interfejsów pozwalających na zapis danych w pamięci podłączonego poprzez nie komputera.

Czytaj także:

Błąd 403 – co to jest i jak go naprawić?

Ciąg Fibonacciego – zastosowania i właściwości złotej proporcji

Jak zacząć programować?

SQL dla początkujących krok po kroku

Co zrobić, gdy serwer DNS nie odpowiada i brak internetu?

Total
0
Shares
_podobne artykuły