Poniżej znajduje się wykres liczby unikalnych adresów IP w pięciominutowym oknie czasowym, które próbowały łączyć się na port 0/TCP do honeypotów systemu ARAKIS:
W okresie 13-17.11.2011 zostało zaobserwowanych przez honeypoty ok. 15 000 pakietów kierowanych na port 0/TCP. Znaczna większość z nich (ok. 14 200) miała w nagłówku ustawiony port źródłowy także 0. Same nagłówki TCP w większości były zniekształcone (np. niepoprawna długość nagłówka) lub nie miały sensu (np. w kontekście ustawionych flag). Poniżej statystyki błędów w nagłówkach TCP, oraz najczęstszych kombinacji flag:
Packets | Flags
========================================================
180 | 0x12 (SYN, ACK)
171 | 0x00 (<none>)
139 | 0x02 (SYN)
103 | 0x82 (SYN, CWR)
94 | 0x14 (RST, ACK)
92 | 0x04 (RST)
81 | 0x54 (RST, ACK, ECN)
78 | 0xf5 (FIN, RST, ACK, URG, ECN, CWR)
73 | 0xc2 (SYN, ECN, CWR)
73 | 0x62 (SYN, URG, ECN)
71 | 0x29 (FIN, PSH, URG)
70 | 0xf2 (SYN, ACK, URG, ECN, CWR)
70 | 0x40 (ECN)
70 | 0x2c (RST, PSH, URG)
61 | 0xba (SYN, PSH, ACK, URG, CWR)
61 | 0x4a (SYN, PSH, ECN)
61 | 0x24 (RST, URG)
60 | 0x22 (SYN, URG)
59 | 0xe2 (SYN, URG, ECN, CWR)
59 | 0x74 (RST, ACK, URG, ECN)
59 | 0x31 (FIN, ACK, URG)
58 | 0xd2 (SYN, ACK, ECN, CWR)
58 | 0x52 (SYN, ACK, ECN)
57 | 0xa7 (FIN, SYN, RST, URG, CWR)
57 | 0x9d (FIN, RST, PSH, ACK, CWR)
57 | 0x0a (SYN, PSH)
56 | 0x86 (SYN, RST, CWR)
56 | 0x80 (CWR)
56 | 0x0d (FIN, RST, PSH)
54 | 0xbe (SYN, RST, PSH, ACK, URG, CWR)
54 | 0x94 (RST, ACK, CWR)
53 | 0xe8 (PSH, URG, ECN, CWR)
53 | 0xd0 (ACK, ECN, CWR)
53 | 0xc7 (FIN, SYN, RST, ECN, CWR)
53 | 0x7a (SYN, PSH, ACK, URG, ECN)
52 | 0x03 (FIN, SYN)
51 | 0xb8 (PSH, ACK, URG, CWR)
51 | 0x58 (PSH, ACK, ECN)
51 | 0x42 (SYN, ECN)
51 | 0x32 (SYN, ACK, URG)
51 | 0x2f (FIN, SYN, RST, PSH, URG)
50 | 0x11 (FIN, ACK)
49 | 0xf9 (FIN, PSH, ACK, URG, ECN, CWR)
49 | 0xca (SYN, PSH, ECN, CWR)
49 | 0x92 (SYN, ACK, CWR)
49 | 0x55 (FIN, RST, ACK, ECN)
49 | 0x10 (ACK)
48 | 0x4f (FIN, SYN, RST, PSH, ECN)
48 | 0x49 (FIN, PSH, ECN)
47 | 0x72 (SYN, ACK, URG, ECN)
47 | 0x6c (RST, PSH, URG, ECN)
47 | 0x39 (FIN, PSH, ACK, URG)
47 | 0x0c (RST, PSH)
46 | 0xb9 (FIN, PSH, ACK, URG, CWR)
46 | 0xb5 (FIN, RST, ACK, URG, CWR)
46 | 0xad (FIN, RST, PSH, URG, CWR)
46 | 0xa6 (SYN, RST, URG, CWR)
45 | 0xec (RST, PSH, URG, ECN, CWR)
45 | 0xdc (RST, PSH, ACK, ECN, CWR)
45 | 0x6a (SYN, PSH, URG, ECN)
45 | 0x5c (RST, PSH, ACK, ECN)
45 | 0x41 (FIN, ECN)
44 | 0xea (SYN, PSH, URG, ECN, CWR)
44 | 0xd8 (PSH, ACK, ECN, CWR)
44 | 0xc3 (FIN, SYN, ECN, CWR)
44 | 0x38 (PSH, ACK, URG)
43 | 0xcb (FIN, SYN, PSH, ECN, CWR)
43 | 0x88 (PSH, CWR)
43 | 0x69 (FIN, PSH, URG, ECN)
43 | 0x64 (RST, URG, ECN)
42 | 0xe5 (FIN, RST, URG, ECN, CWR)
42 | 0xc6 (SYN, RST, ECN, CWR)
42 | 0x75 (FIN, RST, ACK, URG, ECN)
42 | 0x37 (FIN, SYN, RST, ACK, URG)
41 | 0xff (FIN, SYN, RST, PSH, ACK, URG, ECN, CWR)
41 | 0xed (FIN, RST, PSH, URG, ECN, CWR)
41 | 0xc0 (ECN, CWR)
41 | 0xb4 (RST, ACK, URG, CWR)
41 | 0xaa (SYN, PSH, URG, CWR)
41 | 0x7d (FIN, RST, PSH, ACK, URG, ECN)
41 | 0x7c (RST, PSH, ACK, URG, ECN)
41 | 0x70 (ACK, URG, ECN)
41 | 0x34 (RST, ACK, URG)
41 | 0x26 (SYN, RST, URG)
41 | 0x1e (SYN, RST, PSH, ACK)
40 | 0xfb (FIN, SYN, PSH, ACK, URG, ECN, CWR)
40 | 0xeb (FIN, SYN, PSH, URG, ECN, CWR)
40 | 0xd1 (FIN, ACK, ECN, CWR)
40 | 0x84 (RST, CWR)
39 | 0xce (SYN, RST, PSH, ECN, CWR)
39 | 0xc1 (FIN, ECN, CWR)
39 | 0xbd (FIN, RST, PSH, ACK, URG, CWR)
39 | 0xbb (FIN, SYN, PSH, ACK, URG, CWR)
39 | 0xa2 (SYN, URG, CWR)
39 | 0x44 (RST, ECN)
38 | 0xe9 (FIN, PSH, URG, ECN, CWR)
38 | 0xda (SYN, PSH, ACK, ECN, CWR)
38 | 0x81 (FIN, CWR)
37 | 0xdd (FIN, RST, PSH, ACK, ECN, CWR)
37 | 0xd4 (RST, ACK, ECN, CWR)
37 | 0xac (RST, PSH, URG, CWR)
37 | 0x8e (SYN, RST, PSH, CWR)
37 | 0x5a (SYN, PSH, ACK, ECN)
37 | 0x45 (FIN, RST, ECN)
37 | 0x1c (RST, PSH, ACK)
37 | 0x19 (FIN, PSH, ACK)
36 | 0xf8 (PSH, ACK, URG, ECN, CWR)
36 | 0xdb (FIN, SYN, PSH, ACK, ECN, CWR)
36 | 0xcd (FIN, RST, PSH, ECN, CWR)
36 | 0xc8 (PSH, ECN, CWR)
36 | 0x9f (FIN, SYN, RST, PSH, ACK, CWR)
36 | 0x9a (SYN, PSH, ACK, CWR)
36 | 0x56 (SYN, RST, ACK, ECN)
36 | 0x3c (RST, PSH, ACK, URG)
36 | 0x05 (FIN, RST)
35 | 0x8a (SYN, PSH, CWR)
35 | 0x68 (PSH, URG, ECN)
35 | 0x66 (SYN, RST, URG, ECN)
35 | 0x53 (FIN, SYN, ACK, ECN)
35 | 0x33 (FIN, SYN, ACK, URG)
35 | 0x30 (ACK, URG)
35 | 0x09 (FIN, PSH)
34 | 0xfc (RST, PSH, ACK, URG, ECN, CWR)
34 | 0x95 (FIN, RST, ACK, CWR)
34 | 0x4b (FIN, SYN, PSH, ECN)
34 | 0x08 (PSH)
33 | 0xfd (FIN, RST, PSH, ACK, URG, ECN, CWR)
33 | 0xa0 (URG, CWR)
33 | 0x96 (SYN, RST, ACK, CWR)
33 | 0x4d (FIN, RST, PSH, ECN)
33 | 0x47 (FIN, SYN, RST, ECN)
32 | 0x4e (SYN, RST, PSH, ECN)
32 | 0x4c (RST, PSH, ECN)
32 | 0x43 (FIN, SYN, ECN)
32 | 0x3e (SYN, RST, PSH, ACK, URG)
32 | 0x3d (FIN, RST, PSH, ACK, URG)
32 | 0x36 (SYN, RST, ACK, URG)
32 | 0x20 (URG)
31 | 0xfe (SYN, RST, PSH, ACK, URG, ECN, CWR)
31 | 0xf4 (RST, ACK, URG, ECN, CWR)
31 | 0xe4 (RST, URG, ECN, CWR)
31 | 0xc5 (FIN, RST, ECN, CWR)
31 | 0x9b (FIN, SYN, PSH, ACK, CWR)
31 | 0x99 (FIN, PSH, ACK, CWR)
31 | 0x98 (PSH, ACK, CWR)
31 | 0x61 (FIN, URG, ECN)
31 | 0x35 (FIN, RST, ACK, URG)
31 | 0x2d (FIN, RST, PSH, URG)
31 | 0x18 (PSH, ACK)
30 | 0xee (SYN, RST, PSH, URG, ECN, CWR)
30 | 0x8c (RST, PSH, CWR)
30 | 0x89 (FIN, PSH, CWR)
30 | 0x6d (FIN, RST, PSH, URG, ECN)
30 | 0x6b (FIN, SYN, PSH, URG, ECN)
30 | 0x17 (FIN, SYN, RST, ACK)
30 | 0x15 (FIN, RST, ACK)
30 | 0x13 (FIN, SYN, ACK)
29 | 0xde (SYN, RST, PSH, ACK, ECN, CWR)
29 | 0xbf (FIN, SYN, RST, PSH, ACK, URG, CWR)
29 | 0xb0 (ACK, URG, CWR)
29 | 0xaf (FIN, SYN, RST, PSH, URG, CWR)
29 | 0x73 (FIN, SYN, ACK, URG, ECN)
29 | 0x67 (FIN, SYN, RST, URG, ECN)
29 | 0x3a (SYN, PSH, ACK, URG)
29 | 0x1f (FIN, SYN, RST, PSH, ACK)
28 | 0xcf (FIN, SYN, RST, PSH, ECN, CWR)
28 | 0xa1 (FIN, URG, CWR)
28 | 0x93 (FIN, SYN, ACK, CWR)
28 | 0x79 (FIN, PSH, ACK, URG, ECN)
28 | 0x77 (FIN, SYN, RST, ACK, URG, ECN)
28 | 0x51 (FIN, ACK, ECN)
28 | 0x0e (SYN, RST, PSH)
28 | 0x06 (SYN, RST)
27 | 0xef (FIN, SYN, RST, PSH, URG, ECN, CWR)
27 | 0xe0 (URG, ECN, CWR)
27 | 0xb7 (FIN, SYN, RST, ACK, URG, CWR)
27 | 0xa9 (FIN, PSH, URG, CWR)
27 | 0xa8 (PSH, URG, CWR)
27 | 0xa5 (FIN, RST, URG, CWR)
27 | 0x8f (FIN, SYN, RST, PSH, CWR)
27 | 0x87 (FIN, SYN, RST, CWR)
27 | 0x83 (FIN, SYN, CWR)
27 | 0x78 (PSH, ACK, URG, ECN)
27 | 0x65 (FIN, RST, URG, ECN)
27 | 0x48 (PSH, ECN)
27 | 0x25 (FIN, RST, URG)
26 | 0xe1 (FIN, URG, ECN, CWR)
26 | 0xc9 (FIN, PSH, ECN, CWR)
26 | 0xb3 (FIN, SYN, ACK, URG, CWR)
26 | 0xb2 (SYN, ACK, URG, CWR)
26 | 0x97 (FIN, SYN, RST, ACK, CWR)
26 | 0x85 (FIN, RST, CWR)
26 | 0x63 (FIN, SYN, URG, ECN)
26 | 0x5f (FIN, SYN, RST, PSH, ACK, ECN)
26 | 0x2b (FIN, SYN, PSH, URG)
26 | 0x01 (FIN)
25 | 0xf7 (FIN, SYN, RST, ACK, URG, ECN, CWR)
25 | 0xd9 (FIN, PSH, ACK, ECN, CWR)
25 | 0xc4 (RST, ECN, CWR)
25 | 0xa3 (FIN, SYN, URG, CWR)
25 | 0x57 (FIN, SYN, RST, ACK, ECN)
24 | 0xf6 (SYN, RST, ACK, URG, ECN, CWR)
24 | 0x21 (FIN, URG)
23 | 0xf1 (FIN, ACK, URG, ECN, CWR)
23 | 0xd3 (FIN, SYN, ACK, ECN, CWR)
23 | 0x59 (FIN, PSH, ACK, ECN)
23 | 0x2a (SYN, PSH, URG)
23 | 0x1d (FIN, RST, PSH, ACK)
22 | 0xfa (SYN, PSH, ACK, URG, ECN, CWR)
22 | 0xf0 (ACK, URG, ECN, CWR)
22 | 0xe3 (FIN, SYN, URG, ECN, CWR)
22 | 0x7f (FIN, SYN, RST, PSH, ACK, URG, ECN)
22 | 0x71 (FIN, ACK, URG, ECN)
22 | 0x6f (FIN, SYN, RST, PSH, URG, ECN)
22 | 0x5e (SYN, RST, PSH, ACK, ECN)
22 | 0x50 (ACK, ECN)
21 | 0x9e (SYN, RST, PSH, ACK, CWR)
21 | 0x90 (ACK, CWR)
21 | 0x76 (SYN, RST, ACK, URG, ECN)
20 | 0xdf (FIN, SYN, RST, PSH, ACK, ECN, CWR)
20 | 0xab (FIN, SYN, PSH, URG, CWR)
20 | 0x5b (FIN, SYN, PSH, ACK, ECN)
20 | 0x0f (FIN, SYN, RST, PSH)
19 | 0xe7 (FIN, SYN, RST, URG, ECN, CWR)
19 | 0x5d (FIN, RST, PSH, ACK, ECN)
19 | 0x46 (SYN, RST, ECN)
19 | 0x3b (FIN, SYN, PSH, ACK, URG)
19 | 0x1a (SYN, PSH, ACK)
18 | 0xe6 (SYN, RST, URG, ECN, CWR)
18 | 0xd7 (FIN, SYN, RST, ACK, ECN, CWR)
18 | 0x9c (RST, PSH, ACK, CWR)
18 | 0x23 (FIN, SYN, URG)
17 | 0xd6 (SYN, RST, ACK, ECN, CWR)
17 | 0xd5 (FIN, RST, ACK, ECN, CWR)
17 | 0xcc (RST, PSH, ECN, CWR)
17 | 0x6e (SYN, RST, PSH, URG, ECN)
17 | 0x16 (SYN, RST, ACK)
16 | 0xa4 (RST, URG, CWR)
16 | 0x91 (FIN, ACK, CWR)
16 | 0x60 (URG, ECN)
16 | 0x2e (SYN, RST, PSH, URG)
16 | 0x28 (PSH, URG)
16 | 0x07 (FIN, SYN, RST)
15 | 0xf3 (FIN, SYN, ACK, URG, ECN, CWR)
14 | 0xbc (RST, PSH, ACK, URG, CWR)
14 | 0x7e (SYN, RST, PSH, ACK, URG, ECN)
14 | 0x3f (FIN, SYN, RST, PSH, ACK, URG)
14 | 0x1b (FIN, SYN, PSH, ACK)
13 | 0xb6 (SYN, RST, ACK, URG, CWR)
13 | 0xb1 (FIN, ACK, URG, CWR)
13 | 0xae (SYN, RST, PSH, URG, CWR)
12 | 0x8b (FIN, SYN, PSH, CWR)
12 | 0x0b (FIN, SYN, PSH)
9 | 0x8d (FIN, RST, PSH, CWR)
9 | 0x7b (FIN, SYN, PSH, ACK, URG, ECN)
7 | 0x27 (FIN, SYN, RST, URG)
Jeżeli poza nagłówkiem pakiet TCP zawierał jeszcze dane (tzw. payload), to zawsze występował w nim ciąg heksadecymalny A0027D78
(zazwyczaj ciąg ten występował sam lub poprzedzony był ciągiem różnej długości składającym się z zer oraz ewentualnie losowych liczb heksadecymalnych – wyrażenie regularne opisujący ten ciąg, to [0-9A-F]*0*A0027D78
). Poniżej statystyki widzianego payloadu (TOP 10):
Może to oznaczać, że bajty powyżej nagłówka IP nie są protokołem TCP (pomimo tego, że w nagłówku IP w polu „protocol” ustawiona jest wartość 0x06
). Jeżeli tak, to albo ktoś „testował” jakiś swój protokół warstwy czwartej, albo testowane były zachowania różnych stosów TCP/IP na zniekształcone w odpowiedni sposób dane.
Źródłem skanowań w 84% były adresy należące do chińskich ISP (głównie pochodzące z jednego systemu autonomicznego AS4134). Na drugim miejscu pojawiła się Kanada (6%) a na trzecim USA (2%). Należy jednak zaznaczyć, że źródłowe adresy IP mogą być zespoofowane. Próby nawiązania połączenia TCP na port 0 zazwyczaj nie powinny spotkać się z odpowiedzią (tak też było w przypadku naszych honeypotów). Jeżeli osoby odpowiedzialne za wypuszczenie takiego ruchu do Internetu wiedziały o tym, to nie oczekiwały żadnych pakietów zwrotnych od docelowego adresu IP, więc adres źródłowy mógł zostać sfałszowany. Poniżej statystyki związane ze źródłami anomalnego ruchu:
Z prawie 12,5 tysiąca pakietów pochodzących z Chin prawie 9 tysięcy zostało wysłanych z jednego adresu IP: 118.122.188.27. Ten jeden IP odpowiada aż za 70% ruchu z adresów chińskich i prawie 60% całości!
Przypatrując się bliżej adresowi 118.122.188.27 wychodzi, że ok. 40% pakietów wysłanych z tego IP zawierała w polu „dane” TCP fragment opisanego wyżej ciągu bajtów. Poniżej statystyka tychże danych:
Przypatrując się kolejnemu adresowi – 121.14.5.100 – wychodzi, że aż ok. 94% pakietów wysłanych z tego IP zawierała w polu „dane” TCP fragment ciągu bajtów. Poniżej statystyka tychże danych:
Trzeci z kolei adres – 184.107.227.10 – zawierał niepuste pole „dane” w przypaku 55% pakietów. Poniżej statystyka:
Wzrost ruchu na porcie 0/TCP był widziany przez ARAKIS-owy darknet zarówno w kontekście połączeń nawiązywanych z tego portu, jak i kierowanych na ten port. Poniżej wykresy liczby połączeń na port 0/TCP oraz z tego portu:
Wzmożona aktywność sieciowa na porcie 0/TCP została także odnotowana w systemie DSHIELD. System ten czerpie dane z logów systemów firewall uczestników projektu.
W dniach 30.11-01.12.2011 zarówno w sieciach honeynet jak i darknet zarejestrowano kolejną „falę” ruchu kierowanego na port 0/TCP, jednakże w chwili obecnej nie obserwujemy aktywności na tym porcie. Podobny stan prezentuje wykres z systemu DSHIELD (patrz wyżej). Poniżej wykresy przedstawiające aktualny stan:
Nie mamy pewności co do przyczyny ani celu generowania anomalnego ruchu na port 0/TCP. Z jednej strony mogła być to zwykła pomyłka, błąd lub jakaś forma projektu badawczego, a z drugiej mogły być to testy zachowania stosów TCP/IP na zniekształcone pakiety TCP. Ponieważ honeypoty jak i większość „normalnych” usług bądź systemów nie generują odpowiedzi na tego typu ruch, nie wiadomo czy źródłowe adresy IP nie były sfałszowane (brak jakiejkolwiek interakcji). Obecnie ruch na porcie 0/TCP jest znikomy i nie wyróżnia się od tzw. „szumu tła”.