handle TLS attack #4

Merged
valy merged 2 commits from noormohammedb/hacker-challenge-sgx-general:patch_net_attacks into main 2025-01-06 16:36:12 +00:00
Showing only changes of commit 3bdae474b1 - Show all commits

@ -93,13 +93,9 @@ impl NodeServer {
let conn = if let Err(e) = conn { let conn = if let Err(e) = conn {
println!("Error accepting TLS connection: {e}"); println!("Error accepting TLS connection: {e}");
let attack_error_messages = [ let attack_error_messages = ["handshake", "certificate", "quote"];
"HandshakeFailure",
"peer sent no certificates", // "NoCertificatesPresented",
"Not found quote extension",
];
let err_str = e.to_string(); let err_str = e.to_string().to_lowercase();
if attack_error_messages.iter().any(|att_er_str| err_str.contains(att_er_str)) { if attack_error_messages.iter().any(|att_er_str| err_str.contains(att_er_str)) {
state.increase_net_attacks().await; state.increase_net_attacks().await;
} }
@ -204,6 +200,7 @@ impl Update for NodeServer {
yield Ok(update.update); yield Ok(update.update);
} }
// TODO: check if disconnect client if too many connections are active // TODO: check if disconnect client if too many connections are active
// Its tested and working
if tx.receiver_count() > 9 { if tx.receiver_count() > 9 {
error_status = Status::internal("Already have too many clients. Connect to another server."); error_status = Status::internal("Already have too many clients. Connect to another server.");
break; break;