Qualsiasi libro / sito / writeup su IRC bot Sicurezza?

0

Ho scritto un Bot IRC con script e voglio rafforzarlo con gli exploit. A tal fine l'ho già scritto in modo che ignori i propri messaggi (in modo che, ad esempio, anche se restituisce comandi validi per se stesso, non li eseguirà) e limitato alcune funzionalità a un elenco di "nickname autorizzati" "in modo che le funzioni sensibili non possano essere invocate da chiunque. Inoltre, la natura del linguaggio di scripting preclude qualsiasi exploit eval -like.

Con tutto ciò che ho detto, posso ancora pensare a numerosi modi di sfruttare il mio bot. Ci sono scritti in merito alla sicurezza di IRC Bot? Anche un breve articolo di un programmatore più competente di me sull'argomento sarebbe utile, ma Google non sta collaborando.

    
posta Andrew Lambert 20.12.2011 - 19:46
fonte

2 risposte

1

Come qualsiasi software, devi indurirlo per consentire all'utente solo ciò che intendi consentirgli. Nella tua domanda specifica si basa proprio su quale linguaggio hai programmato il tuo bot, su quali tipi di comandi lo permetti e su come sanifica l'input dell'utente.

Non ho familiarità con nessun libro che abbia come target la sicurezza di un bot IRC, tuttavia ci dovrebbero essere molte linee guida chiare su come programmare in sicurezza nel linguaggio di programmazione di tua scelta.

È anche molto importante leggere RF1459 su come il tuo bot dovrebbe comportarsi quando comunica su IRC.

Quando inizialmente configuri il tuo IRC bot, assicurati che le funzionalità di base siano funzionanti e funzionino correttamente. Questa è la roba semplice come:

  • rispondere al ping con pong
  • unisciti ai canali

Quindi devi sezionare queste operazioni e assicurarti che siano intrinsecamente sicure. Il tuo robot risponde a un PING casuale da chiunque? Cosa succede se fornisco un attacco di overflow del buffer al tuo bot con un "PING AAAA x50000"? Prova a memorizzarlo nel buffer e copiarlo nella risposta PONG? Forse l'unica fonte autorizzata a fare un PING per te dovrebbe essere anche il tuo server collegato.

Quando in un secondo momento fai in modo che il bot accetti i comandi da chiunque tu voglia autorizzare alla whitelist ( modello di sicurezza positivo ) i comandi che permetti (join, kick, ban, ping, ??) e poi disinfettano correttamente l'input al bot.

Il risanamento che deve essere fatto dipende molto da ciò che fa il bot in realtà. Ad esempio:

Quando progetti un tale bot devi cercare di pensare a tutti i modi possibili in cui qualcuno proverà a sfruttarlo. Devi essere molto attento e paranoico quando lo crei.

    
risposta data 23.01.2012 - 11:06
fonte
0

Non esiste un "software assolutamente sicuro". C'è un software che fa le cose che il suo creatore (o gli utenti) vogliono, e non fa altre cose (presumibilmente spiacevoli).

Quindi, inizia con le persone:

  1. Identifica gli utenti del tuo software (tu, clienti, amministratori, ecc.)
  2. Identifica i loro bisogni (vedi Identificazione delle parti interessate di Ian Alexander)
  3. Identifica potenziali aggressori e anche i loro interessi.

Quindi possiamo davvero scendere alle cose tecniche e ottenere risultati molto più sensati - perché penseremo a "come" e "perché" verrà sfruttato il tuo bot.

P.S. Se alcune di queste informazioni sono troppo sensibili, ci sono sempre cose come PGP :)

    
risposta data 23.01.2012 - 02:11
fonte

Leggi altre domande sui tag