Trainings

La journée de formation est une journée intensive avec un expert de la discipline. Le nombre de place pour chaque formation est limité à un petit groupe de personnes afin d’optimiser l’expérience : rendement, encadrement, échange personnel.

Formations intensives : 7h00 sur le domaine de Y-Parc.
Horaire: 9h00-12h00 / 13h30-17h30

GooglePlay

F_1 – Sécurité des applications Android: attaque et défense par Sébastien Andrivet

f3Niveau technique des participants: Une connaissance préalable d’Android n’est pas requise, mais des connaissances de Java sont recommandées.

Plan du cours:

- Présentation et connexion à l’environnement
- Se connecter à un appareil Android, adb
- Inspection du système de fichiers
- Décortiquer une application Android (APK)
- Etudes des ressources (fichiers, SQLite, …)
- Décompilation avec apktool, dex2jar, JD-GUI.
- Etude statique des binaires avec Androlyze
- Etude dynamique avec Fino, injection de code
- Modification d’application, recompilation et signature
- Etude d’applications du marché (Google Play)
- Interception des communications avec Burp Suite. modifications des requêtes, …
- Désactivation des mesures de sécurité (SSL, …)
- Les frameworks d’audits: Fino, Virtuous Ten, Drozer (ex-Mercury), …
- Le chiffrement, les pièges à éviter
- Les bonnes pratiques
- L’obscurcissement

Cette formation est à 100% pratique et sera principalement basée sur des exercices/labs. Nous utiliserons des applications publiques et certaines autres “ad hoc”.

Un Samsung S4 LTE 16 GB à gagner: A la fin de la formation, un petit défi sera proposé aux participants de la formation. Le but sera de mettre en pratique les notions apprises. Le ou la plus rapide à trouver une solution gagnera un Samsung S4 LTE 16 GB.

La brochure détaillée de la formation est disponible : Android Security Training

Tarif: CHF 750
Tarif étudiant : CHF 300

Matériel à apporter pour le cours: Un laptop (Windows, Linux, Mac OS X, etc.) capable de se connecter à un réseau wi-fi. Les participants peuvent prendre leur propre appareil Android mais ce n’est pas indispensable.

F_2 – Crypto for developers, par Jean-Philippe Aumasson

Plan du cours:

This is a course of applied cryptography aimed at anyone implementing crypto, using crypto libraries or APIs, reviewing Crypto implementations, selecting crypto schemes, or even designing new ones. In order to best understand how to build software with secure crypto, we will focus on attacks, with theory and principles supported with real-world examples of recent crypto bugs. We plan to have an interactive course, with everyone sharing experiences and asking questions or suggesting discussion topics.

The course can be given in French or English, depending on the audience.

A tentative roadmap is as follows (to be adapted depending on the participants’ expertise and preferences):

  1. Background/definitions
    - The building blocks: ciphers, hash functions, MACs, PRFs, RNGs, public-key encryption, signatures, key agreement, etc.
    - Security notions and models: semantic security, perfect forward secrecy, black boxes vs. side channels, etc.
  2. Randomness
    - Examples of bugs and (epic) failures
    - How to use strong randomness, depending on your needs/constraints: Which RNG to use? Which API? Which entropy source(s)? etc.
    - How (not) to test your RNG, what tests it will (not) detect
  3. Attacks and defenses
    - Timing attacks: principle, examples of attacks, defenses
    - Padding oracles: principle, examples of attacks, defenses
    - Case study: AES cache-timing attacks
    - Case study: RC4 failures (from WEP to TLS)
    - Case study: RSA PKCS#1 v1.5 and side channels
  4. Using crypto
    - Libraries and APIs: when (not) to use OpenSSL, CryptoAPI, NaCl, etc.
    - AES-128 or AES-256? RSA or ECC? which TLS ciphersuites? etc.
    - What is the right key size? for which application?
    - Testing crypto (it’s more than test vectors)
    - Elliptic curve crypto demystified

Useful references to check before the training:

A presentation brochure is available at https://131002.net/data/training/cryptofordev.pdf

Tarif : CHF 500
Tarif étudiant : CHF 200

Matériel à apporter pour le cours: Laptop avec python installé

F_3 - Sécurité des nouvelles technologies web par Florent Batard et Manoé Zwahlen
f5
Niveau technique : pratiquant, expert
Plan du cours:

Introduction

  • But du cours
  • Présentation des évolutions Web
  • Présentation des nouvelles technologies

Attaques HTML5

  • Présentation des changements (nouvelles balises importantes)
  • Présentation de la sécurité
  • Attaques
  • mutatingXSS
  • SVG inclusion
  • Sécurité des iframes
  • Websockets exploitation
  • Local Webstorage injections
  • Web Threads: Workers
  • Abuse the Geolocation
  • Cross origin Resource Sharing

Attaques NoSQL

  • NoSQL injection Mongodb
  • Neo4j graph injection

Nouveaux Frameworks web

  • Symfony2
  • Django/Bottle/Flask
  • Tornado (DDos asynchrone)
  • Ruby On Rails

Frameworks JS

  • Exploiting Node.js
  • Exploiting Backbone.js

Conclusion

  • Evolution
  • References
  • Conseils de lectures / follow

Tarif: CHF 750
Tarif étudiant : CHF 300

Matériel à apporter pour le cours: Laptop avec éditeur de texte et navigateur moderne

F_4 – iOS security training for pentesters and app developers par Dominique Bongard

f2Niveau technique : Pratiquants avancés

Plan du cours:

- Introduction to the iOS Platform
- iPhone and iOS devices generations and their hardware
- The baseband processor
- The iOS operating system
- The Objective-C language
- The App Store

- Security Features of the iOS Platform
- The Secure Boot chain
- System software personalization
- Application code signing
- Runtime process security
- Encryption and data protection
- Network security (SSL, VPN …)
- Device security (pin codes)

- Jailbreaking
- Definition of jailbreaking
- Reasons for jailbreaking
- What jailbreaking does mean, technically speaking
- Current status of jailbreaking (device and OS versions)
- Jailbreaking tools
- The Cydia alternative App Store

- Auditing Applications
- The OWASP TOP 10 list of vulnerabilities
- Insecure Data Storage
- Weak Server Side Controls
- Insufficient Transport Layer Protection
- Client Side Injection
- Poor Authorization and Authentication
- Improper Session Handling
- Decisions Via Untrusted Inputs
- Side channel data leakage
- Broken cryptography
- Sensitive information disclosure

- Reverse engineering Applications
- The ARM assembly language
- Removing the DRM from applications
- Tools of the trade (otools, class-dump)
- Static Reverse engineering with IDA Pro and hopper

Tarif: CHF 750
Tarif étudiant : CHF 300

Matériel à apporter pour le cours: Laptop

F_5 – Web- and Java-specific vulnerabilities par Erno Jeges

f4

Technical level:
INTERMEDIATE

Spoken language(s):
ENGLISH

Course plan:

1. IT security and secure coding

  • Software security basics
  • From security flaws to cyber crime
  • Classification of security flaws

2. Web vulnerabilities in Java (with exercises)

  • Injection flaws (SQL, command, etc.)
  • Cross-site Scripting (XSS – persistent and reflected)
  • Cross-site Request Forgery (CSRF)
  • Insecure direct object reference
  • Malicious file execution

3. Java-specific vulnerabilities (with exercises)

  • Input validation (unsafe JNI, deserialization problems, integer overflows in Java, unsafe reflection, …)
  • Improper use of security features (randomness, password management, …)
  • Improper error and exception handling (correct exception throwing and catching, error reporting, …)
  • Concurrency and threading (thread handling, race conditions, synchronizing, …)
  • Code quality problems (unreleased resources, object hijacking, immutability, magic float crash, …)
  • Mobile code (critical publics, problem with inner classes, …)

Price: CHF 750
Student price : CHF 300

Prerequisite: a laptop computer with at least 7 Gb of free HD space. A VMWare Player can be installed in advance which is necessary to run the exercises, but this will be also distributed together with the virtual machine at the start of the training (takes 1-2 minutes to install).

Contact et informations supplémentaires
Pour toute information supplémentaire concernant le Forum, merci de contacter directement le team d’organisation à l’adresse: 2013@appsec-forum.ch