Forensics in the SoNIC Project
- n Precise Realtime Software Access and
on Precise Realtime Software Access and Control of Wired Networks - - PowerPoint PPT Presentation
Forensics in the SoNIC Project on Precise Realtime Software Access and Control of Wired Networks Ki Suh Lee, Han Wang, Hakim Weatherspoon Cornell University International Workshop on Trustworthiness, Accountability, and Forensics in the Cloud
NIST Cloud Definition
NIST Cloud Definition
NIST Cloud Definition
6/14/2013 6
SoNIC DARPA MRC 2013
6/14/2013 SoNIC NSDI 2013 7
Packet Generation Packet Capture Characterization Estimating bandwidth Detecting timing channel Increasing Throughput IPG Packet i Packet i+1 IPD Application Transport Network Data Link Physical
6/14/2013 SoNIC NSDI 2013 8
IPG Packet i Packet i+1 IPD Application Transport Network Data Link Physical
6/14/2013 SoNIC NSDI 2013 9
Packet Generation Packet Capture Detecting timing channel Packet i Packet i+1 12 /I/s = 100bits = 9.7ns Application Transport Network Data Link Physical IPG One Idle character (/I/) = 7~8 bits Estimating bandwidth
Characterization
6/14/2013 10
Application Transport Network Data Link Physical IPG Packet i Packet i+1 Packet i+2 Packet i Packet i+1 Packet i+2 Packet i Packet i+1 Packet i+2 Packet i Packet i+1 Packet i+2 Packet i Packet i+1
SoNIC DARPA MRC 2013
6/14/2013 11
Application Transport Network Data Link Physical IPG Packet i Packet i+1 IPD
SoNIC DARPA MRC 2013
SoNIC: Precise Realtime Software Access and Control of Wired Networks, Ki Suh Lee, Han Wang and Hakim Weatherspoon, Appears in NSDI, April 2013
6/14/2013 12
Application Transport Network Data Link Physical IPG Packet i Packet i+1 IPD
SoNIC DARPA MRC 2013
6/14/2013 13 SoNIC DARPA MRC 2013
6/14/2013 SoNIC DARPA MRC 2013 14
Packet Interpacket gap
6/14/2013 15 SoNIC
6/14/2013 16 SoNIC DARPA MRC 2013
6/14/2013 17
Packet i Packet i+1 Packet i Packet i+1
SoNIC DARPA MRC 2013
6/14/2013 18
0.2 0.4 0.6 0.8 1 500 1500 2500 3500 4500 0.2 0.4 0.6 0.8 1 500 1500 2500 3500 4500 0.2 0.4 0.6 0.8 1 500 1500 2500 3500 4500 SoNIC 0.2 0.4 0.6 0.8 1 500 1500 2500 3500 4500 SoNIC Kernel
‘1’: 3562 + 128 /I/s ‘0’: 3562 – 128 /I/s ‘1’: 3562 + a /I/s ‘0’: 3562 – a /I/s ‘0’ ‘1’
Interpacket delays (ns)
3562 /I/s 3562 - 128 /I/s 3562 + 128 /I/s
CDF
BER = 0.37%
SoNIC DARPA MRC 2013
6/14/2013 19
0.2 0.4 0.6 0.8 1 500 1500 2500 3500 4500
Interpacket delays (ns)
3562 /I/s
CDF
SoNIC DARPA MRC 2013
6/14/2013 20
1e-06 1e-05 0.0001 0.001 0.01 0.1 1 5000 10000 15000 20000 Frequency (normalized) Interpacket gap (bits) 1e-06 1e-05 0.0001 0.001 0.01 0.1 1 5000 10000 15000 20000 Frequency (normalized) Interpacket gap (bits) 1e-06 1e-05 0.0001 0.001 0.01 0.1 1 5000 10000 15000 20000 Frequency (normalized) Interpacket gap (bits)
Cisco 4948 Cisco 6509 IBM BNT G8264R 1500 byte packets @ 6Gbps
SoNIC DARPA MRC 2013
6/14/2013 21 SoNIC DARPA MRC 2013
6/14/2013 22
Physical 64/66b PCS PMA PMD
Encode Scrambler Gearbox Decode Descrambler Blocksync
Data Link Network Transport Application
Data
/S/ /D/ /D/ /D/ /D/ /T/ /E/
Data L3 Hdr Data L3 Hdr L2 Hdr Data L3 Hdr L2 Hdr Gap Eth Hdr CRC Preamble
011010010110100101101001011010010110100101101001011010010110100101101 Encode Scrambler Gearbox
PMA 64 bit 2 bit syncheader 16 bit 10.3125 Gigabits /S/ /D/ /D/ /D/ /D/ /T/ /E/ Idle characters (/I/)
SoNIC DARPA MRC 2013
6/14/2013 23
Physical 64/66b PCS PMA PMD
Encode Scrambler Gearbox Decode Descrambler Blocksync
Data Link Network Transport Application
Data
/S/ /D/ /D/ /D/ /D/ /T/ /E/
Data L3 Hdr Data L3 Hdr L2 Hdr Data L3 Hdr L2 Hdr Gap Eth Hdr CRC Preamble
011010010110100101101001011010010110100101101001011010010110100101101 Encode Scrambler Gearbox
PMA
SW HW Packet i Packet i+1 Packet i Packet i+1
SoNIC DARPA MRC 2013
6/14/2013 24
Physical 64/66b PCS PMA PMD
Encode Scrambler Gearbox Decode Descrambler Blocksync
Data Link Network Transport Application
Data
/S/ /D/ /D/ /D/ /D/ /T/ /E/
Data L3 Hdr Data L3 Hdr L2 Hdr Data L3 Hdr L2 Hdr Gap Eth Hdr CRC Preamble
011010010110100101101001011010010110100101101001011010010110100101101 Encode Scrambler Gearbox
PMA
Packet i Packet i+1 SW HW Physical 64/66b PCS PMA PMD
Encode Scrambler Gearbox Decode Descrambler Blocksync
Data Link Network Transport Application
Encode Scrambler Gearbox
PMA SW HW
SoNIC DARPA MRC 2013
6/14/2013 25
Physical 64/66b PCS PMA PMD
Encode Scrambler Gearbox Decode Descrambler Blocksync
Data Link Network Transport Application
Data
/S/ /D/ /D/ /D/ /D/ /T/ /E/
Data L3 Hdr Data L3 Hdr L2 Hdr Data L3 Hdr L2 Hdr Gap Eth Hdr CRC Preamble
011010010110100101101001011010010110100101101001011010010110100101101 Encode Scrambler Gearbox
PMA
SW HW
SoNIC DARPA MRC 2013
6/14/2013 26
Physical 64/66b PCS PMA PMD
Encode Scrambler Gearbox Decode Descrambler Blocksync
Data Link Network Transport Application
Data
/S/ /D/ /D/ /D/ /D/ /T/ /E/
Data L3 Hdr Data L3 Hdr L2 Hdr Data L3 Hdr L2 Hdr Gap Eth Hdr CRC Preamble
011010010110100101101001011010010110100101101001011010010110100101101 Encode Scrambler Gearbox
PMA
SW HW
TX MAC TX PCS
Kernel
APP RX MAC RX PCS
Userspace
APP
Hardware
Gearbox Transceiver Blocksync Transceiver SFP+
SoNIC DARPA MRC 2013
6/14/2013 27
1: #include "sonic.h" 2: 3: struct sonic_pkt_gen_info info = { 4: .mode = 0, 5: .pkt_num = 1000000000UL, 6: .pkt_len = 1518, 7: .mac_src = "00:11:22:33:44:55", 8: .mac_dst = "aa:bb:cc:dd:ee:ff", 9: .ip_src = "192.168.0.1", 10: .ip_dst = "192.168.0.2", 11: .port_src = 5000, 12: .port_dst = 5000, 13: .idle = 12, 14: }; 15: 16: /* OPEN DEVICE*/ 17: fd1 = open(SONIC_CONTROL_PATH, O_RDWR); 18: fd2 = open(SONIC_PORT1_PATH, O_RDONLY); 19: /* CONFIG SONIC CARD FOR PACKET GEN*/ 20: ioctl(fd1, SONIC_IOC_RESET) 21: ioctl(fd1, SONIC_IOC_SET_MODE, PKT_GEN_CAP) 22: ioctl(fd1, SONIC_IOC_PORT0_INFO_SET, &info) 23 24: /* START EXPERIMENT*/ 25: ioctl(fd1, SONIC_IOC_START) 26: // wait till experiment finishes 27: ioctl(fd1, SONIC_IOC_STOP) 28: 29: /* CAPTURE PACKET */ 30: while ((ret = read(fd2, buf, 65536)) > 0) { 31: // process data 32: } 33: 34: close(fd1); 35: close(fd2);
SoNIC DARPA MRC 2013
6/14/2013 28 SoNIC DARPA MRC 2013
6/14/2013 29 SoNIC DARPA MRC 2013