Bug – co to takiego? Zostań pentesterem

enterthecode.pl 1 rok temu

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.

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ą, iż 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.

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ą zwykle głównie w oprogramowaniu, ale może się też zdarzyć, iż 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ć, iż urządzenie nie będzie działało, albo będzie działało wadliwie. Taką sytuację też można opisać, iż powstała przez buga.

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.

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ć, iż ma to ze sobą nieco wspólnego, a chodzi o formę umieszczania układów scalonych, do których hakerzy chcą się włamać.

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.

Idź do oryginalnego materiału