BLOGCZEJNalpha

Błędy w programach - Skąd się biorą? Tematygodnia

Co jakiś czas piszę artykuł z dziedziny bezpieczeństwa - jest to naprawdę ciekawa dziedzina informatyki, w której możemy się zastanowić gdzie ktoś popełnił błąd i czy można się przed nim zabezpieczyć. Dzisiaj pogadamy dość ogólnie o błędach i ogólnie o bezpieczeństwie komputerów.

Skąd się biorą błędy w oprogramowaniu?

https://cdn.pixabay.com/photo/2015/04/06/10/33/slip-up-709045_960_720.jpg

Odpowiedź jest bardzo prosta - jesteśmy ludźmi i popełniamy błędy. A przynajmniej jest to powód główny (bo możemy sami tworzyć błędy - o tym w dziale Backdoor). Weźmy przykład hipotetyczny. Mamy wybrać cyfrę od 0 do 9. Prosta sprawa, wybieramy 4. A dlaczego nie 15? "a"? -3? Bo zostaliśmy poproszeni o podanie cyfry, ale czy programista piszący kod sprawdził czy ktoś podał cyfrę? To może doprowadzić do np. awarii całego programu, bo ktoś nie przewidział hakera.

Ludzie nie zdają sobie sprawy o różnych wektorach ataku, które mogą zostać popełnione, szczególnie gdy korzystają z narzędzi. Ja na przykład przez dłuższy czas nie wiedziałem, że w SQLite nie można dawać znaku apostrofu w żadnej formie. Nikt nie czyta jak dane narzędzie działa tylko po prostu używa. Czasem błąd doprowadzi do małej awarii, czasem do wycieku miliardów kont (Pozdrawiamy Yahoo).

Backdoory

https://cdn.pixabay.com/photo/2016/09/08/22/43/books-1655783_960_720.jpg

Backdoor zwany tylnymi drzwiami to kawałek kodu, który umożliwia dostanie się do systemu za pomocą nieautoryzowanego dostępu. Wydaje mi się, że najbardziej znanym backdoorem jest Joel's Backdoor z 2013 roku w routerach Dlink. Ogólnie do zarządzania routerem trzeba podać login i hasło. Ale powiedzmy, że mamy zewnętrzny program od Dlink do zarządzania nim. Wtedy też powinno się podać login i hasło, więc twórca - prawdopodobnie Joel wpadł na pomysł stworzenia tylnej furtki, która umożliwiała logowanie się do urządzeń producenta bez podania hasła jeśli User Agent jest odpowiedni.

Tutaj Backdoor był jawny dla producenta, ale zdarza się, że ktoś próbuje przemycić taki kod do otwartego projektu jak np. Linux, co się nie udało. W 2003 roku pewien programista postanowił wrzucić kod do jądra Linuksa, który przy spełnieniu odpowiednich parametrów nadawał sobie prawa administratora (a prawdopodobnie powinien sprawdzić czy użytkownik jest administratorem). Kod został odrzucony, ale być może ktoś próbował dodać sobie w ten sposób furtkę.

Oczywiście projekty takie jak Linux są tak duże, że takie błędy i furtki mogą być od dawna i niewiele osób sobie może zdawać z tego sprawę. Co jakiś czas hakerzy czytają kod Linuksa lub innych projektów i czasem błędy znajdują (które są naprawiane). W 2018 w Linuksie (jądrze) znaleziono 107 błędów (do tej pory) - niektóre krytyczne, niektóre nie.

Phishing

https://cdn.pixabay.com/photo/2016/11/27/08/24/internet-1862312_960_720.jpg

To ostatnio plaga różnego rodzaju ataków. Firma informuje o nowym systemie generowania haseł, ale musisz wejść w tę stronę i zalogować się. Albo podać hasło do konta (np. Steem). Phishing to raczej metoda socjotechniczna stosowana w celu wykradzenia danych. Najciekawszym hakerem był "Thomas" - Polak mieszkający za granicą (ostatecznie trafił do więzienia), który nie miał za wielkiej wiedzy z zakresu hackingu, a oszukał i tak tysiące Polaków. Zwykle sprowadza się do wykorzystania ofiary do instalacji jakiegoś programu, który jest wirusem i np. podmienia numery kont bankowych. Dlatego ważne jest by uważać w co się klika.

Warto też przypomnieć, że w ten sposób często rozpowszechnia się Ramsonware czyli oprogramowanie, które szyfruje (często nieodwracalnie) dysk twardy - np. Petya czy NotPetya. Ten drugi jest ciekawy, gdyż szyfrował dysk na amen (nawet po zapłacie okupu nie dało się odzyskać danych).

Na zakończenie

Dużo można opowiadać o tym ;) Wydaje się, że najlepiej mieć antywirusa, ale zdarzają się błędy również w nich, które pomagają przejąć system. Kiedyś hakerzy zdobyli dostęp do CCleaner i rozsyłali wirusy za jego pośrednictwem (z tego co pamiętam) i dopiero po 2 miesiącach ktoś się połapał w tym. Akurat w tym momencie (włamania) Avast kupował ten program i przez troszkę dni nie zauważyli tego włamania. Podstawa to zorientowanie się co może być wirusem, a co nie.


Tekst powstał na podstawie trzeciego tematu tygodnia - "Bezpieczeństwo w sieci".

KOMENTARZE

  • mizej

    Bardzo ciekawy materiał. Może też napiszę materiał w tym temacie.

    Nie wiem czy to błąd czy zamiar twórcy, ale w programie WinRar przy każdym włączeniu wyskakuje nam okienku o wymogu kupna licencji, okno możemy po prostu zamknąć i korzystać z programu w 100%. Nie ma tam żadnych ograniczonych funkcji ani limitu czasowego. Być może taki był zamiar ponieważ nie zmienia się to od lat, a samo zdarzenie jest obiektem żartu, oraz są tworzone memy ukazujące problem. Śmieszna sytuacja.
    <br>
    good-guy-winrar-45875.jpg

    źródło obrazka: https://memeguy.com/photo/45875/good-guy-winrar

  • kuchniawedwoje

    Największym błędem w programie zwanym bezpieczeństwo jest osoba pomiędzy klawiaturą i krzesłem. Smutne, ale prawdziwe.