Searching...
Čeština
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Hacking

Hacking

The Art of Exploitation w/CD
od Jon Erickson 2003 264 stran
4.17
2k+ hodnocení
Poslouchat
Try Full Access for 7 Days
Unlock listening & more!
Continue

Klíčové body

1. Hacking je umění nekonvenčního řešení problémů

Podstatou hackingu je nalézt nečekané nebo přehlížené využití zákonů a vlastností dané situace a pak je nově a vynalézavě aplikovat k vyřešení problému.

Za hranicemi zákona. Hacking není nutně o porušování zákonů, ale o kreativním řešení problémů skrze objevování nových využití existujících pravidel a vlastností. Může jít o optimalizaci počítačových programů nebo přizpůsobení starého telefonního zařízení novým účelům. Klíčové je myslet mimo zaběhlé postupy a najít jedinečná řešení.

Etika hackera. První hackeři na MIT si cenili volného toku informací a neustálého učení, překračovali běžné hranice jako diskriminace. Vnímali logiku jako umění a snažili se lépe porozumět světu tím, že obcházeli omezení. Tato etika zdůrazňuje znalosti, inovace a posouvání hranic bez ohledu na zákonnost.

Hacker versus cracker. Termín „cracker“ se kdysi používal k odlišení škodlivých hackerů od těch etických, ale hranice se rozostřila. Moderní zákony omezující kryptografii a výzkum mohou i dobře míněné hackery stavět do role porušovatelů zákona. Pravý duch hackingu překračuje státní zákony a soustředí se na využití znalostí, ať už k dobrému, nebo zlému.

2. Elegance programování spočívá v chytrých, neintuitivních řešeních

Hacking je vlastně jen hledání chytrého a nečekaného řešení problému.

Více než funkční kód. Programování není jen o tom, aby kód fungoval, ale o nalezení nejefektivnějšího a nejpřehlednějšího způsobu, jak úkol splnit. Znamená to využívat pravidla počítače nově a vynalézavě, často s výsledkem malého, efektivního a čistého kódu. Tento hon za elegancí je sám o sobě formou hackingu.

Hodnota hacků. Zatímco moderní byznys často upřednostňuje rychlost a nízké náklady před optimalizací, opravdové ocenění elegance programování zůstává v rukou nadšenců, autorů exploitů a těch, kdo hledají nejlepší možné řešení. Tito lidé nacházejí krásu v elegantním kódu a důvtip v chytrých hácích, posouvají hranice možného.

Programování jako základ. Porozumění programování je klíčové jak pro psaní kódu, tak pro jeho zneužití. Když hackeři rozumí, jak jsou programy napsány, lépe dokážou najít a využít jejich slabiny. Tyto znalosti jsou nezbytné na obou stranách programátorského spektra.

3. Využití programů odhaluje nečekané možnosti pravidel počítače

Exploitace programu je prostě chytrý způsob, jak donutit počítač dělat to, co chcete, i když byl program navržen, aby tomu zabránil.

Využití chyb. Exploitace programu znamená najít chyby nebo přehlédnutí v jeho návrhu či prostředí a použít je k tomu, aby počítač vykonal něco, co nebylo zamýšleno. Často to znamená obejít bezpečnostní opatření a získat neoprávněný přístup. Bezpečnostní díry jsou ve skutečnosti chyby nebo přehlédnutí v návrhu programu či prostředí, ve kterém běží.

Chyby o jedno. Častou programátorskou chybou, kterou lze zneužít, je tzv. off-by-one chyba, kdy programátor spočítá o jedno méně nebo více. To může vést k zranitelnostem umožňujícím útočníkům získat administrátorská práva nebo obejít bezpečnostní omezení. Například off-by-one chyba v OpenSSH umožnila běžným uživatelům získat plná administrátorská práva.

Doslovný výklad. Programy přesně dodržují instrukce, i když výsledky nejsou tím, co programátor zamýšlel. To může vést k nečekaným a katastrofálním následkům, jak ukazuje případ „LaMacchia Loophole“, kdy student využil právní kličku k usnadnění softwarového pirátství bez osobního finančního zisku.

4. Přetečení bufferu a formátovací řetězce: obecné techniky exploitace

Cílem obou těchto technik je převzít kontrolu nad tokem vykonávání cílového programu a oklamat ho, aby spustil škodlivý kód, který lze do paměti dostat různými způsoby.

Běžné chyby. Některé běžné programátorské chyby lze zneužít způsoby, které nejsou vždy zřejmé. Tyto chyby daly vzniknout obecným exploit technikám, jež lze použít v různých situacích. Dvě nejčastější jsou přetečení bufferu a exploitace formátovacích řetězců.

Přetečení bufferu. K přetečení bufferu dochází, když program zapíše do bufferu více dat, než pojme, a přepíše tak sousední oblasti paměti. To může vést k přepsání kritických dat, například návratových adres, a převzetí kontroly nad tokem vykonávání programu.

Exploitace formátovacích řetězců. Tyto exploity manipulují s formátovacími řetězci ve funkcích jako printf(), aby četly nebo zapisovaly do libovolných míst v paměti. To může vést k přepsání ukazatelů na funkce nebo jiných kritických dat a získání kontroly nad programem.

5. Segmentace paměti: pochopení toku vykonávání programu

Paměť programu je rozdělena do pěti segmentů: text, data, bss, heap a stack.

Organizace paměti. Paměť programu je rozdělena do pěti segmentů: text (kód), data, bss, heap a stack. Každý segment má svůj účel, například ukládání instrukcí, globálních proměnných nebo dočasných dat. Porozumění této organizaci je klíčové pro využívání zranitelností.

Stack. Stack je dočasná pracovní paměť používaná k ukládání kontextu během volání funkcí. Obsahuje parametry, lokální proměnné a ukazatele potřebné k obnovení stavu programu po dokončení funkce. Přetečení stacku může přepsat návratové adresy a změnit tok vykonávání.

Heap. Heap slouží k dynamické alokaci paměti, umožňuje programům rezervovat paměť podle potřeby. Přetečení heapu může přepsat důležité proměnné nebo ukazatele na funkce, což vede k bezpečnostním rizikům.

6. Víceuživatelská oprávnění souborů: získání práv roota

Pokud lze změnit tok vykonávání suid root programu tak, aby spustil vložený libovolný kód, útočník může donutit program dělat cokoli jako uživatel root.

Bezpečnostní model Linuxu. Linux je víceuživatelský operační systém, kde plná systémová práva má uživatel „root“. Oprávnění k souborům jsou založena na uživatelích a skupinách, což brání neoprávněnému přístupu.

SUID programy. SUID (set user ID) programy umožňují neprivilegovaným uživatelům vykonávat systémové funkce vyžadující práva roota. Při spuštění SUID programu se efektivní uživatelské ID (EUID) změní na vlastníka programu, obvykle root.

Využití SUID programů. Pokud lze změnit tok vykonávání SUID root programu tak, aby spustil vložený kód, útočník získá práva roota. To lze dosáhnout přetečením bufferu nebo exploitací formátovacích řetězců, čímž útočník ovládne systém jako root.

7. Síťová komunikace spoléhá na standardní protokoly

Síťování je o komunikaci, a aby mohly dvě či více stran správně komunikovat, jsou potřeba standardy a protokoly.

Model OSI. Síťová komunikace se opírá o standardní protokoly definované modelem Open Systems Interconnection (OSI). Tento model má sedm vrstev, z nichž každá řeší jiný aspekt komunikace – od fyzického spojení po aplikační vrstvu.

Klíčové vrstvy. Pro pochopení zranitelností sítí jsou důležité zejména síťová vrstva (IP), transportní vrstva (TCP/UDP) a datová linková vrstva (Ethernet). Tyto vrstvy zajišťují adresování, směrování, spolehlivý přenos dat a hardwarové adresování.

Pakety a zapouzdření. Data se přenášejí v paketech, které jsou na každé vrstvě opatřeny hlavičkami protokolů. Porozumění struktuře těchto hlaviček a jejich vzájemné interakci je klíčové pro využívání síťových zranitelností.

8. Síťový sniffing odhaluje slabiny přenosu dat

Exploitace programů je základním kamenem hackingu.

Promiskuitní režim. Síťový sniffing znamená zachytávání paketů přenášených sítí. V neswitchované síti lze zařízení nastavit do promiskuitního režimu, který umožňuje zachytit všechny pakety bez ohledu na cílovou adresu.

Switchované sítě. Switchované sítě omezují provoz na konkrétní porty podle MAC adres, což sniffing ztěžuje. Přesto lze použít techniky jako ARP přesměrování k obejití těchto opatření.

ARP přesměrování. ARP přesměrování spočívá ve falšování ARP odpovědí, které otráví ARP cache cílových strojů a přesměrují jejich provoz přes útočníkův počítač. Útočník tak může zachytávat a případně upravovat přenášená data.

9. Kryptologie: rovnováha mezi bezpečností a praktičností

Samotné znalosti nejsou ani dobré, ani špatné; morálka spočívá v jejich použití.

Kryptografie a kryptanalýza. Kryptologie zahrnuje kryptografii (umění tajné komunikace) a kryptanalýzu (umění tyto tajnosti prolomit). Silná kryptografie je nezbytná pro bezpečné online transakce a ochranu citlivých dat.

Bezpodmínečná vs. výpočetní bezpečnost. Bezpodmínečná bezpečnost, jako u jednorázových klíčů, je neprolomitelná i s neomezenými zdroji, ale často nepraktická. Výpočetní bezpečnost spoléhá na obtížnost prolomení šifry v rozumném čase s dostupnou technologií.

Symetrické vs. asymetrické šifrování. Symetrické šifry používají stejný klíč pro šifrování i dešifrování, což je rychlé, ale komplikované pro distribuci klíčů. Asymetrické šifry používají veřejný a soukromý klíč, což usnadňuje výměnu klíčů, ale je pomalejší. Hybridní šifry kombinují obě metody pro optimální bezpečnost a efektivitu.

10. Využití slabin šifrování bezdrátové sítě 802.11b: útoky na WEP

Jaderná fyzika a biochemie mohou sloužit k zabíjení, ale zároveň přinášejí významný vědecký pokrok a moderní medicínu.

Účel WEP. WEP (Wired Equivalent Privacy) byl navržen tak, aby poskytoval bezpečnost srovnatelnou s drátovou sítí. Slabiny protokolu však umožňují různé útoky.

Proces šifrování WEP. WEP používá proudovou šifru RC4 s 24bitovým inicializačním vektorem (IV) a 40- nebo 104bitovým klíčem. IV se připojuje ke klíči a slouží jako semeno pro algoritmus RC4, který generuje klíčový proud, jenž se XORuje s otevřeným textem.

Zranitelnosti WEP. WEP je zranitelný vůči offline útokům hrubou silou, opakovanému použití klíčového proudu a útokům založeným na slovníku IV. Tyto slabiny lze zneužít k prolomení klíčů WEP a získání neoprávněného přístupu k bezdrátovým sítím.

Poslední aktualizace:

FAQ

What's Hacking: The Art of Exploitation about?

  • Introduction to Hacking: The book introduces hacking as a form of creative problem-solving, focusing on finding unconventional solutions.
  • Technical Foundation: It provides a comprehensive technical foundation, covering essential hacking techniques often missing in other literature.
  • Core Techniques: Readers learn about exploiting buffer overflows, writing shellcode, and understanding networking and cryptology.

Why should I read Hacking: The Art of Exploitation?

  • Comprehensive Learning: Ideal for those serious about ethical hacking or understanding system vulnerabilities.
  • Hands-On Approach: Encourages experimentation with code examples on a Linux system for practical understanding.
  • Mindset Development: Helps develop a hacker mindset, fostering creative problem-solving and security awareness.

What are the key takeaways of Hacking: The Art of Exploitation?

  • Understanding Exploits: Gain insights into how exploits work and how to defend against them, including buffer overflows and format string vulnerabilities.
  • Hacker Ethic: Discusses the Hacker Ethic, promoting the free flow of information and knowledge pursuit.
  • Practical Skills: Equips readers with skills to write hacks and understand security vulnerabilities.

How does Hacking: The Art of Exploitation define hacking?

  • Creative Problem Solving: Describes hacking as creating problem-solving methods through unconventional means.
  • Beyond Criminality: Emphasizes that hacking is not inherently criminal but a means of innovation and exploration.
  • Historical Context: Traces hacking origins to early computer enthusiasts who creatively manipulated systems.

What is the Hacker Ethic mentioned in Hacking: The Art of Exploitation?

  • Free Information: Promotes the belief that information should be free and accessible to all.
  • Learning and Mastery: Values continuous learning and mastery over technology, encouraging boundary-pushing and innovation.
  • Community and Collaboration: Fosters a sense of community among hackers, where knowledge sharing and collaboration are encouraged.

What are some core techniques covered in Hacking: The Art of Exploitation?

  • Buffer Overflows: Explains exploiting programs using buffer overflows, a common software vulnerability.
  • Shellcode Writing: Teaches writing and injecting shellcode, essential for executing arbitrary code on target systems.
  • Network Traffic Manipulation: Covers techniques to redirect network traffic and hijack TCP connections, enhancing network security understanding.

How does Jon Erickson explain buffer overflows in Hacking: The Art of Exploitation?

  • Detailed Explanation: Provides a thorough explanation of buffer overflows, including their occurrence and implications.
  • Practical Examples: Includes practical examples and code snippets to illustrate buffer overflow exploitation.
  • Mitigation Strategies: Discusses strategies for mitigating buffer overflow vulnerabilities, emphasizing secure coding practices.

What is the significance of shellcode in hacking as explained in Hacking: The Art of Exploitation?

  • Execution of Arbitrary Code: Shellcode is crucial for executing arbitrary code on a target system, a key component of many exploits.
  • Crafting Shellcode: Teaches writing shellcode that is small, efficient, and free of null bytes for successful exploitation.
  • Polymorphic Shellcode: Discusses creating polymorphic shellcode to evade detection by security systems.

What are some specific methods discussed in Hacking: The Art of Exploitation?

  • Buffer Overflow Exploits: Details how buffer overflows can be exploited to execute arbitrary code by manipulating stack memory.
  • Format String Vulnerabilities: Explains exploiting format string vulnerabilities to read or write arbitrary memory locations.
  • Network Attacks: Covers network attacks like ARP spoofing and TCP/IP hijacking, demonstrating traffic interception and manipulation.

How does Hacking: The Art of Exploitation approach the topic of network security?

  • Comprehensive Coverage: Covers various aspects of network security, including common attacks and vulnerabilities.
  • Practical Techniques: Includes techniques for securing networks, such as implementing firewalls and intrusion detection systems.
  • Real-World Examples: Uses real-world examples to illustrate the impact of network vulnerabilities, emphasizing the importance of security.

What are the best quotes from Hacking: The Art of Exploitation and what do they mean?

  • "Hacking is about understanding the rules of the system.": Emphasizes understanding systems to identify vulnerabilities, highlighting the hacker mindset.
  • "The best way to learn is by doing.": Reflects the book's hands-on approach, encouraging practical exercises and real-world application.
  • "Vulnerabilities exist in every system.": Reminds readers that no system is completely secure, underscoring the need for continuous security improvement.

How can I apply the knowledge from Hacking: The Art of Exploitation in real life?

  • Ethical Hacking: Techniques can be applied in ethical hacking and penetration testing to identify and mitigate system vulnerabilities.
  • Improving Security Practices: Understanding hacking techniques helps developers and IT professionals enhance security practices.
  • Continuous Learning: Encourages a mindset of continuous learning and curiosity, staying updated on the latest hacking techniques and security measures.

Recenze

4.17 z 5
Průměr z 2k+ hodnocení z Goodreads a Amazonu.

Hacking: Umění zneužití je vysoce ceněná kniha díky svým podrobným technickým vysvětlením hackerských technik, které zahrnují témata jako přetečení bufferu, síťové protokoly a kryptografie. Čtenáři oceňují praktický přístup s přiloženým LiveCD, jež umožňuje reálné experimentování. Ačkoliv ji někteří považují za náročnou a místy zastaralou, mnozí ji vidí jako nezbytný zdroj pro pochopení nízkoúrovňových zranitelností a zdokonalení programátorských dovedností. Kniha je doporučována všem, kdo se zajímají o kybernetickou bezpečnost, avšak může být příliš složitá pro začátečníky a zaměřuje se především na programování v jazyce C a systémy Linux.

Your rating:
4.59
48 hodnocení

O autorovi

Jon Erickson je autorem knihy „Hacking: The Art of Exploitation“, která si získala široké uznání v oblasti počítačové bezpečnosti. Díky své schopnosti srozumitelně vysvětlit složité technické koncepty významně přispěl k pochopení hackerských technik a zranitelností softwaru. Jeho práce se nezaměřuje jen na to, jak používat existující exploity, ale učí čtenáře, jak si je sami vyvíjet a porozumět základním principům. Ericksonův přístup klade důraz na kreativní řešení problémů v hackingu a povzbuzuje čtenáře, aby kriticky přemýšleli o počítačových systémech a jejich možných slabinách. Jeho kniha se stala cenným zdrojem jak pro začínající odborníky na bezpečnost, tak pro zkušené programátory, kteří chtějí prohloubit své znalosti v oblasti kybernetické bezpečnosti.

Listen to Summary
0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Home
Library
Get App
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Recommendations: Personalized for you
Ratings: Rate books & see your ratings
100,000+ readers
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 4
📜 Unlimited History
Free users are limited to 4
📥 Unlimited Downloads
Free users are limited to 1
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on May 29,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
100,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Scanner
Find a barcode to scan

Settings
General
Widget
Loading...