• No results found

SSH Compromise Detection using NetFlow/IPFIX

N/A
N/A
Protected

Academic year: 2021

Share "SSH Compromise Detection using NetFlow/IPFIX"

Copied!
57
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

SSH Compromise Detection

using NetFlow/IPFIX

(2)

–Ponemon 2014 SSH Security Vulnerability Report

“51 percent of respondents admitted that their

organizations have already been impacted by an

SSH key-related compromise in the last 24 months.”

(3)

SSH Compromise Detection

using NetFlow/IPFIX

(4)

SSH attacks

4 0 10000 20000 30000 40000 50000 60000 70000 0 500 1000 1500 2000 2500 3000 IP Time (s) FROM ATTACKER TO ATTACKER

(a)

0 2 4 6 8 10 12 14 16 0 500 1000 1500 2000 2500 3000 ppf Time (s)

(b)

Fig. 2. Temporal visualization of a brute-force SSH scan (a) and variation of packets per flow

during the scan (b)

A different view on the attacks is given by Figure 2(a). Each mark in the graph

ei-ther represents a malicious connection from the attacker to a victim or the answering

connection from the victim back to the attacker. The y-axis gives the 65,535 possible

destination addresses in the university network. We identify three attack phases. During

the scanning phase (first 1000 seconds), the attacker performs a sequential SSH scan

spanning over the entire network address space. In this phases, the attacker gathers

in-formation on which hosts run a vulnerable SSH service. Only few victims respond to the

attack. Once this phase is completed, the attacker initiates a brute-force user/password

guessing attack (brute-force phase). In this phase, only a small subset of the hosts in

(5)

SSH attacks

4 0 10000 20000 30000 40000 50000 60000 70000 0 500 1000 1500 2000 2500 3000 IP Time (s) FROM ATTACKER TO ATTACKER

(a)

Start

Brute-force

Compromise

Scan

End

(6)

SSH attacks

SSH intrusion detection on end hosts is hardly

scalable

Network-based approaches exist, but only inform

security operators about the presence of attacks

(7)
(8)

We perform

compromise detection.

All

flow-based.

(9)

SSH attacks

7 0 10000 20000 30000 40000 50000 60000 70000 0 500 1000 1500 2000 2500 3000 IP Time (s) FROM ATTACKER TO ATTACKER

(a)

0 2 4 6 8 10 12 14 16 0 500 1000 1500 2000 2500 3000 ppf Time (s)

(b)

Fig. 2. Temporal visualization of a brute-force SSH scan (a) and variation of packets per flow

during the scan (b)

A different view on the attacks is given by Figure 2(a). Each mark in the graph

ei-ther represents a malicious connection from the attacker to a victim or the answering

connection from the victim back to the attacker. The y-axis gives the 65,535 possible

destination addresses in the university network. We identify three attack phases. During

the scanning phase (first 1000 seconds), the attacker performs a sequential SSH scan

spanning over the entire network address space. In this phases, the attacker gathers

in-formation on which hosts run a vulnerable SSH service. Only few victims respond to the

attack. Once this phase is completed, the attacker initiates a brute-force user/password

guessing attack (brute-force phase). In this phase, only a small subset of the hosts in

(10)

SSH attacks

8 0 10000 20000 30000 40000 50000 60000 70000 0 500 1000 1500 2000 2500 3000 IP Time (s) FROM ATTACKER TO ATTACKER

(a)

0 2 4 6 8 10 12 14 16 0 500 1000 1500 2000 2500 3000 ppf Time (s)

(b)

Fig. 2. Temporal visualization of a brute-force SSH scan (a) and variation of packets per flow

during the scan (b)

A different view on the attacks is given by Figure 2(a). Each mark in the graph

ei-ther represents a malicious connection from the attacker to a victim or the answering

connection from the victim back to the attacker. The y-axis gives the 65,535 possible

destination addresses in the university network. We identify three attack phases. During

the scanning phase (first 1000 seconds), the attacker performs a sequential SSH scan

spanning over the entire network address space. In this phases, the attacker gathers

in-formation on which hosts run a vulnerable SSH service. Only few victims respond to the

attack. Once this phase is completed, the attacker initiates a brute-force user/password

guessing attack (brute-force phase). In this phase, only a small subset of the hosts in

(11)

A bit of history…

(12)

A bit of history…

SSHCure 1.0 (June ’12):

Purely deviation-based compromise detection

SSHCure 2.0 (May ’13):

Notifications, database maintenance,

performance profiling, …

(13)

A bit of history…

SSHCure 1.0 (June ’12):

Purely deviation-based compromise detection

SSHCure 2.0 (May ’13):

Notifications, database maintenance,

performance profiling, …

9 0 10000 20000 30000 40000 50000 60000 70000 0 500 1000 1500 2000 2500 3000 IP Time (s) FROM ATTACKER TO ATTACKER

(a)

0 2 4 6 8 10 12 14 16 0 500 1000 1500 2000 2500 3000 ppf Time (s)

(b)

Fig. 2. Temporal visualization of a brute-force SSH scan (a) and variation of packets per flow

during the scan (b)

A different view on the attacks is given by Figure 2(a). Each mark in the graph

ei-ther represents a malicious connection from the attacker to a victim or the answering

connection from the victim back to the attacker. The y-axis gives the 65,535 possible

destination addresses in the university network. We identify three attack phases. During

the scanning phase (first 1000 seconds), the attacker performs a sequential SSH scan

spanning over the entire network address space. In this phases, the attacker gathers

in-formation on which hosts run a vulnerable SSH service. Only few victims respond to the

attack. Once this phase is completed, the attacker initiates a brute-force user/password

guessing attack (brute-force phase). In this phase, only a small subset of the hosts in

(14)

A bit of history…

SSHCure 1.0 (June ’12):

Purely deviation-based compromise detection

SSHCure 2.0 (May ’13):

Notifications, database maintenance,

performance profiling, …

(15)

Recent/upcoming releases

(16)

Recent/upcoming releases

SSHCure 2.4 (July ’14):

New compromise detection algorithm (CCR

paper release), based on ‘action upon

compromise’

SSHCure 3.0 (January ’14):

New frontend, ingress vs. egress attacks

(17)

Recent/upcoming releases

SSHCure 2.4 (July ’14):

New compromise detection algorithm (CCR

paper release), based on ‘action upon

compromise’

SSHCure 3.0 (January ’14):

New frontend, ingress vs. egress attacks

10 Time

Flow data chunk

Target 1 Target n

(a) Maintain connection, continue dictionary (1)

Time

Flow data chunk

Target 1 Target n

(b) Maintain connection, continue dictionary (2)

Time

Flow data chunk

Target 1 Target n

(c) Instant logout, continue dictionary

Time

Flow data chunk

Target 1 Target n

(d) Maintain connection, abort dictionary (1)

Time

Flow data chunk

Target 1 Target n

(e) Maintain connection, abort dictionary (2)

Time

Flow data chunk

Target 1 Target n

(f) Instant logout, abort dictionary Figure 4: Various types of compromise flows in a chunk of flow data.

are dropped at the connection-level, no retransmissions or failing connection establishments can be observed. Second, tools like fail2ban, sshdfilter and SSHblock operate on L4 by instructing a local firewall to block traffic from the at-tacker to the target. If mitigation takes place while a TCP connection is active, retransmissions will occur. Also new TCP connections to the target cannot be established any-more, resulting in SYN-only flows. Both situations are shown in Figure 3, where the number of PPF of Flow n deviates from typical brute-force flows, due to the additional packets involved in the retransmission(s). After Flow n, there will be at least one SYN-only flow (Flow n + 1). Third and last, tools like SSHGuard drop any traffic from the attacker’s IP address using a local firewall, i.e., at L3. From a network traffic perspective, the behavior is identical to a L4-block.

Besides host-level mitigation mechanisms, also network-level mechanisms can be in place. These mechanisms are usually operated by packet forwarding devices, performing some sort of traffic blocking, e.g., by means of Access Con-trol Lists (ACLs) or null-routing. Blocking rules can be composed based on blacklists or detections on honeypots, for example. The network traffic after mitigation is similar to host-level mitigation on L3 or L4.

4. DETECTION ALGORITHM

Our three-phase attack model, presented in Section 2, foresees compromises only after the brute-force phase; by the nature of SSH, a compromise can only occur after one or more authentication attempts. As such, the operation of the brute-force phase detection is essential for detecting compromises. We therefore start describing our brute-force phase detection shortly (Section 4.1), before discussing our compromise phase algorithm (Section 4.2). In the remain-der of this work, we define an attack as a set of one of more tuples of attacker and target featuring brute-force behavior.

4.1 Brute-force Phase

Potential brute-force phase traffic is selected by consider-ing all hosts sendconsider-ing SSH flows with a number of PPF in the range r = [11, 51] to a daemon, where 11 is the mini-mum number of packets needed for a single authentication attempt, and 51 the highest number of PPF observed7 for brute-force phase traffic (see Section 3.2). From all selected

7The numbers provided in this paper are backed up by

mea-surements and higher than reported by related works, which

traffic, we take the most frequently used number of PPF as the baseline for identifying deviations for that particu-lar attack. After establishing the baseline, we analyze the flow data per tuple of attacker and target; as soon as two or more consecutive flows with the same number of PPF are observed, we consider this an attack in the brute-force phase. The higher this threshold, the higher the chance of ruling out benign authentication attempts. Considering that be-nign authentications would come in groups of three (because the OpenSSH client sets NumberOfPasswordPrompts to 3 by default), two consecutive SSH flows with the same number of PPF would already indicate six failed attempts.

4.2 Compromise Phase

Key to our compromise detection are the four actions that can be observed after a compromise. We have transformed these actions into six scenarios, as shown in Figure 4. The two additional scenarios have been defined to accommodate for the fact that many analysis applications receive and pro-cess flow data in fixed-size time bins, as a consequence of which our algorithm has to take into account that attack data may be spread over multiple data chunks. Each of the subfigures shows a flow data chunk, with flows (long dashes) towards targets running an SSH daemon. Short-dashed lines mark a flow with a compromise.

In Figure 4(a), we show that the compromise flow is main-tained until the end of the attack, and that other login at-tempts are observed in parallel towards the same target. A similar scenario is shown in Figure 4(b), but since the end of the attack does not lie within the current data chunk, the compromise flow is characterized by an unterminated TCP connection (i.e., without a TCP FIN or RST flag set). Simi-larly to these two scenarios, we show in Figure 4(d) and 4(e) how the compromise flows should be identified in case the at-tacker aborts its dictionary towards the compromised target: traffic from the same attacker towards other targets reveals the end of the attack. Figure 4(c) and 4(f) show situations where the attack tool performs an instant logout upon com-promise. Observe that the compromise in Figure 4(f) may also be very close to the end of the data chunk, which is why compromises classified according to this scenario are checked in the next data chunk again, to verify whether there is no traffic from the attacker towards the compromised target. report maximum values of around 30 [8, 9]. Cisco appliances and Mac OS X are the main cause of these high values.

ACM SIGCOMM Computer Communication Review 24 Volume 44, Number 5, October 2014

SSH Compromise Detection using NetFlow/IPFIX.

(18)

Recent/upcoming releases

SSHCure 2.4 (July ’14):

New compromise detection algorithm (CCR

paper release), based on ‘action upon

compromise’

SSHCure 3.0 (January ’14):

New frontend, ingress vs. egress attacks

10 Time

Flow data chunk

Target 1 Target n

(a) Maintain connection, continue dictionary (1)

Time

Flow data chunk

Target 1 Target n

(b) Maintain connection, continue dictionary (2)

Time

Flow data chunk

Target 1 Target n

(c) Instant logout, continue dictionary

Time

Flow data chunk

Target 1 Target n

(d) Maintain connection, abort dictionary (1)

Time

Flow data chunk

Target 1 Target n

(e) Maintain connection, abort dictionary (2)

Time

Flow data chunk

Target 1 Target n

(f) Instant logout, abort dictionary Figure 4: Various types of compromise flows in a chunk of flow data.

are dropped at the connection-level, no retransmissions or failing connection establishments can be observed. Second, tools like fail2ban, sshdfilter and SSHblock operate on L4 by instructing a local firewall to block traffic from the at-tacker to the target. If mitigation takes place while a TCP connection is active, retransmissions will occur. Also new TCP connections to the target cannot be established any-more, resulting in SYN-only flows. Both situations are shown in Figure 3, where the number of PPF of Flow n deviates from typical brute-force flows, due to the additional packets involved in the retransmission(s). After Flow n, there will be at least one SYN-only flow (Flow n + 1). Third and last, tools like SSHGuard drop any traffic from the attacker’s IP address using a local firewall, i.e., at L3. From a network traffic perspective, the behavior is identical to a L4-block.

Besides host-level mitigation mechanisms, also network-level mechanisms can be in place. These mechanisms are usually operated by packet forwarding devices, performing some sort of traffic blocking, e.g., by means of Access Con-trol Lists (ACLs) or null-routing. Blocking rules can be composed based on blacklists or detections on honeypots, for example. The network traffic after mitigation is similar to host-level mitigation on L3 or L4.

4. DETECTION ALGORITHM

Our three-phase attack model, presented in Section 2, foresees compromises only after the brute-force phase; by the nature of SSH, a compromise can only occur after one or more authentication attempts. As such, the operation of the brute-force phase detection is essential for detecting compromises. We therefore start describing our brute-force phase detection shortly (Section 4.1), before discussing our compromise phase algorithm (Section 4.2). In the remain-der of this work, we define an attack as a set of one of more tuples of attacker and target featuring brute-force behavior.

4.1 Brute-force Phase

Potential brute-force phase traffic is selected by consider-ing all hosts sendconsider-ing SSH flows with a number of PPF in the range r = [11, 51] to a daemon, where 11 is the mini-mum number of packets needed for a single authentication attempt, and 51 the highest number of PPF observed7 for brute-force phase traffic (see Section 3.2). From all selected

7The numbers provided in this paper are backed up by

mea-surements and higher than reported by related works, which

traffic, we take the most frequently used number of PPF as the baseline for identifying deviations for that particu-lar attack. After establishing the baseline, we analyze the flow data per tuple of attacker and target; as soon as two or more consecutive flows with the same number of PPF are observed, we consider this an attack in the brute-force phase. The higher this threshold, the higher the chance of ruling out benign authentication attempts. Considering that be-nign authentications would come in groups of three (because the OpenSSH client sets NumberOfPasswordPrompts to 3 by default), two consecutive SSH flows with the same number of PPF would already indicate six failed attempts.

4.2 Compromise Phase

Key to our compromise detection are the four actions that can be observed after a compromise. We have transformed these actions into six scenarios, as shown in Figure 4. The two additional scenarios have been defined to accommodate for the fact that many analysis applications receive and pro-cess flow data in fixed-size time bins, as a consequence of which our algorithm has to take into account that attack data may be spread over multiple data chunks. Each of the subfigures shows a flow data chunk, with flows (long dashes) towards targets running an SSH daemon. Short-dashed lines mark a flow with a compromise.

In Figure 4(a), we show that the compromise flow is main-tained until the end of the attack, and that other login at-tempts are observed in parallel towards the same target. A similar scenario is shown in Figure 4(b), but since the end of the attack does not lie within the current data chunk, the compromise flow is characterized by an unterminated TCP connection (i.e., without a TCP FIN or RST flag set). Simi-larly to these two scenarios, we show in Figure 4(d) and 4(e) how the compromise flows should be identified in case the at-tacker aborts its dictionary towards the compromised target: traffic from the same attacker towards other targets reveals the end of the attack. Figure 4(c) and 4(f) show situations where the attack tool performs an instant logout upon com-promise. Observe that the compromise in Figure 4(f) may also be very close to the end of the data chunk, which is why compromises classified according to this scenario are checked in the next data chunk again, to verify whether there is no traffic from the attacker towards the compromised target. report maximum values of around 30 [8, 9]. Cisco appliances and Mac OS X are the main cause of these high values.

ACM SIGCOMM Computer Communication Review 24 Volume 44, Number 5, October 2014

Time

Flow data chunk

Target 1 Target n

(a) Maintain connection, continue dictionary (1)

Time

Flow data chunk

Target 1 Target n

(b) Maintain connection, continue dictionary (2)

Time

Flow data chunk

Target 1 Target n

(c) Instant logout, continue dictionary

Time

Flow data chunk

Target 1 Target n

(d) Maintain connection, abort dictionary (1)

Time

Flow data chunk

Target 1 Target n

(e) Maintain connection, abort dictionary (2)

Time

Flow data chunk

Target 1 Target n

(f) Instant logout, abort dictionary Figure 4: Various types of compromise flows in a chunk of flow data.

are dropped at the connection-level, no retransmissions or failing connection establishments can be observed. Second, tools like fail2ban, sshdfilter and SSHblock operate on L4 by instructing a local firewall to block traffic from the at-tacker to the target. If mitigation takes place while a TCP connection is active, retransmissions will occur. Also new TCP connections to the target cannot be established any-more, resulting in SYN-only flows. Both situations are shown in Figure 3, where the number of PPF of Flow n deviates from typical brute-force flows, due to the additional packets involved in the retransmission(s). After Flow n, there will be at least one SYN-only flow (Flow n + 1). Third and last, tools like SSHGuard drop any traffic from the attacker’s IP address using a local firewall, i.e., at L3. From a network traffic perspective, the behavior is identical to a L4-block.

Besides host-level mitigation mechanisms, also network-level mechanisms can be in place. These mechanisms are usually operated by packet forwarding devices, performing some sort of traffic blocking, e.g., by means of Access Con-trol Lists (ACLs) or null-routing. Blocking rules can be composed based on blacklists or detections on honeypots, for example. The network traffic after mitigation is similar to host-level mitigation on L3 or L4.

4. DETECTION ALGORITHM

Our three-phase attack model, presented in Section 2, foresees compromises only after the brute-force phase; by the nature of SSH, a compromise can only occur after one or more authentication attempts. As such, the operation of the brute-force phase detection is essential for detecting compromises. We therefore start describing our brute-force phase detection shortly (Section 4.1), before discussing our compromise phase algorithm (Section 4.2). In the remain-der of this work, we define an attack as a set of one of more tuples of attacker and target featuring brute-force behavior.

4.1 Brute-force Phase

Potential brute-force phase traffic is selected by consider-ing all hosts sendconsider-ing SSH flows with a number of PPF in the range r = [11, 51] to a daemon, where 11 is the mini-mum number of packets needed for a single authentication attempt, and 51 the highest number of PPF observed7 for brute-force phase traffic (see Section 3.2). From all selected

7The numbers provided in this paper are backed up by

mea-surements and higher than reported by related works, which

traffic, we take the most frequently used number of PPF as the baseline for identifying deviations for that particu-lar attack. After establishing the baseline, we analyze the flow data per tuple of attacker and target; as soon as two or more consecutive flows with the same number of PPF are observed, we consider this an attack in the brute-force phase. The higher this threshold, the higher the chance of ruling out benign authentication attempts. Considering that be-nign authentications would come in groups of three (because the OpenSSH client sets NumberOfPasswordPrompts to 3 by default), two consecutive SSH flows with the same number of PPF would already indicate six failed attempts.

4.2 Compromise Phase

Key to our compromise detection are the four actions that can be observed after a compromise. We have transformed these actions into six scenarios, as shown in Figure 4. The two additional scenarios have been defined to accommodate for the fact that many analysis applications receive and pro-cess flow data in fixed-size time bins, as a consequence of which our algorithm has to take into account that attack data may be spread over multiple data chunks. Each of the subfigures shows a flow data chunk, with flows (long dashes) towards targets running an SSH daemon. Short-dashed lines mark a flow with a compromise.

In Figure 4(a), we show that the compromise flow is main-tained until the end of the attack, and that other login at-tempts are observed in parallel towards the same target. A similar scenario is shown in Figure 4(b), but since the end of the attack does not lie within the current data chunk, the compromise flow is characterized by an unterminated TCP connection (i.e., without a TCP FIN or RST flag set). Simi-larly to these two scenarios, we show in Figure 4(d) and 4(e) how the compromise flows should be identified in case the at-tacker aborts its dictionary towards the compromised target: traffic from the same attacker towards other targets reveals the end of the attack. Figure 4(c) and 4(f) show situations where the attack tool performs an instant logout upon com-promise. Observe that the compromise in Figure 4(f) may also be very close to the end of the data chunk, which is why compromises classified according to this scenario are checked in the next data chunk again, to verify whether there is no traffic from the attacker towards the compromised target. report maximum values of around 30 [8, 9]. Cisco appliances and Mac OS X are the main cause of these high values.

ACM SIGCOMM Computer Communication Review 24 Volume 44, Number 5, October 2014

SSH Compromise Detection using NetFlow/IPFIX.

(19)

Recent/upcoming releases

SSHCure 2.4 (July ’14):

New compromise detection algorithm (CCR

paper release), based on ‘action upon

compromise’

SSHCure 3.0 (January ’14):

New frontend, ingress vs. egress attacks

10 Time

Flow data chunk

Target 1 Target n

(a) Maintain connection, continue dictionary (1)

Time

Flow data chunk

Target 1 Target n

(b) Maintain connection, continue dictionary (2)

Time

Flow data chunk

Target 1 Target n

(c) Instant logout, continue dictionary

Time

Flow data chunk

Target 1 Target n

(d) Maintain connection, abort dictionary (1)

Time

Flow data chunk

Target 1 Target n

(e) Maintain connection, abort dictionary (2)

Time

Flow data chunk

Target 1 Target n

(f) Instant logout, abort dictionary Figure 4: Various types of compromise flows in a chunk of flow data.

are dropped at the connection-level, no retransmissions or failing connection establishments can be observed. Second, tools like fail2ban, sshdfilter and SSHblock operate on L4 by instructing a local firewall to block traffic from the at-tacker to the target. If mitigation takes place while a TCP connection is active, retransmissions will occur. Also new TCP connections to the target cannot be established any-more, resulting in SYN-only flows. Both situations are shown in Figure 3, where the number of PPF of Flow n deviates from typical brute-force flows, due to the additional packets involved in the retransmission(s). After Flow n, there will be at least one SYN-only flow (Flow n + 1). Third and last, tools like SSHGuard drop any traffic from the attacker’s IP address using a local firewall, i.e., at L3. From a network traffic perspective, the behavior is identical to a L4-block.

Besides host-level mitigation mechanisms, also network-level mechanisms can be in place. These mechanisms are usually operated by packet forwarding devices, performing some sort of traffic blocking, e.g., by means of Access Con-trol Lists (ACLs) or null-routing. Blocking rules can be composed based on blacklists or detections on honeypots, for example. The network traffic after mitigation is similar to host-level mitigation on L3 or L4.

4. DETECTION ALGORITHM

Our three-phase attack model, presented in Section 2, foresees compromises only after the brute-force phase; by the nature of SSH, a compromise can only occur after one or more authentication attempts. As such, the operation of the brute-force phase detection is essential for detecting compromises. We therefore start describing our brute-force phase detection shortly (Section 4.1), before discussing our compromise phase algorithm (Section 4.2). In the remain-der of this work, we define an attack as a set of one of more tuples of attacker and target featuring brute-force behavior.

4.1 Brute-force Phase

Potential brute-force phase traffic is selected by consider-ing all hosts sendconsider-ing SSH flows with a number of PPF in the range r = [11, 51] to a daemon, where 11 is the mini-mum number of packets needed for a single authentication attempt, and 51 the highest number of PPF observed7 for brute-force phase traffic (see Section 3.2). From all selected

7The numbers provided in this paper are backed up by

mea-surements and higher than reported by related works, which

traffic, we take the most frequently used number of PPF as the baseline for identifying deviations for that particu-lar attack. After establishing the baseline, we analyze the flow data per tuple of attacker and target; as soon as two or more consecutive flows with the same number of PPF are observed, we consider this an attack in the brute-force phase. The higher this threshold, the higher the chance of ruling out benign authentication attempts. Considering that be-nign authentications would come in groups of three (because the OpenSSH client sets NumberOfPasswordPrompts to 3 by default), two consecutive SSH flows with the same number of PPF would already indicate six failed attempts.

4.2 Compromise Phase

Key to our compromise detection are the four actions that can be observed after a compromise. We have transformed these actions into six scenarios, as shown in Figure 4. The two additional scenarios have been defined to accommodate for the fact that many analysis applications receive and pro-cess flow data in fixed-size time bins, as a consequence of which our algorithm has to take into account that attack data may be spread over multiple data chunks. Each of the subfigures shows a flow data chunk, with flows (long dashes) towards targets running an SSH daemon. Short-dashed lines mark a flow with a compromise.

In Figure 4(a), we show that the compromise flow is main-tained until the end of the attack, and that other login at-tempts are observed in parallel towards the same target. A similar scenario is shown in Figure 4(b), but since the end of the attack does not lie within the current data chunk, the compromise flow is characterized by an unterminated TCP connection (i.e., without a TCP FIN or RST flag set). Simi-larly to these two scenarios, we show in Figure 4(d) and 4(e) how the compromise flows should be identified in case the at-tacker aborts its dictionary towards the compromised target: traffic from the same attacker towards other targets reveals the end of the attack. Figure 4(c) and 4(f) show situations where the attack tool performs an instant logout upon com-promise. Observe that the compromise in Figure 4(f) may also be very close to the end of the data chunk, which is why compromises classified according to this scenario are checked in the next data chunk again, to verify whether there is no traffic from the attacker towards the compromised target. report maximum values of around 30 [8, 9]. Cisco appliances and Mac OS X are the main cause of these high values.

ACM SIGCOMM Computer Communication Review 24 Volume 44, Number 5, October 2014

SSH Compromise Detection using NetFlow/IPFIX.

(20)

Recent/upcoming releases

SSHCure 2.4 (July ’14):

New compromise detection algorithm (CCR

paper release), based on ‘action upon

compromise’

SSHCure 3.0 (January ’14):

New frontend, ingress vs. egress attacks

(21)
(22)

SSHCure


Validation approach

Ground truth:

sshd logs from 93 honeypots, servers

and workstations, divided over two datasets:

Dataset 1 — easy targets

Dataset 2 — more difficult targets


12

Honeypots

Servers

Workstations

Attacks

Dataset 1

13

0

0

636

(23)

SSHCure


Validation results

Evaluation metrics:

TP / FP — correct / false identification of incident

TN / FN — correct / false identification of non-incident

Detection accuracy close to 100%

13

TPR

TNR

FPR

FNR

Acc

Dataset 1

0,692

0,921

0,079

0,308

0,839

(24)

SSHCure


Deployment

SSHCure is open-source and actively developed

Download counter SourceForge (Dec. ’14): 3k

Recently moved to GitHub (summer ’14)

Tested in several nation-wide backbone networks

Many successful deployments already:

14

Web hosting

companies

Campus networks

National Research and Education

Networks (NRENs)

(25)

Lessons learned

(26)

Lessons learned

(27)

Lessons learned

Ease-of-use is key

(28)

Lessons learned

Ease-of-use is key

Many potential SSHCure users (e.g., CSIRTs) are

less-skilled than we are

(29)

Lessons learned

Ease-of-use is key

Many potential SSHCure users (e.g., CSIRTs) are

less-skilled than we are

Installation scripts are important

(30)

Lessons learned

Ease-of-use is key

Many potential SSHCure users (e.g., CSIRTs) are

less-skilled than we are

Installation scripts are important

Use of NfSen:

(31)

Lessons learned

Ease-of-use is key

Many potential SSHCure users (e.g., CSIRTs) are

less-skilled than we are

Installation scripts are important

Use of NfSen:

Widely used in (European) NREN community

(32)

Lessons learned

Ease-of-use is key

Many potential SSHCure users (e.g., CSIRTs) are

less-skilled than we are

Installation scripts are important

Use of NfSen:

Widely used in (European) NREN community

Experience with SURFmap [1]

16

(33)

Lessons learned

(34)

Lessons learned

Ingress vs. egress attacks

(35)

Lessons learned

Ingress vs. egress attacks

Initial focus mainly on ingress attacks

(36)

Lessons learned

Ingress vs. egress attacks

Initial focus mainly on ingress attacks

CSIRTs are becoming more responsible towards

the Internet: Keep it clean!

(37)

Lessons learned

(38)

Lessons learned

Integration into workflow is important

(39)

Lessons learned

Integration into workflow is important

Yet another tool is hard to integrate into CSIRT

workflow

(40)

Lessons learned

Integration into workflow is important

Yet another tool is hard to integrate into CSIRT

workflow

Integration with existing systems is necessary:

IODEF, X-ARF, QuarantaineNet, …

(41)

Lessons learned

(42)

Lessons learned

Advertizing is important

(43)

Lessons learned

Advertizing is important

People don’t spot your cool project by

themselves

(44)

Lessons learned

Advertizing is important

People don’t spot your cool project by

themselves

Visit meetings & conferences (FloCon,


TERENA TNC, RIPE, etc.)

(45)

Lessons learned

Advertizing is important

People don’t spot your cool project by

themselves

Visit meetings & conferences (FloCon,

TERENA TNC, RIPE, etc.)

GitHub vs. SourceForge

(46)

Lessons learned

(47)

Lessons learned

1:1 sampling is hardly used by non-academia

(48)

Lessons learned

1:1 sampling is hardly used by non-academia

Problem for our algorithms

(49)

Lessons learned

1:1 sampling is hardly used by non-academia

Problem for our algorithms

Admins are ‘afraid’ of increasing sampling rates

(50)

Lessons learned

(51)

Lessons learned

Input data quality is hard to predict

(52)

Lessons learned

Input data quality is hard to predict

Algorithms should be as resilient to various data

sources as possible

(53)

Lessons learned

Input data quality is hard to predict

Algorithms should be as resilient to various data

sources as possible

Examples:

(54)

Lessons learned

Input data quality is hard to predict

Algorithms should be as resilient to various data

sources as possible

Examples:

Availability of TCP flags

(55)

Lessons learned

Input data quality is hard to predict

Algorithms should be as resilient to various data

sources as possible

Examples:

Availability of TCP flags

Assumptions on flow cache entry expiration

(56)

Thanks!

(57)

Questions?

23

https://nl.linkedin.com/in/rhofstede/

www

http://rickhofstede.nl

@

r.j.hofstede@utwente.nl,

rick.hofstede@redsocks.nl

http://nl.linkedin.com/in/luukhendriks

www

https://luukhendriks.eu

@

luuk.hendriks@utwente.nl

https://github.com/sshcure/sshcure

Referenties

GERELATEERDE DOCUMENTEN

High angular resolution diffusion imaging (HARDI) has proven to better characterize complex intra-voxel structures compared to its pre- decessor diffusion tensor imaging

expressing gratitude, our relationship to the land, sea and natural world, our relationship and responsibility to community and others will instil effective leadership concepts

In contrast to alkali metal salts of the structurally related β-diketiminates which bind the alkali metal through the NCCCN atoms to give 6-membered chelate rings, the formazanate

All of these types of organizations need to be able to act swiftly when a compromise has been observed, and SSHCure is designed to support in that: the web-interface offers

SSHCure is able to analyze large amount of flow data and show what is really going on in the network, alerting. administrators in

betalen. En dan doen wij iets terug. Of we doen kruisbestuivingen. Dat is gewoon nodig op dit moment om dat ook uit te zoeken. En dat je sneller met een partij aan tafel zit als

The metafrontier analysis (MFA) is more appropriate when heterogeneous production environments are to be compared. The metafrontier approach can estimate the

After a survey about these styles, we video-filmed two events of nine kaizen teams: One prior to and the other after a team workshop intervention that boosted members’