lunes, 29 de noviembre de 2010

SEGURIADAD DE LA BASE DE DATOS



La información de toda empresa es importante, aunque unos datos lo son más que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna información, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autenticación y protección de los datos. En un banco por ejemplo, el personal de nóminas sólo necesita ver la parte de la base de datos que tiene información acerca de los distintos empleados del banco y no a otro tipo de información.

En un SGBD  existen diversos elementos que ayudan a controlar el acceso a los datos.

En primer lugar  el sistema debe identificar y autentificar a  los usuarios utilizando alguno de las siguientes formas:


-Código y contraseña
-Identificación por hardware
-Características bioantropométricas  
-Conocimiento, aptitudes y hábitos del usuario 
-Información predefinida

Además, el administrador deberá especificar los privilegios que un usuario tiene sobre los objetos:


-Usar una B.D.
-Consultar ciertos datos
-Actualizar datos
-Crear o actualizar objetos
-Ejecutar procedimientos almacenados
-Referenciar objetos
-Indexar objetos
-Crear identificadores

Algunas medidas básicas:

  • Demorar la respuesta ante claves  erróneas;  aumentar la demora cada vez.   Alertar si hay demasiados intentos.

  • Registrar todas las entradas. Cada vez que un usuario entra, chequear cuándo y  desde  dónde entró la vez anterior.




  • Hacer chequeos periódicos de claves fáciles de adivinar, procesos que llevan demasiado tiempo corriendo, permisos erróneos, actividades extrañas (por ejemplo cuando usuario está de vacaciones). 




Inyección SQL es una vulnerabilidad informática en el nivel de la validación de las entradas a la base de datos de una aplicación. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con código SQL. Es, de hecho, un error de una clase más general de vulnerabilidades que puede ocurrir en cualquier lenguaje de programación o de script que esté incrustado dentro de otro.
Una inyección SQL sucede cuando se inserta o "inyecta" un código SQL "invasor" dentro de otro código SQL para alterar su funcionamiento normal, y hacer que se ejecute maliciosamente el código "invasor" en la base de datos.
La inyección SQL es un problema de seguridad informática que debe ser tomado en cuenta por el programador para prevenirlo. Un programa hecho con descuido, displicencia, o con ignorancia sobre el problema, podrá ser vulnerable y la seguridad del sistema puede quedar ciertamente comprometida. Esto puede suceder tanto en programas ejecutándose en computadores de escritorio, como en páginas Web, ya que éstas pueden funcionar mediante programas ejecutándose en el servidor que las aloja.
La vulnerabilidad puede ocurrir cuando un programa "arma" descuidadamente una sentencia SQL, con parámetros dados por el usuario, para luego hacer una consulta a una base de datos. Dentro de los parámetros dados por el usuario podría venir el código SQL inyectado.
Al ejecutarse esa consulta por la base de datos, el código SQL inyectado también se ejecutará y podría hacer un sinnúmero de cosas, como insertar registros, modificar o eliminar datos, autorizar accesos e, incluso, ejecutar código malicioso en el computador.
Asumiendo que el siguiente código está en una aplicación web y que existe un parámetro "nombreUsuario" que contiene el nombre de usuario que nosotros le demos, la inyección SQL es posible:
consulta := "SELECT * FROM usuarios WHERE nombre = '" + nombreUsuario + "';"
Si el usuario escribe su nombre, digamos "Alicia", nada anormal sucedería, la aplicación generaría una sentencia SQL similar a la siguiente, que es perfectamente correcta, en donde se seleccionaría al usuario "Alicia":
SELECT * FROM usuarios WHERE nombre = 'Alicia';
Pero si un usuario malintencionado escribe como nombre de usuario:
"Alicia'; DROP TABLE usuarios; SELECT * FROM datos WHERE '-' = '-", se generaría la siguiente consulta SQL, (el color verde es lo que pretende el programador, el azul es el dato, y el rojo, el código SQL inyectado):
SELECT * FROM usuarios WHERE nombre = 'Alicia';
DROP TABLE usuarios;
SELECT * FROM datos WHERE '-' = '-';
La base de datos ejecutaría la consulta en orden, seleccionaría el usuario 'Alicia', borraría la tabla 'usuarios' y seleccionaría datos que quizá no están disponibles para los usuarios web comunes. En resumen, cualquier dato de la base de datos está disponible para ser leído o modificado por un usuario malintencionado.
Nótese por qué se llama "Inyección" SQL. Si observamos el código malicioso, de color rojo, vemos que está en el medio del código bueno, el verde. El código rojo ha sido "inyectado" dentro del verde.
La inyección SQL es fácil de evitar en la mayoría de los lenguajes de programación que desarrollan aplicaciones web.


SQL Injection 


Muchos sitios en la red muestran una caja de "Buscar" o "Search". En SQL el punto y coma( funcionan como el fin de comando y el doble guión (--) como comentario. Si sabes el nombre de la tabla (o intentas adivinarlo) donde se guardan los passwords de los usuarios puedes jugar un poco enviando cosas como: UPDATE users SET password="hack"; este tipo de hackeo es muy entretenido (horas y horas de sana diversión ;-) ) y te sorprenderás del hecho de que incluso sitios de grandes empresas internacionales no poseen ningún sistema de filtrado.
Phising "password harvesting fishing" (cosecha y pesca de contraseñas) es una técninca que consiste en duplicar (hasta en el más mínimo detalle) un sitio web verdadero en nuestro propio servidor. Debemos ir a Hotmail, Gmail, Yahoo!, etcétera, ver el código HTML y guardarlo en nuestro propio server. Luego enviamos un email a la persona de la cual deseamos su clave con algo como "Alguien muy especial te ha enviado una Ciber-tarjeta, haz click aquí" y lo enviamos a nuestro propio Webserver en Linux. El usuario cree que está entrando en la página de inicio de Hotmail e introduce su login y password, ¡pero ahora es nuestro! 
A los errores en la programación se les conoce como "bugs" o bichos, la mayoría de los bugs sólo hacen que los programas no funcionen como deben pero algunos pueden ser aprovechdos para violar la seguridad, a estos bugs se les conoce como "exploits". Es decir, no todos los bugs son exploits pero todo exploit es un bug. Denegation of Service o DOS La denegación de un servicio implica que el hacker ha aprovechado un bug en un programa para " tirar" un servicio del servidor. Generalmente se trata del Webserver. El IIS de Microsoft es particularmente vulnerable a este tipo de ataques. Tanto el Change Coding como el DOS son hacks relativamente benévolos pues no implican (necesariamente) a un intruso en el sistema.


 
 Ejemplo de vulnerabilidada de una base de datos 
La Agencia de Recaudación de Buenos Aires (ARBA) denunció esta noche que la base de datos puesta en Internet hace dos días con 72.000 grandes morosos fue hackeada hoy, por lo que el director del organismo, Santiago Montoya, ordenó una investigación para conocer desde dónde fueron dados de baja los datos.

Así lo confirmaron a Clarín.com fuentes de la Agencia, que aseguraron que si bien la base de datos quedó momentáneamente dada de baja, los archivos se encuentran en condiciones y volverán a ser puestos online.

En la base de datos que desde el miércoles y hasta hoy podía ser consultada en la página del organismo (www.arba.gov.ar) se encontraban deudores que ya están en juicio con la Provincia por deudas superiores a los $ 2.000.

La lista incluye deudas desde 2004 por un total de $ 4.200 millones. La encabeza la firma Transportes Metropolitanos General Roca S.A., con 214 millones en mora. Es la compañía que manejaba el empresario Sergio Taselli y al que el Estado nacional le confió durante años el manejo del ferrocarril Roca, entre otros.

Las demandas que encaró la Provincia abarcan a los cuatro impuestos bonaerenses: Inmobiliario (el que genera más juicios), Automotor, Ingresos Brutos y Sellos. 




La internet esta inundada de hackers conocidos como “crackers” o “black hats” (sombreros negro), que trabajan para explotar sistemas informáticos. Ellos son los que has visto en las noticias que son alejados de una computadora para evitar que incursionen nuevamente en ciber-crímenes. Algunos de ellos lo hacen por diversión y curiosidad, otros para beneficio económico personal.

 Jonathan James

James ganó notoriedad cuando se convirtió en el primer adolescente que era enviado a prisión acusado de Hacking. El fue sentenciado a seis meses cuando tenía solo 16 años de edad. En una entrevista anónima de la PBS, afirma: “Yo solo anduve por allí viendo, jugando. Era como un desafío para mi el ver cuanto podía lograr”.
Las más importantes intrusiones de James tuvieron como objetivo organizaciones de alto grado. Él instaló un backdoor en un servidor de la Agencia de Reducción de Amenazas de la Defensa (Defense Threat Reduction Agency – DRTA). La DRTA es una agencia del Departamento de Defensa encargado de reducir las amenazas a los Estados Unidos y sus aliados de armas nucleares, biológicas, químicas, convencionales y especiales. El backdoor que el creó le permitió ver emails de asuntos delicados y capturar los nombres de usuario (username) y clave (passwords) de los empleados.
James también crackeó las computadoras de la NASA robando software por un valor aproximado de $ 1.7 millones. Segun el Departamento de Justicia, “entre el software robado se encontraba un programa utilizado para controlar el medio ambiente -temperatura y humedad- de la Estación Espacial Internacional”. La NASA se vio forzada a tener que paralizar 21 días sus computadoras y ocasionó pérdidas calculadas en $ 41 mil. James explicó que el se bajó los codigos para suplir sus estudios de programación en C, pero afirmaba “el codigo por si solo era desastrozo … ciertamente no digno de $1.7 millones como demandaron”.
Dado el grado de sus intrusiones, si James (también conocido como “c0mrade”) hubiera sido un adulto, se le hubiera aplicado una pena mínima de no menor a diez años. En su lugar, le fue prohibido el uso recreacional de la computadora y 6 meses de arresto domiciliario. Hoy, James afirma que aprendió su lección y puede ser que comience una compañía de seguridad de computadoras.

Adrian Lamo
 
Lamo saltó a la fama por sus intrusiones a organizaciones mayores como The New York Times and Microsoft. Bajo el apodo de “homeless hacker” (hacker sin hogar), el usó conexiones como Kinko (internet cafés), tiendas café y librerías para hacer sus intrusiones. En un articulo de su perfil, Lamo reflexiona “Tengo una computadora portátil en Pittsburg, me cambio de ropas en Washington D.C., para dar una idea de mi juridiscionabilidad”. Durante su niñez y años de formación su familia se mudó con frecuencia a Arlington, Virginia, Bogotá, Colombia, lugar de nacimiento de su padre y finalmente a San Francisco. Cuando decidieron trasladarse a Sacramento, Adrian Lamo que contaba con 17 años eligió quedarse en la ciudad y vivir por su cuenta. Ha pasado la mayoría de sus noches en los sofás de los amigos. Pero cuando la hospitalidad se torna difícil, se cobija en los edificios en construcción de la ciudad.
Las intrusiones de Lamo mayormente consisten en “pruebas de penetración”, en las que encuentra defectos de seguridad, los explota y luego envia un informe a las compañías de sus vulnerabilidades. Sus logros incluyen Yahoo!, Bank of America, Citigroup y Cingular. Cuando los “white hat hackers” son contratados por las compañías para hacer “pruebas de penetración” (penetration test) es legal.
Cuando Lamo rompió el sistema de seguridad de la Intranet de “The New York Times” las cosas se pusieron serias, Lamo se añadió a la lista de expertos que veía información personal de los contribuidores, incluyendo los Numeros de Seguro Social. Lamo tambien hackeó las cuentas LexisNexis de The Times para la investigación de temas de interés.
Por su intrusión al New York Times, Lamo fue obligado a pagar $65 mil de reparación. Tambien fue sentenciado a 6 meses de arresto domiciliario y dos años de libertad condicional, que expiraron el 16 de enero del 2007. Lamo está actualmente trabajando como un periodista galardonado y locutor público.

jueves, 18 de noviembre de 2010

CARACTERISTICAS DE MI PC


SISTEMA OPERATIVO DE MI ORDENADOR


  Un Sistema operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas de usuario o el usuario mismo para utilizar un computador. Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como intermediario para las aplicaciones que se ejecutan.
  Microsoft Windows XP Professional x64 Edition fue lanzada el 25 de abril de 2005 por Microsoft, y es una variación del Sistema operativo de 32 bits Windows XP para ordenadores personales basados en la arquitectura x64.

      El sistema operativo que utiliza el ordenador en el que trabajo en el curso es Microsoft Windows XP profesional, version 2002. 

 PROGRAMAS INSTALADOS EN MI ORDENADOR
 
  Para ver los programas instalados en tu Pc, sólo tienes que seleccionar Agregar o quitar programas del Panel de control. Sin embargo, por defecto no se muestran todos los programas instalados. En mi PC hay instalados Adobe Falsh Player 10 ActiveX, Adobe Reader 8.1.2., Microsoft Office Professional Mozolla Firefox, Mozilla Thunderbird, Neo Trace pro. Hay tambien instalado un antivirus   el Avast.

CARACTERISTICAS DEL DISCO DURO


La capacidad del disco duro de mi ordenador es de 232 GB, espacio utilizado 8.57 GB y espacio libre 224GB.

Las características que se deben tener en cuenta en un disco duro son:
  • Tiempo medio de acceso: Tiempo medio que tarda la aguja en situarse en la pista y el sector deseado; es la suma del Tiempo medio de búsqueda (situarse en la pista), Tiempo de lectura/escritura y la Latencia media (situarse en el sector).
  • Tiempo medio de búsqueda: Tiempo medio que tarda la aguja en situarse en la pista deseada; es la mitad del tiempo empleado por la aguja en ir desde la pista más periférica hasta la más central del disco.
  • Tiempo de lectura/escritura: Tiempo medio que tarda el disco en leer o escribir nueva información: Depende de la cantidad de información que se quiere leer o escribir, el tamaño de bloque, el número de cabezales, el tiempo por vuelta y la cantidad de sectores por pista.
  • Latencia media: Tiempo medio que tarda la aguja en situarse en el sector deseado; es la mitad del tiempo empleado en una rotación completa del disco.
  • Velocidad de rotación: Revoluciones por minuto de los platos. A mayor velocidad de rotación, menor latencia media.
  • Tasa de transferencia: Velocidad a la que puede transferir la información a la computadora una vez la aguja está situada en la pista y sector correctos. Puede ser velocidad sostenida o de pico.
  
 
   CARACTERISTICAS DE LA MEMORIA RAM

   
      Se utiliza como memoria de trabajo para el sistema operativo, los programas y la mayoría del software. Es allí donde se cargan todas las instrucciones que ejecutan el procesador y otras unidades de cómputo. Se denominan "de acceso aleatorio" porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder a la información de la manera más rápida posible.


 La memoria RAM de mi ordenador es de 1.80GHz, 1,00 GB



CARACTERISTICAS DEL PROCESADOR




El indicador de la frecuencia de un microprocesador es un buen referente de la velocidad de proceso del mismo, pero no el único. La cantidad de instrucciones necesarias para llevar a cabo una tarea concreta, así como la cantidad de instrucciones ejecutadas por ciclo ICP
Son los otros dos factores que determinan la velocidad de la CPU:
La cantidad de instrucciones necesarias para realizar una tarea depende directamente del juego de instrucciones disponible, mientras que ICP depende de varios factores, como el grado de supersegmentación
La cantidad de unidades de proceso o "pipelines" disponibles, entre otros. La cantidad de instrucciones necesarias para realizar una tarea depende directamente del juego de instrucciones.
  
 El procesador de mi ordenador es un Intel(R) Core(TM)2 CPU 4300 @ 1.80GHz.


UNIDAD DE DVD 




Mi ordenador utiliza un dvd NEC DV-5800E.
 
 

miércoles, 17 de noviembre de 2010

ARQUITECTURA DE LOS PC

       
  1. DISCO DURO
  2. PLACA BASE
  3. MICROPROCESADOR
  4. MEMORIA RAM
  5. UNIDAD DE DVD
  6. CAJA
  7. RATÓN
  8. IMPRESORA
  9. MONITOR
  10. FUENTE DE ALIMENTACIÓN  



Disco duro

En informática, un disco duro o disco rígido (en inglés Hard Disk Drive, HDD) es un dispositivo de almacenamiento de datos no volátil que emplea un sistema de grabación magnética para almacenar datos digitales. Se compone de uno o más platos o discos rígidos, unidos por un mismo eje que gira a gran velocidad dentro de una caja metálica sellada. Sobre cada plato se sitúa un cabezal de lectura/escritura que flota sobre una delgada lámina de aire generada por la rotación de los discos.


Hard disk platters and head.jpg


Placa Base

La placa madre es la tarjeta principal y es considerada como el centro nervioso de la computadora. Todos los demás componentes de los que consta un sistema se conectan a ella y quedan bajo su administración.
Físicamente, se trata de una tarjeta electrónicade material sintético sobre la cual existe un circuito electrónico que conecta diversos elementos que se encuentran atachados sobre ella. Los principales son:
  • El microprocesador.
  • La memoria
  • Los slots o ranuras de expansión.
  • Diversos chips de control, entre ellos la BIOS.
  • Conectores internos, externos y eléctricos.
  • Elementos integrados.




Microprocesador

El microprocesador o simplemente procesador, es el circuito integrado más importante, de tal modo, que se le considera el cerebro de una computadora. Está constituido por millones de transistores integrados. Puede definirse como chip, un tipo de componente electrónico en cuyo interior existen miles o en ocasiones millones, según su complejidad, de elementos llamados transistores cuyas interacciones permiten realizar las labores o funciones que tenga encomendado el chip



Memoria RAM

La memoria de acceso aleatorio (en inglés: random-access memory cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones y guarda los resultados.


Archivo:SIMM-muistikampoja.jpg

 Unidad de DVD

Unidad de DVD: el nombre de este dispositivo hace referencia a la multitud de maneras en las que se almacenan los datos: DVD-ROM (dispositivo de lectura únicamente), DVD-R y DVD+R (solo pueden escribirse una vez), DVD-RW y DVD+RW (permiten grabar y borrar las veces que se quiera). También difieren en la capacidad de almacenamiento de cada uno de los tipos.



toshibahddvdlaptop Unidad HD DVD para portátiles de Toshiba



Caja de computadora



Carcasa ATX abierta.


En informática, las carcasas, torres, gabinetes, cajas o chasis de ordenador, son el armazón del equipo que contiene los componentes del ordenador, normalmente construidos de acero, plástico o aluminio. También podemos encontrarlas de otros materiales como madera o polimetilmetacrilato para cajas de diseño. A menudo de metal electrogalvanizado. Su función es la de proteger los componentes del ordenador.

Ratón (informática)

El ratón o mouse (del inglés, pronunciado [maʊs]) es un dispositivo apuntador usado para facilitar el manejo de un entorno gráfico en un computador. Generalmente está fabricado en plástico y se utiliza con una de las manos. Detecta su movimiento relativo en dos dimensiones por la superficie plana en la que se apoya, reflejándose habitualmente a través de un puntero o flecha en el monitor.






Impresora

Una impresora es un periférico de ordenador que permite producir una copia permanente de textos o gráficos de documentos almacenados en formato electrónico, imprimiéndolos en medios físicos, normalmente en papel o transparencias, utilizando cartuchos de tinta o tecnología láser. Muchas impresoras son usadas como periféricos, y están permanentemente unidas al ordenador por un cable. Otras impresoras, llamadas impresoras de red, tienen una interfaz de red interno (típicamente wireless o Ethernet), y que puede servir como un dispositivo para imprimir en papel algún documento para cualquier usuario de la red.





Monitor de computadora

El monitor de computadora o pantalla de ordenador, aunque también es común llamarlo «pantalla», es un dispositivo de salida que, mediante una interfaz, muestra los resultados del procesamiento de una computadora






Fuente de alimentación

En electrónica, una fuente de alimentación es un dispositivo que convierte la tensión alterna de la red de suministro, en una o varias tensiones, prácticamente continuas, que alimentan los distintos circuitos del aparato electrónico al que se conecta (ordenador, televisor, impresora, router, etc


Archivo:PSU-Open1.jpg