22.01.2015 Views

Military Communications and Information Technology: A Trusted ...

Military Communications and Information Technology: A Trusted ...

Military Communications and Information Technology: A Trusted ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

406 <strong>Military</strong> <strong>Communications</strong> <strong>and</strong> <strong>Information</strong> <strong>Technology</strong>...<br />

fail once a system would initiate <strong>and</strong> maintain a single C 2 flow over a prolonged<br />

time, even if that flow would carry periodic requests for updates or status reports.<br />

Using subflows, as suggested in V.C, allows us to distinguish between idle times <strong>and</strong><br />

message exchanges, particularly to reveal the periodic nature of subflow initiation<br />

in the described case.<br />

B. Failed flow count<br />

Botnets with peer-to-peer functionality such as Storm or Miner use a list of addresses<br />

hard coded in the malware or distributed as a separate file to allow infected<br />

hosts to connect to other peers. Since keeping such a list up to date is a hard problem,<br />

a significant fraction of the addresses in the list will no longer be available at<br />

the time the malware initiates operations. Research conducted at our institute [19]<br />

revealed that on average only about 23% of the addresses advertised in the Miner<br />

botnet’s peer lists would respond to connection requests, i.e. a client will usually<br />

have to initiate flows to a significant number of addresses before finding one that<br />

would respond to its request. We want to exploit this by taking failed connection<br />

attempts into consideration for detecting botnets with peer-to-peer functionality.<br />

Observing an explicit failure of a flow initiation attempt is only possible<br />

if the contacted system signals a rejection through ICMP. Otherwise, e.g. if the packets<br />

initiating the flow are filtered by a firewall, we have to infer the failure from<br />

what we can observe. Since few Internet protocols use strictly unidirectional<br />

communication, we interpret flows for which we did not observe any packet from<br />

the responding to the initiating system as failed. This will however also be the case<br />

when a system sends packets to a multicast address, since such an address does not<br />

represent a single system that could generate a response. Multicast transmissions<br />

are however often filtered by ISPs <strong>and</strong> thus we do not expect them to have any<br />

significant effect regarding this feature. Besides that, treating multicast addresses<br />

differently regarding this feature would be a valid option if significant changes<br />

in usage patterns would render it useless otherwise.<br />

C. Flow volume<br />

For a typical protocol providing users with access to data stored at a central<br />

location such as HTTP, the client to server direction of the flow will consist<br />

of a small or series of small requests <strong>and</strong> one or several large responses. Following<br />

the methodology introduced in sections V.B <strong>and</strong> V.C, each request <strong>and</strong> response<br />

would correspond to a single subflow.<br />

We do not expect that this will be fundamentally different for a botnet protocol,<br />

however we want to exploit one feature that distincts regular <strong>and</strong> botnet client<br />

behaviour. A botnet client will usually request a few pieces of data, either using<br />

fixed requests or building them from a template. While live users’ requests may

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!