1 2 3 4 5 6

Facebook combate al spam con su propio lenguaje de programación

itnews 25-Ene-2013

Ligero y extremadamente eficiente, señala un programador.

Facebook desarrolló un lenguaje de programación interno para combatir el azote del spam.

El ingeniero de software Louis Brandy detalló el nuevo lenguaje (Feature eXtraction Languaje -FXL), en una publicación en el sitio de la red social. Comentó que FXL representa una manera rápida, flexible y segura para los ingenieros de integridad del sitio para escribir reglas que identifican spam antes de que afecte a los usuarios.

"Las amenazas de spam hacia la integridad del sitio de Facebook cambian todos los días, o incluso, cada hora", comenta Brandy.

"Los atacantes que usan estafas del tipo 'iPad 5 gratis' un día pueden llegar a tentar a los usuarios con promesas falsas de certificados de regalo. Afortunadamente, FXL brinda la capacidad de avanzar al mismo ritmo que las amenazas en constante evolución."

"Creamos FXL para... codificar explícitamente la lógica de negocio para combatir spam y recopilar información tan eficientemente como sea posible".

A pesar de la simplicidad del lenguaje, es "implacablemente eficiente" al recopilar grandes cantidades de información de diversas fuentes, una de las tareas de la cual derivó el nombre de FXL.

El lenguaje fue descrito como "una implementación enfocada y optimizada de un subconjunto del lenguaje Standard ML" con una sintaxis personalizada que busca optimizar FXL en lugar de necesitar una extensión del lenguaje.

If (Reputation(SharedUrl) < 0) Then [LogRequest] Else []

If (Reputation(SharedUrl) == MALWARE) Then [BlockAction, LogRequest] Else []

If (Average(Map(Reputation, PreviousSharedUrls(User, 5))) < 0) Then [WarnUser, LogRequest] Else []

Las reglas (arriba) expresadas en FXL buscan identificar URLs maliciosas en el historial de enlaces compartidos del usuario y datos obtenidos de servicios de reputación de URLs; son coherentes en términos de lógica de negocio, pero poco eficientes en la lógica que usan para recopilar información, si fueran ejecutadas en una implementación convencional de procesamiento por lotes ejecutadas de forma secuencial.

Este tipo de problemas son comúnes en grandes sistemas informáticos y es ahí donde FXL contribuye a mejorar este proceso de recopilación de información, que automatiza los procesos de procesamiento por lotes que recopilan información en una sola vez.

"Una implementación convencional evaluaría este código de arriba a abajo, de izquierda a derecha. Recopilando la información de forma secuencial, realizando un excesivo número de consultas al servicio de reputación de URLs desde la máquina ejecutando FXL".

El modo en cómo FXL atiende estos problemas está detallado por Brandy en su publicación de Facebook.

Fuente: itnews MA

Universidad Nacional Autonoma de México Aviso legal |  Créditos |  Staff |  Administración
Copyright © Todos los derechos reservados
UNAM - CERT