Social Lab es un software de redes sociales diseñado para investigar. Es abierto, libre (Affero General Publice License version 3), flexible y no propietario: cualquier parte puede adaptarse a necesidades específicas, y todos los datos de navegación y comunicaciones están disponibles para la investigación.
Existen otros paquetes de software para desplegar redes sociales. Sin embargo, Social Lab integra la funcionalidad de social bots para estimular y simular interacciones sociales dentro de la red.
La revista Behavior Research Methods ha aceptado nuestro artículo sobre Social Lab: (PDF). La referencia es:
Social Lab proporciona un "cajón de arena social", un lugar acotado y seguro en el que socializar, jugar y experimentar.
Un wargame es un reto relacionado con la seguridad informática en el que es necesario explotar una vulnerabilidad de un sistema o aplicación para lograr acceder al sistema. Las personas que participan en el reto han de emplear técnicas hacker para lograr superarlo.
Sin embargo, Social Lab es un wargame un tanto especial puesto que está orientado hacia la ingeniería social.
La Ingeniería social, en el contexto de la seguridad informática, es el arte de manipular a gente para que realicen determinadas acciones o divulguen información confidencial.
La ingeniería social como un acto de manipulación psicológica ha sido asociada previamente con las ciencias sociales, pero actualmente es habitual su presencia en ámbitos propios de las nuevas tecnologías.
El código de Social Lab está publicado bajo una licencia libre (Affero General Publice License version 3).
Las imágenes empleadas para crear los falsos perfiles del wargame en privacidad con Social Lab son propiedad de David Niblack y han sido publicada bajo una licencia Creative Commons Attribution 3.0.
Simplemente crea una cuenta de usuario, entra, y ¡empieza a resolver retos de ingeniería social!
<VirtualHost *:80> ServerName yoursociallab.org DocumentRoot "/var/www/yoursociallab/web" DirectoryIndex index.php Alias /sf /var/www/yoursociallab/lib/vendor/symfony/data/web/sf <Directory "/var/www/yoursociallab/lib/vendor/symfony/data/web/sf"> AllowOverride All Allow from All </Directory> <Directory "/var/www/yoursociallab/web"> AllowOverride All Allow from All </Directory> </VirtualHost>
$HTTP["host"] =~ "^(yoursociallab.org)$" { server.document-root = "/var/www/yoursociallab/web" server.errorlog-use-syslog = "enable" accesslog.filename = "/var/log/lighttpd/yoursociallab.access.log" server.max-keep-alive-requests = 0 server.max-keep-alive-idle = 0 fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" ))) server.indexfiles = ( "index.php", "index.html") alias.url = ( "/sf" => "/var/www/yoursociallab/lib/vendor/symfony/data/web/sf" ) url.rewrite-once = ( "^/(js|images|uploads|css|sf)/(.*)" => "$0", "^/[a-zA-Z_-]+\.(html|txt|ico)$" => "$0", "^/sf[A-Z][a-z]+Plugin.*" => "$0", "^/([a-z_]+)\.php([^.]*)$" => "/$1.php$2", "^/(.*)\.(.*)$" => "/index.php/$1.$2", "^/([^.]+)$" => "/index.php/$1", "^/$" => "/index.php" ) server.error-handler-404 = "/index.php" }
CREATE DATABASE social;
GRANT ALL ON social.* TO 'social'@'localhost' IDENTIFIED BY 'YOURpassword';
php symfony propel:data-load
crontab -e */5 * * * * /usr/bin/lynx --dump http://domain.org/default/scheduler
Cada vez que se envía una petición de amistad, Social Lab comprueba si involucra a un perfil automatizado (también conocidos como bots). Si ese es el caso, Social Lab crea una nueva tarea programada. Las tareas programadas son procesadas periódicamente por el Gestor de Tareas. Por lo tanto, las interacciones con perfiles automatizados no son inmediatas.
Cada tarea programada se define por los siguientes parámetros:
Para programar un perfil automatizado es necesario realizar los siguientes pasos:
El ejemplo más simple, un bot "aceptar siempre":
Un ejemplo algo más complejo:
El repositorio de código de Social Lab está disponible de forma pública en GitHub.