d’un vol données : - 2012 / 2016 : plus de 160 millions de comptes LinkedIn dans la nature - 2013 : 150 millions de comptes Adobe - 2016 : 80 millions de comptes dailymotion - Etc… Source : https://haveibeenpwned.com
Wikipedia : Dictionnaire des informations publiques relatives aux vulnérabilités de sécurité. - Pour faire simple : c’est une vulnérabilité, connue, détaillée et exposée publiquement. - Maintenu par différents organismes
Apache Commons FileUpload - Très utilisée. - Souvent présente de manière transitive : plus de 1 300 artifact l’utilisent ! - Faille : Remote Code Execution - Facilement exploitable - Souvent présente dans une dépendance directe, ou transitive - Une seule solution possible : mise à jour
SQL Injection - Détournement d’une requête SQL - Risques principaux : bypass de login, dump de la base données Exemple : SELECT id, nom FROM users WHERE login = ‘“ + login + “‘ “ AND password = ‘“ + password + “‘“
Failles connues mais peu maîtrisées (SQL Injection) - Méconnaissance sur les risques (XSS, Remote Code Execution) - Peu d’assurance sur le code produit Conclusion : - Besoin d’automatisation - Besoin de vérifications au jour le jour
de l’OWASP - Il sert à trouver des failles de sécurités dans les applications web - Utilisé pour les développeurs, les débutants en sécurités, ainsi que par les professionnels - URL : https://github.com/zaproxy
◦ Analyse tout le trafic entre le navigateur et l'application web. ◦ Cherche les problèmes liés à la configuration (Headers de sécurité qui manquent etc.). ◦ Peut être utiliser directement sur l’environnement de production (pas d’actions sur les données). - Actif ◦ Utilise des attaques connues pour détecter des vulnérabilités potentielles ◦ NE PAS UTILISER EN PROD OU SUR UNE APPLICATION QUE VOUS NE POSSÉDEZ PAS ! ;)
Rui Shu, Xiaohui Gu and William Enck North Carolina State University - Etude publiée le 22 mars 2017 de Rui Shu, Xiaohui Gu & William Enck (Université de Caroline du Nord) - > 300 000 d’images unique analysées (Avril 2016) - > 80% des images officielles sont vulnérable à des failles de sévérité élevés - Les images officielles contiennent moins de failles que les images tierces de la communauté - https://dl.acm.org/citation.cfm?id=3029832
- static analysis for fast, reproducible results - extensible to allow for easy addition of new analyzers, reporters, image formats, etc - URL : https://github.com/coreos/clair
2 APP Syscalls are turned into events with context : • The process name performing the system call • The process’s parents, grandparents, etc • The remote IP address to which the process is communicating • ... Syscalls
Condition: container.id != host and proc.name = bash Write to directory holding system binaries Condition: open_write and not package_mgmt_binaries and bin_dir System binary makes outbound connection Process other than skype tries to access camera Condition: evt.type = open and fd.name = /dev/video0 and proc.name != skype Condition: open_connection and proc.name in (ls, ps, mkdir, … )
/etc/pam.conf] - macro: sensitive_files condition: > fd.name startswith /etc and (fd.name in (sensitive_file_names) or fd.directory in (/etc/sudoers.d, /etc/pam.d)) - rule: Read sensitive file untrusted desc: > an attempt to read any sensitive file (e.g. files containing user/password/authentication information). Exceptions are made for known trusted programs. condition: > sensitive_files and open_read and proc_name_exists and not proc.name in (user_mgmt_binaries, userexec_binaries, package_mgmt_binaries, ... output: > Sensitive file opened for reading by non-trusted program ... priority: WARNING
the Stratum protocol desc: Miners typically specify the mining pool to connect to with a URI that begins with 'stratum+tcp' condition: proc.cmdline contains stratum+tcp output: Possible miner ran inside a container (command=%proc.cmdline %container.info) priority: WARNING - list: miner_ports items: [ 3333, 4444, 8333, 7777, 7778, 3357, 3335, 8899, 8888, 5730, 5588, 8118, 6099, 9332 ] - macro: miner_port_connection condition: fd.sport in (miner_ports) - rule: Detect outbound connections to common miner pool ports desc: Miners typically connect to miner pools on common ports. condition: node_app_frontend and outbound and miner_port_connection output: "Outbound connection to common miner port (command=%proc.cmdline port=%fd.rport %container.info)" priority: WARNING