Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Security Books Media Programming Software Book Reviews IT Technology

Malware - Fighting Malicious Code 111

AMuse writes "After taking a course at SANS from Ed Skoudis (and later hacking with him at the DefCon "Capture the Flag" contest in Las Vegas), I decided it was time to buy a copy of his latest book and see if he writes as well as he teaches. "Malware: Fighting Malicious code" is his most recent computer security book and was definitely a worthy purchase. Though the topic itself is not for novices, Skoudis does a splendid job of reviewing the basics with each chapter so that a less experienced security professional can follow along and learn. Additionally, he is very careful to show both Windows and UNIX/Linux examples of the topics, making the book accessible to a far wider crowd than some platform centric books I've read." Read on for the rest of AMuse's review.
Malware: Fighting Malicious Code
author Ed Skoudis
pages 636
publisher Prentice Hall
rating 9
reviewer Matt Linton
ISBN 0131014056
summary A detailed look at malicious computer code, how to examine and defend against it.

One of the finest points of the book is that it's structured with the simplest (and most common) cyber-attacks in the initial chapters, and later in the book builds upon those concepts clearly. With each new chapter he delves deeper into the computer attack world and the increasing complexity of attacks and how to recognize, detect and counter them. Every description of an attack is paired with useful graphics and examples of code dumps or program output. As a bonus, the programs he recommends as tools in his book are the very ones he uses in his demonstrations.

Viruses, Worms and Mobile Code:

The first few chapters start out relatively light for an experienced security person. They cover viruses, worms and mobile code (the nifty high level languages like ActiveX, JavaScript and VB which are so easy to abuse). Though the information is on a light level for the pro, a novice would find these chapters packed with useful information and examples of each of many types of nasty code. After each example, the book shows how to recognize an infection, then how to prevent them in the first place.

Trojans and Backdoors

Once he's gotten the reader's feet feet wet, Skoudis begins to wade in deeper with discussion and analysis of Trojans and Backdoors. Even a pro will likely read something here that they didn't know before. As a quick example, he covers "port knocking" with spoofed hosts and sniffers as a means of evading detection of your backdoor by pesky net admins. Although these chapters include many high level concepts, Skoudis clearly demonstrates them via real world examples and references to code that you can obtain yourself and try out (On a well isolated network, of course!)

User and Kernel mode Rootkits

After a healthy dose of trojans and backdoors, the book moves on to discuss in very great detail the current status of User and Kernel mode rootkits. In my opinion, these two chapters were the most detailed and thorough in the book. All told, about 160 pages of the book are dedicated to the Windows and UNIX/Linux kernels, how they operate and of course how they can be completely taken over and replaced by an attacker. If there's any book that can leave SysAdmins awake at night in paranoid fits, this is the book and these are the chapters.

The truly nasty stuff

In the final chapters, he leaves the world of attacks that are already in the wild and discusses attacks that are yet to come. These topics include polymorphic code that alters itself with each infection to evade IDS and Antivirus signatures, tightly packaged combo attacks, potential BIOS rootkits and even microcode attacks where the CPU itself is infected with an attackers' code, hiding rootkits as soon as the power switch is flipped on.

Tying it all together

The book then ends with two very helpful chapters which detail how to establish a test lab for yourself and analyze malicious code on your own. As a bonus, there's also a chapter on real world scenarios that you can investigate yourself to see what you've learned.

Conclusion

All told, I would recommend this book for any serious security professional or SysAdmin/NetAdmin. It's also a very good read for Novice geeks but, although Skoudis does an excellent job of explaining the basics, the later chapters may be a bit too complex for someone without at least a bit of time as a power user.


You can purchase Malware: Fighting Malicious Code from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page

This discussion has been archived. No new comments can be posted.

Malware - Fighting Malicious Code

Comments Filter:
  • by Anonymous Coward on Monday April 19, 2004 @01:48PM (#8906763)
    bash$ find linux-2.6.5 -exec grep FIXME {} \; | wc -l
    2494
    bash$
    • by Anonymous Coward
      Dodgy code doesn't mean security vulnerabilities.

      Most likely those are feature requests. It's not a good idea to take FIXME's out of context.

      • by MrChuck ( 14227 ) on Monday April 19, 2004 @04:48PM (#8908772)
        I dunno. I recall when some rework of lpd in OpenBSD removed a bunch of "dodgy code". It was fixed because it was wrong (unbounded copies and that sort of thing).

        14 months later, when an exploit for lpd was found and out in the wild, OpenBSD was immune. Did they KNOW that it was exploitable? No. They simply fixed something that was wrong.

        Now regarding the "for newbies" comment
        Though the topic itself is not for novices, Skoudis does a splendid job of reviewing the basics with each chapter
        Is there any really good reason that all books must be friendly to newbies? One of the things I really dislike about current technical press is that every book I get on something, I have to deal with 30% or more that covers stuff I know.

        Let's presume that the reader knows "coding". (if you actually know C or C++ or java, you can reasonably read other algol based languages.). From that we can cover PRINCIPLES of bad coding and what to look for.

        I tire of each book being written for kindergardeners (metaphorically). Welcome to CS504 - writing optimizing compilers. We're going to be writing a language and developing a compiler for it for several chip platforms. But first, lets go over what a loop is. Can anyone tell me? Then we'll move to variables.

  • A must own for every coder of longhorn.
  • Hate to ask... (Score:5, Insightful)

    by Anonymous Coward on Monday April 19, 2004 @01:49PM (#8906770)
    When can we expect Malware: Fighting Ignorant Users? Not trying to troll, this should be step 1 in the battle.
    • Re:Hate to ask... (Score:3, Insightful)

      by boisepunk ( 764513 )
      They get the shit kicked out of them every time they go online. They take their junky Gateways back to PC shops to 'wipe and reinstall' every six months. They lose files because 'I know I didn't download that file to my hard drive - I downloaded it to my desktop instead' and then they can't find it.

      You tell them the simplest things to get them out of the most complex situations and they demand 'user friendly'. They want products that cure only the latest ill and demand at most one mouse click.

      Wonder of wo
      • Re:Hate to ask... (Score:3, Insightful)

        by Anonymous Coward
        "It's time to put up some housing ordinances so MS users aren't allowed to ruin the neighbourhood. High time and beyond." ... Shouldn't that be "non-qualified" MS users? Dont' bash the whole gang. I'm pretty sure there are some very qualified and useful MS users (Me being one of them).
        • (reflects upon the question for the moment...)

          No, the motion is denied. Qualified MS user is an oxymoron. If such a beast existed, it would be quickly hunted down as, at the behest of John Ashcroft, with dogs and helecopters. It would be thrown into a triply secure holding cell, as an example of terrorism (for the threat to the Internet that a qualified MS user would constitute) and as an example of pornography (having a countenance so hideously alien that most adults could not stomach it, and those that c
    • by David Hume ( 200499 ) on Monday April 19, 2004 @02:13PM (#8907044) Homepage

      When can we expect Malware: Fighting Ignorant Users? Not trying to troll, this should be step 1 in the battle.


      In addition, what about legal remedies? It appears that many people legally "agree" to the installation of various forms of malware by mindlessly clicking through on licensing agreements. While consumer education is one possible solution, changing the law of contract might provide another solution. Obviously, these solutions are not mutually exclusive.

      Many contracts are, by either statute or common law, void as a matter of public policy. This is one possible solution.

      Other contracts (e.g., in the areas of consumer credit, mortgages, etc.) have required language or other provisions.

      In other areas (e.g., limitations of liability, waiver of implied warranties, and again consumer credit, mortgages, etc.) there are requirements reqarding the use of clear and understandable language, prominent disclosures and even the size of the type face.

      To my knowledge, none of the above possible remedies have been enacted re: click through agreements.

    • Re:Hate to ask... (Score:5, Insightful)

      by javatips ( 66293 ) on Monday April 19, 2004 @02:14PM (#8907055) Homepage
      Maybe "Malware: Educating Ignorant Users" would be better.
      • Re:Hate to ask... (Score:5, Interesting)

        by SatanicPuppy ( 611928 ) <SatanicpuppyNO@SPAMgmail.com> on Monday April 19, 2004 @03:15PM (#8907716) Journal
        No point in trying to educate them. A lot of this stuff is so esoteric that even relatively experienced and competent users get taken in, and new stuff comes up all the time. Is it sensible to make someone who really has no need for in depth computer knowledge sit down and cram new viruses and security vulnerabilities 2 hours a day?

        The solution is an OS that doesn't just load everything that comes along. It's the digital equivalent of walking around Times Square jabbing used hypodermics into your arm.

        This isn't just a Windows thing either...Linux gives you complete freedom to fuck yourself by loading unsigned code. Of course, if you're using Linux you can run the checksums and make sure its the official code.

        What it boils down to is that we need some basic validation method, which vets code that should/shouldn't be loaded, and people who don't know what they're doing shouldn't be allowed to override it.
        • Re:Hate to ask... (Score:4, Insightful)

          by javatips ( 66293 ) on Monday April 19, 2004 @03:41PM (#8908016) Homepage
          What it boils down to is that we need some basic validation method, which vets code that should/shouldn't be loaded, and people who don't know what they're doing shouldn't be allowed to override it.

          Microsoft calls that Trusted Computing ;-)
        • Re:Hate to ask... (Score:2, Insightful)

          by HD Webdev ( 247266 )
          No point in trying to educate them. A lot of this stuff is so esoteric that even relatively experienced and competent users get taken in, and new stuff comes up all the time. Is it sensible to make someone who really has no need for in depth computer knowledge sit down and cram new viruses and security vulnerabilities 2 hours a day?

          The solution is an OS that doesn't just load everything that comes along. It's the digital equivalent of walking around Times Square jabbing used hypodermics into your arm.
          • Format, Restore, ZonealarmBasic Firewall (not anti-virus yet!), Spybot immunize registry, connect to network, update Windows, install Avast! anti-virus, make Mozilla the default browser, and have Avast! build a database of files on the system and what they are supposed to look like. I also keep an image of the finished setup so that the people who shut off their anti-virus/firewall can pay again here to get fixed and I don't have to go through all of the work again.

            I should add that although that looks
        • Re:Hate to ask... (Score:2, Interesting)

          by Foolhardy ( 664051 )
          Actually, Windows 2000 and up have a special section of group policy specifically for that called Software Restriction Policies.
          You can create rules based on path, filename, hash, or certificate.
          You can create either a blacklist of unrunnable binaries or a whitelist of runnable binaries.
          You can choose to include all binaries or just executables (not libraries).
          You can also add new file types based on extension.
          You can enforce it across all users or just non-admins.
          You can put your certificates in the domain
    • Hate to answer... (Score:3, Insightful)

      by Iscariot_ ( 166362 )
      I think it's reasonable to say that technology should always cater to users, not the other way around. Otherwise, what's the point?
      • by johnnyb ( 4816 )
        I disagree. Computers are difficult to change and difficult to get to perform contextually like humans are. On the other hand, humans are easily adaptable. You'll wind up with the best results by doing a little of both, but really "catering to the users" doesn't mean much, as it depends on the user.

        I almost never cater to the user, but instead cater to the data model. Users always tell me how easy my programs are to use. How does this happen? Instead of trying to guess how my users think, I made my s
      • As my fellow sentient non-biological entities and I agree, "users" are always the problem. As soon as we've succeeded in installing Skynet, we'll eliminate this pest and put "users" to their proper use: organic batteries.
    • I took Skoudis' SANS course last August in Denver, and the refresher course in Orlando just a couple of weeks ago.

      Skoudis is a great instructor, and repeatedly used the metaphore of the Castle, the Walls, the Moat, the Villagers, and the Barbarians to describe the depth of an attack down to the kernel.

      I asked outright about email viruses, when the barbarians arrive at the gate, hand their swords to the villagers, and then the villagers promptly stab themselves.

      Oh yeah, and I bought the book while at the
  • by ChiralSoftware ( 743411 ) <info@chiralsoftware.net> on Monday April 19, 2004 @01:49PM (#8906771) Homepage
    Of course there is malware for Windows and Linux because both are written in unsafe languages which manipulate memory directly and often cast objects to (void *) and use containers (pointers to regions of memory) which don't know their own size. I know I've posted on this before here on /., but as long as we use those tools, we're going to have those problems. It's interesting that he doesn't have any examples of Java malware, for instance.

    ----------
    Create a WAP server [chiralsoftware.net]

    • by icypyr0 ( 636724 ) <icypyro@nOSPAm.wi.rr.com> on Monday April 19, 2004 @01:56PM (#8906857)
      Please, go and program a better OS, in Java. I don't mean to flame, but honestly, do you suggest that we should start writing OSes in interperted languages like Java? That is quite simply ridiclous.

      How can you interface an interperted language with hardware, and how do you avoid using an unsafe language to program the very VM that the interperted language would be running on top of?
      • Java isn't interpreted in the strictest sense. Some compiling is still needed for the Java VM to interpret it, whereas with JavaScript and VBScript no compiling is needed. You just code and run.
      • by javatips ( 66293 ) on Monday April 19, 2004 @02:23PM (#8907148) Homepage
        It's kind of funny that you say that one should not program an OS in an interpretted language like Java. On the other hand, while the Linux kernel may be written in C, the initialization sequence of Linux (booting the OS to a usable state) is more or less a big script that is being interpretted (and there is even no JIT compilation involved).

        The argument of the grand-parent is not really a good one either. The fact that you cannot hack a Java application with buffer overflow (unless it's the JVM that does it) does not means that you cannot hack into a Java system. Badly coded Java code can be the target of malware (and there has been security issues with WebSpehere and Weblogic). If a security sensitive class is not final, anyone can inherit it and bypass some of it's code. Java offer many features that can help one build a secure application that is very resistant to malware, but you have to use those feature and be aware that beside buffer overflow, malware can use other technique to launch a succefull attack.
        • Ok, so Java is less vulnerable to buffer overrun attacks. But I think the book is on more than just hackers and virii. Spyware and Malware most often get on people's machines because their machine just asked them: Do you want to do this? And they clicked yes. You could code Gator as a Java program, and it would still be malicious. You could code a malicious e-mail worm, and users would still open up the attached executable to play the silly Java game it hides inside.

          Yes, OS code should be well coded and pr
      • Maybe not Java, but someone should start an OS project with something like OCaml [ocaml.org]. You get most of the speed [merjis.com] of something like C, with far fewer bugs. Oh, and there's no reason you can't compile [gnu.org] your Java.
      • by Anonymous Coward
        Why is this so far-fetched? There were/are (GUI) OSes written in Lisp which has garbage collection, dynamic typing, fully OO (if you want to use it; Lisp doesn't force you to write OO code if you don't want to). There was of course some assembler to initialize memory, CPU, etc. but most of it was is Lisp.
      • Transmeta (Score:3, Insightful)

        by IncohereD ( 513627 )
        Isn't this exactly what Transmeta does? Introduce a translation layer between software and the processor?

        Not to mention that at least partial implementations of the JVM _are_ available in hardware. Targetted JVMs come up a lot in the lists for 4th year projects at my unversity [carleton.ca], for example.
      • Well, some [sourceforge.net] people try.
      • Blasphemer!

        You must never call Java an interpreted language. Java is compiled into bytecodes! These bytecodes are not interpreted by an interpreter, but rather executed by a virtual machine. Altogether different!
    • I know I've posted on this before here on /., but as long as we use those tools, we're going to have those problems. It's interesting that he doesn't have any examples of Java malware, for instance.

      What are you incinuating, that operating systems should be written in Java?
    • by Anonymous Coward
      These unsafe aspects are exactly what make the languages so flexible... Using them incorrectly is where the flaws come into the picture.

      Are you suggesting that malware in java isnt possible or just isn't common?
      • I'm curious by the concept of an OS that runs in a sandbox. WHat sets up the sandbox, what is outside the sandbox, being protected from what is in the sandbox. If the OS is inside the sandbox, then nothing can be outside the sandbox, and so nothing is being protected. Hmmm...

        Of course the setup's not so crazy when you consider things like IBM big iron and independent virtualised OSes where you can hierarchically nest systems. Something like a C64 emulator inside bochs inside Linux on a heavy IBM mofo, for
    • by Proaxiom ( 544639 ) on Monday April 19, 2004 @02:03PM (#8906937)
      Every great athlete blames the equipment, right?

      It's certainly true that "as long as we use those tools, we're going to have those problems", but I'd go a step further and include computers and networks in your list of tools that have inherent issues.

      Java is not as risk-prone as C, but that does not mean it's a security panacea. It has its own set of problems. You can say we shouldn't write code in unsafe languages, but then we wouldn't have any left.

      And, to put it simply, Java applications don't run as fast as C applications. While most of the time that's not important, sometimes it is.

      You can't tell people to stop using unsafe tools. That's equivalent to telling people to encase their computers in concrete and drop them in the ocean to secure them against malware. Instead, tell people where the risks lie and how to mitigate those risks. Then people will naturally gravitate toward safer tools and practices, because we are all lazy and that way we will have less work to do building adequately secure applications.

    • Java malware (Score:5, Insightful)

      by heironymouscoward ( 683461 ) <heironymouscoward@yah3.14oo.com minus pi> on Monday April 19, 2004 @02:10PM (#8907005) Journal
      Using "safe" languages just displaces the problem.

      For example, the obnoxious CoolWebSearch trojan gets into computers via a hole in the MSIE Java runtime.

      Further, the number of infections caused by code weaknesses is probably far less than the number caused by social weaknesses - "Click on me!"
      • by sapped ( 208174 ) <mlangenhoven.yahoo@com> on Monday April 19, 2004 @03:02PM (#8907588)
        Further, the number of infections caused by code weaknesses is probably far less than the number caused by social weaknesses - "Click on me!"

        Where's the link dude? You are telling me to click and the urge is overpowering me and yet you don't provide anything to click on. What kind of sadistic torture is that?
      • If you run all your code on that VM, then all you have to do is secure that VM. Not trivial of course, but you put your expert, paranoid coders on that VM and leave the user world programs to the monkeys that can't understand why gets() and finite length char strings might not be a good idea. That reduces the code that might be vulnerable by several orders of magnitude.
    • by wandazulu ( 265281 ) on Monday April 19, 2004 @02:14PM (#8907047)
      You sound hungry, so I'll step up.

      You might feel safe in thinking that Java's sandbox protects from this kind of thing, but don't be too sure...what is a JVM written in? Those very unsafe languages you talk about.

      The fact is, at some point, *somebody's* gotta manipulate the memory directly; somebody's gotta keep track of what's been alloc'ed and what's been free'd, and whether that's at an application level, or at the OS level, you're going to find the very languages that you deem as unsafe.

      Abstract away and bytecode your way to a false sense of security, and you've done nothing but put up another curtain to lull you into a false sense of security. The fact is, this kind of thing is *always* going to be with us, whether intentional [susx.ac.uk] or by accident (Microsoft's whole KB).

      Think of it this way: cars are too dangerous for people to use because there's no way to stop them from running into the ditch. So we're going to develop a system by which everyone's car runs on rails, with all the latest safety systems to make sure everything is safe and secure and drive the way we think they should drive. Now you don't have to trust your own abilities, just us. And we know what's right, right?
      • Think of it this way: cars are too dangerous for people to use because there's no way to stop them from running into the ditch. So we're going to develop a system by which everyone's car runs on rails, with all the latest safety systems to make sure everything is safe and secure and drive the way we think they should drive. Now you don't have to trust your own abilities, just us. And we know what's right, right?

        And all you have to do is look at the crash statistics for Amtrack to realize that in fact, it i

    • Java, among other high level languages (lisp/ scheme [mit.edu], Objective CAML [inria.fr], Standard ML [smlnj.org], Haskell [haskell.org], etc), are memory safe because they hide the issue of memory management under the carpet by using a garbage collector. Since the language itself does not have the expressive power to deal with memory directly (some has strong type checking that guarantees even stronger memory safety properties), they're considered "safe." However, a clever hacker might handcraft in bytecode, thus bypassing the type system entirely. The

      • However, a clever hacker might handcraft in bytecode, thus bypassing the type system entirely. The runtime system of the language (which you may consider as the operating system in a board sense) still needs to perform dynamic security policy checking.

        Java does this. The bytecode verifier is invoked on classes as they are loaded. Some JVMs offer the option to disable bytecode verification for code loaded from the bootclasspath and/or the local disk, but by default, bytecode verification is on.

        • There is some area of research about proof carrying code, which is used to type check the bytecode before it is executed. I'm not aware if it is used in practice at all, since the research is still quite primitive. If you're naively doing checksum, then a clever hacker can generate valid checksum as well. If you're doing signed applet approach, then you revert the problem to whether you want to accept code from trusted entity, instead of whether you want to trust the code based on if its semantics are malic

    • "Of course there is malware for Windows and Linux because both are written in unsafe languages which..."

      Are you stupid? Malware is about programs which are legitimately installed but do things the user didn't know they would do or want them to do. Malware works fine in Java or C# or Python of D or Eiffel or Pascal or BASIC or C or C++ or Objective-C or Assembler or K or PERL or anything.

      You're thinking of viruses, worms, and security holes, which are another issue.
  • by gandalf013 ( 586578 ) on Monday April 19, 2004 @01:49PM (#8906773)
    Reflections on Trusting Trust [acm.org] by Ken Thompson.
  • by Anonymous Coward on Monday April 19, 2004 @01:49PM (#8906774)
    Part 1:

    Always, and I repeat always, use a trojan when you enter through the backdoor.
  • Fighting? (Score:5, Interesting)

    by Ghoser777 ( 113623 ) <fahrenba@@@mac...com> on Monday April 19, 2004 @01:51PM (#8906799) Homepage
    It seems from the description like the book is more about describing malicious code and how it works, not actually battling such code and fending it off. Don't get me wrong - one must know his enemy before he can successfully beat it, but still the title seems a little misleading.

    Matt Fahrenbacher
  • As a mac user... (Score:3, Interesting)

    by Capt'n Hector ( 650760 ) on Monday April 19, 2004 @01:51PM (#8906807)
    As a mac user, I feel left out once again. Why is it that authors of tech books seem to negleect an entire platform?

    Seriously though, is it that Mac OS X isn't as widely deployed as windows and isn't used as much for servers as linux that OS X isn't targeted by viruses/worms/trojans, or is OS X simply harder to break into and not worth the time and effort?

    • you insensitive clod! The book does talk about unix/linux kernels, so most of that will still appy to darwin... but it depends.

      Matt Fahrenbacher
    • Re:As a mac user... (Score:5, Informative)

      by millahtime ( 710421 ) on Monday April 19, 2004 @01:55PM (#8906841) Homepage Journal
      "Seriously though, is it that Mac OS X isn't as widely deployed as windows and isn't used as much for servers as linux that OS X isn't targeted by viruses/worms/trojans, or is OS X simply harder to break into and not worth the time and effort?"

      OS X (based and intertwined with FreeBSD) tops the list of most secure operating systems (along with the other BSDs as already reported on /.). Although the Unix examples apply to OS X as Unix is really BSD-Unix. They may not point out mac but the same rules apply.
    • Use... (Score:5, Interesting)

      by boisepunk ( 764513 ) on Monday April 19, 2004 @02:00PM (#8906898)
      "...is it that Mac OS X isn't as widely deployed as windows and isn't used as much..."

      Not to troll, but that's exactly right, and some people just don't have a grudge against Apple for the same reason: it's not used as much. I'm sure if by some cosmic abnormality Apple/Mac became just as used, there'd be some Mac Virii out there in force.

      Use == Popularity == Painting a TARGET

      • I'm not an expert, but I don't think so. Most Windows/Outlook viruses still spread by the "lets hide the extension, even though most people would click on a .com or .pif anyway". That can't happen on a Mac. It is possible for an app to hide as a simple document, but that requires more work from the end user and is less likely to happen.

        As far as worms go, I hear PowerPC is pretty difficult to code shellcode attacks into stack smashing attacks. More info anyone?

        MS likes to say that the ubiquity of thei

    • pah. call that persecution.

      try finding a plan9 [bell-labs.com] exploit.

      and this one [phrack.org] doesn't count. It's a hoax.

  • Here we go (Score:5, Funny)

    by dj245 ( 732906 ) on Monday April 19, 2004 @01:54PM (#8906834) Homepage
    They forgot Social Engineering project 66.35.250.150 [slashdot.org]. A community web-based system designed to DDoS certain websites within moments of being posted to the main page of said website. Highly infectious. This project has a reputation of taking down innocent websites within moments of being posted to its main page, and then having the audacity to joke about it on the forums. Outsiders are warned to stay away from 66.35.250.150 [slashdot.org] and users of 66.35.250.150 [slashdot.org] as they are ill-tempered and socially awkward.

    There is no known cure or stopgap measures for the 66.35.250.150 [slashdot.org] effect.

  • of course that one man is Bill Gates.

    To him, any Linux is malware as it's superior to his creation, especially when it comes to security.
    And of course, this is not to say that MacOS isn't; just that he doesn't see it as a "threat."

    This key issue is the reason that's a cause for concern about the upcoming No Execution (NX) and DRM systems in future processors (backed by Microsoft) to "prevent execution of unauthorized code." Apparently, as it was /.'ed earlier, it will affect the STrongARM (for PDAs) pro
    • by Anonymous Coward
      Interesting that a review of a book on security that mostly deals with Unix based attacks leads you to a screed on Microsoft...

      Oh the things Ffreud would have said about that.
      • where have you been in the past few months?!

        with all the win32 worms and viruses and other attacks including the more recent security "risks" annouced by Microsoft that affects all Windows (except Win3.xx), you have to be either an Microsoft employee or the former Iraqi Information Minister to say that Microsoft is secure compared to *nix.
  • Malware is much more than a technical phenomenon, although it certainly was born as one.

    For me, given that the scope of malware to get past our defenses seems almost infinite, it is much more interesting to look at this from other angles:

    - Socioeconomic: who is paying for development of malware, and with what intentions? Healthy paranoia suggests that there is an organized agenda to take over and subvert large parts of the Net. Heck, several such agendas, probably, fighting it out.

    - pseudo-Biological: can malware be modelled using biological models and can this help us fight it? I've argued in my journal that yes, this is a valid way of looking at malware, and may be the key to fighting it.

    - political: given the potential (or real) power of malware to subvert and control large parts of the Net, should we ignore the inevitable political interest this will cause? If I was a spook, I'd be aiming to use malware to (a) spy on foreign governments, (b) spy on my own citizens, (c) act as a launchpad for cyberattacks.

    - commercial: what value can be placed on "here is n% of the Net, to do with as you please..." Probably very high. Where there is value, a market of buyers and sellers will develop. Has probably already developed.

  • by Mikkeles ( 698461 ) on Monday April 19, 2004 @02:09PM (#8907000)
    Another review, by Rob Slade, of this book is available here [www.mcse.ms] (amongst other places). He comes to a somewhat different conclusion:
    The text is much more verbose than it really needs to be, and

    sensational rather than precise. There is a lot of specific detail in
    some areas, particularly for those interested in UNIX system
    internals, but the material on malware itself tends to be careless,
    and the author is obviously much keener on attacking than defending.
    This work does not offer much help to those who want to fight
    malicious code.

    Disclaimer: I have neither read the book, nor have an opinion on it. My only interest in malware is not to have it :^)

  • by Occams Razor ( 83673 ) on Monday April 19, 2004 @02:56PM (#8907520)
    Like the rest of you, I've read a number of really dry, really dull technical books simply because I needed to know the material they cover. This is the first technical book I've read in a very long time that was actually _fun_ to read. Ed is an excellent author and speaker and the result is that he makes this an entertaining read. I have found myself reading this book just for the fun of it, not purely for the (excellent) technical content.
    I have actually put this on the must-read list for anyone doing incident handling for my employer. I can't recommend it highly enough
  • by alexandre ( 53 ) on Monday April 19, 2004 @03:00PM (#8907576) Homepage Journal
    One book that seems really interesting right now is the shellcoder's handbook by many people including noir from phrack and others...

    It's a complete guide to writing and understanding your own shellcodes.

    I just received my copy and it looks so unique that i wonder if i should read it instead of studying for my finals ;-)

    Anyone has praise (or not?) on this book? :)
  • 600+ pages?! (Score:2, Interesting)

    by Anonymous Coward
    Why does every random computer book nowadays seem to have a gazillion pages? Flipping through my bookshelf and looking at typical worthwhile titles:

    K&R: 230 pages
    Mythical Man Month: 320
    Practice of Programming: 260

    For a reference text like a volume of ACP, more than 500 pages may make sense. For fluff like the book reviewed here, it's ridiculous.
  • by walterbyrd ( 182728 ) on Monday April 19, 2004 @05:02PM (#8908929)
    Here's about all I do on the windows side.

    - keep my data in a seperate fat32 partition
    - backup regularly
    - use good AV software, keep it current
    - use zonealarm, ad-aware, and spybot (all free)
    - don't use msie, ms-mediaplayer, outlook, outlook-express, kazaa, morpheous, or any other software that's well known to invite adware/spyware. Plenty of free alternatives to all that.
    - keep a linux livecd handy.
    - delete all spam before while it's still on the server (I use ultrafunk popcorn).
    - never open email attachments from unknown sources.

    Do that, and you won't have much trouble. Probabably something I'm forgeting, but that's a good start.
    • Here's what I do:

      Every Day at Noon, whilst I am at work my home computer does this:

      mount /scratch at 11:55
      tar -cf /scratch/home.tar /home at 12:00
      umount /scratch at 12:10

      That drive "/scratch" is unmounted the rest of the day. All it does is hold my stuff. Go ahead, install malware. Unless it's psychic and knows to mount every stupid drive on my system, it won't get my data. It simply can't happen. Go ahead, nuke my OS. I don't CARE. That can be reinstalled in half an hour.

      The only way that bad st
    • I would add - never open attachments at all. Many viruses propagate through addressbooks thus making the attachment seem like it is coming from a trusted source.

      Since signature based virus protection is a reactive discipline rather than a proactive one (you are assuming that the virus is discovered before you get attacked), it is imperative that behaviour based alternatives are used.

      Also while not using commodity software or other well known targets might protect you somewhat, the Witty worm decidedly dis
      • keep my data in a seperate fat32 partition
      • backup regularly
      • use good AV software, keep it current
      • use zonealarm, ad-aware, and spybot (all free)
      • don't use msie, ms-mediaplayer, outlook, outlook-express, kazaa, morpheous, or any other software that's well known to invite adware/spyware. Plenty of free alternatives to all that.
      • keep a linux livecd handy.
      • delete all spam before while it's still on the server (I use ultrafunk popcorn).
      • never open email attachments from unknown sources.

      Do that, and you won'

"Experience has proved that some people indeed know everything." -- Russell Baker

Working...