¿Libros / Sitios / Escrituras sobre la seguridad del bot IRC?

0

He escrito un bot IRC programable y quiero fortalecerlo contra las vulnerabilidades. Con ese fin, ya lo escribí para que ignore sus propios mensajes (de modo que, por ejemplo, incluso si repite los comandos válidos para sí mismo no los ejecutará) y restringió ciertas funciones a una lista de "apodos autorizados. "para que nadie pueda invocar funciones sensibles. Además, la naturaleza del lenguaje de scripting excluye cualquier eval -like exploits.

Con todo lo dicho, todavía puedo pensar en varias formas de explotar mi bot. ¿Hay algún escrito sobre el tema de la seguridad del bot IRC? Incluso un breve artículo de un programador más competente que yo sobre el tema sería útil, pero Google no está cooperando.

    
pregunta Andrew Lambert 20.12.2011 - 19:46
fuente

2 respuestas

1

Al igual que con cualquier software, debe endurecerlo para permitir solo al usuario lo que pretende permitirle. En su pregunta específica, realmente se basa en el idioma en el que ha programado su bot, los tipos de comandos que permite y la forma en que desinfecta la entrada del usuario.

No estoy familiarizado con ningún libro que se centre directamente en la seguridad de un bot IRC, sin embargo, debe haber muchas pautas claras sobre cómo programar de forma segura en el lenguaje de programación que elija.

También es muy importante leer el RF1459 sobre cómo debería comportarse su bot cuando se comunica a través de IRC.

Cuando inicialmente configuraste tu bot IRC, asegúrate de que la funcionalidad principal esté en su lugar y funcione correctamente. Esta es la cosa simple como:

  • respondiendo a ping con pong
  • unirse a los canales

Luego, debe analizar estas operaciones y asegurarse de que sean inherentemente seguras. ¿Su bot responde a un PING aleatorio de alguien? ¿Qué sucede si ofrezco un ataque de desbordamiento de búfer contra tu bot con un "PING AAAA x50000"? ¿Intenta almacenarlo en el búfer y copiarlo en la respuesta de PONG? Quizás la única fuente permitida para hacer un PING para usted debería ser el servidor al que está conectado también.

Cuando más tarde haga que el bot acepte comandos de cualquier persona que probablemente desee incluir en la lista blanca ( modelo de seguridad positivo ) los comandos que permites (unir, patear, banear, hacer ping, ??) y luego desinfectar adecuadamente la entrada al bot.

El saneamiento que debe realizarse depende en gran medida de lo que realmente haga su bot. Por ejemplo:

Cuando diseñas un robot de este tipo, debes intentar pensar en todas las formas posibles en que alguien intentará explotarlo. Tienes que ser muy cuidadoso y paranoico al crearlo.

    
respondido por el Chris Dale 23.01.2012 - 11:06
fuente
0

No existe tal cosa como "software absolutamente seguro". Existe un software que hace las cosas que su creador (o usuarios) desea, y no hace otras cosas (presumiblemente desagradables).

Entonces, comienza con la gente:

  1. Identifique a los usuarios de su software (usted, clientes, administradores, etc.)
  2. Identifique sus necesidades (consulte Identificación de los interesados por Ian Alexander)
  3. Identifique posibles atacantes y sus intereses, también.

Entonces podemos ir realmente a lo técnico y obtener resultados mucho más sensatos, porque pensaremos en "cómo" y "por qué" se explotará tu bot.

P.S. Si parte de esta información es demasiado confidencial, siempre hay cosas como PGP :)

    
respondido por el wizzard0 23.01.2012 - 02:11
fuente

Lea otras preguntas en las etiquetas