Tuesday, April 7, 2009
Code Page Detection
Recientemente me encontré con un problema en el que tenía que identificar la codificación de caracteres de un archivo de texto, y descubrí una muy buena herramienta que se llama cpdetector (http://cpdetector.sourceforge.net/), la cuál utiliza varios algoritmos para detectar la codificación de caracteres. Uno de los algoritmos que utiliza es el de Mozilla, una buena referencia de este algoritmo se puede encontrar aquí --> http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html
Sunday, December 21, 2008
Password Masking & JVM
Hoy le toca el turno a Java, pero antes voy a hacer un paréntesis
(
Hace algún tiempo si me preguntabas ¿cuál es el mejor lenguaje de programación? la respuesta que hubieras obtenido habría sido C. Esto sucedió mientras la gente que me rodeaba decía que el mejor lenguaje era Java y yo necio, decía y afirmaba que el mejor era C; y te has de estar preguntando ¿bueno, ahora piensas que el mejor es Java? Pues no, un día alguien o algo (realmente no sé que fue) me abrió los ojos, ¡el mejor lenguaje de programación es Ensamblador! XD jajaja. Por su puesto que no pienso así, lo que pasó cuando me abrieron los ojos fue que me dí cuenta de que realmente no puedo decir tal lenguaje es mejor que otro, simplemente unos te permiten hacer más fácil determinada tarea, o incluso aunque pueden hacer las mismas cosas que otros su ámbito es diferente.
)
Password Masking en la línea de comado.
http://java.sun.com/developer/technicalArticles/Security/pwordmask/ndo
Byte Code Engineering Library (BCEL)
http://jakarta.apache.org/bcel/manual.html
(
Hace algún tiempo si me preguntabas ¿cuál es el mejor lenguaje de programación? la respuesta que hubieras obtenido habría sido C. Esto sucedió mientras la gente que me rodeaba decía que el mejor lenguaje era Java y yo necio, decía y afirmaba que el mejor era C; y te has de estar preguntando ¿bueno, ahora piensas que el mejor es Java? Pues no, un día alguien o algo (realmente no sé que fue) me abrió los ojos, ¡el mejor lenguaje de programación es Ensamblador! XD jajaja. Por su puesto que no pienso así, lo que pasó cuando me abrieron los ojos fue que me dí cuenta de que realmente no puedo decir tal lenguaje es mejor que otro, simplemente unos te permiten hacer más fácil determinada tarea, o incluso aunque pueden hacer las mismas cosas que otros su ámbito es diferente.
)
Password Masking en la línea de comado.
http://java.sun.com/developer/technicalArticles/Security/pwordmask/ndo
Byte Code Engineering Library (BCEL)
http://jakarta.apache.org/bcel/manual.html
Thursday, November 13, 2008
Doug Lea's Malloc
Alguna vez te preguntaste ¿cómo es que funciona la llamada a malloc?. Dejame decirte que te haces muy buenas preguntas y las respuestas son MUY interesantes. =D
http://g.oswego.edu/dl/html/malloc.html
ftp://g.oswego.edu/pub/misc/malloc.c
Obviamente, que al código le hace falta quitarle los bytes que utilizan los boundary tags.
http://g.oswego.edu/dl/html/malloc.html
ftp://g.oswego.edu/pub/misc/malloc.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main (int argc, char *argv[]){
char *p;
int size,malloc_size;
if(argc != 2){
printf("Uso: %s size\n",argv[0]);
exit(-1);
}
size = atoi(argv[1]);
printf("--------[ Probando para size: %d bytes\n",size);
p=(char *)malloc(size);
memcpy(&malloc_size,p-4,4);
malloc_size&=~7; //Quitamos las banderas
printf("--------[ Malloc size: %d\n",malloc_size);
free(p);
return 0;
}
#include <stdlib.h>
#include <string.h>
int main (int argc, char *argv[]){
char *p;
int size,malloc_size;
if(argc != 2){
printf("Uso: %s size\n",argv[0]);
exit(-1);
}
size = atoi(argv[1]);
printf("--------[ Probando para size: %d bytes\n",size);
p=(char *)malloc(size);
memcpy(&malloc_size,p-4,4);
malloc_size&=~7; //Quitamos las banderas
printf("--------[ Malloc size: %d\n",malloc_size);
free(p);
return 0;
}
Obviamente, que al código le hace falta quitarle los bytes que utilizan los boundary tags.
Friday, November 7, 2008
Monday, October 20, 2008
La Música Mexicana trasciende fronteras
Cisco ships Mexican drug runner music on VPN CD
Cisco network’s new album
Actualización 01/11/2008
Estaba pensando, ¿Cisco podría ser acusado por piratería? xD
Cisco network’s new album
Actualización 01/11/2008
Estaba pensando, ¿Cisco podría ser acusado por piratería? xD
Monday, October 6, 2008
Hacking The System - Manipulando la Wikipedia
En la 2600 de la Primavera de 2008, apareció un artículo que llamó mi atención, se titula "Information Flow On Campus: A Closer Look At Wikipedia" escrito por Barrett Brown.
Lo que hizo Barrett fue analizar como es que funciona la Wikipedia, y dentro de esto analizó "el sistema social" bajo el cual se rige, lo cual en realidad es muy interesante ... así que comencemos.
Existen 2 grupos de usuarios en la Wikipedia.
(La alternativa de PGP a las Autoridades Certificadoras (CA), esta basada en votos de confianza. Tratare de explicarme un poco más, así que ocupemos a los famosísimos personajes: Alice, Bob y Carol.
Bob necesita autenticar un mensaje enviado por Alice.
Bajo el esquema de la CA's, funcionaria de la siguiente forma:
Bajo el esquema de PGP, sucedería lo siguiente:
En la Wikipedia un artículo que esta editado por un Administrador, tiene mucha mayor credibilidad que sí hubiera sido editado por cualquier otro tipo de Editor.
¿Por qué?
Veamos lo que se tiene que hacer para llegar a ser administrador.
"Si yo fuera una organización como la CIA o al-Qaeda, preocupada por controlar la información publicada en la Wikipedia, esto es lo que haría.
Primero, contrataría de diez a treinta personas y las metería en la biblioteca. Su trabajo consistiría en introducir referencia de los libros a la Wikipedia, día tras día, hasta que sus cuentas se conviertan en Editor Reconocido o Administrador. Una vez que un grupo de administradores este bajo el control de esta organización, seria fácil manipular temas en especifico."
Lo que hizo Barrett fue analizar como es que funciona la Wikipedia, y dentro de esto analizó "el sistema social" bajo el cual se rige, lo cual en realidad es muy interesante ... así que comencemos.
Existen 2 grupos de usuarios en la Wikipedia.
- Pasivos
- Activos (Editores)
- Editor Anónimo - cualquiera que realiza una modificación a un artículo sin crear una cuenta.
- Editor Nuevo - alguien que ya creo la cuenta, y su historial de edición es muy bajo o nulo.
- Editor Reconocido - alguien con una cuenta y que ya tiene un historial de edición considerable.
- Administrador - rango más alto que se puede alcanzar dentro de la Wikipedia, para esto se tuvo que pasar previamente por los otros status.
(La alternativa de PGP a las Autoridades Certificadoras (CA), esta basada en votos de confianza. Tratare de explicarme un poco más, así que ocupemos a los famosísimos personajes: Alice, Bob y Carol.
Bob necesita autenticar un mensaje enviado por Alice.
Bajo el esquema de la CA's, funcionaria de la siguiente forma:
- Alice crea una firma y la publica ante la CA [esto implica $].
- Bob obtiene la firma de Alice de la CA y realiza el proceso de autenticidad del mensaje.
Bajo el esquema de PGP, sucedería lo siguiente:
- Alice crea una firma y la publica.
- Bob obtiene la firma de Alice. [Llegado a este punto, existe un pequeño problema, ¿cómo saber que la firma que Bob obtuvo es realmente la de Alice?, bajo el esquema de las CA's como ambos confían en la CA, Bob da por hecho de la firma que obtuvo de la CA es la de Alice]
- Entonces entra Carol a salvar el día, porque Alice conoce a Carol y Carol sabe que la firma que esta publicada a nombre de Alice es realmente de ella; y lo mismo sucede con Carol y Bob, i.e; Bob conoce a Carol y sabe que la firma que esta publicada a nombre de Carol es realmente de ella. Así que Carol le da un voto de confianza a Alice.
- Como es posible ver los votos de confianza que tiene una firma, Bob ve que tiene un voto de Carol y como confía en ella, aceptara que la firma que esta obteniendo es la de Alice. [Carol juega un tanto el papel de la CA])
En la Wikipedia un artículo que esta editado por un Administrador, tiene mucha mayor credibilidad que sí hubiera sido editado por cualquier otro tipo de Editor.
¿Por qué?
Veamos lo que se tiene que hacer para llegar a ser administrador.
- Crear una cuenta (Editor Nuevo).
- Editar artículos poniendo referencias aceptadas como verídicas (eje. libros), que aprueben lo que se esta editando.
- Una vez que ya se ha realizado lo anterior muchas veces, se llega a Editor Reconocido.
- Y finalmente para ser Administrador se hace una votación (votos de confianza), en la que finalmente se aprueba que lo que este monito edita es verdad, al menos en la mayoría de los casos.
"Si yo fuera una organización como la CIA o al-Qaeda, preocupada por controlar la información publicada en la Wikipedia, esto es lo que haría.
Primero, contrataría de diez a treinta personas y las metería en la biblioteca. Su trabajo consistiría en introducir referencia de los libros a la Wikipedia, día tras día, hasta que sus cuentas se conviertan en Editor Reconocido o Administrador. Una vez que un grupo de administradores este bajo el control de esta organización, seria fácil manipular temas en especifico."
Saturday, September 20, 2008
Google Chrome
Reflexiones sobre Google Chrome y la seguridad
Actualización 01/11/2008
La alternativa a Google Chrome, es SRWare Iron (o simplemente Iron). =D
Actualización 01/11/2008
La alternativa a Google Chrome, es SRWare Iron (o simplemente Iron). =D
Subscribe to:
Posts (Atom)