In-Class Presentations

73
• On the paper you read for a given report – I will email you which report you’re presenting on – Presentation is summary of your report – Send me PPT of your presentation at least 1h before • DEN students use WebEx – I sent the link • 10 minutes long, 5 slides: – Problem, why important, why difficult – Solution – Evaluation – Your opinion – Your ideas • Graded: Slide appearance, content and delivery In-Class Presentations

description

In-Class Presentations. On the paper you read for a given report I will email you which report you’re presenting on Presentation is summary of your report Send me PPT of your presentation at least 1h before DEN students use WebEx – I sent the link 10 minutes long, 5 slides: - PowerPoint PPT Presentation

Transcript of In-Class Presentations

Page 1: In-Class Presentations

• On the paper you read for a given report– I will email you which report you’re presenting on– Presentation is summary of your report– Send me PPT of your presentation at least 1h before

• DEN students use WebEx – I sent the link• 10 minutes long, 5 slides:– Problem, why important, why difficult– Solution– Evaluation– Your opinion– Your ideas

• Graded: Slide appearance, content and delivery

In-Class Presentations

Page 2: In-Class Presentations

• No class 4/6• I will post Quiz 4 and Quiz 5 soon and email

you

No Class Next Week

Page 3: In-Class Presentations

Sanitization• Remove or obscure (anonymize) sensitive data– Remove packet contents and application headers– Anonymize IP addresses• Positional - anonymize in order of appearance. Inconsistent

and lose information about networks• Cryptographic - anonymize by encrypting with a key.

Consistent but still lose information about networks.• Prefix-preserving - cryptographic approach is applied to

portions of IP separately to preserve network information.

• Sanitization loses a lot of data - application headers, contents, IP addresses– This is acceptable for some research but not for all• Sanitized data still has sensitive information

Page 4: In-Class Presentations

Attack Classes• Passive attacker– Observe publicly released trace– Use some public or private auxiliary information to

infer private data• Active attacker– Insert traffic during trace collection– Identify this traffic later in public trace

• This creates an auxiliary information channel• Can learn what method was used to obscure private data• Can verify presence or absence of data items with

same/similar values in other records– Provider cannot identify injected traffic

• Covert channel problem

Page 5: In-Class Presentations

Privacy of Sanitized Data• Attacks focus on breaking anonymization or

discovering vulnerabilities to use in attacks– Web page attack - identify Web pages based on size

and number of objects – Clock skew attack - infer clock skew from packet

timing, link it to the one obtained by probing– Link layer, Clustering and Behavior attack - infer

topology, cluster same prefix addresses, use behavior models of popular servers to pinpoint them in the trace

– Scan attack - infer relationship between IPs in scans– Innumerable active attacks – insert data into trace

• Removing sensitive data for many of these attacks makes sanitized trace unusable

Page 6: In-Class Presentations

Drawbacks of Sanitization Approach• Low utility– One-size-fits-all data is released– Any field sensitive in some context must be

removed from all contexts• Low privacy– Known attacks are not handled because that

would seriously decrease utility– Active attacks cannot be handled– Data providers have no insight into trace usage– Users get access to entire trace, regardless of

intent - future attacks can be launched by anyone

Page 7: In-Class Presentations

Our Proposal: Secure Queries• Providers publish a query language– Interpreter allows certain queries on certain

packet fields and in a given context– The restrictions are mined from a provider-

specified privacy policy– Users submit queries to an online portal, receive

aggregate results: counts, distributions, histograms, etc.

Page 8: In-Class Presentations

Advantages of Secure Queries• Higher utility– Fine-grain control over field processing and its context

allows safe access to some fields that would be removed/obscured in sanitization - less data loss

– Even application headers or contents could be processed– Easy coding in a high-level language

• Better privacy– Providers have insight into trace usage, can audit– Can precisely control what is allowed– Future attacks handled via policy/language changes -

only those users that previously ran forbidden queries can launch attacks

Page 9: In-Class Presentations

Linkages – The Trail We Leave• Identifiers

• IP Address, cookies, login IDs• MAC Address and other unique IDs

• Where saved• Log files

• Persistence• How often does identifier change• How can it be mapped to user identification

Page 10: In-Class Presentations

Unlinking the Trail • Blind Signatures• Content of the message is disguised before it is signed• Resulting signature can be verified against original

content• Analogy: Enclosing a message in a write-through

envelope which is signed and sealed. Signer doesn’t see the message.

• Enable proof of some attribute without identifying the prover

• Application in anonymous e-currency and e-voting

Page 11: In-Class Presentations

Unlinking the Trail • Anonymizers• A remote web proxy• Hides originators IP address from sites that are visited• Usually strips off cookies and other identifying

information• Limitations• You are dependent on the privacy protections of the

anonymizer itself• All you activities are now visible at this single point of

compromise• Use of the anonymizer may highlight those activities

that you want to go unnoticed

Page 12: In-Class Presentations

Onion Routing • Layers of peer-to-peer anonymization• You contact some node in the onion routing network• Your traffic is forward to other nodes in the network• Random delays and reordering are applied.• With fixed probability, it is forwarded on to its

destination• Traffic analysis requires linking packets through the

full chain of participants• And may be different for each association

Page 13: In-Class Presentations

Trusted Computing

Page 14: In-Class Presentations

• Can’t protect applications from within themselves– Exploits can turn off defenses• Can’t protect the OS from within itself– Exploits can turn off defenses– Rootkits can hide any sabotage from users• May not be able to trust users– They may be uninformed– They may be malicious – OK for their computer but

risk for the others they communicate with– Digital right management issues

What Problem Are We Solving?

Page 15: In-Class Presentations

• Attestation– Means of ensuring someone (user, remote computer) of

the system’s trustworthy status• Usually means authentic/approved apps – Root of trust needed to store keys– Trusted path (allows user to have confidence in the

system)– Chain of trust (like for certificate authorities)

• Separation– Secure storage (data/keys)– Protection of processes

• The rest is policy– That’s the hard and controversial part

What is Trusted Computing

Page 16: In-Class Presentations

• We need a “trusted path”– For user to communicate with a domain that is

trustworthy.• Usually initiated by escape sequence that application

can not intercept: e.g. CTL-ALT-DEL– Could be direct interface to trusted device:

– Display and keypad on smartcard

Trusted Path

Page 17: In-Class Presentations

• We need a “trusted path” across the network.

• Provides authentication of the software components with which one communicates

Communicated Assurance

Page 18: In-Class Presentations

• Clearer delineation of security domains– We can run untrusted programs safely• Run in domain with no access to sensitive resources

– Such as most of your filesystem– Requests to resources require mediation by TCB (trusted

computing base), with possible queries to the user through trusted path.

What Can We Do with TC?

Page 19: In-Class Presentations

• Why are we so vulnerable to malicious code today?– Running programs have full access to system files– Why? NTFS and XP provide separation• But many applications won’t install, or even run,

unless users have administrator access– So we run in “System High”

Mediating Programs Today

Page 20: In-Class Presentations

• Users don’t have administrator access even on their own laptops– This keeps end users from installing their own

software, and keeps IT staff in control– IT staff select only software for end users that will

run without administrator privileges– But systems still vulnerable to exploits in

programs that cause access to private data– Effects of “Plugins” can persist across sessions

Corporate IT Departments’ Solution

Page 21: In-Class Presentations

• But, what if programs were accompanied by third party certificates that said what they should be able to access?– IT department can issue the certificates for new

applications– Access beyond what is expected results in system

dialogue with user over the trusted path

The Next Step

Page 22: In-Class Presentations

• Butler Lampson of Microsoft and MIT suggests we need two computers (or two domains within our computers)– Red network provides for open interaction with

anyone, and low confidence in who we talk with– We are prepared to reload from scratch and lose

our state in the red system

Red / Green Networks

Page 23: In-Class Presentations

• The Green system is the one where we store our important information, and from which we communicate to our banks, and perform other sensitive functions– The Green network provides high accountability, no

anonymity, and we are safe because of the accountability

– But this green system requires professional administration

– A breach anywhere destroys the accountability for all

Red / Green Networks

Page 24: In-Class Presentations

• But what if we could define these systems on an application by application basis– There must be a barrier to creating new virtual

systems, so that users don’t become accustomed to clicking “OK”

– But once created, the TCB prevents the unauthorized retrieval of information from outside this virtual system, or the import of untrusted code into this system

– Question is who sets the rules for information flow, and do we allow overrides (to allow the creation of third party applications that do need access to the information so protected)

Somewhere Over the Rainbow

Page 25: In-Class Presentations

• I might have my financial virtual system. When asked for financially sensitive data, I hit CTL-ALT-DEL to see which virtual system is asking for the data

• I create a new virtual system from trusted media provided by my bank

• I can add applications, like Quicken, and new participants, like my stock broker, to a virtual system only if they have credentials signed by a trusted third party.–

A Financial Virtual System

Page 26: In-Class Presentations

• Some examples:– Open, untrusted, wild Internet– My financial virtual system– My employer’s virtual system– Virtual systems for collaborations• Virtual Organizations

– Virtual systems that protect others• Might run inside VM’s that protect me

– Resolve conflicting policies– DRM vs. Privacy, etc

How Many Virtual Systems

Page 27: In-Class Presentations

• Trust must be grounded– Hardware support• How do we trust the hardware• Tamper resistance

– Embedded encryption key for signing next level certificates• Trusted HW generates signed checksum of the OS and

provides new private key to the OS

What do we need for TC

Page 28: In-Class Presentations

• We must have hardware support for a non-maskable interrupt that will transfer program execution to the Trusted Computing Base (TCB) when user demands it– This invokes the trusted path

Non-Maskable Interrupts

Page 29: In-Class Presentations

• Trusted computing is proof by induction– Each attestation stage says something about the next level– Just like PKI Certification hierarchy

• One needs a basic step– On which everything is built– Hardware is that step

The Hardware Basis

Page 30: In-Class Presentations

• Basically a key storage and cryptographic functionality device

• Capabilities:– Generation of new keys– Storage and management of keys– Use of keys for cryptographic functions

Trusted Platform Module (TPM)

Page 31: In-Class Presentations

Smartcard-like moduleon the motherboard that:• Performs cryptographic functions– RSA, SHA-1, RNG– Meets encryption export requirements

• Can create, store and manage keys– Provides a unique Endorsement Key (EK) whose extraction destroys

the hardware– Provides a unique Storage Root Key (SRK)

• Performs digital signature operations• Holds Platform Measurements (hashes)• Anchors chain of trust for keys and credentials• Protects itself against attacks

Slide From Steve Lamb at Microsoft

Trusted Platform Module (TPM)

Page 32: In-Class Presentations

• An Attestation Identity Key (AIK) is a key pair created during attestation, for use by a particular application

• Generated using EK• Benefits:– CPU can perform encryption with AIK– Hides EK from cryptanalysis– Addresses privacy issues since it cannot be tied back to a

single machine

Attestation with TPMSource: http://www.cs.bham.ac.uk/~mdr/teaching

Page 33: In-Class Presentations

• Sign something with EK– Compromises user privacy since different sessions can be

linked together• Using remote CA– AIK is generated and signed by a remote CA

Remote Attestation with TPMSource: http://www.cs.bham.ac.uk/~mdr/teaching

Page 34: In-Class Presentations

• PCR – Platform configuration register that stores hashes of applications

• Extend– Add data to a PCR– SHA-1(PCR+measurement)– As each module loaded its hash extends the PCR

• Quote– Sign current value of PCR to be offered as proof of

authenticity

Using Encryption for AtestationSource: http://www.cs.bham.ac.uk/~mdr/teaching

Page 35: In-Class Presentations

• Users' data can be encrypted by TPM-generated and TPM-protected keys (binding keys)– Not every key can be stored on TPM but it can be

protected by keys that are stored on TPM• Eventually, every binding key is secured by the

TPM's Storage Root Key (SRK)

Secure Storage with TPMSource: http://www.cs.bham.ac.uk/~mdr/teaching

Page 36: In-Class Presentations

• Two ways to protect data with TPM:– Data binding: encrypting with a binding key– Data sealing: data is encrypted, bound to a specific

TPM platform and a particular configuration• Take data, a binding key and requested PCR values as

input, then outputs a sealed data package.• To decrypt this package, one must be running the

same TPM, have the key, and the current PCR value has to match with the value used in the sealing process.

• E.g., one seals a Word document with a binding key, and PCR values indicating that Microsoft Word and Symantec antivirus were loaded. To read that document, other users must have access to the key, use Microsoft Word and Symantec antivirus, in the same TPM.

Secure Storage with TPMSource: http://www.cs.bham.ac.uk/~mdr/teaching

Page 37: In-Class Presentations

• Separation of address space– So running processes don’t interfere with one another

• Key and certificate management for processes– Process tables contain keys or key identifiers needed by

application, and keys must be protected against access by others

– Processes need ability to use the keys

OS Support for Trusted Computing

Page 38: In-Class Presentations

• Fine-grained access controls on persistent resources– Protects such resources from untrusted applications

• The system must protect against actions by the owner of the system (!!!)

OS Support for Trusted Computing

Page 39: In-Class Presentations

• Trusted computing is a tool that can be misused– If one party has too much market power, it can dictate

unreasonable terms and enforce them• Too much trust in trusted computing– Attestation does not make a component trustworthy

(vulnerabilities may still exist, component may still misbehave)

Discussion - Risks

Page 40: In-Class Presentations

• Allows systems to be developed that require trustworthy remote components– Provides protection of data when out of the hands of its

owner• Provides isolation and virtualization beyond local

system– Provides containment of compromise

Discussion - Benefits

Page 41: In-Class Presentations

• Trusted computing means that the entities that interact with one another can be more certain about their counterparts

• This gives all entities the ability to discriminate based on trust

• Trust is not global – instead one is trusted “to act a certain way”

Equal Opportunity for Discrimination

Page 42: In-Class Presentations

• Parties can impose limits on what the software they trust will do

• That can leave less trusted entities at a disadvantage

• Open source has fewer opportunities to become “trusted”

Equal Opportunity for Discrimination

Page 43: In-Class Presentations

• Strong DRM systems require trust in the systems that receive and process protected content– Trust is decided by the provider

of the content– This requires that the system provides assurance

that the software running on the system is software trusted by the provider

Privacy Concerns

Page 44: In-Class Presentations

• The provider decides its basis for trust– Trusted software may have features that are

counter to the interests of the customer• Imposed limits on fair use• Collection and transmission of data the customer

considers private• Inability to access the content on alternative

platforms, or within an open source OS

Privacy and Anti-Trust Concerns

Page 45: In-Class Presentations

• The provider-trusted application might be running in a protected environment that doesn’t have access to the user’s private data– Attempts to access the private data would thus

be brought to the users attention and mediate through the trusted path

– The provider still has the right not to provide the content, but at least the surreptitious snooping on the user is exposed.

Trusted Computing Cuts Both Ways

Page 46: In-Class Presentations

Human Element

Page 47: In-Class Presentations

• Organization invest into sophisticated security systems– Firewalls– Intrusion detection systems– Safes– Smart cards

• Humans repeatedly prove to be the weakest link– A skillful attacker will be able to obtain best guarded

information by making a few phone calls …

Social Engineering

“The Art of Deception”, K. Mitnick and W. Simon, Wiley Publishing, 2002

Page 48: In-Class Presentations

• They deploy similar techniques as when breaking in using technical means– They get well acquainted with the organization

procedures and lingo– They pick up a few names and phone numbers– They pretend to be insiders– They gather little bits of information and piece them together

into a valuable whole– They sound friendly and confident– They work slowly and build trust– They play on people’s feelings

How Do They Do It?

Page 49: In-Class Presentations

• Stanley Rifkin worked for a contracting company to develop backup system for wire room of Security Pacific National Bank– People in wire room used one-day codes to authorize wire

transfers– They wrote those on a paper each day and posted

it inside the room– Stanley walked in a room one day to “take notes on operation

procedures for the backup system” and memorized the code

Robbing a Bank Without a Gun

Page 50: In-Class Presentations

• Stanley next walked to a phone in the bank’s lobby, gave a name and office number of an authorized employee, then gave daily code– He asked that $10M be transferred to his account in

Switzerland– Wire-room employee asked for an interoffice settlement

number– Stanley said he will check and call back– He called another department claiming to work in the wire

room and asked for an interoffice settlement number then called back the wire-room and finalized the transaction

Robbing a Bank Without a Gun

Page 51: In-Class Presentations

• Grace was a PI who was following a trail of money that his client’s husband withdrew from their joint account– Grace knew that banks call a credit verification service

CreditChex to verify new client information– Grace first called husband’s bank and got familiar with the

lingo – what do they give to CreditChex when they ask for information, because he’s writing a book …

– Grace then called another bank employee presenting himself as CreditChex customer service representative and asked for employee’s MerchantID among other things

– Grace called CreditChex next presenting himself as bank employee and got information about the husband’s new accounts

Getting Credit History Information

Page 52: In-Class Presentations

• Didi was a head-hunter who wanted to steal a few employees for her client from his competition – Didi first called a reception desk at the competition, presenting

as branch employee and got connected to Accounting– She called Accounting and got cost center – charge code for

billing each department’s needs– Didi then called a random other department, pretending to be

a branch employee and asked how to get a printed phonebook for a contractor – call Publications

– She called Publications and asked for phonebook to be mailed to branch contractor – a rented mailbox; she sweet talked the guy there to skip formal procedure for paperwork filing and just bill this to the cost center

Getting a List of Employees

Page 53: In-Class Presentations

• The attacker dials private phone company’s number for Mechanized Line Assignment Center– Presents himself as cable splicer in the field– Gives a few convincing statements– Asks for help to rewire the terminal and gets all phone

numbers assigned to the wires

Getting a Private Phone Number - 1

Page 54: In-Class Presentations

• The attacker calls utility company “from some company branch and he has a vice president’s office on the phone”– He says his computer is down and could he get some help– The attacker then gives victim’s name and asks for account

number, phone number and address

Getting a Private Phone Number - 2

Page 55: In-Class Presentations

• Frank Parsons has been running from the FBI– He moved to a new state and was looking for a job– He found a good job but they wanted a background criminal

check– The form asked for a fingerprint to check state criminal record

(which Frank didn’t have)– Frank wanted to find out if this will be transmitted to the FBI– He called the state patrol and asked, said he worked with State

Department of Justice and they were doing a research …

Getting Info from Law Enforcement

Page 56: In-Class Presentations

• Doyle Lonnegan is a collection man for gambling debts and he needs to collect a debt from X– Doyle finds out X’s frequented video rental store– Doyle calls another branch pretending to be a satisfied

customer and asks for store number, manager’s name, etc.– Doyle then calls X’s store, presents himself as fellow employee

from a different store – says X is there and wants to rent and wants to use his credit card number on file but computers are down …

– He can now charge the debt to the credit card

Getting Credit Card Information

Page 57: In-Class Presentations

• Company CLPhone advertised 1-cent cell phone with a contract subscription– Mark wants the phone but not the subscription– He calls a local CLPhone branch and presents himself as a

customer who talked to a sales person the other night and would like to sign up – Mark gets sales person’s name

– Mark calls another CLPhone branch presenting himself as a sales person who has a customer waiting – customer already signed up but branch is out of cell phones

Getting a Free Cell Phone

Page 58: In-Class Presentations

• Bobby wants to break into company’s network– He first calls an employee, Ted, presenting himself as Eddie

from the Help Desk– Eddie asks Ted how has his network service been because they

have been having problems – supplies his cell phone for when the problem arises (reverse social engineering).

– Eddie also obtains Ted’s port number from Ted– Bobby then calls IT, presenting himself as Eddie from the Help

Desk and asks that the port be disabled– Frustrated Ted calls and Eddie “fixes the problem”– Eddie asks Ted to install a piece of software so “this doesn’t

happen again”

Breaking into the Network - 1

Page 59: In-Class Presentations

• Attacker wants to get an inside access– He first calls HR and asks for the list of new employees– Attacker then calls one new employee and gives her security

briefing – he also gets her username and gets her to change her password with his help

Breaking into the Network - 2

Page 60: In-Class Presentations

• Attacker wants to get confidential files for project X– He calls company switchboard and gets phone number of any

employee - Sam– Attacker calls Sam, saying he is from FedEx and there is a

package for project X – gets project lead’s name (Jerry) and number

– Calls Jerry’s office and learns he’s on vacation but gets his secretary’s number – Michelle

– Calls Michelle and asks for project X people E-mails “because Jerry asked me for a favor”

– Calls IT and claims he is employee who just bought a laptop – gets dial-in access

Breaking into the Network - 3

Page 61: In-Class Presentations

• Attacker then finds a computer with a guest account and breaks in – this computer runs Unix system

• He examines a shadow file and figures out that one of the project people (Steve) has password Janice– But password doesn’t work– Attacker waits for the weekend and calls Steve pretending to

be from IT and repairing crashed network– He asks for Steve’s password, providing the old one

Breaking into the Network - 3

Page 62: In-Class Presentations

• Attacker calls the switchboard asking for employee Jones – learns his first name Jo– Speaks to Jo and claims to be from payroll – Joe’s paycheck has

been deposited to Credit Union account– Jo provides his employee number to clear up the mess– Attacker calls another branch and asks to be given a temporary

username and password while on business trip – gives Joe’s name and employee number for verification

Breaking into the Network - 4

Page 63: In-Class Presentations

• Danny wants to break into company’s network and steal some confidential files on product X but they use two-factor authentication– Secure ID – a time based token that changes every 60 seconds– Username and password

• Danny learns some employee’s name (Bob), number, his manager’s number, username, password, etc.– Waits for a stormy day– Calls IT and claims to be Bob who left his secure ID at his desk

and could someone fetch it and read the info

Breaking into the Network - 5

Page 64: In-Class Presentations

• IT refuses but offers a temporary secure ID that will work just the same– A guy in IT even calls his manager to check that this is OK and

vouches for “Bob”• Danny searches newsgroups for postings on product X –

gets the name of the guy working on it (Scott)– Scott happens to be in the office and happily provides server

name to “IT guy”– Danny can’t connect to the server from dial-up and he calls IT

again and asks for a temporary account in IT– From IT computers he finds a vulnerability on the

development server and grabs files on product X

Breaking into the Network - 5

Page 65: In-Class Presentations

• Knowing the lingo• Being familiar, relaxed and friendly• Playing on people’s feelings

– People want to help– Especially if you work for their boss– Or they can be easily intimidated

• Pretending to be an insider• Asking for “insignificant” pieces of information

What are the Key Steps?

Page 66: In-Class Presentations

• Limit the number of people who know key information• Educate employees about security• Establish authentication procedures going through a

single site• Ask employees to call back when providing sensitive

information, and to use the number on file

How to Protect from Social Engineering?

Page 67: In-Class Presentations

• Researchers subverted a botnet’s command and control infrastructure (proxy bots)– Modified its spam messages to point to the Web

server under researcher control• That server mimicked the original Web page

from the spam emails– A pharmacy site– A greeting card download site

Botnets Fun Facts: ROI for Attackers

"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C. Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and S. Savage, ACM CCS 2009

Page 68: In-Class Presentations

• How many spam emails reach recipients: open a few email accounts themselves and append them to email delivery lists in spam messages

• How many emails result in Web page visits– Must filter out defense accesses

• How many users actually buy advertised products or download software– No “sale” is finalized

• Ethical issues abound

What Is ROI for Attackers

"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C. Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and S. Savage, ACM CCS 2009

Page 69: In-Class Presentations

Most-targeted E-mail Domains

"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C. Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and S. Savage, ACM CCS 2009

Page 70: In-Class Presentations

Spam Conversion Pipeline

"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C. Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and S. Savage, ACM CCS 2009

Page 71: In-Class Presentations

Spam Conversion Pipeline

"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C. Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and S. Savage, ACM CCS 2009

Page 72: In-Class Presentations

Spam Filter Misses

"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C. Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and S. Savage, ACM CCS 2009

Page 73: In-Class Presentations

For More on Botnetshttp://www.shadowserver.orghttp://www.honeynet.org/papers/bots/http://www.honeynet.org/papers/ff