Hacking is the art of creative problem solving, whether used to find an unconventional solution to a difficult problem or to exploit holes in sloppy programming. Many people call themselves hackers, but few have the strong technical foundation that a hacker needs to be successful. Hacking: The Art Of Exploitation explains things that every real hacker should know.
While many hacking books show you how to run other people's exploits without really explaining the technical details, Hacking: The Art Of Exploitation introduces you to the spirit and theory of hacking as well as the science behind it all. By learning some of the core techniques and clever tricks of hacking, you will begin to understand the hacker mindset. Once you learn to think like a hacker, you can write your own hacks and innovate new techniques, or you can thwart potential attacks on your system
The content of Hacking moves between programming, networking, and cryptography. While well explained, it is a technical piece; some C programming experience is essential, although a basic understanding of networking and cryptography helps as well.
While Hacking is packed with technically accurate, detailed information, it is still a basic introduction to the subject of computer security. Hacking also does not use any notable measure of real-world examples; discussions rarely bring up specific worms and exploits that had previously existed, such as the PNG library overflows or the Blaster worm and related RPC service overflow. Thus, an inexperienced reader may not immediately make the connection between the theory and the reality of attack.
[edit] Programming
The programming portion of Hacking makes up over half of the book's total content. This section goes into the development, design, construction, and testing of exploit code, and thus involves some basic assembly programming. The demonstrated attacks range from simple buffer overflows on the stack to complex techniques involving overwriting the global offset table.
While Erickson discusses some countermeasures such as a non-executable stack and how to evade them with return-to-libc attacks, he does not dive into deeper matters without known guaranteed exploits such as address space layout randomization. Most protections afforded by the Openwall, GrSecurity, and PaX projects appear to be out of scope for Hacking; as do kernel exploits.
It has been suggested that Hacking be used to teach "basic computer programming fundamentals" in one review included in the opening pages of the book. Although these reviews are placed in the text for marketing purposes, the programming section of the book is technically accurate and does convey a lot of information not taught in typical introductory computer programming classes. Whether its use as a fundamental teaching tool would lead to more security-conscious and security-competent programmers overall is, however, neither studied nor proven.
[edit] Networking
The networking segment of Hacking has control of less than half of the remaining text. It explains the basics of the OSI model and basic networking concepts; packet sniffing; connection hijacking; denial of service; and port scanning.
Although technically accurate, the networking section of Hacking only serves as a basic introduction to network security. Countermeasures such as complex firewalls; Stateful Packet Inspection; network address translation, the threat of firewalking, and countermeasures thereof; intrusion detection and prevention; and virtual private networks are not discussed.
[edit] Cryptology
The cryptology section of Hacking consumes the rest of the book's pages. This is another bottom-up section, starting off with basic information theory and moving through symmetric and asymmetric encryption. It winds out in cracking WEP utilizing the Fluhrer, Mantin, and Shamir Attack.
This section appears to be miscellaneous information for the aspiring cryptology scholar. Besides the basics, including man-in-the-middle attacks, dictionary attacks, and the use of John the Ripper; Hacking discusses quantum key distribution, Lov Grover's Quantum Search Algorithm, and Peter Shor's Quantum Factoring Algorithm for breaking RSA encryption using a very large quantum computer.
1 comment:
Buying memory is such a time consuming process... You have to search online for prices, filter through which ones are genuine, go out to a bunch of electronics shops,compare prices, finally buy your memory, and then constantly pray that the price doesn't drop in the next month or so.
I've been f'd over by some ridiculous price drops in the past... especially this one time when I bought a Micro SD for my DS flashcard at what I thought was a steal, only to later see that it had dropped by $5 in a week's time.
(Submitted using Nintendo DS running [url=http://cid-2602f0e287041cef.spaces.live.com/blog/cns!2602F0E287041CEF!106.entry]R4i SDHC[/url] QDos)
Post a Comment