Showing posts with label Security Problems. Show all posts
Showing posts with label Security Problems. Show all posts

Bots And You #2

Computers controlled by somebody who is not their legal or physical owner, aka "bots" or "zombies", have been a known fact of life in the Internet, for several years. Successful hackers, though, don't bother with individual computers, they control armies of botted computers, each numbering in the thousands.

One of the defenses against bots is the use of CAPTCHAs, or puzzles that "humans can solve, but computers can't". If you use the Internet much at all, you've seen, and solved, more than one. Unfortunately, CAPTCHAs are easily solved by scripts and online users. The people who produce web products like email, online forums, and blogging platforms may not yet realise that detail, however.

This is not an academic issue, it's commercial, and it's very real. Here's the specifications for a commercial product used to manage attacks against online forums, and place spam posts there. I've viewed an online movie which showed XRumer in action (movie since removed), and my computers haven't been attacked, but I would still visit that web site only from a computer carefully protected with a good layered security strategy.


Let's "make a new project".



Having setup the content and style of the attack, let's see what it will look like when placed in a typical forum.



Posting to multiple forums, simultaneously, is the key here. We need the ability to determine how many forums to attack, simultaneously. Here, we see hundreds of forums under attack.



Here we have a very matter of fact demonstration of how useless captchas are. Note the log entries "captcha recognized", showing that the forums in use asked for captcha entries, which were simply resolved by the XRumer script. Not even worthy of a feature balloon in the demo.



This product, XRumer (note "Version 3.0"), appears to be a Windows XP application. It's well designed, with plenty of features that make it persistent, robust, and versatile. It's apparently designed for placing spam posts into online forums. Note that the demo doesn't show us any detail about posting into any one forum, it simply shows the spam posts being placed to the forums. This is simply an advertising demo, for a mature and probably popular product.

And the individual forum postings are being processed, simultaneously, by bots. Presumably "one thread" = "one bot". Note the URL: www.botmaster.net.

I have no doubt that similar products are marketed, to generate and deliver spam through email, to register and generate splog farms in the Blogger world, and even to send comment spam to blogs and web sites. Note that this demo is several years old - surely shinier, more robust, and more versatile products are available today. And just as surely as "Coca-Cola" has a competitor "Pepsi-Cola" (with neither outshining the other for very long), "XRumer" has competitors too.

This is why you see spam in online forums, spam in your email box, and spam blogs on the Internet. It's a commercial process, with automated tools.

>> Top

Bundled AntiVirus and Personal Firewalls - A Windows Networking Challenge

For several years after antivirus and personal firewalls became typical (and highly recommended) components in personal computer protection, many computer owners would confuse the two. Typical comments

What do you mean my computer has a virus? I have a firewall.
or
How could my computer have been hacked? Norton AntiVirus says my protection is fine!
would be common in many help forums.

With Windows XP, Microsoft first gave us Internet Connection Firewall, later renamed as Windows Firewall. They then took Windows Firewall, paired it with their recently acquired Antivirus program, and called that Windows OneCare.

The name "OneCare" has always intrigued me. Any person of British personality might pronounce that, with an accent, as "WanKare". Please ask one of your British friends, if you have any, what "WanKare" implies.

So fast forward to the present, please. It appears that the firewall component in Windows OneCare doesn't integrate with Vista, as well as Windows Firewall does. With Windows Vista, when you change the Network Location Type to "Private", Windows Firewall automatically adjusts itself to permitting Windows Networking on that computer. Depending upon the state of NetBIOS Over TCP, Windows Firewall will open the correct TCP ports.

If you have Windows Vista with OneCare, and you can't get Windows Networking working, check the network NetBT, and firewall port, settings, carefully. Make sure that they are compatible, and make sure that the setup of your network, and all existing (and currently working) computers matches the Vista / OneCare settings.

It's possible that any third party firewall may work no better than OneCare, in terms of Network and Sharing integration. If you have a problem with Windows Networking (file / printer sharing), the most frequently seen cause of such problems is NetBT and / or personal firewall settings. This will apparently be true under Windows Vista, just as under any previous operating system.

>> Top

SMB Protection Requires Careful Setup

Server Message Blocks, or SMBs, are the life blood of Windows Networking. On high security networks, you can create secure channels between the server and client, to ensure security of SMBs. You can provide authentication (digital signing) and / or encryption (digital encryption) of SMBs, similar in nature to WPA, as used in WiFi security.

However, just as WiFi connectivity being prevented by improper setup of WPA, necessary use of Windows Networking can be prevented by by improper setup of SMB protection. Both SMB Encryption and Signing must be setup consistently on your network. If any of your clients don't support either protection, it's best that you don't require it on your servers.

When you try to connect a Windows client computer to a server, you may see

The account is not authorized to log in from this station.


If a server requires SMB encryption or signing, all workstations must provide it, if they are going to connect to that server. SMB Signing has been supported since Windows 98 and NT V4.0. Non-Windows operating systems, such as Apple and Linux / Unix, may or may not support SMB Signing. Be consistent in your LAN, however you choose to set it up.

For computers in a workgroup, you configure SMB Encryption and Signing using the Local Security Policy editor. For computers in a domain, the Local Security Policy editor is available, but settings may be overridden by Group Policy.

You will have settings for both the server (incoming SMBs) and the workstation (outgoing SMBs), and settings for encryption (to prevent snooping) and signing (to prevent spoofing). You'll find settings under Local Policies - Security Options. Domain member, Microsoft network client, and Microsoft network server Policy Categories all contain relevant settings.

Note both server and workstation services, and thus these settings, apply to most Windows computers. And note the difference between Enabling SMB Signing (where both computers that enable SMB Signing, and those that don't, will be able to connect to each other) and Requiring SMB Signing (where only computers that enable SMB Signing will be able to connect to each other).

For more detail, see:

>> Top

Bots And You

For those of you who are maybe living in a cave (and if so, what ISP services you?), of the millions of computers in the world, a good portion of them are not controlled completely by the person who is paying for their Internet service. These computers, hijacked by a successful hacking campaign, and controlled by another person, we call bots, or zombies. One bot is less useful than a collection of bots, called a botnet. A botnet could range in size from 10,000 to 1.5 million hijacked computers.

I've been observing, and writing about, botnets for some time.


Most people don't realise that botnets are both the origination vehicle, the medium, and the payload of a successful attack. And the smarter botnet managers use botnets to manage the botnets used in an attack, using commercial and very shiny scripts.

>> Top

Attack Origination
Botnets are used to originate an attack. If any of you owns a server, and you review the server access logs (and if you do, and don't, you better remove your head from the place where the sun don't shine, and start), you'll notice anomalies.
  • Password attempts
    aaaaaaaa
    aaaaaaab
    ...
    aaaaaaaz
    aaaaaaba
    ...

    has to be observed - it's an obvious attack!
  • Any persistent, but seemingly random series
    Abracadabra
    MyDogHasFleas
    NowIsTheTime
    coming from the same computer, is pretty obvious too.
  • You probably won't notice
    Abracadabra coming from a computer in Russia
    MyDogHasFleas coming from a computer in Brazil
    NowIsTheTime coming from a computer in USA
    as an attack. That might be one, but how can you tell? Botnets are distributed widely, and are perfect for distributed, throttled attacks.


>> Top

Attack Medium
Botnets are used to transmit an attack. A lot of spam consists of links to websites, and the business of the spammer will be conducted from a website. This requires 3 highly specialised servers.
  • An email distribution server. This will typically be a server running Simple Mail Transfer Protocol (aka SMTP).
  • A website. This will typically be a server running HTTP (and if you use the web, you know about HTTP).
  • A DNS server, providing the IP address of the HTTP server.
If you know anything about reading email headers, you should know about those 3 servers, and the fact that in almost every case, professional email will use 3 separate servers, frequently on the same subnet (Internet address space). Most corporations will frequently locate all servers on the same subnet, for security.

You can generally consider email validity, and filter your email, based upon the servers involved. Any time you get commercial email that includes a link to a product website, and that email / web site uses the same server for DNS, HTTP, and SMTP, it's possibly bogus. If 3 different servers are used, but they are on different subnets, or even in different countries, it's probably bogus.

Modern spammers, though, can easily use 3 separate computers. All the spammer has to do is find 3 computers (legally owned and operated by one, two, or three different individuals) on the same subnet. So open are many ISP address spaces (customers) to being botted, this is not at all difficult.

>> Top

Attack Payload
Botnets are the payload of an attack. A lot of websites linked from the spam (using components described above), which you have gotten used to as simply containing advertisements for products of varying legitimacy, may instead carry trojans. If you fall victim, and infect your computer, it becomes part of the botnet.

>> Top

Attack Management
To understand botnet management, and how sophisticated it has become, let's look at the history of botnet use.
  • Originally, the trojans distributed would contain the IP address of the attacker. Each botted computer would load the bot, contact the computer owned by the botnet master, and await instructions. That was a major exposure to the botnet managers. So, they cloaked their identity.
  • Each botted computer would attach to the Internet, frequently into an IRC forum, and await instructions. The botnet manager would login to the same forum, and provide instructions. That was a slight amount of exposure to the botnet managers, so, they further cloaked their identity.
  • With botnets being so easy to use, the botnet managers will now proxy their access to the IRC forums thru another botnet. That botnet is never used in an attack, it's only used to hide the identity of the botnet master.
  • And now, we see commercial products designed and marketed explicitly to provide GUI controlled manipulation of botnets.


This is why I have described all of this - the attack attempt, the medium, the payload, and attack management, all involve hacking. That's all it is. And botnets are at the center of the hacking.

And that's what botnets have to do with you.

For more information about botnets, see the University Of Maryland Botnet Blog, with a very intense white paper.

>> Top

Newer Spammer Tricks

As the public becomes aware of spam, and more resistant to it, the spammers have to be creative. It may take 10,000 pieces of spam to get one hit (an actual inquiry from a possible victim), rather than 1,000 (as it might have, a year ago). Spammers started out sending email, but now they have adapted to changing times.

Some people have given up on email, for communication with anybody that they really care about. They will use an Instant Messenger for direct, real time communication with individual friends, and broadcast information of general interest by blogs or other websites. With Instant Messaging, you can choose, at any time, who is allowed to send you messages. With blogs or websites, you can selectively browse those belonging to people that you know. If you have a lot of friends, you can automate checking your friends websites using a syndication feed newsreader.

So rather than just sending out email, spammers, too, are using Instant Messaging, and blogs.



Now, the email system is rather old, and was originally designed with very little restrictions in the network. Every server that transports email will accept email from any server sending, and send to any server receiving. The reality of spam has necessitated changes in that philosophy, but basically, any restrictions are patches on top of a pretty spam friendly infrastructure. And email travels at a level not seen by most users of the email.

But with email spam being less productive for the spammers, they've had to send more spam to get the same amount of money. This is not a problem - spammers don't send email directly from their computer, they use botnets as email relays.

Blogs and Instant Messaging and websites, on the other hand, are much more obvious to the users. It's harder to get any volume of spam through either of those, so the spammers have to be creative.

One of the ways the spammers are being creative is handling Captchas. Now, even if you don't know what a Captcha is, I'm sure you've used one. If you've setup an email account, or a website, or posted a comment in a guestbook anywhere, you've had to deal with one.

A Captcha, or "Completely Automated Public Turing test to tell Computers and Humans Apart", is a word puzzle, that "humans can solve, but computers can't". Generally, you'll see a set of 4 to 8 alphanumeric characters, jumbled and mangled, in a box, and you'll be asked to type those characters into another box. If you type the correct sequence of characters, you'll be allowed to do what you want to do, and open an email account (for instance).

So the spammers are using people to read the Captchas, and type the answers. And there's no shortage of people to do this, even as they don't realise what they're doing. Captchas are so common these days that any time we see one, and we're doing something intentionally, such looking at pictures of dancing pigs, we solve it, without thinking about what we're doing. In this case, we're helping the bad guys.

The spammer's program, while setting up another email account, is presented with a Captcha - as you are, when you setup an email account. The spammer uses you, and others like you, to solve the Captcha.
  • The spammer's computer takes a copy of a Captcha, which has been presented to it for solving, and displays that same Captcha on its website.
  • You surf to that website, which has a link
    Check out the dancing pigs!
  • Eager to see the dancing pigs, you click on the link.
  • You see the request
    In order to continue, please enter the scrambled text from box A into box B.
  • You obediently type the answer, so you can see the dancing pigs.
  • Your answer is compared with the others answers.
  • With any number of identical, independently provided, answers (from you and / or the others), that identical value is used as the answer to the captcha.
  • The spammers website routes the answer back to the email setup program, and on to the email setup server, as if an actual person had just intentionally typed the answer.
  • The spammer gets another email account.
  • You, and the others, get to see the dancing pigs.


Think this is fiction? See the Google video featuring Luis von Ahn of Carnegie Mellon Institute: Human Computation, and read about a commercial product that uses a script to bypass captcha protection.

For a description of an alternative technique for breaking CAPTCHAs, that uses lots of money and CPU processing, see Dancho Danchev's Blog: Spammers and Phishers Breaking CAPTCHAs.
a great example of the adaptation process
That would have to be some pretty unimaginative spammers, to spend mucho bux on a CAPTCHA breaking system, when they could just use folks who want to see dancing pigs.

»http://www.youtube.com/v/tx082gDwGcM
Human Computation (Luis Von Ahn: July 26, 2006)


Luis says
allegedly
We see spam, allegedly, in our email, in online forums, and in the web, in general.

>> Top

If I Was A Hacker

If I was a bad guy, and I probed a range of addresses, with a bogus connection attempt, I'd expect any one of 4 possible returns from each of the addresses probed.


  1. "Address unreachable" from the upstream gateway.
  2. "Connection refused" from the router or firewall.
  3. Reply from target, from an unstealthed computer or router.
  4. No response, from a stealthed computer or router.


If I were a true hacker (not a cracker or script kiddie), I think I'd prioritise my hack attempts based upon those results.

  1. "Address unreachable" = You can't hack what doesn't exist.
  2. "Connection refused" = Interesting, but there's so many responding that way.
  3. Reply from target = Boring.
  4. No response (stealth) = Now we're talking. A true challenge. Thinks he's invisible, eh?


I'd go after #4, then #2 and #3, in that order. Security By Obscurity = No Security.

>> Top

Hackerz-R-Us

This summary is not available. Please click here to view the post.

Hacking Redefined

Modern malware is constantly taking on new forms; it's hard for those of us who aren't dedicated security experts to comprehend how deviously, and methodically, it's designed and deployed. How do you fight it? Well, first, you have to know what's out there. With that goal in mind, I will provide here a brief overview of malware.



I would first like to apologise to those good guys, like Steve Wozniak and John Draper, who called themselves hackers, and who insist that the proper term for the bad guys is crackers. If you're calling yourself a hacker, and you're a good guy, you're swimming upstream, and there's a strong downstream current.

Even though we abhor malware in general, it's hard NOT sometimes to (objectively) admire how professionally it's designed and deployed. Computer owners, who become victims of hacking, will NOT (subjectively) admire the tools, or the attackers.

One of the problem is how you describe what's happening? Which came first - the chicken or the egg? How do you define hacking, other than what a hacker does?

For the purpose of this article, I will define the following terms.
  • Hacking is aggressive, deceiptful, or intentional misuse of any computer not legally owned by any Attacker, for commercial, financial, or personal purpose.
  • Hacker is the person, or groups of people, doing the Hacking.
  • Malware is the tool used for Hacking, AND the payoff of the Hacking.
  • Victim is the legal owner of the computer Attacked by a Hacker (or user of a corporate computer).


Malware includes:
  • Adware.
  • Hijacks.
  • Spam.
  • Spyware.
  • Trojan.
  • Virus.
  • Worm.


The people performing the Hacking Attacks have been referred to as, variously:
  • Adware / Spyware Writers.
  • Hackers (Classically).
  • Crackers.
  • Spammers.
  • Virus Writers.


In the past, this cross-referencing was not necessarily done. Classically, Malware was of a distinct nature, and one type of malware was not used by another type, or group, of Attackers. Today, we have combined Attacks, where:
  • Spam is used to deliver Trojans to be installed on Victims computers.
  • Adware / Spyware is installed as Trojans.
  • Trojans, installed on Victims computers, are used in the delivery of Spam, or Worms, to other Victims.
  • Viruses are used to attack people or software used to defend against Adaware, Spam, and Spyware.
  • Viruses, having infected the Victims computer, can become Worms, and attack other computers on the same Network.
  • Viruses or Worms were used to Attack the data on the Victims computer, rendering the data unusable unless actual money was paid by the Victim to the Attacker. No, this is NOT fiction.


Hacker
The classical Hacker was a disenfranchised teenager, hiding in his bedroom, attacking an individual computer owned by a single Victim, for amusement. See, for instance, War Games, one of the earliest movies about Hackers.

Today, Hackers use programs that they may release as Trojans, as Viruses, or as Worms. The Hack, which when installed on the Victims computer, may make that computer part of a Botnet. A Botnet, or army of computers controlled by a successful Hacker, can be sold to individuals or corporations for delivery of Spam, for hosting of Trojans, or for the creation of even more Botnets. As of June 2005, the reported value of ONE bot was $.55 USD, thus a 10,000 member Botnet (a not at all abnormal number) could net the Hacker $5,000 or so.

Spam
The term Spam comes from a legendary skit by the British comedy group Monty Python, which maligned a very controversial food product made by Hormel, called "Spam". It was originally used to describe unwanted email, which would typically be used to advertise commercial products of varying legitimacy. Now, following the links in spam email, or spam postings in various forums or on various websites, will typically take your computer to websites that are used to serve trojans to your computer, or possibly to manipulate search engines, making them favour websites serviced by (again, for a fee) a hacker.

So spam too becomes both the medium (email / Internet postings), and the payload (websites benefitting from the spam).

Trojan
The term Trojan refers classically to the mythical story of the Trojan Horse in Greece. A Trojan is software which is packaged (by the hacker) with Host software that is trusted by, and intentionally installed by, the Victim.

A Trojan can be anything as innocent as an extra toolbar, installed as a part of the Victims browser, and used to "enhance the browsing experience", to software that makes the Victims computer act in a three role Spam delivery capacity. A Trojan is intentionally installed on a server (by a Hacker), with the Host software. It then requires the intentional installation of the Host software (by the Victim), for propagation onto the Victim's computer. A trojan travels as a server to client infection - from a server to a client (victim) and then no further.

Virus
A virus is software that travels, from one computer to another, in trusted Host software, such as an application or data file passed by one victim to the next. A virus requires the intentional installation of the Host software (by the Victim), for propagation, but automatically repackages itself on the Victim's computer, for transport to the next computer. A virus travels as a peer to peer infection - from any computer to other computers, and then to more computers later.

Worm
A worm is software that travels, from one computer to another, in a trusted media, such as the computer network (with no firewalls in place), or in email (with no malware malware / virus scanning software in place). A worm requires no intentional action, by the Victim, for propagation. A worm travels as a peer to peer infection - from any computer to other computers, and then to more computers later.

Malware - Classified By Delivery Mechanism
  • Trojan - A server to client infection, that requires action by the Victim to propagate. A trojan starts out life packaged, by a hacker, with software trusted by the Victim. When the Victim installs the trusted software, the malware gets installed. Once installed on the Victims computer, a Trojan travels no further. A trojan can be used targeted against a specific set of victims - maybe players of a specific game, or visitors to a specific website.
  • Virus - A peer to peer infection, that requires action by the Victim to propagate. A virus starts out on a Victims computer, and packaged with software trusted by the next Victim. When the next Victim installs the trusted software, the virus gets installed. Unlike a Trojan, a Virus automatically repackages itself, on the Victims computer, for transport to the next Victim. A virus is simply broadcast - its spread cannot be controlled, excepting by the media in which it spreads. A successful virus spreads indiscriminantly.
  • Worm - A peer to peer infection, that requires no action by the Victim to propagate. A Worm is malware that travels, from one computer to another, in a trusted media, such as a computer network (with no firewalls in place), or in email (with no malware malware / virus scanning software in place).



Malware - Classified By Payload
  • Adware - Malware that delivers, or influences the delivery of, commercial material (aka advertisements) to the Victims computer.
  • Hijack - Malware that makes the Victims computer do things not intended by the Victim.
  • Spam - Malware consisting of unwanted Messages delivered to the Victims computer.
  • Spyware - Malware that collects and transmits personal information about the Victims computer, or about the Victim, to persons who have no legal entitlement to that information.


Malware Protection

We use differing defense mechanisms, to protect against differing malware.

Since worms travel as network traffic, a firewall, or a NAT router, will protect against them. A firewall examines the content of the network traffic, detects the malware, and (possibly) alerts us to its activity. Since a NAT router passes traffic between specifically defined endpoints (a distant server, using a specific IP address / port / protocol, mapped using NAT to a specific local computer / port), a worm (which has as its destination only the public IP address / port) goes nowhere. It's simply ignored by the NAT processor.

If we care to learn of worm activity in our neighbouring public address space, we would connect a computer with firewall directly to the Internet service, and configure its firewall to log and / or report worm activity. If we don't care, a NAT router simply discards worm traffic. In either case, no worms can attack the computers on a properly protected LAN.

Since trojans and viruses travel as application traffic, a mere firewall or NAT router is useless here. Firewalls and NAT routers examine and pass packets. An infected file (virus) or a page from a web site with malicious content (trojan) will be broken down into multiple packets. A firewall or NAT router has no ability to filter or inspect multiple packets statefully.

Trojans and viruses can only be detected after reassembly of the packets into application data, and in some cases, after multiple files or web pages have been received by the client. Protection against a trojan or virus is generally by detection, after the malware has landed on the client, but hopefully before it has installed its payload.

Malware Detection

So, if there's malware out there, how do we know what's out there? More importantly, how do we describe what's out there? And how do we remove what's on our computers, and then hopefully, keep it from coming back?

You have to know what's there before you can fight it. Knowing what's there is a matter of detecting it. Basic malware detection is based upon two alternate processes.
  • Behaviour analysis and detection.
  • Signature analysis and detection.

Behaviour analysis, also known as heuristic analysis, takes a suspect file (or a computer system), opens it (operates it), and sees what it does. Sophisticated heuristics are used by some antitrojan / antivirus products, which contain a sandbox, which is a replica of the operating system, within the AT / AV product code. A suspect file is copied into the sandbox, opened from within, and watched. When opened, if it makes suspicious use of system resources provided by the (replica) operating system, it is determined to be malware, and examined further.

Signature analysis takes the actual contents of the various bytes in a suspicious file, and mathematically calculates a hash of the contents. The hash becomes the signature, which is compared against a database listing known malware. If suspected malware has a hash matching known malware, it is determined to be malware.

Malware analysis can be done heuristically against the entire system. Note the difference between adware and spyware. The first will typically generate incoming network traffic; the second, outgoing.

By statefully looking for incoming or outgoing traffic, compared against what should be expected, malicious activity can be detected. Software designed to look for malicious incoming traffic will be better at detecting adware, software designed to look for malicious outgoing traffic will be better at detecting spyware.

Signature analysis is a much simpler process, but demands more repetitious work. To do a signature analysis of the system (a trojan or virus scan) requires taking each file, one at a time, on the entire system, generating a signature from the file, and comparing the signature against each entry in a very long list (database) of known malware. Multiply the number of files in your typical system, against the number of possible (known) malware, and you see what a massive effort that is. And each time a new set of signatures is produced (and with some antivirus products, it's multiple times / day), a rescan could be appropriate.

Some malware is encrypted, to fool the signature scanners. Malicious code is taken, and subjected to rearrangement (packing), with some packing containing random operations which makes unpredictable results. Simple signature checking (and the bad guys, in some cases, know what procedures are followed to produce the signatures) won't detect packed code, which follows no known pattern. So suspect files have to be examined for unpacking code embedded in the code, and in some cases, the unpacking has to be allowed to execute so the signature checking can take place. This makes signature checking even more complex, and more time consuming.

On the other hand, its somewhat possible that having unpacking code in a file indicates that it's malware. Most legitimate code (excepting openly compressed files) does not use unpackers, as most legitimate code is already in an executable state. So when an AT / AV scan finds a file with an embedded unpacker, it's a strong possibility that the file contains malware. Of course, the malware still has to be analysed, to determine just what malware it is. But the scanner doesn't have to continue the heuristic analysis, just switch to the signature check.

Malware Detection and Removal Tools

So all of the above is good background information, but what do you do about the problem, once you understand it?

The traditional way of scanning for viruses, the first malware that was distributed so long ago, was by examining each file on the computer that might carry a virus. This is where the signature and heuristic checks would be done. I'll discuss the tools required in Dealing With Malware.

The problem with scanning each individual file on the computer is several:
  • You need a database on the computer being scanned, that describes each known malware.
  • Scanning each file on the computer is labourious; as the signature database gets larger, scanning each file on the computer times the length of the database gets larger still.
  • You still have to do heuristic scanning. If you limit your analysis to known malware, you risk overlooking undiscovered malware, that hasn't been added to the database.
  • Since the scanning process constantly gets longer, the tendency is to scan only when convenient. Malware that propagates between the scans travels with ease.


The new procedure is to observe the computer as one large process. With the exception of malware that has no payload, except to travel from computer to computer, all malware has to surface with secondary symptoms. Generally, those secondary symptoms have to include one or more rogue processes, running on the victims computer.

If we treat the computer itself as one large file, we can do signature and heuristic checks against all of the processes and files, or whole computer heuristic analysis. I'll discuss that process in Dealing With Malware Version 2.

An Incredibly Stupid Wardriver

11/26/2003 Toronto Canada Wi-Fi hacker caught downloading child porn


Toronto police stopped Walter Nowakowski for driving the wrong way down a one way street during the early morning hours. Walter had his pants around his ankles, and he was watching a child porn video that he had just downloaded from the Internet, using a hijacked wireless connection from a nearby house.

Following his arrest, Police searched Nowakowski's home when they recovered 10 computers along with thousands of CDs and floppy disks suspected to contain child porn images.

Walter was doing 4 things at the same time.

  1. He was wardriving.
  2. He was driving the vehicle himself.
  3. He was watching what he was downloading, while he was driving.
  4. He had his pants off, because he was enjoying what he was doing so much.

Walter got caught by the police for doing none of the above. Nor did he get caught for being a collector of child porn.

Walter got caught because he found doing all of the above so incredibly easy, that he paid no attention to what he was doing, and drove the wrong way down a one-way street.

If the FBI (or the Canadian equivalent) went knocking on somebody's door and seized equipment that was used in downloading child porn (the FBI has been doing just this), Walter would not have been the one on whose door they would have knocked.

The FBI would have been knocking on the door of the people who provided Walter his Internet service. And those people would have been aware of it only after the FBI got there.

The people providing Walter his Internet service, very likely, have no idea how lucky they were that Walter was so stupid. Since Walter was arrested during the early morning hours, it's likely that everybody was still asleep. Even if any of the inhabitants in the area saw Walter being arrested, or read about it in the newspaper, how likely is it that somebody thought "Gee, maybe that's why my wireless router was so busy?". Yeah right.

Imagine what the smart wardrivers can do? Folks, please, if you're going to have a wireless LAN, Protect Your WLAN from idiots like Walter. And use a Layered Defense on all computers on your LAN - not just the ones connected wirelessly.

Modern Spam

The economy is in the toilet. This should be no news to anybody. What this means for the spammers is there are huge amounts of technically skilled people, willing to work for them.

As I said in my previous article, A Brief History Of Spam, modern spammers spend as much time hiding their activities as actually sending out the spam. But now they have skilled technicians to help them hide their activites.

One of the things the technicians do is develop and maintain the botnets, or thousands of compromised computers around the globe that are running software for the spammers, without the consent of the owners.

When you get spam, it most likely originated with an American firm. But it may have been delivered to you thru a computer in Brazil, China, or Russia (or of course the USA). And without the owners knowledge.

As I said in my earlier article, in the early days of spam, when someone did not want to receive any more, he could reply to the spam saying "No more, please", and that would be the end of the spam.

These days, anybody foolish enough to reply to spam with "Stop" (and yes, we're all tired of it, so "Please" is not a word you'll hear any more) will get one of three results.


  1. The spammer sent his spam, signed with a non-existent email address. Your complaint will go nowhere.
  2. The spammer sent his spam, signed with his actual email address. Since he knows that your address is real, and that you read your email (both facts you just told him), he can now charge more for sending you spam. And he can sell your address as confirmed, to other spammers. And you will get even more spam.
  3. The spammer sent his spam, signed with the address of an innocent third party, maybe someone who knows about the spammer and has been making trouble for him. This third party will be the target of email from other angry spam victims like you.

What this all means is that, without question, complaining to a spammer will not help you in the slightest.

There's another twist to this story though.

Nowadays, with the onslaught of spam, there is a major industry in filtering software that will read your incoming email, identify the spam, and put the spam in a separate folder. You can peruse the contents of the Bulk folder at your convenience, and look for the occasional good email placed in there.

Some filtering software, apparently created by folks who think that they are still living in the 1990's, can be configured to bounce, or send the spam, back to the person who supposedly sent it. Being of the previous decade, the creators of this software will have it create a bounce to look like a statement from your email system, saying that the email is undeliverable, as in addressee unknown. This is known in email language as a Non-Delivery Report or NDR.

One would hope that the creators of email filtering software would surely know that every step that any piece of email takes thru the email system is diligently recorded in the headers of the email. An NDR created immediately by the email server owned by your ISP (who legitimately can say that an address does not exist) will only slightly resemble a bounce from your email software attempting to fake an NDR.

Also perplexing is the idea that these folks still think that spammers would actually prune their address databases based upon receiving an actual NDR.

Still more perplexing is the idea that the creators of the email filtering software don't seem to know that the spammers know the difference between an actual NDR, and a faked one. So, when you send a fake NDR (your filter bounces the spam), what do you think will happen? See the above list of three results, please.

Every anti spam activist knows that bouncing spam is not ever going to help you in the slightest.

If spam filtering software needs to protect you from spam, but the creators are so far out of touch with reality that they design their software with features that will not help you at all if used, should you trust that software?

So as time moved on, and people got smarter, and are not using email so predictably, spammers have had to adapt too.

A Brief History Of Spam

In 1994, Lawrence Canter and Martha Siegel (from the law firm of Canter and Siegel) posted a message on Usenet, offering assistance in getting a U.S. green card. Their offer, being widely distributed to many people who had no interest in getting a green card, was not well received.

They lost their internet service several times, until they found an ISP that did not care what they did. And they wrote a book instructing others how to do what they had done. And the age of commercial spam was born.

Soon after, angry recipients of unwanted email and Usenet messages started referring to the unwanted messages as spam, a reference to the Monty Python skits satirising the well known luncheon meat made by Hormel.

The early spammers were discrete, and obedient. They would end their messages with something like:

I apologise for sending you this without your permission. If you don't want to see any more such email, please let me know, and you won't hear from me again.

And upon receiving an unsubscribe message, they would indeed stop sending email.

One day, the spammers realised that the folks who didn't want their email were not their prospective customers anyway. And further, the time that they spent reading unsubscribe messages, processing those messages, and cleaning their address databases, was wasted time. So they stopped cleaning their databases, and angry recipients were receiving repeated unwanted email, even though they would repeatedly send unsubscribe messages.

The angry recipients found out how to identify the ISPs of the spammers, and started complaining to the ISPs, instead of to the spammers. After some spammers got tired of finding new ISPs periodically, they stopped putting their actual email addresses in their messages. And the modern age of spamming started.

Nowadays spammers spend as much time hiding their activities as actually writing and sending spam. Their current practice is to send spam out thru thousands of hijacked computers, known as botnets. But using a bot for spam distribution, when the computer in question may be in another country or on another continent, is not 100% reliable. So the spammers use redundancy, which is an established practice with computers.

The modern spammer, when sending out a piece of spam to 1,000 victims, will throw a few addresses into the list which come back to him (his personal email, in various services). Knowing how long to wait for email to move, he will wait and make sure that all of his personal mailboxes get their expected copies of his spam. If they don't, he assumes that the spam run just finished was unsuccessful, and he will repeat that run, sending thru a different bot.

Have you ever gotten the same piece of spam twice in 10 minutes or so? This was not a mistake, it was the result of a spam run having been interrupted after you got your copy of spam, the first time. To make sure that the spam gets to everybody, the simplest thing to do is to resend to everybody, and not worry about duplication. So they do just that.

In my next article, Modern Spam, I'll discuss how spam is currently distributed, and how you should and shouldn't deal with it.