HoneydV6 A low-interaction IPv6 honeypot Sven Schindler Potsdam - - PowerPoint PPT Presentation

honeydv6
SMART_READER_LITE
LIVE PREVIEW

HoneydV6 A low-interaction IPv6 honeypot Sven Schindler Potsdam - - PowerPoint PPT Presentation

HoneydV6 A low-interaction IPv6 honeypot Sven Schindler Potsdam University Institute for Computer Science Operating Systems and Distributed Systems Reykjavk, July 29, 2013 Outline 1 Introduction 2 An IPv6 darknet experiment HoneydV6 -


slide-1
SLIDE 1

HoneydV6

A low-interaction IPv6 honeypot

Sven Schindler

Potsdam University Institute for Computer Science Operating Systems and Distributed Systems

Reykjavík, July 29, 2013

slide-2
SLIDE 2

Outline

1

Introduction

2

An IPv6 darknet experiment

3

HoneydV6 - Development and Performance Measurements

4

Conclusion and Future work

Sven Schindler (Potsdam University) HoneydV6 Frame 2 of 26

slide-3
SLIDE 3

Introduction

Outline

1

Introduction

2

An IPv6 darknet experiment

3

HoneydV6 - Development and Performance Measurements

4

Conclusion and Future work

Sven Schindler (Potsdam University) HoneydV6 Frame 3 of 26

slide-4
SLIDE 4

Introduction

Why do we need IPv6 dark- and honeynets?

huge IPv6 address space makes brute-force network scanning impossible new scanning approaches in the wild? attacks aiming at IPv6 design weaknesses how to analyse IPv6 related attacks?

Sven Schindler (Potsdam University) HoneydV6 Frame 4 of 26

slide-5
SLIDE 5

Introduction

THC and si6 - IPv6 Attack Toolkits

IPv6 attack tools like THC toolkit [3] and si6 [8] available fragment6 (THC) - duplicate fragments fake_router6 (THC) - become the default router rsmurf6 (THC) - remote smurf attack tool dos-new-ip6 (THC) - block new hosts from joining a network scan6 (si6) - intelligent scan approaches

Sven Schindler (Potsdam University) HoneydV6 Frame 5 of 26

slide-6
SLIDE 6

An IPv6 darknet experiment

Outline

1

Introduction

2

An IPv6 darknet experiment

3

HoneydV6 - Development and Performance Measurements

4

Conclusion and Future work

Sven Schindler (Potsdam University) HoneydV6 Frame 6 of 26

slide-7
SLIDE 7

An IPv6 darknet experiment Prior darknet experiments

Why another IPv6 Darknet Experiment?

/48 experiment from 2006 reported 12 ICMPv6 packets within 16 months [2] IPv4 class A darknet in 2004 captured 30,000 packets/second [5] 9 days /12 IPv6 darknet experiment received 21,000 non-malicious packets in 2010 [4] started our /48 darknet experiment in March 2012 (Hurricane Electric tunnel)

Sven Schindler (Potsdam University) HoneydV6 Frame 7 of 26

slide-8
SLIDE 8

An IPv6 darknet experiment Darknet results

Darknet results after 9 months

1172 packets received TCP traffic only most packets around IPv6 World Launch Day (6.6.2012)

20 40 60 80 100 120 140 160 180 200 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Number of received Packets Date (months)

2012 IPv6 /48 Darknet Activity

Darknet activity

Sven Schindler (Potsdam University) HoneydV6 Frame 8 of 26

slide-9
SLIDE 9

An IPv6 darknet experiment Darknet results

Backscatter traffic

1157 packets seem to be backscatter caused by misconfiguration or spoofed source addresses Number of packets Source port 486 auth (113) 327 ssh (22) 186 ircd (6667) 158 http (80)

Sven Schindler (Potsdam University) HoneydV6 Frame 9 of 26

slide-10
SLIDE 10

An IPv6 darknet experiment Darknet results

Backscatter

Sven Schindler (Potsdam University) HoneydV6 Frame 10 of 26

slide-11
SLIDE 11

An IPv6 darknet experiment Darknet results

Some interesting facts about the backscatter traffic

port 113

belongs to Ident protocol (RFC1413) 486 packets from 8 different sources to 457 different destinations most packets contained the same acknowledgement number

port 22

327 packets from 8 different sources targeting 295 destinations again: most packets contained the same acknowledgement number

port 6667

186 packets from the same source again: all packets contained the same acknowledgement number

port 80

158 packets from the same source to different destinations all packets but one with the same acknowledgement number and target port

→ traffic indicates spoofed source addresses

Sven Schindler (Potsdam University) HoneydV6 Frame 11 of 26

slide-12
SLIDE 12

An IPv6 darknet experiment Darknet results

Darknet summary

DoS-attacks observed? no connection attempts threat level in IPv6 network still low compared to IPv4 attackers interest in IPv6 networks is raising

Sven Schindler (Potsdam University) HoneydV6 Frame 12 of 26

slide-13
SLIDE 13

HoneydV6 - Development and Performance Measurements

Outline

1

Introduction

2

An IPv6 darknet experiment

3

HoneydV6 - Development and Performance Measurements

4

Conclusion and Future work

Sven Schindler (Potsdam University) HoneydV6 Frame 13 of 26

slide-14
SLIDE 14

HoneydV6 - Development and Performance Measurements Introduction

What is a virtual honeypot and why do we need it?

Honeypot definition A virtual honeypot is a security device with the only purpose of attracting attackers, so that their attacks can be analysed. This can be something like a computer or even a mobile phone. The system itself has no real production value [7]. provides level of interaction classification based on level of interaction

high-interaction honeypot drawback: hardware requirements low-interaction honeypots to simulate multiple hosts on single machine

Dionea is able to simulate a single IPv6 connected machine [1]

Sven Schindler (Potsdam University) HoneydV6 Frame 14 of 26

slide-15
SLIDE 15

HoneydV6 - Development and Performance Measurements Honeyd

Honeyd

  • pen source low-interaction honeypot by Niels Provos

custom network stack simulate entire networks supports OS fingerprinting provides framework for service scripts latest release v 1.5c does not support IPv6 Tiny Honeypot, SCADA HoneyNet Project based on Honeyd

Sven Schindler (Potsdam University) HoneydV6 Frame 15 of 26

slide-16
SLIDE 16

HoneydV6 - Development and Performance Measurements Honeyd

Honeyd architecture[6]

Sven Schindler (Potsdam University) HoneydV6 Frame 16 of 26

slide-17
SLIDE 17

HoneydV6 - Development and Performance Measurements Honeyd

Requirements

allow to define virtual IPv6 hosts create hierarchical IPv6 networks allow nmap, ping6 and traceroute6 to find virtual hosts log IPv6 communication between attacker and honeypot keep IPv4 support

Sven Schindler (Potsdam University) HoneydV6 Frame 17 of 26

slide-18
SLIDE 18

HoneydV6 - Development and Performance Measurements Adapting the configuration of virtual hosts

Adapting the configuration of virtual hosts

Example IPv4 configuration

create windows set windows default tcp action reset add windows tcp port 21 "scripts/ftp.sh" set windows ethernet "aa:00:04:78:98:76" bind 192.168.1.5 windows bind 192.168.1.6 windows

configuration parser modified to accept IPv6 addresses IPv6 and IPv4 templates managed in splay tree

Sven Schindler (Potsdam University) HoneydV6 Frame 18 of 26

slide-19
SLIDE 19

HoneydV6 - Development and Performance Measurements ICMPv6 and NDP implementation

Implementing the Neighbor Discovery Protocol and ICMPv6

IPv6 utilizes NDP instead of ARP send and process neighbor solicitations send router solicitations process router advertisements ICMPv6 echo request/reply ICMPv6 Time Exceeded and Destination Unreachable

Sven Schindler (Potsdam University) HoneydV6 Frame 19 of 26

slide-20
SLIDE 20

HoneydV6 - Development and Performance Measurements Modifying packet processing

Modifying packet processing

new IPv6 dispatcher updated routing engine to simulate networks extension header processing fragmentation logging of length and offset TCP and UDP functionality updated

Sven Schindler (Potsdam University) HoneydV6 Frame 20 of 26

slide-21
SLIDE 21

HoneydV6 - Development and Performance Measurements Random IPv6 request processing

How to find an IPv6 honeypot?

linear IPv6 address scan is impossible attacker needs to find hosts dynamically create new virtual hosts on demand all connection attempts logged

  • bserve new scan approaches

Sven Schindler (Potsdam University) HoneydV6 Frame 21 of 26

slide-22
SLIDE 22

HoneydV6 - Development and Performance Measurements Random IPv6 request processing

Configuration of random IPv6 request processing

Configuration

create randomdefault set randomdefault default tcp action reset add randomdefault tcp port 21 "scripts/ftp.sh" add randomdefault tcp port 80 "scripts/web.sh" set randomdefault ethernet "aa:00:04:78:98:78" randomipv6 0.5 randomdefault 256 randomexclude 2001:db8::1 randomexclude 2001:db8::2 randomexclude 2001:db8::3

Sven Schindler (Potsdam University) HoneydV6 Frame 22 of 26

slide-23
SLIDE 23

HoneydV6 - Development and Performance Measurements Scalability

Performance tests - HTTP get request measurements

generated log file containing 20.000 HTTP GET request from different source addresses 600 requests per second honeyd configured to simulate single host (IPv4 and IPv6 connected) web.sh script on port 80 1.5c (IPv4) V6 (IPv4) V6 (IPv6) 212.57 214.00 205.75

Table: Comparison of the number of HTTP GET requests per second that Honeyd 1.5c and HoneydV6 is able to handle without any packet loss.

Sven Schindler (Potsdam University) HoneydV6 Frame 23 of 26

slide-24
SLIDE 24

Conclusion and Future work

Outline

1

Introduction

2

An IPv6 darknet experiment

3

HoneydV6 - Development and Performance Measurements

4

Conclusion and Future work

Sven Schindler (Potsdam University) HoneydV6 Frame 24 of 26

slide-25
SLIDE 25

Conclusion and Future work

Conclusion and Future work

HoneydV6 is the first low-interaction honeypot which can simulate entire IPv6 networks on a single host may be used to add IPv6 support for low-interaction honeypots based on honeyd new protocols implemented (NDP , ICMPv6) random IPv6 request processing helps to understand new scan approaches OS fingerprinting and tunnel support not yet implemented working on shellcode detection engine currently running at a major German hosting company HoneydV6 source code available on www.idsv6.de Questions?

Sven Schindler (Potsdam University) HoneydV6 Frame 25 of 26

slide-26
SLIDE 26

Conclusion and Future work

Conclusion and Future work

HoneydV6 is the first low-interaction honeypot which can simulate entire IPv6 networks on a single host may be used to add IPv6 support for low-interaction honeypots based on honeyd new protocols implemented (NDP , ICMPv6) random IPv6 request processing helps to understand new scan approaches OS fingerprinting and tunnel support not yet implemented working on shellcode detection engine currently running at a major German hosting company HoneydV6 source code available on www.idsv6.de Questions?

Sven Schindler (Potsdam University) HoneydV6 Frame 25 of 26

slide-27
SLIDE 27

Conclusion and Future work

Conclusion and Future work

HoneydV6 is the first low-interaction honeypot which can simulate entire IPv6 networks on a single host may be used to add IPv6 support for low-interaction honeypots based on honeyd new protocols implemented (NDP , ICMPv6) random IPv6 request processing helps to understand new scan approaches OS fingerprinting and tunnel support not yet implemented working on shellcode detection engine currently running at a major German hosting company HoneydV6 source code available on www.idsv6.de Questions?

Sven Schindler (Potsdam University) HoneydV6 Frame 25 of 26

slide-28
SLIDE 28

Conclusion and Future work

References

[1] Dionaea. dionaea catches bugs. http://dionaea.carnivore.it/, nd. [2] Matthew Ford, Jonathan Stevens, and John Ronan. Initial Results from an IPv6 Darknet. In ICISP ’06: Proceedings of the International Conference on Internet Surveillance and Protection, page 13, Washington, DC, USA, 2006. IEEE Computer Society. [3] Marc Heuse. THC IPv6 attack tool kit. http://www.thc.org/thc-ipv6/, nd. [4] Geoff Huston. Background Radiation in IPv6. https://labs.ripe.net/Members/mirjam/background-radiation-in-ipv6, October 2010. [5] Ruoming Pang, Vinod Yegneswaran, Paul Barford, Vern Paxson, and Larry Peterson. Characteristics of internet background radiation. In Proceedings of the 4th ACM SIGCOMM conference on Internet measurement, IMC ’04, pages 27–40, New York, NY, USA, 2004. ACM. [6] Niels Provos and Thorsten Holz. Virtual Honeypots - From Botnet Tracking to Intrusion Detection. Addison-Wesley, 2008. [7] Christian Seifert, Ian Welch, and Peter Komisarczuk. Taxonomy of honeypots. Technical report, Victoria University of Wellington, Wellington, 2006. [8] SI6 Networks. SI6 Networks’ IPv6 Toolkit - A security assessment and troubleshooting tool for the IPv6 protocols. http://www.si6networks.com/tools/ipv6toolkit, 2012.

Sven Schindler (Potsdam University) HoneydV6 Frame 26 of 26

slide-29
SLIDE 29

Appendix

Pitfalls

scope IDs in link-local addresses

static void addr_remove_scope_id(struct addr* ip6) { if (ip6 ->addr_data8 [0]==0xfe && ip6 ->addr_data8 [1]==0x80) { /* delete scope id */ ip6 ->addr_data8 [2]=0; ip6 ->addr_data8 [3]=0; } }

Sven Schindler (Potsdam University) HoneydV6 Frame 26 of 26

slide-30
SLIDE 30

Appendix

Pitfalls

use of dynamic arrays

struct interface { TAILQ_ENTRY(interface) next; struct intf_entry if_ent; int if_addrbits; struct event if_recvev; pcap_t *if_pcap; eth_t *if_eth; int if_dloff; char if_filter [1024]; };

Sven Schindler (Potsdam University) HoneydV6 Frame 26 of 26

slide-31
SLIDE 31

Appendix

Performance tests - throughput measurements

PRIMERGY TX200 S5 Server with an Intel Xeon processor 5500 series and 4096 MB of RAM running Ubuntu 12.04 benchmark client was installed on a Lenovo ThinkPad L520 with an Intel i5-2450M CPU and 4096 MB of RAM computers connected via Brocade FWS648G FastIron switch using Gigabit Ethernet Filesize 1.5c (IPv4) V6 (IPv4) V6 (IPv6) 50 MB 15.98 s 16.19 s 16.33 s 100 MB 31.85 s 31.94 s 32.36 s

Table: Comparison of transmission time in seconds between the original Honeyd version 1.5c and HoneydV6 - median values of 5 test runs

Sven Schindler (Potsdam University) HoneydV6 Frame 26 of 26