Esta pregunta es mas común de lo que se cree y se debe al modo en que se está enseñando a programar en éste momento.
En Java, Python y la mayoría de los lenguajes la manera de programar comienza desde la declaración de clases, debes declarar en código una clase main que es la que va a llamar a los diferentes procedimientos.
En Delphi se comienza por una ventana main la cual vamos a ir llenando con los componentes respectivos, es una manera gráfica de pensar contrario a la manera de código, cada vez que se piensa en una funcionalidad estamos pensando en un componente o en una serie de comportamientos.
Delphi se presta de excelente manera a lo que es UML por que le enseña a uno a programar por comportamientos y seguir las líneas de ejecución basadas en el diseño hecho en el diagrama de secuencia.
¿Cuales son las ventajas de programar en Delphi?
Delphi utiliza una serie de componentes preprogramados que permiten desde hacer cosas sencillas como obtener un dato en texto hasta controlar la capacidad GPS del teléfono.
Existen miles de ejemplos de algoritmos que se pueden hacer en delphi, por favor pregunten por lo que necesiten hacer y con gusto publicaré lo que requieran
Monday, March 31, 2014
Friday, March 28, 2014
5 errores básicos de tratar de migrar a estructura móvil
Los países desarrollados están adoptando la tecnología móvil a su infraestructura, interesante ¿verdad?.
En Latinoamérica no se ha dado ese paso por miedo al cambio, lo cual es una lástima, pero podemos aprovechar éste rezago al analizar los problemas y las propuestas que han surgido de ésta migración.
En Latinoamérica no se ha dado ese paso por miedo al cambio, lo cual es una lástima, pero podemos aprovechar éste rezago al analizar los problemas y las propuestas que han surgido de ésta migración.
- No es necesario migrar TODO a móvil
Los dispositivos móviles nos dan una plétora de opciones y de datos implícitos sin que el usuario necesite llenarlos, nos permiten comunicación en tiempo real en donde esté el dispositivo (siempre y cuando la red lo permita), pero eso no significa que sistemas completos deban ser migrados cuando no es necesario mas que añadir algunos módulos. - Es importante mantener metadatos de la compañía
Es tristemente impresionante la cantidad de empresas que no mantienen una base de metadatos, ésta base es una serie de convenciones que garantizan la compatibilidad de información de las bases de datos de la compañía entre módulos diferentes, por ejemplo: todos los campos "nombre" son varchar de 25 dígitos, hay que aprender a uniformar los sistemas para evitar los múltiples problemas que enfrentan las empresas. - Aprovechen el espacio local!
Parte de las ventajas del desarrollo móvil es la de mantener un centro de información, pero recordemos las fallas de sistemas y las zonas de conexión muerta, es muy buena idea mantener un cache de información local en el dispositivo para acelerar el rendimiento y permitir el trabajo offline. - Debe elegirse una base de datos acorde a lo que queremos hacer
Una base de datos gratuita sin encripción es totalmente aceptable para una aplicación gratuita y sin importancia, pero una aplicación para una empresa importante con datos de los clientes y de sus productos merece una base de datos con rendimiento y seguridad, no hay que ahorrar en lo importante. - La seguridad es lo primero!
"Toda empresa debe maximizar los ingresos y minimizar los gastos", es la máxima de toda empresa, pero existen dos reglas que parecen olvidar los gerentes de hoy en día, "obtienes el valor de lo que pagas" y "Para ganar dinero debes invertir dinero", debemos recordar que la seguridad de nuestra información es lo primero, cada vez más países reglamentan y castigan la pobre seguridad de la información y la seguridad es de las pocas cosas en las que NO se debe ahorrar, cada día aparecen más y más agujeros públicos en las plataformas conocidas, es cierto se puede tener mucha seguridad en un ambiente de código abierto si y solo si invertimos en un genio de código abierto comprobado, debemos aprender todos los días e invertir en tecnologías seguras.
Raúl Morales Víquez
Consultor en informática e Instructor, certificado en Seguridad Informática, Graduado en la Universidad Latina de Costa Rica con más de 10 años de experiencia en diversas áreas de cultura organizacional en empresas multinacionales.
Fuentes
Definiciones de Datos Clave
ico.org.uk/for_organisations/data_protection/the_guide/key_definitions
ico.org.uk/for_organisations/data_protection/the_guide/key_definitions
Costo de una intrusión
https://www4.symantec.com/mktginfo/whitepaper/053013_GL_NA_WP_Ponemon-2013-Cost-of-a-Data-Breach-Report_daiNA_cta72382.pdf
https://www4.symantec.com/mktginfo/whitepaper/053013_GL_NA_WP_Ponemon-2013-Cost-of-a-Data-Breach-Report_daiNA_cta72382.pdf
¿Que es la ciberguerra?
Hoy en día estamos en una guerra, una guerra a través de Internet, ¿que significa ésto?.
Todos estamos conscientes de lo difícil que está la vida en ésta época, cómo el dinero es cada vez más difícil de obtener y cómo cada vez más personas buscan maneras "fáciles" de obtener el dinero de los demás.
Hay miles de personas literalmente buscando información rentable o "paydata" para venderla, hoy en día es común la compra y venta de información privilegiada para usos semipúblicos, por ejemplo empresas de investigación de crédito cuyas actividades no son legales en todos los países en los que operan.
Existen personas que utilizan virus tipo troyanos para tomar control remoto de partes de la computadora y vender sus servicios en ataques en contra de sitios e incluso utilizan virus de tipo gusano para robar información de teléfonos y computadoras sobre cuentas bancarias.
Esto es la ciberguerra, la lucha entre protectores de la información en contra de ladrones de información, es la guerra en la que están involucrados todos aquellos que deciden entrar en la Internet, en la que si no tomas consciencia te conviertes en víctima, consulte a un profesional en seguridad si no está seguro de que tan segura está su información.
Todos estamos conscientes de lo difícil que está la vida en ésta época, cómo el dinero es cada vez más difícil de obtener y cómo cada vez más personas buscan maneras "fáciles" de obtener el dinero de los demás.
Hay miles de personas literalmente buscando información rentable o "paydata" para venderla, hoy en día es común la compra y venta de información privilegiada para usos semipúblicos, por ejemplo empresas de investigación de crédito cuyas actividades no son legales en todos los países en los que operan.
Existen personas que utilizan virus tipo troyanos para tomar control remoto de partes de la computadora y vender sus servicios en ataques en contra de sitios e incluso utilizan virus de tipo gusano para robar información de teléfonos y computadoras sobre cuentas bancarias.
Esto es la ciberguerra, la lucha entre protectores de la información en contra de ladrones de información, es la guerra en la que están involucrados todos aquellos que deciden entrar en la Internet, en la que si no tomas consciencia te conviertes en víctima, consulte a un profesional en seguridad si no está seguro de que tan segura está su información.
Wednesday, March 26, 2014
La Derrota ¿Cómo superarla?
Uno de los sentimientos más destructores es la derrota, en éste momento de la historia tan convulso no tenemos defensa contra la derrota, nos enseñan que los derrotados son los perdedores que están condenados y olvidados por los demás.
Mis padres fueron adoctrinados a que al ir a una universidad, el trabajo estaba asegurado, hoy eso es una vil mentira, un título universitario no es una garantía de trabajo, a veces es incluso un obstáculo para personas que estén buscando un empleo.
El título universitario es una ventaja cuando se utilizan esos conocimientos en crear nuevas maneras de mejorar la calidad de vida de nuestros colegas,
Nuestro ambiente está diseñado para que la derrota sea algo cotidiano, y estamos adoctrinados a aceptarla y trabajar con la cabeza agachada.
Debemos encontrar la fuerza dentro de nosotros, debemos tener la fuerza para hacer, lo que sea pero hacer algo, debemos avanzar aunque sea un poco cada día y superarnos.
La necesidad de ser mejor hoy de lo que fui ayer debe ser la tónica de nuestras vidas y aceptar la derrota no como algo que se espera, sino como una corrección del rumbo, ver las cosas como son y así como no debemos dejar que nuestras ilusiones nos gobiernen sin metas no permitir que nuestras pesadillas nos gobiernen sin obstáculos reales.
Pues no son obstáculos reales el "no puedo" sin un "voy a intentarlo", no es un obstáculo el "no sé" sin un "voy a investigar".
Sé que es duro, estamos en un ambiente donde nos educaron a ser "ganadores", pero la debacle está en que no podemos serlo a pesar de nosotros mismos, debemos ser ganadores reales aprendiendo a ser positivos y a adaptarnos al ambiente, y no pretendiendo adaptar el ambiente a nosotros
Mis padres fueron adoctrinados a que al ir a una universidad, el trabajo estaba asegurado, hoy eso es una vil mentira, un título universitario no es una garantía de trabajo, a veces es incluso un obstáculo para personas que estén buscando un empleo.
El título universitario es una ventaja cuando se utilizan esos conocimientos en crear nuevas maneras de mejorar la calidad de vida de nuestros colegas,
Nuestro ambiente está diseñado para que la derrota sea algo cotidiano, y estamos adoctrinados a aceptarla y trabajar con la cabeza agachada.
Debemos encontrar la fuerza dentro de nosotros, debemos tener la fuerza para hacer, lo que sea pero hacer algo, debemos avanzar aunque sea un poco cada día y superarnos.
La necesidad de ser mejor hoy de lo que fui ayer debe ser la tónica de nuestras vidas y aceptar la derrota no como algo que se espera, sino como una corrección del rumbo, ver las cosas como son y así como no debemos dejar que nuestras ilusiones nos gobiernen sin metas no permitir que nuestras pesadillas nos gobiernen sin obstáculos reales.
Pues no son obstáculos reales el "no puedo" sin un "voy a intentarlo", no es un obstáculo el "no sé" sin un "voy a investigar".
Sé que es duro, estamos en un ambiente donde nos educaron a ser "ganadores", pero la debacle está en que no podemos serlo a pesar de nosotros mismos, debemos ser ganadores reales aprendiendo a ser positivos y a adaptarnos al ambiente, y no pretendiendo adaptar el ambiente a nosotros
Tuesday, March 25, 2014
¿En que puesto estamos en la ciberguerra?
Kaspersky tiene un mapa en tiempo real que utiliza los reportes que obtienen de virus, vulnerabilidades y ataques desde la nube que puede verse en éste enlace
http://cyberwar.kaspersky.com/
http://cyberwar.kaspersky.com/
Monday, March 24, 2014
Webinario Gratuito sobre cómo programar en RAD Studio para diferentes periféricos
Aprenda los detalles de cómo programar para Google Glass, drones y código de barras
Detalles aqui!
http://forms.embarcadero.com/DevicesWebinar1-22
Detalles aqui!
http://forms.embarcadero.com/DevicesWebinar1-22
Friday, March 21, 2014
Capacitación para desarrollar Apps Android e iOS
MÓDULO I : DELPHI XE5 BASE
del Lunes 21 al Jueves 24 de Abril de 2014 - de 2 a 7pm
________________________________________
• Configuring the Project.
• Object Oriented Programming.
• The Singleton Design Pattern.
• Basic Interface Elements.
• Visual Form Designer and Code Editor.
• LiveBinding Designer.
• Exception Handling.
• Delphi´s Debugger.
• Advanced Database Development.
• Using DBExpress to Access Database.
• Using FireDAC to Access Database.
• TClientDataSet.
• Introduction to XML.
• Introduction to JSON.
MÓDULO II : DELPHI XE5 - DATASNAP
del Viernes 25 al Miércoles 30 de Abril de 2014 - de 2 a 7pm
________________________________________
• Introducción y Arquitectura.
• Servidores DataSnap
- Ayudantes.
- DataSnap Server REST.
- DataSnap WebBroker.
- Métodos del Servidor. Proxies.
- Usando CallBacks.
- Ciclo de Vida de la Clase del Servidor.
- Monitoreando y Controlando TCP/IP Conexión.
• Clientes DataSnap
- Conectando los clientes con un Servidor DataSnap.
- Filtros.
- Validación de Certificados HTTPS.
• Serialización de Objetos usando JSON.
• Autenticación y Autorización.
• Manejo de Sesiones.
• Deployment.
• Conectores DataSnap para Dispositivos Móviles.
MÓDULO III : DELPHI XE5 APLICACIONES MÓVILES
del Lunes 5 al Jueves 8 de Mayo de 2014 - de 2 a 7pm
________________________________________
• Configuración del Ambiente
- iOS.
- Android.
• Creación de Interfaz de Usuario.
- LiveBinding Design.
• Usando la funcionalidad del Dispositivo.
- Tomar y Compartir Fotos.
- Usando el Sensor de Localización.
- Usando el “Notification Center”.
- Haciendo Llamadas con el Celular.
- Entre otros sensores.
• Uso de Base de Datos.
- DBExpress.
- FireDAC.
• Conectándose a Base de Datos Empresariales.
- DataSnap Client.
• Avanzado.
- Usando Componentes Nativos iOS y Android.
• Ejemplo Práctico Completo.
- Servidor DataSnap.
- Client Mobile
Persistencia Local
________________________________________
Instructor
Luis Felipe González - Venezuela – MVP
Profesor, Instructor y destacado Consultor en Programación Avanzada y desarrollo de Aplicaciones Distribuidas, con más de veinte años de experiencia. He entrenado profesionales en Starteam, VisiBroker (Jave y C++), JBuilder, C++Builder y Delphi, en diferentes países de Latinoamérica. Director Ejecutivo de VisiNet Soluciones, empresa de consultoría de software y desarrollo de proyectos a la medida y llave en mano, en Caracas, Venezuela. Como entusiasta desarrollador sigue experimentando con las tendencias tecnológicas actuales en el mundo de la computación avanzada. www.lfgonzalez.visiblogs.com
________________________________________
Lugar: New Horizonts Costa Rica – 200 metros
sur de la Librería Universal de la Sabana –
Monto de Inversión: $795,00 por persona, por módulo
Incluye: Refrigerios y certificados
del Lunes 21 al Jueves 24 de Abril de 2014 - de 2 a 7pm
________________________________________
• Configuring the Project.
• Object Oriented Programming.
• The Singleton Design Pattern.
• Basic Interface Elements.
• Visual Form Designer and Code Editor.
• LiveBinding Designer.
• Exception Handling.
• Delphi´s Debugger.
• Advanced Database Development.
• Using DBExpress to Access Database.
• Using FireDAC to Access Database.
• TClientDataSet.
• Introduction to XML.
• Introduction to JSON.
MÓDULO II : DELPHI XE5 - DATASNAP
del Viernes 25 al Miércoles 30 de Abril de 2014 - de 2 a 7pm
________________________________________
• Introducción y Arquitectura.
• Servidores DataSnap
- Ayudantes.
- DataSnap Server REST.
- DataSnap WebBroker.
- Métodos del Servidor. Proxies.
- Usando CallBacks.
- Ciclo de Vida de la Clase del Servidor.
- Monitoreando y Controlando TCP/IP Conexión.
• Clientes DataSnap
- Conectando los clientes con un Servidor DataSnap.
- Filtros.
- Validación de Certificados HTTPS.
• Serialización de Objetos usando JSON.
• Autenticación y Autorización.
• Manejo de Sesiones.
• Deployment.
• Conectores DataSnap para Dispositivos Móviles.
MÓDULO III : DELPHI XE5 APLICACIONES MÓVILES
del Lunes 5 al Jueves 8 de Mayo de 2014 - de 2 a 7pm
________________________________________
• Configuración del Ambiente
- iOS.
- Android.
• Creación de Interfaz de Usuario.
- LiveBinding Design.
• Usando la funcionalidad del Dispositivo.
- Tomar y Compartir Fotos.
- Usando el Sensor de Localización.
- Usando el “Notification Center”.
- Haciendo Llamadas con el Celular.
- Entre otros sensores.
• Uso de Base de Datos.
- DBExpress.
- FireDAC.
• Conectándose a Base de Datos Empresariales.
- DataSnap Client.
• Avanzado.
- Usando Componentes Nativos iOS y Android.
• Ejemplo Práctico Completo.
- Servidor DataSnap.
- Client Mobile
Persistencia Local
________________________________________
Instructor
Luis Felipe González - Venezuela – MVP
Profesor, Instructor y destacado Consultor en Programación Avanzada y desarrollo de Aplicaciones Distribuidas, con más de veinte años de experiencia. He entrenado profesionales en Starteam, VisiBroker (Jave y C++), JBuilder, C++Builder y Delphi, en diferentes países de Latinoamérica. Director Ejecutivo de VisiNet Soluciones, empresa de consultoría de software y desarrollo de proyectos a la medida y llave en mano, en Caracas, Venezuela. Como entusiasta desarrollador sigue experimentando con las tendencias tecnológicas actuales en el mundo de la computación avanzada. www.lfgonzalez.visiblogs.com
________________________________________
Lugar: New Horizonts Costa Rica – 200 metros
sur de la Librería Universal de la Sabana –
Monto de Inversión: $795,00 por persona, por módulo
Incluye: Refrigerios y certificados
Thursday, March 13, 2014
¿Que es AppMethod?
Appmethod es una versión de C++ Builder y Delphi enfocada al desarrollo multiplataformas que no es compatible con las versiones de delphi anteriores a XE2 ya que todas las aplicaciones programables utilizan el framework "FireMonkey".
¿Que es Firemonkey?
Firemonkey es un Framework especializado para multiplataformas que utiliza librerías que le permiten al código escrito y diseñado en él, ser compilado para diversas plataformas (Windows, MacOS, Android y IOS) en código nativo sin utilizar máquinas virtuales.
¿Cúal es la diferencia entre AppMethod y RAD Studio?
Rad Studio incluye muchas mas opciones para el desarrollador que AppMethod, AppMethod es recomendado para el programador cuyo objetivo sea las aplicaciones pequeñas
¿Que es Firemonkey?
Firemonkey es un Framework especializado para multiplataformas que utiliza librerías que le permiten al código escrito y diseñado en él, ser compilado para diversas plataformas (Windows, MacOS, Android y IOS) en código nativo sin utilizar máquinas virtuales.
¿Cúal es la diferencia entre AppMethod y RAD Studio?
Rad Studio incluye muchas mas opciones para el desarrollador que AppMethod, AppMethod es recomendado para el programador cuyo objetivo sea las aplicaciones pequeñas
Wednesday, March 12, 2014
Como hacer update de una aplicación en windows en general
Una opción al problema de actualizar el programa que desarrollamos es utilizar una plataforma de creación de instalador llamada Innosetup http://www.jrsoftware.org/isinfo.php
Innosetup es gratuita, soporta todas las versiones de windows y aún mejor su código fuente esta disponible en Delphi.
Esta solución es válida para todos aquellos que no deseen programar la suya propia o deseen algo completo en poco tiempo.
Innosetup es gratuita, soporta todas las versiones de windows y aún mejor su código fuente esta disponible en Delphi.
Esta solución es válida para todos aquellos que no deseen programar la suya propia o deseen algo completo en poco tiempo.
Tuesday, March 11, 2014
Delphi y Bluetooth
Un muy buen ejemplo de una aplicación Bluetooth con Delphi es ésta aplicación creada por
Björn Hansen
https://www.youtube.com/watch?v=vesPd5WvykA
Utiliza Bluetooth para conectarse a un sistema de iluminación e ilustra las facilidades de Delphi para conectarse a dispositivos Bluetooth
Björn Hansen
https://www.youtube.com/watch?v=vesPd5WvykA
Utiliza Bluetooth para conectarse a un sistema de iluminación e ilustra las facilidades de Delphi para conectarse a dispositivos Bluetooth
Como definir código para diferentes plataformas
Otra pregunta muy popular ha sido el ¿como utilizo una parte de código solamente para
un plataforma en Delphi?
Muy sencillo:
utilizando el condicional $ifdef como este ejemplo:
un plataforma en Delphi?
Muy sencillo:
utilizando el condicional $ifdef como este ejemplo:
{$DEFINE DEBUG} {$IFDEF Android} Writeln('Código para android.');
// Este código se ejecuta si la plataforma es android. {$ELSE} Writeln('Codigo para cualquier otra plataforma.');
// Este código se ejecuta si la plataforma no es android. {$ENDIF}
De ésta manera tenemos código opcional para las diferentes opciones
de plataformas que tengamos y más puesto que podemos discriminar entre
diferentes procesadores para código optimizado
Pueden encontrar el cuadro completo de opciones aca:
http://docwiki.embarcadero.com/RADStudio/XE5/en/Conditional_compilation_%28Delphi%29
Friday, March 7, 2014
Como actualizar nuestro programa en Delphi automáticamente
Ayer me llegó ésta pregunta y en el momento me pregunté si Embarcadero tenía un componente para hacerlo automágicamente, la respuesta es: nosotros tenemos que programarla.
Pero lo bueno es que hay varias técnicas para hacerlo y existe una lógica para que deba ser programado por nosotros los desarrolladores, cuando el mismo código fuente funciona para plataformas autoactualizables como las móviles, hacer un componente de éste tipo es redundante.
Las técnicas dependen del estilo de programación que utilicemos, por ejemplo si tenemos un solo programa ejecutable ejemplo: un sólo archivo ".exe" debemos pensar en crear un pequeño programa de tipo "loader" que sea el que se ejecute previamente, revise la versión en nuestro sitio y sobrescriba el archivo principal.
Si utilizamos archivos .dll y nuestro programa está bien diseñado como para que las actualizaciones solo necesiten reescribir el dll, sólo necesitaríamos escribir la rutina en nuestra aplicación principal.
Aqui adjunto algunos ejemplos de rutinas que pueden ser utilizadas:
Este algoritmo reescribe nuestro programa a un .bak para poder descargar una nueva versión
Aqui una muestra de código para ejecutar ésta idea
Pero lo bueno es que hay varias técnicas para hacerlo y existe una lógica para que deba ser programado por nosotros los desarrolladores, cuando el mismo código fuente funciona para plataformas autoactualizables como las móviles, hacer un componente de éste tipo es redundante.
Las técnicas dependen del estilo de programación que utilicemos, por ejemplo si tenemos un solo programa ejecutable ejemplo: un sólo archivo ".exe" debemos pensar en crear un pequeño programa de tipo "loader" que sea el que se ejecute previamente, revise la versión en nuestro sitio y sobrescriba el archivo principal.
Si utilizamos archivos .dll y nuestro programa está bien diseñado como para que las actualizaciones solo necesiten reescribir el dll, sólo necesitaríamos escribir la rutina en nuestra aplicación principal.
Aqui adjunto algunos ejemplos de rutinas que pueden ser utilizadas:
Este algoritmo reescribe nuestro programa a un .bak para poder descargar una nueva versión
EXE:=ParamStr(0); BAK:=ChangeFileExt(EXE,'.BAK'); IF FileExists(BAK) THEN DeleteFile(BAK); <If Update Available and ready for download> RenameFile(EXE,BAK); <Save downloaded file as EXE> <Execute EXE> ExitProcess(0)<End>
Aqui una muestra de código para ejecutar ésta idea
If strtoint(versionweb) > strtoint(versionlocal) Then begin Showmessage('Existe una nueva actualizacion disponible...'); Data := TMemoryStream.Create; IdHTTP2.Get('http://servidor.com/prog.exe',Data); Data.SaveToFile('prog.e_e'); data.Free; content := 'DIM WshShell, resultado'#10#13'Set WshShell = WScript.CreateObject ("WScript.Shell")'#10#13+ 'resultado = Msgbox("Se va a realizar una actualizacion al tarificador...",64,"AutoUpdater")'#10#13+ 'WshShell.Run "%windir%\System32\cmd.exe /C del /Q prog.exe ",0,true'#10#13+ 'WshShell.Run "%windir%\System32\cmd.exe /C move prog.e_e prog.exe",0,true'#10#13+ 'resultado = Msgbox("Se realizo proceso de actualizacion.",64,"AutoUpdater")'#10#13+ 'WshShell.Run "prog.exe"'#10#13+ 'WshShell.Run "%windir%\System32\cmd.exe /C del /Q update.vbs",0,true'#10#13+ 'WScript.Quit()'; Stream := TFileStream.Create('update.vbs', fmCreate); Stream.WriteBuffer(Pointer(content)^, Length(content)); Stream.Free; ShellExecute(Form1.Handle,nil,PChar('update.vbs'),'','',SW_SHOWNORMAL); // WinExec ('', 0); Application.ShowMainForm := False; Application.Terminate; end;
Consultor en informática e Instructor, certificado en Seguridad Informática, Graduado en la Universidad Latina de Costa Rica con más de 10 años de experiencia en diversas áreas de cultura organizacional en empresas multinacionales.
Wednesday, March 5, 2014
Criptomonedas, Moneda del Futuro?
¿Que es una criptomoneda?
Mucho
se ha hablado de las criptomonedas, cosas buenas y malas, pero lo cierto es que
llenan una necesidad de la sociedad moderna.
Existen
muchas criptomonedas, aunque la más famosa y valiosa es sin lugar a
dudas el bitcoin, existen criptomonedas privadas ligadas a empresas de
transferencia de dinero y existen criptomonedas públicas, se puede ver una
lista completa en http://www.coinwarz.com/cryptocurrency, las cuales son
utilizadas en diversos sitios como opciones al bitcoin.
¿Cómo se determina el valor de una criptomoneda?
La
criptomoneda es un certificado de seguridad con un número de "dueño"
que por acuerdo general tiene un valor flotante, su comportamiento es muy parecido
a un título negociable o las acciones de una compañía, su valor crece o decrece
de acuerdo a varios factores como:
- demanda:
como todo bien de mercado entre más personas la compren mayor será su
valor
- confianza:
como cualquier título valor, cuando alguna empresa que se dedica a la
comercialización de criptomonedas sufre un robo o pérdidas, la
criptomoneda pierde valor ante el público.
- aceptación:
toda moneda es tan valiosa como su capacidad de ser convertida es
productos, servicios o en otro tipo de moneda.
¿Qué
necesito para tener una billetera de criptomonedas?
La
evolución a criptomoneda exige de las personas una nueva forma de actuar con
respecto a la seguridad de su dinero, necesitan informarse sobre las llaves
públicas y privadas que rigen la seguridad de sus cuentas, por ejemplo, muchas
personas utilizan la billetera de criptomoneda en el celular, pero si guardan
las llaves privadas en el mismo teléfono existen maneras de copiarlas y obtener
acceso a su billetera.
Para
explicarme mejor, la billetera de criptomoneda es una larga línea de caracteres
que lo identifica a usted, y es generada y registrada por el programa con el
que decida guardar sus criptomonedas, el acceso a su billetera se da en dos
partes, para depositar y saber que existe, se envía lo que se llama una llave
pública que identifica su cuenta, y para hacer cambios y accesar los
fondos se necesita un acceso privilegiado que se escribe en un archivo llamado llave
privada, el que tenga una copia de su llave privada tiene acceso a
su billetera.
¿Quién controla los movimientos de dinero?
La
respuesta a ésta pregunta es interesante, todos los movimientos de dinero son
públicos, existe un archivo que crece y es mantenido por las computadoras que específicamente
se dedican a validar éstos movimientos.
Existe
un proceso que es vital para las criptomonedas, el "mineo" o
"mining", éste proceso significa utilizar los recursos de
procesamiento de la computadora para validar una cadena de transacciones, el
premio por utilizar la computadora para éste proceso es un paquete de
criptomonedas nuevas en nuestra cuenta.
En
pocas palabras todas las computadoras dedicadas al "mining" controlan
los movimientos de su cuenta, haciendo el proceso de hackeo difícil si no
imposible, el diseño del proceso de mineo hace muy difícil el falsificar una
transacción.
¿Es ilegal tener bitcoins?
No
es ilegal el tener bitcoins en ningún país del mundo hasta ahora, incluso
varios gobiernos estudian la posibilidad de cargar impuestos a las ganancias en
ésta moneda.
La
anonimidad de las billeteras virtuales ha impulsado a personas inescrupulosas a
utilizar varios tipos de criptomonedas en sus pagos por sus productos y
servicios ilegales, pero las criptomonedas en sí no son ilegales.
Consultor
en informática e Instructor, certificado en Seguridad Informática, Graduado en
la Universidad Latina de Costa Rica con más de 10 años de experiencia en
diversas áreas de cultura organizacional en empresas multinacionales.
Sunday, March 2, 2014
Ingeniería Social, el punto débil de cualquier organización
Ingeniería Social, el
punto débil de cualquier organización
Hoy en día
es común el recibir correos de príncipes africanos que sólo necesitan nuestra
información bancaria para salvar sus millones a cambio de una comisión o de
loterías de internet que sólo requieren de $200 de impuesto para que nos envía
$4 millones de dólares, pero ¿cuantas personas cayeron ante estos engaños?,
¿Cuánta gente sigue cayendo?
El robo de
información de la empresa Kickstart, la empresa que ha conseguido capital para
las nuevas empresas a través de internet, no fue algo inesperado, por lo menos
no para los profesionales de seguridad, sino algo que era de esperarse luego de
los grandes robos contemporáneos.
Sony y
Target son empresas aún más grandes que han sufrido ataques informáticos en
los últimos años, la seguridad informática es algo que ni siquiera es prioridad
para los programadores y gerentes de empresas, es sólo otro gasto ¿verdad?,
pero cuando pasa algo como esto uno no duda en preguntarse, ¿no es un error
lógico y fácil de evitar?
La verdad,
difícil de tragar, es que la culpa es nuestra como usuarios, ¿cuántos de
nosotros leen los términos de licencia de un programa, o le encargamos a un
abogado a que lo haga y nos los explique?, ahora bien ¿cuántos leemos siquiera
lo que nos piden en las pantallas emergentes?, ¿cuándo es mejor presionar
“cancelar” que presionar “ok”?
Hace poco
me llegó un correo que fue novedoso, me guio a una página igual a paypal, una
página muy conocida de pago con tarjeta de crédito, y me alarmó mostrándome un
cargo al que yo no había accedido, siendo honesto yo ya sospechaba algo raro
por el comportamiento de la página, ya que todos los links me pedían “resetear” la cuenta antes de darme más
información e insistían en que debía “refrescar”
los datos de tarjeta de crédito, ¡Alerta!
Las páginas reales te dan la información una vez que uno se autentica,
no le piden más datos hasta que uno intente cambiar algo y le informan de lo
que pasa sin tener que autenticarse varias veces.
¿Cómo reconocer una página
falsa de una real?
1. Revise el campo de dirección: Las
páginas falsas utilizan nombres de dominio alternos o de países diferentes como
http://Bancogeneral.freewebs.com o http://Bancogeneral.com.ru
2. Los enlaces van todos hacia un mismo
destino: rara vez los artistas del engaño dedican mucho tiempo en la creación
de páginas falsas así que para ahorrar tiempo envían todos los enlaces de la
página a obtener su información
3. Exigen más información de la
necesaria para acceder: por lo general estos artistas son muy ambiciosos y
apuestan a obtener toda su información de una sola vez
Recuerde
1. Siempre acceda a sus páginas
financieras escribiendo la dirección directamente, nunca desde un enlace.
2. Si sospecha que entró a una página
falsa, ¡Cambie su clave!
3. Si recibe un email sospechoso,
envíelo a la oficina de seguridad informática de su empresa financiera
4. Elija empresas financieras que
tengan oficinas de seguridad informática.
¿Qué es ingeniería social?
El tema de
la ingeniería social es utilizar las habilidades sociales de una persona o
grupo para obtener información, esto se da a través de:
·
Llamadas
telefónicas: Cuando el “administrador del sistema” ocupa su clave para hacer un
mantenimiento de su cuenta, los administradores tienen control absoluto del
sistema y no requieren de claves para respaldar su correo electrónico.
·
Correos
electrónicos: ahora es posible el esconder virus en fotos y archivos de música
que se vuelven indetectables para muchos antivirus, solo abra los archivos que
vienen de fuentes fidedignas.
·
Acceso
físico: hay miles de tipos de dispositivos electrónicos diseñados para copiar y
rastrear información.
Recuerde, conforme la
empresa es más grande, la información es más valiosa.
El método
de defensa de las empresas pequeñas que les permite mantener cero o muy poco
presupuesto en seguridad es que el costo de violar su seguridad es más alto que
la ganancia potencial, esto no se da en empresas cuya base de datos incluya
información sensible de funcionarios de otras empresas o gobierno.
El error
de muchas empresas es minimizar el valor de sus activos, es recomendable invertir entre el 20% y el 30% de sus ganancias en
diversos dispositivos de seguridad y respaldo para su información.
Ahora
siempre va a existir un límite entre lo aceptable y lo inverosímil, un juego de
espías es muy poco probable conforme es una pequeña empresa, pero en una gran
empresa con negocios de millones de dólares, los micrófonos y cámaras espías no
son gran inversión contra la ganancia potencial.
Defiéndase de la
Ingeniería Social
La
ingeniería social depende del desconocimiento de sus empleados del valor de lo
que hacen y de la información recabada
por parte de los intrusos, la manera más fácil de defenderse es negativizar
ésta ecuación.
Sus
empleados deben conocer el valor de la información interna de la compañía y no revelarla
a personas externas, sus mercadólogos deben ser expertos en el arte de revelar
información que atraiga a sus clientes y posibles inversores, pero que sea
inútil a personas que deseen hacerle daño a su compañía.
Sus
auditorías de seguridad deben apoyar a
sus empleados dándoles herramientas para bloquear fugas de información y
reiterándoles el valor de su actividad y su valor en la empresa.
Recuerde
el 75% de los ataques (maliciosos y accidentales) dentro de cualquier empresa
son causados por sus mismo empleados.
Consultor
en informática e Instructor, certificado en Seguridad Informática, Graduado en
la Universidad Latina de Costa Rica con más de 10 años de experiencia en
diversas áreas de cultura organizacional en empresas multinacionales.
Subscribe to:
Posts (Atom)
Exploring the Differences between Red-Teaming and Blue-Teaming in Cybersecurity: Why Red-Teaming is Sexier; but Blue-Teaming is More Crucial
When it comes to cybersecurity, there are two teams that often get confused: redteams and blueteams. Redteams are the hackers, the ones w...
-
Para trabajar en JSON se utiliza el objeto TJSONObject, de la siguiente manera: Si uno está generando la información a enviar puede usar...
-
Ayer me llegó ésta pregunta y en el momento me pregunté si Embarcadero tenía un componente para hacerlo automágicamente, la respuesta es: ...
-
Un mapa de calor o "Heatmap" es un mapa que cambia de color por zonas dependiendo de un dato, es muy usado para estadísticas de pr...