[ Pobierz całość w formacie PDF ]
Bezpieczne programowanie.
Aplikacje hakeroodporne
Autor: Jacek Ross
ISBN: 978-83-246-2405-8
Format: 158
×
235, stron: 312
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 treci
Wstp .............................................................................................. 9
Rozdzia 1. Zagroenia czyhajce 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 sabe punkty ........................................................ 16
1.4. A jak to robi w Diablo... czyli co o bezpieczestwie aplikacji sieciowych .......... 19
1.5. Rodzaje oszustw i narusze bezpieczestwa ........................................................... 21
1.5.1. Nieuprawnione uycie bd 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 take mam myle o zabezpieczeniach? ....................................................... 25
1.8. Czym si róni kraker od zodzieja samochodów? .................................................. 27
Zadania do samodzielnego wykonania ........................................................................... 30
Pytania kontrolne ............................................................................................................ 31
Rozdzia 2. Proste metody zabezpieczenia programów ......................................... 33
2.1. Wstp ....................................................................................................................... 33
2.2. Numer seryjny ......................................................................................................... 33
2.3. CrackMe — przykady saboci prostych zabezpiecze
przed nieuprawnionym uytkowaniem programu ................................................. 35
2.3.1. CrackMe1 ....................................................................................................... 35
2.3.2. CrackMe2 ....................................................................................................... 42
2.4. Gotowe systemy zabezpieczania aplikacji przed nieuprawnionym uyciem ........... 44
Przegld systemów zabezpieczajcych dostpnych na rynku ................................... 47
2.5. Zakoczenie ............................................................................................................. 50
Zadania do samodzielnego wykonania ........................................................................... 51
Pytania kontrolne ............................................................................................................ 51
Rozdzia 3. Teoria szyfrowania. Algorytmy szyfrujce w praktyce ....................... 53
3.1. Wstp ....................................................................................................................... 53
3.2. Szyfrowanie i kodowanie informacji ....................................................................... 53
3.3. Historyczne algorytmy szyfrowania i kodowania .................................................... 54
3.3.1. Pocztki .......................................................................................................... 54
3.3.2. Szyfry przestawieniowe i podstawieniowe, szyfr Cezara ............................... 55
3.3.3. Szyfry polialfabetyczne .................................................................................. 55
3.3.4. Zasada Kerckhoffsa ........................................................................................ 56
4
Bezpieczne programowanie. Aplikacje hakeroodporne
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 wyznaczajce 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 moe suy szyfrowanie w zabezpieczaniu programów? ....................... 70
Zadania do samodzielnego wykonania ........................................................................... 71
Pytania kontrolne ............................................................................................................ 71
Rozdzia 4. Zabezpieczanie programów sieciowych na przykadzie jzyka PHP ... 73
4.1. Wstp ....................................................................................................................... 73
4.2. Obsuga danych z zewntrz ..................................................................................... 74
4.3. Przekazywanie danych midzy skryptami ............................................................... 75
4.4. Uwierzytelnianie w PHP .......................................................................................... 76
4.5. Niebezpieczne konstrukcje jzyka ........................................................................... 79
4.5.1. Konstrukcja include ($plik) ............................................................................ 80
4.5.2. eval($code), konstrukcja $$ ............................................................................ 81
4.5.3. fopen($url) ...................................................................................................... 82
4.6. Bezpieczna obsuga bdów ..................................................................................... 83
4.7. Bezpieczestwo systemu plików ............................................................................. 84
4.8. Cross site scripting ................................................................................................... 85
4.9. Wstrzykiwanie kodu SQL ........................................................................................ 86
4.9.1. Wstrzykiwanie kodu SQL — przykad 1. ....................................................... 87
4.9.2. Wstrzykiwanie kodu SQL — przykad 2. ....................................................... 90
4.9.3. Uycie 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 zawartoci e-mail (e-mail injection) .............................................. 94
4.12. Cross site request forgery ...................................................................................... 95
4.13. Przejcie 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 wartoci do zmiennej sesyjnej
o nazwie stworzonej na podstawie danych od uytkownika ................... 104
4.14.3. Podmiana sekwencji wywoa przez wamywacza. Problem wycigu ....... 105
4.14.4. Uywanie tych samych zmiennych sesyjnych do rónych celów ............... 106
4.14.5. Zmienne sesyjne nie s gwarancj bezpieczestwa .................................... 108
4.15. Ataki typu DOS i DDOS ..................................................................................... 110
4.16. Dyrektywa register_globals ................................................................................. 112
4.17. Narzdzie zaciemniajce kod ródowy jzyka PHP ........................................... 114
Zakoczenie .................................................................................................................. 116
Zadania do samodzielnego wykonania ......................................................................... 116
Pytania kontrolne .......................................................................................................... 116
Spis treci
5
Rozdzia 5. Zaawansowane metody zabezpieczania programów ....................... 121
5.1. Wstp ..................................................................................................................... 121
5.2. Klucze rejestracyjne przypisane do uytkownika .................................................. 122
5.2.1. Idea kluczy rejestracyjnych przypisanych do uytkownika .......................... 122
5.2.2. Typowe techniki ........................................................................................... 124
5.2.3. Tworzenie kluczy rejestracyjnych w aplikacjach sieciowych ....................... 125
5.3. Samotestujcy si program .................................................................................... 126
5.3.1. Testowanie integralnoci programu gwarancj jego oryginalnoci .............. 126
5.3.2. Przykad — weryfikacja integralnoci pliku wykonywalnego ..................... 127
5.3.3. Przykad — weryfikacja integralnoci kodu programu ................................ 132
5.4. Sprawdzanie integralnoci danych ......................................................................... 135
5.4.1. Ukryj moje dane ........................................................................................... 136
5.4.2. Testowanie integralnoci danych ulegajcych zmianom .............................. 137
5.4.3. Wersje czasowe oprogramowania — kopoty z shareware ........................... 138
5.4.4. Bezpieczne przechowywanie danych — przykad ........................................ 140
5.5. Samomodyfikujcy si program ............................................................................ 144
5.5.1. Samomodyfikujcy 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 przydatnoci do wykonania” ............................................ 148
5.6. Klucz programowy ................................................................................................ 150
5.6.1. Klucz programowy — przykad ................................................................... 151
5.6.2. Deszyfrowanie fragmentów programu w trakcie jego dziaania ................... 156
5.6.3. Przykad programu deszyfrujcego si w trakcie dziaania .......................... 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. Wstp ..................................................................................................................... 167
6.2. Wykrywanie debugerów ........................................................................................ 168
6.3. Utrudnianie debugowania ...................................................................................... 169
6.3.1. Wstawki kodu utrudniajce debugowanie .................................................... 169
6.3.2. Generator wstawek kodu utrudniajcych debugowanie ................................ 172
Zadania do samodzielnego wykonania ......................................................................... 175
Pytania kontrolne .......................................................................................................... 175
Rozdzia 7. Wykorzystanie internetu do zabezpieczania programów .................. 177
7.1. Wstp ..................................................................................................................... 177
7.2. Rejestracja programu przez internet ...................................................................... 178
7.3. Aktywacja numeru seryjnego przez internet .......................................................... 179
7.4. Kontrola uytkowania aplikacji z czciowym dostpem do internetu .................. 180
7.5. Weryfikacja prawidowej pracy aplikacji przez sie .............................................. 181
7.6. Przechowywanie poufnych danych uytkownika .................................................. 182
7.7. Deszyfrowanie programu w trakcie dziaania a internet ........................................ 183
7.8. Fragmentaryczne dane pobierane z internetu ......................................................... 185
7.9. Przesyanie informacji o programie do centralnego serwera .................................... 186
6
Bezpieczne programowanie. Aplikacje hakeroodporne
7.9.1. Totalna inwigilacja? Rejestrowanie informacji
o zachowaniu programu i uytkownika ..................................................... 186
7.9.2. Zdalne sprawdzanie tosamoci uytkownika .............................................. 188
7.9.3. Zdalne i lokalne blokowanie dziaania 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 uyciu kluczy sprztowych
oraz technik biometrycznych ......................................................... 197
8.1. Wstp ..................................................................................................................... 197
8.2. Zabezpieczenie aplikacji za pomoc kluczy sprztowych ..................................... 198
8.2.1. Karty magnetyczne i elektroniczne .............................................................. 198
8.2.2. Podpis cyfrowy na trwaym noniku ............................................................ 199
8.2.3. Klucze sprztowe 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 postpu technicznego
zwizanego z lokalizacj i kontrol uytkowników ................................... 202
8.4. Weryfikacja tosamoci 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. Wamania 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. Wstp ..................................................................................................................... 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 dostpu kodu do zasobów (Code Access Security) ......................... 215
9.3.1. Nakazowe zabezpieczenie dostpu kodu do zasobów
(Imperative Code Access Security) ............................................................... 215
9.3.2. Deklaracyjne zabezpieczenie dostpu kodu do zasobów
(Declarative Code Access Security) .............................................................. 219
9.3.3. Poziomy regu bezpieczestwa (Security Policy Level) ............................... 220
9.3.4. Narzdzie The Code Access Security Policy Utility — caspol.exe .............. 221
9.4. Bezpieczestwo ASP.NET .................................................................................... 222
9.4.1. Metody uwierzytelniania w ASP.NET ......................................................... 222
9.4.2. Dostp anonimowy ....................................................................................... 223
9.4.3. Uwierzytelnianie systemu Windows ............................................................ 223
9.4.4. Uwierzytelnianie przy uyciu 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 podzespoom .................................................................. 230
Zadania do samodzielnego wykonania ......................................................................... 231
Pytania kontrolne .......................................................................................................... 232
[ Pobierz całość w formacie PDF ]
Wątki
- Start
- Bezpieczna zabawka (Wychowanie w przedszkolu, KSIĄŻKI PRZEDSZKOLE
- Bezpieczeństwo transakcji płatniczych, ENCYKLOPEDIE I PORADNIKI, Poradniki dla konsumentów
- Bezpieczne stanowisko pracy - Ryszard Brya, BHP, BHP książki
- Bezpieczeństwo wewnętrzne w polityce państwa polskiego na ziemiach północno-wschodnich II Rzeczyposp Wojciech Śleszyński e-book, Nauka
- Bezpiecze#x144;stwo energetyczne w pierwszej dekadzie XXI wieku M#x142;ynarski Tomasz ebook, Nauka
- Bezpieczny system w praktyce. Wyższa szkoła hackingu i testy penetracyjne - Georgia Weidman, PDF, Ebooki
- Bezpieczne przeglądanie stron internetowych, PORADNIKI KOMPUTEROWE, windows XP i vista help
- Bezpieczeństwo Linuxa i BSD od podstaw, PDF (ebooki), Linux poradniki podręczniki
- Bezpieczeństwo narodowe w świadomości społeczności Wrocławia - Piotr Pieńkowski DOWNLOAD, N jak Nauka
- BermĂşdez JosĂŠ Luis - Cognitive Science. An Introduction To The Science Of Mind (Second Edition), Brain Building (thanx mindtrickart)
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- pustapelnia.pev.pl