Facebook - konwersja
  • promocja

Bezpieczne programowanie. Aplikacje hakeroodporne - ebook

Wydawnictwo:
Data wydania:
20 czerwca 2012
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Bezpieczne programowanie. Aplikacje hakeroodporne - ebook

Wyjdź zwycięsko z pojedynku z krakerami!

  • Jak zabezpieczyć aplikację przed krakerami?
  • Jak stworzyć bezpieczne rozwiązania w PHP?
  • Jak utrudnić debugowanie Twojego kodu?

Wyobraź sobie sytuację, w której poświęcasz mnóstwo czasu na stworzenie nowego, ciekawego rozwiązania w świecie informatyki. Kosztuje Cię to wiele dni i nocy ogromnego wysiłku. Dokładnie w momencie opuszczenia Twojego bezpiecznego komputera, udostępniony światu, Twój pomysł zostaje wystawiony na ciężką próbę - w sieci działają krakerzy, którzy za wszelką cenę będę próbowali złamać Twoje zabezpieczenia lub wykorzystać luki w Twojej aplikacji. Jak tego uniknąć? Jak tworzyć oprogramowanie odporne na ich ataki?

Proste i przejrzyste odpowiedzi na podobnie skomplikowane pytania znajdziesz właśnie w tej książce! Podczas lektury poznasz zagrożenia, na jakie narażony jest programista, oraz proste sposoby utrudniania krakerom zadania. Dodatkowo zdobędziesz wiedzę na temat metod szyfrowania danych i wyznaczania sygnatur. Jednak, co najważniejsze, zobaczysz, jak wykorzystać tę wiedzę w praktyce! W publikacji "Bezpieczne programowanie. Aplikacje hakeroodporne " znajdziesz również sporo ciekawych informacji na temat zabezpieczania aplikacji sieciowych oraz zaawansowane metody, gwarantujące podniesienie bezpieczeństwa Twojego produktu do wysokiego poziomu. To jeszcze nie wszystko! W kolejnych rozdziałach autor prezentuje sposoby ochrony przed debugerami, patenty na bezpieczne tworzenie kodu na platformie .NET oraz psychologiczne aspekty tworzenia hakeroodpornych aplikacji!

  • Przegląd zagrożeń, rodzaje oszustw i naruszeń bezpieczeństwa
  • Zabezpieczenie programu przy użyciu numeru seryjnego
  • Dostępne na rynku systemy zabezpieczania aplikacji
  • Algorytmy szyfrujące
  • Tworzenie skrótów wiadomości
  • Wykorzystanie szyfrowania przy zabezpieczaniu oprogramowania
  • Zabezpieczenia aplikacji wykorzystujących PHP i .NET
  • Ochrona przed atakami typu: wstrzykiwanie SQL, XSS, DOS i DDOS
  • Używanie zaawansowanych metod ochrony oprogramowania
  • Sposoby zaciemniania programu
  • Ochrona kodu przed debugerami
  • Zastosowanie kluczy sprzętowych i technik biometrycznych
  • Psychologiczne aspekty ochrony oprogramowania

Dowiedz się, jak tworzyć aplikacje odporne na ataki!

Spis treści

Wstęp (9)

Rozdział 1. Zagrożenia czyhające na programistów (11)

  • 1.1. Dawno, dawno temu w świecie gier (11)
  • 1.2. Moje przygody z grą Metal Knights (14)
  • 1.3. Niebezpieczny edytor map, czyli słabe punkty (16)
  • 1.4. A jak to robią w Diablo... czyli coś o bezpieczeństwie aplikacji sieciowych (19)
  • 1.5. Rodzaje oszustw i naruszeń bezpieczeństwa (21)
    • 1.5.1. Nieuprawnione użycie bądź kopiowanie programu (21)
    • 1.5.2. Nielegalna podmiana autorstwa kodu (23)
    • 1.5.3. Nieuprawniona modyfikacja kodu (23)
  • 1.6. Pirat, Robin Hood, kraker? (24)
  • 1.7. Czy ja także mam myśleć o zabezpieczeniach? (25)
  • 1.8. Czym się różni kraker od złodzieja samochodów? (27)
  • Zadania do samodzielnego wykonania (30)
  • Pytania kontrolne (31)

Rozdział 2. Proste metody zabezpieczenia programów (33)

  • 2.1. Wstęp (33)
  • 2.2. Numer seryjny (33)
  • 2.3. CrackMe - przykłady słabości prostych zabezpieczeń przed nieuprawnionym użytkowaniem programu (35)
    • 2.3.1. CrackMe1 (35)
    • 2.3.2. CrackMe2 (42)
  • 2.4. Gotowe systemy zabezpieczania aplikacji przed nieuprawnionym użyciem (44)
    • Przegląd systemów zabezpieczających dostępnych na rynku (47)
  • 2.5. Zakończenie (50)
  • Zadania do samodzielnego wykonania (51)
  • Pytania kontrolne (51)

Rozdział 3. Teoria szyfrowania. Algorytmy szyfrujące w praktyce (53)

  • 3.1. Wstęp (53)
  • 3.2. Szyfrowanie i kodowanie informacji (53)
  • 3.3. Historyczne algorytmy szyfrowania i kodowania (54)
    • 3.3.1. Początki (54)
    • 3.3.2. Szyfry przestawieniowe i podstawieniowe, szyfr Cezara (55)
    • 3.3.3. Szyfry polialfabetyczne (55)
    • 3.3.4. Zasada Kerckhoffsa (56)
  • 3.4. Współczesne algorytmy szyfrowania (56)
    • 3.4.1. Rozwój algorytmów szyfrowania (56)
    • 3.4.2. Algorytmy symetryczne. Algorytm RC4 (57)
    • 3.4.3. Szyfrowanie symetryczne, algorytm DES (61)
    • 3.4.4. Szyfrowanie symetryczne, algorytm AES (61)
    • 3.4.5. Szyfrowanie asymetryczne, algorytm RSA (61)
    • 3.4.6. Podpis cyfrowy (63)
    • 3.4.7. Szyfr z kluczem jednorazowym (63)
  • 3.5. Algorytmy wyznaczające sygnatury (skróty) danych (64)
    • 3.5.1. Algorytm wyznaczania CRC (64)
    • 3.5.2. Algorytm MD5 (65)
    • 3.5.3. Algorytm SHA-1 (65)
  • 3.6. Generatory liczb pseudolosowych (69)
  • 3.7. Do czego może służyć szyfrowanie w zabezpieczaniu programów? (70)
  • Zadania do samodzielnego wykonania (71)
  • Pytania kontrolne (71)

Rozdział 4. Zabezpieczanie programów sieciowych na przykładzie języka PHP (73)

  • 4.1. Wstęp (73)
  • 4.2. Obsługa danych z zewnątrz (74)
  • 4.3. Przekazywanie danych między skryptami (75)
  • 4.4. Uwierzytelnianie w PHP (76)
  • 4.5. Niebezpieczne konstrukcje języka (79)
    • 4.5.1. Konstrukcja include ($plik) (80)
    • 4.5.2. eval($code), konstrukcja $$ (81)
    • 4.5.3. fopen($url) (82)
  • 4.6. Bezpieczna obsługa błędów (83)
  • 4.7. Bezpieczeństwo systemu plików (84)
  • 4.8. Cross site scripting (85)
  • 4.9. Wstrzykiwanie kodu SQL (86)
    • 4.9.1. Wstrzykiwanie kodu SQL - przykład 1. (87)
    • 4.9.2. Wstrzykiwanie kodu SQL - przykład 2. (90)
    • 4.9.3. Użycie PDO (91)
    • 4.9.4. Ataki wielofazowe (92)
    • 4.9.5. Sposoby ochrony (92)
  • 4.10. Wstrzykiwanie poleceń systemowych (shell injection) (93)
  • 4.11. Wstrzykiwanie zawartości e-mail (e-mail injection) (94)
  • 4.12. Cross site request forgery (95)
  • 4.13. Przejęcie kontroli nad sesją (session fixation) (97)
  • 4.14. Session poisoning (101)
    • 4.14.1. Przechowywanie stanu aplikacji w niezabezpieczonych miejscach (101)
    • 4.14.2. Przypisanie wartości do zmiennej sesyjnej o nazwie stworzonej na podstawie danych od użytkownika (104)
    • 4.14.3. Podmiana sekwencji wywołań przez włamywacza. Problem wyścigu (105)
    • 4.14.4. Używanie tych samych zmiennych sesyjnych do różnych celów (106)
    • 4.14.5. Zmienne sesyjne nie są gwarancją bezpieczeństwa (108)
  • 4.15. Ataki typu DOS i DDOS (110)
  • 4.16. Dyrektywa register_globals (112)
  • 4.17. Narzędzie zaciemniające kod źródłowy języka PHP (114)
  • Zakończenie (116)
  • Zadania do samodzielnego wykonania (116)
  • Pytania kontrolne (116)

Rozdział 5. Zaawansowane metody zabezpieczania programów (121)

  • 5.1. Wstęp (121)
  • 5.2. Klucze rejestracyjne przypisane do użytkownika (122)
    • 5.2.1. Idea kluczy rejestracyjnych przypisanych do użytkownika (122)
    • 5.2.2. Typowe techniki (124)
    • 5.2.3. Tworzenie kluczy rejestracyjnych w aplikacjach sieciowych (125)
  • 5.3. Samotestujący się program (126)
    • 5.3.1. Testowanie integralności programu gwarancją jego oryginalności (126)
    • 5.3.2. Przykład - weryfikacja integralności pliku wykonywalnego (127)
    • 5.3.3. Przykład - weryfikacja integralności kodu programu (132)
  • 5.4. Sprawdzanie integralności danych (135)
    • 5.4.1. Ukryj moje dane (136)
    • 5.4.2. Testowanie integralności danych ulegających zmianom (137)
    • 5.4.3. Wersje czasowe oprogramowania - kłopoty z shareware (138)
    • 5.4.4. Bezpieczne przechowywanie danych - przykład (140)
  • 5.5. Samomodyfikujący się program (144)
    • 5.5.1. Samomodyfikujący się program. Brzydka sztuczka czy eleganckie zabezpieczenie? (144)
    • 5.5.2. Sabotaż, czyli jak ukarać krakera? (146)
    • 5.5.3. "Za 5 sekund ten program ulegnie samozniszczeniu" - automatyczna deinstalacja programu (147)
    • 5.5.4. "Kod o ograniczonej przydatności do wykonania" (148)
  • 5.6. Klucz programowy (150)
    • 5.6.1. Klucz programowy - przykład (151)
    • 5.6.2. Deszyfrowanie fragmentów programu w trakcie jego działania (156)
    • 5.6.3. Przykład programu deszyfrującego się w trakcie działania (158)
  • 5.7. Zaciemnianie kodu i danych programu (161)
    • 5.7.1. Czy to wciąż open source? Zaciemnianie kodu jako metoda obronna (161)
  • 5.8. Zabezpieczenia. Jak to w praktyce wprowadzić w życie (163)
    • 5.8.1. Zabezpieczenia a etapy produkcji (163)
    • 5.8.2. Generator zabezpieczeń (164)
  • Zadania do samodzielnego wykonania (165)
  • Pytania kontrolne (166)

Rozdział 6. Zabezpieczenie programów przed debugerami (167)

  • 6.1. Wstęp (167)
  • 6.2. Wykrywanie debugerów (168)
  • 6.3. Utrudnianie debugowania (169)
    • 6.3.1. Wstawki kodu utrudniające debugowanie (169)
    • 6.3.2. Generator wstawek kodu utrudniających debugowanie (172)
  • Zadania do samodzielnego wykonania (175)
  • Pytania kontrolne (175)

Rozdział 7. Wykorzystanie internetu do zabezpieczania programów (177)

  • 7.1. Wstęp (177)
  • 7.2. Rejestracja programu przez internet (178)
  • 7.3. Aktywacja numeru seryjnego przez internet (179)
  • 7.4. Kontrola użytkowania aplikacji z częściowym dostępem do internetu (180)
  • 7.5. Weryfikacja prawidłowej pracy aplikacji przez sieć (181)
  • 7.6. Przechowywanie poufnych danych użytkownika (182)
  • 7.7. Deszyfrowanie programu w trakcie działania a internet (183)
  • 7.8. Fragmentaryczne dane pobierane z internetu (185)
  • 7.9. Przesyłanie informacji o programie do centralnego serwera (186)
    • 7.9.1. Totalna inwigilacja? Rejestrowanie informacji o zachowaniu programu i użytkownika (186)
    • 7.9.2. Zdalne sprawdzanie tożsamości użytkownika (188)
    • 7.9.3. Zdalne i lokalne blokowanie działania programu sterowanego danymi z centralnego serwera (191)
  • 7.10. Wirtualne wybory (192)
  • Zadania do samodzielnego wykonania (196)
  • Pytania kontrolne (196)

Rozdział 8. Zabezpieczanie programów przy użyciu kluczy sprzętowych oraz technik biometrycznych (197)

  • 8.1. Wstęp (197)
  • 8.2. Zabezpieczenie aplikacji za pomocą kluczy sprzętowych (198)
    • 8.2.1. Karty magnetyczne i elektroniczne (198)
    • 8.2.2. Podpis cyfrowy na trwałym nośniku (199)
    • 8.2.3. Klucze sprzętowe w zabezpieczaniu oprogramowania (200)
  • 8.3. Technologie GPS i RFID, geolokalizacja (201)
    • 8.3.1. Technologie GPS i RFID (201)
    • 8.3.2. Problemy etyczne i moralne postępu technicznego związanego z lokalizacją i kontrolą użytkowników (202)
  • 8.4. Weryfikacja tożsamości za pomocą technik biometrycznych (203)
    • 8.4.1. Techniki biometryczne (203)
    • 8.4.2. Indywidualne oprogramowanie (204)
  • 8.5. Szpiegostwo elektroniczne (204)
    • 8.5.1. Włamania do sieci bezprzewodowych (204)
    • 8.5.2. Przechwytywanie fal elektromagnetycznych (205)
  • Pytania kontrolne (206)

Rozdział 9. Tworzenie bezpiecznych aplikacji w środowisku .NET (207)

  • 9.1. Wstęp (207)
  • 9.2. Autoryzacja oparta na uprawnieniach i rolach (Role-Based Authorization) (208)
    • 9.2.1. Uprawnienia, interfejs IPermission, klasa Principal (209)
    • 9.2.2. Autoryzacja nakazowa oparta na rolach (Imperative Role-Based Security) (210)
    • 9.2.3. Autoryzacja deklaracyjna oparta na rolach (Declarative Role-Based Security) (213)
  • 9.3. Zabezpieczenie dostępu kodu do zasobów (Code Access Security) (215)
    • 9.3.1. Nakazowe zabezpieczenie dostępu kodu do zasobów (Imperative Code Access Security) (215)
    • 9.3.2. Deklaracyjne zabezpieczenie dostępu kodu do zasobów (Declarative Code Access Security) (219)
    • 9.3.3. Poziomy reguł bezpieczeństwa (Security Policy Level) (220)
    • 9.3.4. Narzędzie The Code Access Security Policy Utility - caspol.exe (221)
  • 9.4. Bezpieczeństwo ASP.NET (222)
    • 9.4.1. Metody uwierzytelniania w ASP.NET (222)
    • 9.4.2. Dostęp anonimowy (223)
    • 9.4.3. Uwierzytelnianie systemu Windows (223)
    • 9.4.4. Uwierzytelnianie przy użyciu formularza (226)
    • 9.4.5. Uwierzytelnianie za pomocą .NET Passport (228)
    • 9.4.6. Bezpieczna komunikacja za pomocą SSL (228)
  • 9.5. Tworzenie silnych nazw podzespołom (230)
  • Zadania do samodzielnego wykonania (231)
  • Pytania kontrolne (232)

Rozdział 10. Bezpieczny Program (235)

  • 10.1. Wstęp (235)
  • 10.2. Opis programu (236)
  • 10.3. Przegląd kodu źródłowego (238)
    • 10.3.1. BezpiecznyProgram.exe (238)
    • 10.3.2. ZabezpieczBP.exe (245)
    • 10.3.3. StwórzKluczBP.exe (246)
  • 10.4. Wnioski (247)
  • Zadania do samodzielnego wykonania (249)

Rozdział 11. Psychologiczna strona bezpieczeństwa (251)

  • 11.1. Wstęp (251)
  • 11.2. Wpływ architektury programu na jego bezpieczeństwo (251)
  • 11.3. "Tylne wejścia" i kod tymczasowy (253)
  • 11.4. Użycie gotowego kodu (254)
  • 11.5. Open source (256)
  • 11.6. Tańczące świnki kontra bezpieczeństwo (257)
  • 11.7. Security by obscurity - zabezpieczanie przez zaciemnianie (258)
  • 11.8. Karanie włamywacza (260)
  • 11.9. Brzytwa Ockhama (261)
  • 11.10. Użycie socjotechniki (261)
  • 11.11. Nie poprawiaj włamywacza (262)
  • 11.12. Walka ze script kiddies (263)
  • 11.13. Ochrona przed automatami (264)
  • 11.14. Ataki z wewnątrz (267)
  • 11.15. Łańcuch a sieć zabezpieczeń (267)
  • 11.16. Całościowe spojrzenie na problem bezpieczeństwa (268)
  • Pytania kontrolne (270)

Podsumowanie (273)

Odpowiedzi do pytań kontrolnych (281)

Słowniczek pojęć (293)

Skorowidz (301)

Kategoria: Hacking
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-5392-8
Rozmiar pliku: 3,9 MB

BESTSELLERY

Kategorie: