Bezpieczeństwo aplikacji internetowych 2. Szkolenie dla administratorów stron internetowych hufców Śląskiej Chorągwi ZHP Chorzów 2007.03.24 Wszystkie zawarte tu informacje służą wyłącznie celom edukacyjnym. Krótka historia hackingu • Hacking sieci telefonicznych • Hacking Komputerowy Współczesne rodzaje ataków DoS (Denial of Service) Hacking wirusowy Wirus (łacińskie virus oznacza truciznę) komputerowy to najczęściej prosty program komputerowy, który w sposób celowy powiela się bez zgody użytkownika, zazwyczaj tworząc przy tym szkody. • • • • Standardowe wirusy Konie trojańskie Robaki Złośliwe aplety Kradzież informacji • Kradzież kart kredytowych • Kradzież tożsamości • Piractwo informacyjne Zagrożenia związane z bezpieczeństwem aplikacji internetowych Ukryta manipulacja Brak kontroli przesyłanych danych i nieumiejętne projektowanie systemów informatycznych oraz aplikacji internetowych pozwala na manipulację danymi, z których korzystają owe aplikacje. Infiltracja danych Brak weryfikacji informacji pochodzących od użytkownika może umożliwić przenikanie do aplikacji niepowołanych instrukcji. Zewnętrzne skrypty (Cross-Site Scripting – XSS) Luki w aplikacjach internetowych czasem pozwalają na załączanie do stron WWW kodu zewnętrznego skryptu, który niejednokrotnie może wykonywać dowolne operacje na serwerze. Przepełnienie buforów Kiedy program nie może obsłużyć przesłanej mu ilości informacji, następuje tzw. przepełnienie bufora i zatrzymanie aplikacji lub nawet systemu. Zatrute pliki cookies Nieodpowiedni system zabezpieczeń z wykorzystaniem plików cookies pozwala na nieuprawnioną autoryzację. Przechwytywanie sesji Przechwycenie danych sesyjnych umożliwia dostęp do niektórych poufnych informacji. Słabo zabezpieczone serwery pozwalają na przechwycenie identyfikatora sesji, co umożliwia podszycie się pod innego użytkownika. SQL Injection Brak filtracji danych, które są elementami zapytań SQL i niekontrolowanie tychże zapytań, może prowadzić do przechwycenia poufnych danych, umożliwić modyfikację danych znajdujących się w bazie lub nieautoryzowany dostęp do systemu. Sposoby i przechwytywania łamania haseł • Łamanie haseł metodą Brute-force • Łamanie haseł metodą słownikową „Niezahaszowane dane” Podczas, gdy poufne dane nie są „haszowane” zmniejsza się poziom bezpieczeństwa systemu. Metody zabezpieczania się przed łamaniem i przechwytywaniem haseł • „Haszowanie haseł” • Tworzenie długich i nieszablonowych haseł • Uniemożliwianie dostępu do poufnych danych • Blokada wielokrotnego logowania do systemu • Rejestracja informacji o logowaniach Google Hacking Odpowiednie przygotowanie zapytania do wyszukiwarki Google umożliwia wyszukanie interesujących, a czasem także poufnych informacji. Wybrane błędy w przeglądarkach internetowych na przykładzie MS Internet Explorera • Fałszowanie zawartości paska adresu • Uruchamianie plików wykonywalnych w komputerze bez zezwolenia użytkownika • Przepełnienie bufora i zatrzymanie działania programu lub systemu operacyjnego „Kradzież” historii przeglądarki Odpowiednio przygotowany kod JavaScript umożliwia weryfikację odwiedzonych stron WWW na podstawie posiadanych adresów. Socjotechnika Odpowiednie wykorzystanie słabości ludzkiej psychiki i specyficznych technik manipulacji oraz perswazji, pozwala na uzyskanie dostępu do poszukiwanych informacji. Do stosowania socjotechniki czasem nie jest konieczna specjalistyczna wiedza techniczna. Jak zbudować bezpieczną aplikację internetową? Podczas budowania aplikacji internetowej należy przyjąć postawę hakera i starać wykluczyć wszystkie znane możliwości ataku na aplikację, a następnie dokonywać gruntownych testów i audytów bezpieczeństwa. Książki dotyczące bezpieczeństwa i socjotechniki oraz adresy stron WWW związanych z omawianym tematem •Jeff Forristal, Julie Traxler – Hack Proofing – Your Web Applications. •Kevin Mitnick – Sztuka Podstępu. •Dan Verton – Pamiętniki Hakerów. •http://www.hacking.pl •http://www.cc-team.org •http://www.uw-team.org •http://www.haxite.org •http://anakin.us/blog •http://paweljablonski.bblog.pl •http://www.securityfocus.com •http://www.php.pl •http://www.hack.pl Dziękuję za uwagę Piotr Wittchen <[email protected]>