è un attacco DoS una buona analogia con Dining Philosophers?

1

Diciamo che, invece, i filosofi, abbiamo connessioni TCP / IP a un server, e invece le forcelle abbiamo le porte disponibili del TCP / IP del server. In questo scenario, non abbiamo molte connessioni in competizione per le porte: abbiamo un numero limitato di connessioni malevoli che richiederà molto tempo per essere elaborate, quindi prenderanno le porte disponibili e le rilasceranno dopo un lungo periodo di tempo. (da alcuni minuti a diverse ore). In questo scenario, le attuali connessioni non attaccanti si "affamano".

In questo caso, l'analogia sarebbe:

  • porte disponibili: fork
  • connessioni non attaccanti: filosofi che trascorrono più tempo a pensare che a mangiare
  • connessioni offensive o malevoli: filosofi che passano molto più tempo a mangiare che a pensando.

Se ignoriamo il caso quando ogni filosofo prende una forchetta (si bloccano a vicenda), considero i filosofi di sala un esempio per la fame di risorse, perché se non ci sono risorse condivise disponibili, i thread attenderanno (forse per sempre) fino a la risorsa è rilasciata da un altro thread.

    
posta Broken_Window 31.03.2015 - 20:25
fonte

1 risposta

4

Più penso a questa analogia, meno senso ha.

  • Le porte non funzionano come risorsa qui. Un server avrà solo una manciata di porte aperte, forse solo una (diciamo, la porta 80 per HTTP). Qualsiasi numero di client può connettersi a questo e le loro connessioni sono differenziate dall'ID della porta client (e dall'IP del client), che sono indipendenti per ogni client. I numeri di porta non sono la risorsa limitata che viene attaccata da attacchi DoS, larghezza di banda della rete o tempo della CPU o cose simili.
  • Sebbene la larghezza di banda della rete e il tempo di CPU siano, alla fine, una quantità intera (nell'unità appropriata), non è significativo identificare queste unità con le forche. I cicli di clock o larghezza di banda sono intercambiabili, mentre le forche hanno identità e l'analogia diventa assurda quando ogni filosofo ha bisogno di 5 milioni di forchette. Inoltre, ora un filosofo può prendere, diciamo, un ciclo di clock e trattenerlo per un minuto, che è per lo meno più astratto e rende insignificante il tempo del filosofo.
  • I filosofi hanno una disposizione spaziale e scelgono tra le forche che li circondano. Al contrario, qualsiasi ragionevole nozione di risorsa nella tua analogia non sarà vincolata in questo modo: qualsiasi client può ottenere qualsiasi risorsa, probabilmente a discrezione del server piuttosto che per scelta del client.
  • Come si nota, non vi è alcun potenziale di deadlock. I filosofi che cenano è più che altro sui deadlock (e sui livelock) che sulla fame, anche se sono certo che si possa trovare qualche discussione sull'equità. L'esaurimento delle risorse viene in genere discusso con altri esempi.
risposta data 31.03.2015 - 21:02
fonte

Leggi altre domande sui tag