jueves, 5 de diciembre de 2019

Crear Archivo XML desde Progress 4gl

Bienvenidos a otra semana en nuestro blog de programación, les quiero compartir un ejemplo de como crear un archivo XML desde Progress 4gl, esto es necesario en casos de comunicación con otros sistemas.


Primero que es un archivo XML son siglas de Extensible Markup Language , es un lenguaje que maneja etiquetas para definir la estructura de un layout para comunicar información, almacenar información y que se definan las reglas o características de la información para siempre hablar en los mismos término.

Para poder leer un XML siempre tendremos su contrapartida que es un XSD que nos sirve para definir la longitud de los campos, el tipo de campo si es carácter, entero o decimal.

Por ejemplo en México que tenemos el tema de facturación/complementos de facturación y contabilidad electrónicos para integrar la información al SAT esta institución entrega la definición del XML, por ejemplo el documento se ve así como las siguientes imágenes



La explicación en diagrama



Ejemplo


El objetivo del XML es que sea fácil de leer y de programar, veamos un ejemplo de como generar un archivo XML desde Progress 4gl

Primero un XML es un archivo con texto así que en Progress como generar un CSV es decir se trata igual como un archivo plano, la diferencia es como ir tratando las etiquetas, les voy a enseñar parte de un programa para generar el XML de Cuentas para contabilidad Electrónica



     OUTPUT STREAM sat-cat TO VALUE(vc-file) PAGE-SIZE 0
       CONVERT SOURCE "ISO8859-1" TARGET "UTF-8".
       
       /* Headers */
       FOR FIRST tablesat_mstr WHERE tablesat_code = "001"  NO-LOCK:
             
           PUT STREAM sat-cat UNFORMATTED     
               "<?xml version=" + QUOTER("1.0") + " encoding=" + 
               QUOTER("UTF-8") + "?> "    
               SKIP.
           PUT STREAM sat-cat UNFORMATTED                
                "<catalogocuentas:Catalogo xsi:schemaLocation=" + 
                QUOTER(tablesat_loc) +
                " xmlns:xsi=" + QUOTER(sat_xsi)  +
                " Version=" + QUOTER(sat__qad1)  + 
                " RFC=" + QUOTER(vc-rfc)  + 
                " Mes=" + 
                QUOTER(FILL("0", 2 - LENGTH(STRING(periodo))) + 
                STRING(periodo)) + 
                " Anio= " + QUOTER(STRING(Anio)) + 
                " xmlns:catalogocuentas=" + QUOTER(sat_doc) + ">"    
                SKIP.
       END. /* FOR FIRST tablesat_mstr WHERE tablesat_code = "001"NO-LOCK: */

   
       /* Details XML  */
       FOR EACH  tablesat2_mstr WHERE tablesat2_rfc = vc-rfc:SCREEN-VALUE AND 
                                      tablesat2_active = true      NO-LOCK:
        
           vc_account = "".
           vc_account = REPLACE(tablesat2_desc, "&", "") .
           vc_account = REPLACE(vc_account, "%", "") .
              
           PUT STREAM sat-cat UNFORMATTED       
               "<catalogocuentas:Ctas CodAgrup="            + 
               QUOTER(sat2_cod_agrup)                + 
               " NumCta=" + QUOTER(CAPS(sat2_acct))    +
               " Desc="   + QUOTER(vc_account)              + 
               " Nivel="  + QUOTER(STRING(sat2_level)) + 
               " Natur="  + QUOTER(CAPS(sat2_origin))  + "/>"         
               SKIP.
                      
       END.  /* FOR EACH  sat2_mstr  NO-LOCK:  */
       
       PUT STREAM sat-cat UNFORMATTED        
            "</catalogocuentas:Catalogo>"
            SKIP.

      OUTPUT STREAM sat-cat CLOSE.


Ejecución del programa nos crea el siguiente archivo


Este es solo un ejemplo, pero puede funcionar para comunicar 2 sistemas diferentes, enviar información entre usuarios y un tip para leer el XML en modo tabla , pueden abrirlo en Excel, lo que hago es arrastrar el archivo XML a una ventana de Excel y me pregunta como quiero abrir el archivo, selecciono XML como tabla 


Espero les sea de utilidad y les recomiendo leer también el POST dentro de este mismo blog acerca de como leer XML con Python
https://www.programacionparatodos.com/2019/05/programapython.html

jueves, 28 de noviembre de 2019

Ejemplo Macro en Word

Hola:

¿Sabían que no solo en Excel pueden hacer Macros? ¡¡¡También en Outlook, Word, Power Point  es posible hacer Macros!!! ☺️






Ya que Word, Excel, Power Point son de familia Microsoft y Visual Basic también es que podemos programar nuestras macros en esta paquetería.

Como hemos visto antes, para poder programar nuestras macros, necesitamos primero configurar la Barra de tareas de Developer o Desarrollador

Seleccionan el Menu File>Options>Customize Ribbon o en Español Archivo>Opciones>barra de tareas


Despues la parte de seguridad de las macros
Menu File>Options>Trus Center o Archivo>Opciones>Centro de Seguridad y marcamos como se ve en la imagen, la cuarta opción y el combo




Ejemplo

Vamos hacer un ejemplo donde, tengamos que generar varios diplomas de fin de curso, pero con una lista de Nombres , entonces vamos a crear un nuevo archivo en Word y le vamos a guardar como tipo Macro 
Tenemos una plantilla para imprimir los diplomas de un Curso, pero son mas de 20 alumnos, para no hacer un Diploma por cada Uno, vamos a utilizar una Macro con los nombres de los 20 alumnos 


Primero vamos a seleccionar una plantilla en Word, para no complicarnos




Luego vamos a agregar un Comobox

Luego agregamos los nombres de los alumnos 



Veremos nuestra plantilla así:

Hasta aquí no hemos programado nada y ya podemos hacer nuestros diplomas seleccionando solo el nombre y enviar a imprimir o enviar por correo.

Ahora lo que vamos hacer en la macro es que calcule el total de días del curso

Código de la Macro


Private Sub CommandButton1_Click()
Label1.Caption = (CInt(TextBox1.Value) - CInt(TextBox2.Value)) * 8
End Sub



Ejecución de la Macro



Podríamos también, hacer que el combobox lea los datos de una Hoja de Excel.

Son ejemplos muy sencillos, pero que nos sirven para poder conocer una herramienta que nos puede ser de utilidad en nuestro día a día. 

Mi papá tiene el oficio de Mario Bross es decir es Plomero y cuando era niña, él me llevaba alguna que otra vez a trabajar y un día me explico que no esperaba que yo pusiera un baño una regadera sola, pero que él quería que yo aprendiera que se hacía para realizar el trabajo, que materiales se utilizaban, cuanto tiempo tomaba hacerse el trabajo, esto para que cuando yo necesitara que alguien me ayudara y me diera un presupuesto, yo supiera más o menos si estaba bien lo que me decían. Esto se los platico porque es un muy buen consejo, hay veces que quizás ustedes no sean quien programe el software, pero si podrían ser las personas que pidan que les desarrollen algo y es bueno saber con que herramientas cuentan.

Saludos, nos leemos en el próximo blog, dejen en sus comentarios o dudas.

jueves, 21 de noviembre de 2019

Karen Escribano: Estrategias de Seguridad Informática

Esta semana tenemos a una invitada en el blog, ella es Karen Escribano una amiga desde hace 16 años, nos conocimos en la Facultad mientras estudiábamos Ingeniería en Ciencias de la Computación en la Benemérita Universidad Autónoma de Puebla (por cierto muy orgullosa de haber estudiado ahí, les recomiendo sus planes de estudio), ella es CEO de DEBITE una empresa que  ofrece soluciones tecnológicas reales que impacten de manera positiva la competitividad de las empresas. Karen tiene conocimientos amplios en temas de Seguridad, actualmente esta por concluir su Maestría en Peritaje Informático y Computo Forense, tiene un diplomado en Seguridad y Ethical Hacking, manejo de la norma ISO 27001 y 9001:2008;2015, así como varios cursos de seguridad en redes y empresarial.

Karen nos va a platicar de un super tema Estrategias de Seguridad Informática de manera muy clara y completa, explicando conceptos, errores de Seguridad, Amenazas frecuentes,nos da consejos de seguridad para prevenir amenazas. Después de leerlo seguramente la van a contactar para que los asesore y capacite, ella tiene en su cartera de productos un Curso: Como Proteger tu empresa de un ataque Cibernetico que puede ser para todas las áreas de sus empresas.


Hola a todos!

Antes que nada quiero agradecer a Anita por la oportunidad que me da de compartir un poco con ustedes su público, síganla no se van a arrepentir, es de las personas más dedicas e inteligentes que conozco en esta área, no es porque sea mi amiga es porque realmente los que la conocen no me dejarán mentir y pues recuerden que nunca dejamos de aprender y este tipo de blogs nos ayudan a seguir haciéndolo.

Por cierto nunca he escrito un blog, así que ténganme paciencia, por favor… : (

Y sin más preámbulo, hoy les vengo a platicar un poco sobre, “ESTRATEGIAS DE Seguridad Informática ”, pónganse cómodos vayan por un cafecito y relájense.

¿Y esto qué es o que?

Ya sé que estamos acostumbrados a ver películas de Hollywood en las cuales el protagonista tipo Cris Hemsworth mejor conocido como Thor (pausa para babear un poco)



Escriben en sus terminales de Windows (si, Windows) “Hackear FBI” “Hackear todo” y BOOM,  listo, todos han sido hackeados!! Afortunadamente en la vida real no es así, pero, hay personas que casi ponen en bandeja de plata hacia los hackers (los malos, porque no todos, eh!) su información para poder ser atacados, es como un llamado, pero para esto debemos estar atentos y si seguimos ciertas estrategias podemos estar un poco más seguros y en algún momento evitar ese tipo de situaciones incomodas.

Esto me lo dijo alguien en un curso:



Actualmente la seguridad es algo muy serio y cualquiera

que navegue en Internet o use medios informáticos debe
estar muy consciente de esto, ya que ya no estamos en la
época en que Internet era la «aldea global» —y por aldea
me refiero a ese lugar donde todos se conocen y se apoyan
entre sí.
Ahora posiblemente Internet se haya convertido
en un «oeste global» donde impera la ley del más
fuerte y las leyes no existen, no son respetadas o son tan
anticuadas que no aplican en su totalidad.


Y claro, lo vemos diario, exponer nuestros equipos a Internet sin estar actualizados,sin un firewall o sin un sistema antivirus es en estos momentos algo ilógico, impensable.
Junto con la información que buscamos en Internet, circula una serie de amenazas y personas maliciosas con el objetivo de robar información o, al menos, dejar nuestros sistemas sin funcionar.
No por ello debemos dejar de usar Internet.
Intentar vivir sin utilizarla es bastante difícil en la actualidad, pues todo o casi todo se orienta a hacer uso de Internet para ofrecer o recibir servicios.
Conozco muchos así, creemos que porque somos empresas pequeñas o simples mortales no somos blanco de nadie, créanme, todos somos un buen blanco de ataque, sobre todo para los que están iniciando, esto no quiere decir que dudes de todos, o si? No, es simplemente aprender a utilizar bien las herramientas a la mano y ayudar a otros a hacerlo.

Y entonces que hago, primero debes saber cuales son los errores que estas cometiendo….
No aprender de nuestros errores es estar condenados a volver a cometerlos. Por ello es importante que conozcamos lo ocurrido en el pasado para no repetir los mismos errores.

1.- Errores comunes



Los errores comunes de hoy son los mismos errores de hace varios años, con muy pocas diferencias y con muy pocas mejoras: robos de clave, claves por defecto, equipos des-actualizados, etcétera.

Software inseguro


Conectar sistemas a Internet sin una adecuada etapa de pruebas, ya sean equipos recién comprados o sistemas hechos por nosotros o por terceros, es muy común que se los eche a andar tan pronto está funcionando, muchas veces por presión de los directivos de las empresas, que buscan maximizar la productividad de un equipo recién adquirido.
Esto trae consigo problemas como sistemas mal configurados o probados in-adecuadamente contra fallas, usuarios con claves débiles, así como desconocimiento del correcto funcionamiento de los equipos, que trae como consecuencia la indebida exposición de datos a personas no autorizadas o el robo de información. 

Contraseñas Débiles


El uso de contraseñas débiles es algo común en nuestros días, como lo ha sido históricamente. Es muy normal ver usuarios que tienen de contraseña el mismo nombre de usuario o el nombre del usuario con algunos números agregados al final. Este es uno de los vectores que causan mayor cantidad de ataques o usos inadecuados del sistema en la actualidad.
No debemos dejarnos convencer por los usuarios o por la organización de que así como están las claves están bien y que nadie se molestará en atacarnos. Esta negligencia permite que los ataques no se hagan esperar.

Sistemas Des-actualizados


Tener los sistemas des-actualizados es otro de los problemas
más graves. Muchas personas incluso tienen temor o recelo de actualizar su sistema porque piensan que al actualizarlo dejará de funcionar como antes. No solamente es importante actualizar, sino que además es imperioso que todo sistema o equipamiento que se adquiera o instale en una organización exprese claramente durante cuánto tiempo va a mantenerse actualizado, pues otro de los problemas es que no se actualice no por temor, sino porque un sistema muy importante, que se usa todos los días, no se puede actualizar porque el fabricante desapareció o dejó de actualizarlo. Un sistema des-actualizado es un síntoma para un ataque próximo, pues los atacantes utilizan las fallas de seguridad que ya son públicas y conocidas para entrar a un sistema, asumiendo que no ha sido
actualizado contra esa falla.

Personal de IT poco capacitado


Otro de los problemas comunes es el de designar como responsables de la seguridad a personas que no tienen un entrenamiento adecuado. La seguridad no debe tomarse a la ligera. Debe capacitarse al personal de seguridad y este debe comprender la responsabilidad que tiene a la hora de asumir la seguridad de una organización.

Muchas organizaciones no tienen responsables de seguridad y en su lugar actúa el mismo administrador de la red. Parece una solución lógica pero no es así, pues el ser humano tiende a considerar que lo que está haciendo lo hace bien. Si el mismo que administra la red e instala los sistemas es quien debe cuidar de la seguridad, tarde o temprano comenzará a ignorar de forma involuntaria diversos aspectos de la seguridad pues los considerará innecesarios y partirá de la base de su accionar es correcto.

Servicios innecesarios


Mantener servicios innecesarios activados es uno de los puntos que usan los atacantes para entrar a un sistema.Muchas veces se instalan servidores por defecto, es decir, tal y como vienen de fábrica, y las configuraciones de fábrica de los equipos les permiten funcionar no solamente para un requerimiento específico, sino que cubren potenciales requerimientos de miles de usuarios. Por lo tanto, muchas veces vienen con servicios activos innecesarios. Por ejemplo, no es raro encontrarse con servidores Linux que tienen activados servicios como los de impresión, el portmapper, el mdns, etc., que normalmente
son utilizados en redes LAN y no fueron concebidos para estar expuestos a Internet, y sin embargo lo están. Esto puede llevar a que un atacante aproveche estos servicios expuestos y proceda a atacar debilidades conocidas de estos o a obtener información que brindan sin que los usuarios lo sepan, como la topología de la red o los equipamiento instalados en ella, etcétera.

Red LAN expuesta


La exposición de servicios de una red LAN a equipos que están conectados a Internet. Para esto estudiaremos sobre las VPN en capítulos posteriores. No debe exponerse información privada de una empresa a Internet sin una adecuada protección. Muchas personas tienen abiertos los datos de su empresa (lo que se llama a veces Intranet) a la Internet, para que puedan ser consultados desde fuera. Esto se puede prevenir si para conectarse a los datos privados (la Intranet) se tiene que abrir una sesión de VPN, lo que evita exponer innecesariamente información de una organización.

Pruebas de ambientes


Con los años se ha conocido mucho de seguridad físicapero muchas organizaciones piensan que esta es toda la seguridad. Esto es, se desconoce la seguridad lógica de la información la información es un activo y debemos protegerlo. Se ven muchos guardias de seguridad en las organizaciones, muchos sistemas
de alarma o anti-incendio, pero no se notan muchas medidas
de seguridad lógica de la información.
La seguridad debe probarse antes de ser implementada. Es necesario realizar las pruebas en un ambiente que no sea el de producción. Dicho de otra manera: es necesario un espacio para realizar pruebas antes de implementar una medida de seguridad.

Firewall


Un firewall no basta para asegurar nuestra red. Esto se abordó antes y, como se pudo notar, no es suficiente un firewall, ya que existen amenazas que no dependen de tenerlo instalado. La seguridad es por capas: deben implementarse varias capas de seguridad para tratar de atajar todo intento de intrusión a nuestras redes. Instalar un cortafuegos es una importante capa de seguridad, mas no la única.
No solamente debemos tener un firewall, sino que es necesario
configurarlo apropiadamente, con políticas adecuadas a nuestra red. Muchas veces los cortafuegos se dejan configurados por defecto y esta configuración no siempre es la que se necesita.

Canales de comunicación inseguros


Es muy común el uso de protocolos que no brindan confidencialidad apropiada para la administración de servicios.
Todavía hoy existen administradores que se conectan a sus switches y ruteadores utilizando el protocolo Telnet, que es un protocolo que no encripta el canal, por lo que no puede garantizar la confidencialidad de la comunicación, ya que las claves viajan en texto claro y pueden ser robadas por un tercero con finalidad maliciosa. Sin embargo, existe desde hace al menos veinte años una alternativa que sí brinda confidencialidad, que se llama SSH.
Además de Telnet, muchos administradores manejan sus cortafuegos o máquinas virtuales, o cualquier servicio, utilizando HTTP en vez de HTTPS. El HTTP envía la información en texto claro, por lo que no brinda una apropiada confidencialidad, que sí ofrece desde hace varias decenas de años el HTTPS.
Aunque a nivel mundial actualmente se está solicitando que todos los sitios vayan por HTTPS, seguramente durante al menos veinte o treinta años más se seguirán viendo soluciones y sitios web que utilicen el viejo protocolo HTTP a pesar de su conocida falla en la confidencialidad.

Configuración de Servidores


En cuanto a los servidores, algo importante es el adecuado manejo de la hora: los servidores deben manejar una
hora consistente, una hora igual entre todos ellos. Esto es crucial en seguridad, pues si cada uno de los servidores tuviera una hora diferente, sería muy difícil, casi imposible, encontrar una falla de seguridad que involucre a dos o más de estos equipos.

Imaginemos un caso en el que un servidor tenga las 17:35 GMT-5, otro tenga las 18:36 GMT-7 y un tercero, las 02:24 GMT. ¿Cómo se podrá encontrar un problema que ocurrió
a las 12:01 GMT-5 con esa diversidad de horas en cada servidor? Sí que es posible, pero habría que hacer muchos
esfuerzos para encontrar una regla que permita decir que a las 12:01 GMT-5 eran las 13:02 GMT-7 en el servidor que tenía esa hora y así sucesivamente.

Administración de LOGs


Es importante muchas veces el manejar los históricos (logs) de nuestros servidores en un solo lugar: mantener todos los históricos de todos nuestros servidores en un sistema de logs centralizado. Pocas organizaciones se preocupan por esto y mantienen los logs en cada uno de sus servidores. Esto trae muchas dificultades pues a veces los servidores se reinstalan y los logs del equipo reinstalado se pierden, o algo más importante: se pierde la posibilidad de correlacionar fácilmente lo ocurrido en la red: el atacante pudo haber intentado hacer algo en un servidor y luego violado las seguridades de otro, etc. Al tener todos los logs en un solo lugar se vuelve más fácil analizar la correlación de eventos de varios servidores. 

Desarrollo de Software


Otro aspecto muy importante es incluir los temas concernientes
a la seguridad desde el inicio. Cuando se nos contrata para el desarrollo de un sistema, es fundamental incluir el levantamiento de los requerimientos de seguridad desde la etapa de análisis. El desarrollo de una aplicación sin consideraciones de seguridad podría exponer a una organización a serias amenazas, como por ejemplo la alteración de sus estados contables, la exposición pública de datos confidenciales de clientes o empleados o el borrado de bases de datos. Lo mismo aplica para el diseño de la arquitectura de red que soportará un sistema. Recordemos además que los requerimientos de seguridad deberán estar presentes también en el proceso de mejora continua de los sistemas.

No Pasa nada


Un problema muy frecuente es la tendencia a hacer como que no ha pasado nada. Si se hace como que no ha pasado nada, se asume que el problema desaparecerá sin tener que actuar. No se ve el problema, no se mira hacia el problema y se supone que así el problema desaparecerá.
Lo más grave es que posiblemente desaparecerá… para  aparecer posteriormente con mayor impacto en la red. 
Los problemas no desaparecen solos: si no se los trata, regresarán con mayor fuerza. 

Antimalware

No implementar sistemas antimalware. Los equipos de nuestros usuarios deben estar protegidos por sistemas antimalware, por ejemplo, sistemas que impidan o detecten la entrada de virus o troyanos o la ejecución de un código malicioso en nuestros browsers, etcétera.

Capacitación a Usuarios

No capacitar a nuestros usuarios en seguridad. Los usuarios son la base de la seguridad. No importa cuánta fuerza se ponga en los sistemas y equipos de seguridad de una red: si un usuario no sigue las normas elementales de seguridad una organización puede ver comprometida su información.

2. Amenazas frecuentes


¿Qué amenazas de seguridad son las más frecuentes en
las organizaciones?

El malware que entra a través de los sistemas de correo, chat o sitios web es la amenaza más latente. Antiguamente nos referíamos solamente a virus, pero existe una fauna completa de malware que afecta la red:

• Virus: son programas que buscan infectar los ejecutables de los sistemas con la finalidad de replicarse a otros ejecutables. Los atacantes buscan cualquier forma que les permita lograr que un virus ingrese a un equipo y para ello se basan en correos o dispositivos removibles como pendrives que contienen virus a la espera de que el usuario lo ejecute.

• Gusanos: son virus que utilizan la red para replicarse. Es una forma mucho más rápida de propagación, pues aprovechan fallas de seguridad que no hayan sido actualizadas en las redes.

• Caballos de Troya o troyanos: son parecidos a los virus. El programa se presenta como una aplicación que hace algo útil  para el usuario, el usuario lo baja y ejecuta a la espera de una funcionalidad, pero en realidad se trata de un virus que toma control del equipo y busca comprometer su funcionamiento, robar información o credenciales del usuario, o usa el equipo para enviar correos masivos (spam).

• Spyware: son programas que buscan información específica
sobre el usuario: ancho de banda, a qué accede y a dónde, qué contiene su disco duro, etc., y normalmente es invisible. El impacto del spyware en una organización puede ser fatal, pues puede extraer información sensible de esta.

Algunos intentan cambiar la funcionalidad del navegador. Es frecuente ver en equipos comprometidos con cierto tipo de malware que al intentar abrir un sitio web el spyware lo redireccione a otro. Un caso típico es el del spyware que redirecciona Google hacia otro buscador desconocido.

• Adware: es aparentemente inofensivo, pero envía anuncios a los usuarios con la finalidad de que hagan clic y su autor gane dinero por estos clics. El adware es muy común en software's que se ofrecen gratuitamente, pero que en realidad buscan clics. Muchas veces el adware recolecta y envía información sobre el usuario del equipo, por lo que sí se convierte en un potencial peligro para la información que en él se almacene.

Ransomware: es una aplicación maliciosa que infecta una computadora, cifrando ciertos archivos para restringir el acceso del usuario a estos, hasta que se pague un rescate a cambio de la clave para descifrarlos. Este tipo de malware se ha vuelto uno de los ataques más comunes en estos tiempos.

Estas no son las únicas amenazas de malware, hay muchas
más. Y es importante hacer notar que muchas —sino todas— de estas amenazas se ven representadas no solamente en equipos de escritorio, sino además en los teléfonos inteligentes. Era esperable que sucediera, pues al momento hay muchos más celulares inteligentes que equipos de escritorio y los atacantes siempre buscan el mercado que mayores réditos les genere. En este caso hay mayor posibilidad de ganancia en este nicho de equipos inteligentes por la gran cantidad de usuarios que los utilizan.

3. Prevención de amenazas



Si no todas, al menos la mayoría de las técnicas que aquí se explican están basadas en conocimientos previos:

1. Mejorar el conocimiento de los usuarios: sin una apropiada capacitación o una apropiada transmisión de conocimientos a los usuarios no hay una buena seguridad. El usuario es puntal en la seguridad informática, ya que es el punto débil que los atacantes buscan, porque no suele estar preparado o capacitado para lidiar con un ataque.

2. Actualizaciones: los sistemas deben poder actualizarse. Siempre debe adquirirse equipamiento o sistemas que brinden actualizaciones durante un período extendido (tres años, cinco años o más). Además de la posibilidad de se actualizado, es necesario hacerlo. Deben actualizarse frecuentemente. Muchas —prácticamente todas— las amenazas logran su objetivo explotando fallas de seguridad conocidas previamente, por lo que si los sistemas están actualizados, es muy poco probable que un atacante logre colarse por una falla conocida.

3. Sistemas de prevención de malware: debe tenerse IDS/IPS, así como sistemas antimalware que protejan contra virus, troyanos, spyware y otros tipos de amenazas.
Lo anterior no es más que parte del plan de seguridad en capas que debe desarrollarse, de forma que si una falla se presenta en determinado momento, las otras capas puedan proteger a la organización.

4. Tipos de intrusos


¿Quién no ha sentido interés en conocer la identidad del atacante de sus sistemas? Con frecuencia se piensa que el sistema es atacado por personas sentadas en una habitación oscura, con una o varias pantallas de fondo negro donde corren sin cesar letras en verde, otra vez! como muestran las películas.

Pero la realidad es un poco más diversa que eso y hay una variedad de personas que atacan a los sistemas informáticos:


Hacker: suele pensarse que el hacker es el que daña al sistema y que es el intruso típico, pero no es así. La palabra hacker no fue concebida para un individuo que hace daño. En inglés, hack es golpear algo con un hacha y la terminación –er da el sentido de persona que hace algo.
En español, hacker significa típicamente ‘cacharrero’. Es el que tiene conocimientos para modificar algo, más allá de que quede bonito o feo (por eso hack), para que funcione.
Nuestros países están llenos de personas que arman un auto a partir de piezas de otros y usan su conocimiento para crear o modificar algo para que funcione a su gusto o al menos para que funcione.
Un hacker es entonces un individuo que tiene un conocimiento
bastante profundo de un área y aprovecha este conocimiento a su favor y en favor de otros. Ahora, hay hackers que usan su conocimiento para crear propias invenciones con el objetivo de hacer daño. Estos son llamados crackers.
El Cracker (Criminal Hacker) es alguien que usa su conocimiento
para hacer mal, para hacer daño. Ahora, no todos los que atacan tienen mucho conocimiento sobre una determinada área. Con la popularización de Internet surgieron diversos tipos de personas que quieren hacer daño, como las que se presentan a continuación:
Script Kiddie: en general es alguien joven, con pocos conocimientos de informática, se entera de herramientas que desarrollan hackers o crackers, las ejecuta y logra hacer daño en Internet.
Los lammers: son un caso similar a los scripts kiddies. Se denomina lammers a aquellos que demuestran no tener un conocimiento de Internet (ni siquiera el de un script kiddie) y se lanzan a hacer acciones contra terceros con la finalidad de hacer daño. Lo malo es que no tienen un conocimiento claro de lo que están usando ni de lo que están haciendo, simplemente pretenden hacer daño. Los mismos crackers llaman lammers a quienes demuestran que no saben, como una forma de ofenderlos, pero lo cierto es que pueden provocar daño, con su accionar descontrolado.
Claro que un lammer o un script kiddie puede ir aprendiendo nuevas cosas con el tiempo y adquirir nuevos conocimientos hasta lograr un nivel muy similar a los crackers, e incluso ha ocurrido que se cambien de «bando», para usar su conocimiento con la finalidad de brindar servicios a los demás y no para hacer daño.
Hay otra clasificación de las personas de acuerdo a cómo usan su conocimiento o cómo explotan las vulnerabilidades del sistema, que es la que sigue:
Black Hat: o sombrero negro: son quienes usan su conocimiento
para hacer cosas fuera de la ley, ya sea actividad maliciosa, robo de información o venta de servicios a grupos que actúan fuera de la ley. Aprovechan fallas de seguridad que no son conocidas y no divulgan haber encontrado estos agujeros.
Grey Hat: son quienes buscan cumplir sus objetivos, incluso si tienen que actuar al margen de la ley. Pueden informar de algún descubrimiento de una falla de seguridad, pero posiblemente lo hagan después de haberla explotado o vendido a terceros o haber avisado a la comunidad blackhat antes que al autor del sistema afectado.
White Hat: conocen técnicas para encontrar y explotar fallas de seguridad pero lo hacen para el beneficio de los afectados, avisándoles de las vulnerabilidades encontradas con la finalidad de que las puedan corregir.

¿Qué buscan los atacantes al invadir un sistema?

• Autorrealización: saber que pueden hacer algo que la gran mayoría no puede o no se dedica a intentar. Es una forma de lograr una meta. (Nunca nadie me cree pero es verdad)

• Venganza: dañar la reputación de una persona o institución.
Existen diversas formas de venganza. Una de las más comunes ahora es la pornovenganza, en la cual se publican fotos o videos íntimos de alguien muy cercano en el pasado. (¿Han visto las investigaciones que realizamos cuando estamos despechados? Esas no las tiene ni el FBI y algunos lo dejamos ahí hay gente que si lo utiliza para hacer mal…)

• Ganancias: buscar pagos para que un ataque cese o para poder desencriptar los archivos que han sido codificados (ransomware, por ejemplo), o buscar pagos a cambio de indicar fallas de seguridad que existen o de no divulgar las fallas encontradas. (Échele aguacate!!)

• Espionaje político o comercial: actualmente muy de moda, es el espionaje para robar secretos industriales o gubernamentales. (Dame tu fuerza Pegassus!!)


¿Es mucho verdad? Pero es sólo una probadita de las opciones que tenemos para cuidarnos y algo que debemos tener en cuenta es, pensar como el atacante y ver cuáles son nuestros puntos débiles, no creer que somos el non plus ultra y nadie puede con nosotros.


Espero les haya gustado y pues si no, al menos les sirvió de lectura, de nuevo gracias Anita por abrirme este espacio.
Saludos!