Friday, February 17, 2012

Pautas para usar serialización

VB.NET

<Serializable()> Public Class Test

C#

[Serializable]
public class Test

Qué es serialización?
Serialización es el proceso de convertir la información en bytes la cual puede ser guardada o transferida.

Pautas a la hora de utilizar la serialización.

*Si tenés dudas a la hora de serializar tu clase, atrévete a hacerla serializable "Serializable". Pues aunque tal vez ahora no necesites serializarla, en un futuro tal vez lo necesites o tal vez otro desarrollador necesite que esa clase sea serializable. Entonces, si aún tenés dudas, opta por hacerlo.

*Los atributos que son calculados, derivados o temporales deben ser "NonSerialized".

*Utiliza "SoapFormatter" cuando requieras portabilidad. Utiliza "BinaryFormatter" para una mayor eficiencia.

*Utiliza "XML Serialization" cuando necesites intercambiar un objecto a una aplicación que tal vez no está basada en el .NET Framework y cuando no necesites serializar miembros privados. Te da los beneficios: Mayor interoperabilidad, mejor administración, compatiblidad y legibilidad.

Monday, February 13, 2012

Métodos de extensión

Cuando estamos desarrollando nuestro propio framework para utilizarlo en nuestros proyectos, generalmente creamos una clase "Utilitarios" en la cual programos métodos que nos servirán de mucho en el desarrollo, métodos del tipo "shared" (si utilizas vb.net y "static" en C#)

Esto "nos ayudaba" a utilizar aquél método sin necesidad de crearnos un objeto de la clase a la cual pertenece, es decir, poder llamarlo directamente desde otros lugares. Pero, por qué digo "nos ayudaba"? Porque felizmente están los "Extensions Methods".

Métodos de Extensión
Nos permiten agregar métodos a las clases existentes de .NET Framework o a nuestras propias clases.

Ejemplo

Nos creamos nuestro módulo (en VB.NET 2008/2010) que se llame "Extensiones". A ese módulo le importamos System.Runtime.CompilerServices para extender los métodos. Mi método de ejemplo es el siguiente:


Imports System.Runtime.CompilerServices
Imports System.Text.RegularExpressions


Module Extensiones

     _
    Public Function hasEspecialCharacters(ByVal input As String) As Boolean
        If Regex.IsMatch(input, "^[a-zA-Z0-9ñÑáéíóúÁÉÍÓÚ]+$") Then
            Return False
        Else
            Return True
        End If
    End Function
End Module


El método del ejemplo valida dada una entrada si ésta tiene caracteres especiales, devuelve true si los tiene, false si no los tiene. También tuve que importar RegularExpressions para que el ejemplo me funcione.

No te olvides escribir "<Extension()> _" antes de la firma de tu método. (Sólo ahí, el que aparece luego al final del módulo como se ve en el ejemplo es solo por el intérprete html de blogspot jeje, ignóralo.)

Luego, la llamada sería así:



HaPPy CoDiNg

Friday, February 10, 2012

Ceh – certified ethical hacker

Este profesional habilidoso debe entender y conocer como debe buscar debilidades y vulnerabilidades en sistemas objetivo, a demás usar el conocimiento y herramientas como todo un hacker malicioso.

Conocimientos

Introducción al Hackeo Ético
Huellas
Escaneo
Enumeración
Hackeo de sistemas
Troyanos y puertas traseras
Sniffers
Negación del servicio
Ingeniería social
Hijacking de sesión
Hackeo de servidores Web
Vulnerabilidades de aplicaciones Web
Técnicas basadas en la Web de crackeo de claves
Inyección de SQL
Hackeo de redes inalambricas
Virus y gusanos
Seguridad física
Hackeo de Linux
Evasión de IDS’s, Firewalls, y Honeypots
Sobrecarga de Buffer
Criptografía
Pruebas de penetración

Thursday, February 9, 2012

CFE – Certified Fraud Examiner

Un CFE es un líder en la comunidad anti-fraudes, que se destaca como especialista en la prevención y disuasión de fraudes. Representan los estándares más altos de la ACFE y poseen una gran habilidad en todos los aspectos de la profesión. Conducir la investigación y el desarrollo hacia métodos y tecnologías nuevas y emergentes en el campo de las ciencias de la computación forense

Conocimientos

Los conocimientos certificados por la CFE abarcan cuatro áreas:

Criminología y Ética: el propósito de ésta área es probar el conocimiento de los conceptos criminológicos y evaluar la comprensión de la ética fundamental de la profesión de investigador de fraudes. Aquí se incluye la administración de la justicia criminal, las teorías de la causación del crimen, las teorías de prevención del fraude, fuentes de información del crimen, y situaciones éticas.

Transacciones Financieras: se pondrá a prueba el conocimiento de los tipos de transacciones financieras fraudulentas en las que se incurren en los registros contables. Se debe demonstrar conocimiento en contabilidad básica y teoría de auditoría, tipos de fraudes, controles internos para disuadir fraudes y otros asuntos de auditoría y contabilidad.

Investigación de Fraudes: se incluyen temas como: entrevistas, toma de declaraciones, obteniendo información de archivos públicos, rastreando transacciones ilícitas, evaluando engaños y reportes escritos.

Elementos Legales de Fraude: se pondrá a prueba la familiaridad con muchas de las ramificaciones legales de la conducción de investigaciones de fraudes, incluyendo leyes criminales y civiles, reglas de la evidencia, derechos del acusado y del acusador, y experto en asuntos de testigos.

Wednesday, February 8, 2012

Certificaciones afines a La seguridad informática

Entre las certificaciones asociadas al área de la seguridad informática y áreas afines están:

CISA. Certified Information Systems Auditor. Es una certificación para auditores respaldada por la ISACA (Information Systems Audit and Control Association).

CISM. Certified Information Security Management. Es una certificación para administradores de seguridad de la información respaldada por la ISACA.

(Diferencia entra CISA y CISM: CISA es para trabajar como auditor y CISM es para trabajar como gerente o gestor de proyectos.)

CFE. Certified Fraud Examiner - Investigador de Fraudes Certificado. Un CFE es un líder en la comunidad anti-fraudes, que se destaca como especialista en la prevención y disuasión de fraudes.

FCA. Forensic Computer Advisor. La Certificacion FCA comprende ampliamente la ciencia de la Informática Forense, desde temas legales hasta temas muy tecnicos en materia forense.

CEH. Certified Ethical Hacker - Hacker Ético Certificado. Debe entender y conocer como debe buscar debilidades y vulnerabilidades en sistemas objetivo, a demás usar el conocimiento y herramientas como todo un hacker malicioso.

CISO. Certified Information Security Officer. Permite al profesional desarrollar conocimientos y habilidades que lo habilitan para el ejercicio de la función: Oficial de Seguridad obteniendo un reconocimiento, local mediante un certificado profesional.

En las siguientes publicaciones iré desarrollando un poco más en lo que consiste cada certificación.

Monday, February 6, 2012

Informática forense


La otra tarde, conversando entre ingenieros (jeje, es que los ingenieros tenemos conversaciones ingeniosas xD), surgió el tema de la "Informática Forense". Es que resulta que un compañero de la U pronto va a defender su examen de grado de derecho (su segunda carrera).

Hace tiempo ya, a inicio del 2010 leí sobre la informática forense, en la ciudad de Sucre se estaba ofertando una especialidad, su audiencia estaba dirigida para los abogados, ingenieros de sistemas, informáticos...

De las ramas de la carrera de derecho, siempre me interesó más la penal. Mucho por investigar, mucho por analizar, se necesita cuidado, ser minuciosos, para mi es algo apasionante - jejeje.

Pero... qué es la informática forense?

Es la ciencia dedicada a la recolección, preservación, análisis y presentación de la evidencia digital en casos judiciales, arbitrales o procesos internos disciplinarios.

Es el proceso de investigar dispositivos electrónicos o computadoras con el fin de descubrir y de analizar información disponible, suprimida, u ocultada que puede servir como evidencia en un asunto legal.

La Informatica Forense recolecta y utiliza la evidencia digital para casos de delitos informáticos y para otro tipo de crimenes usando técnicas y tecnologías avanzadas. Un experto en informatica forense utiliza estas técnicas para descubrir evidencia de un dispositivo de almacenaje electrónico.

Esta ha sido una pequeña introducción, más adelante desarrollaré un poco más este tema tan interesante y actual.