Nuevo contenido en OpenSecurityTraining

Ya os hemos hablado con anterioridad de OpenSecurityTraining.info. Un magnífico sitio lleno de clases orientada a la seguridad informática, totalmente gratuito. El motivo de esta entrada es que han añadido material nuevo. Una clase nueva llamada Understanding Cryptology, Core concepts. Sobre la cual han subido, por ahora, las diapositivas. Esperamos que suban pronto los vídeos también. El índice de dicha clase es el siguiente: Intro to cryptology, cryptography, cryptanalysis Overview of cryptography Symmetric cryptography Asymmetric cryptography Protocols Overview of adversary capabilities Overview of types of attacks Case studies of real attacks on real systems Standards El otro material nuevo son los vídeos de la clase llamada: Reverse Engineering Malware.
Leer más

Curso audiovisual sobre Machine Learning

En la web del Instituto de Tecnología de California podemos encontrar un serie de vídeos orientados a la enseñanza de Machine Learning, titulado Learning from Data. Técnica ampliamente usada en el campo de la inteligencia artificial, dónde básicamente nuestra aplicación estudia el entorno en el que se encuentra para aprender más sobre el mismo y así poder tomar decisiones. El índice de los vídeos es el siguiente: Bayesian Learning Validity of the Bayesian approach (prior, posterior, unknown versus probabilistic) Bias-Variance Tradeoff Basic derivation (overfit and underfit, approximation-generalization tradeoff) Example (sinusoidal target function) Noisy case (Bias-variance-noise decomposition) Bin Model Hoeffding Inequality (law of large numbers, sample, PAC) Relation to learning (from bin to hypothesis, training data) Multiple bins (finite hypothesis set, learning: search for green sample) Union Bound (uniform inequality, M factor) Data Snooping Definition and analysis (data contamination, model selection) Ensemble Learning Overview of aggregation methods (boosting, blending, before and after the fact) Error Measures User-specified error function (pointwise error, CIA, supermarket) Gradient Descent Basic method (Batch GD) (first-order optimization) Discussion (initialization, termination, local minima, second-order methods) Stochastic Gradient Descent (the algorithm, SGD in action) Initialization - Neural Networks (random weights, perfect symmetry) Learning Curves Definition and illustration (complex models versus simple models) Linear Regression example (learning curves for noisy linear target) Learning Diagram Components of learning (target function, hypothesis set, learning algorithm) Input probability distribution (unknown distribution, bin, Hoeffding) Error measure (role in learning algorithm) Noisy targets (target distribution) Where the VC analysis fits (affected blocks in learning diagram) Learning Paradigms Types of learning (supervised, reinforcement, unsupervised, clustering) Other paradigms (review, active learning, online learning) Linear Classification The Perceptron (linearly separable data, PLA) Pocket algorithm (non-separable data, comparison with PLA) Linear Regression The algorithm (real-valued function, mean-squared error, pseudo-inverse) Generalization behavior (learning curves for linear regression) Logistic Regression The model (soft threshold, sigmoid, probability estimation) Cross entropy error (maximum likelihood) The algorithm (gradient descent) Netflix Competition Movie rating (singular value decomposition, essence of machine learning) Applying SGD (stochastic gradient descent, SVD factors) Neural Networks Biological inspiration (limits of inspiration) Multilayer perceptrons (the model and its power and limitations) Neural Network model (feedforward layers, soft threshold) Backpropagation algorithm (SGD, delta rule) Hidden layers (interpretation) Regularization (weight decay, weight elimination, early stopping) Nonlinear Transformation Basic method (linearity in the parameters, Z space) Illustration (non-separable data, quadratic transform) Generalization behavior (VC dimension of a nonlinear transform) Occam's Razor Definition and analysis (definition of complexity, why simpler is better) Overfitting The phenomenon (fitting the noise) A detailed experiment (Legendre polynomials, types of noise) Deterministic noise (target complexity, stochastic noise) Radial Basis Functions Basic RBF model (exact interpolation, nearest neighbor) K Centers (Lloyd's algorithm, unsupervised learning, pseudo-inverse) RBF network (neural networks, local versus global, EM algorithm) Relation to other techniques (SVM kernel, regularization) Regularization Introduction (putting the brakes, function approximation) Formal derivation (Legendre polynomials, soft-order constraint, augmented error) Weight decay (Tikhonov, smoothness, neural networks) Augmented error (proxy for out-of-sample error, choosing a regularizer) Regularization parameter (deterministic noise, stochastic noise) Sampling Bias Definition and analysis (Truman versus Dewey, matching the distributions) Support Vector Machines SVM basic model (hard margin, constrained optimization) The solution (KKT conditions, Lagrange, dual problem, quadratic programming) Soft margin (non-separable data, slack variables) Nonlinear transform (Z space, support vector pre-images) Kernel methods (generalized inner product, Mercer's condition, RBF kernel) Validation Introduction (validation versus regularization, optimistic bias) Model selection (data contamination, validation set versus test set) Cross Validation (leave-one-out, 10-fold cross validation) VC Dimension Growth function (dichotomies, Hoeffding Inequality) Examples (growth function for simple hypothesis sets) Break points (polynomial growth functions, puzzle) Bounding the growth function (mathematical induction, polynomial bound) Definition of VC Dimension (shattering, distribution-free, Vapnik-Chervonenkis) VC Dimension of Perceptrons (number of parameters, lower and upper bounds) Interpreting the VC Dimension (degrees of freedom, Number of examples) Además cada vídeo está acompañado de las diapositivas que el profesor usa, así como los deberes asignados en el mismo.
Leer más

Mini curso gratuito sobre desarrollo de aplicaciones para iPad

Desde la Universidad de Carnegie Mellon, podemos acceder a un curso audiovisual totalmente gratuito sobre una introducción al desarrollo de aplicaciones para iPad y está formado por tres clases. El curso está alojado en iTunes y este es el índice: Lecture 1: Introduction Lecture 2: Objective-C Lecture 3: InfoViz with Maps / MVC & Interface Builder
Leer más

Curso audiovisual basado en el libro Understanding Cryptography

En http://wiki.crypto.rub.de han tienen publicado una clase sobre criptografía usando como libro base Understanding Cryptography. El curso está dividido en 13 apartados: 1 - Introduction to Cryptography 2 - Streamciphers 3 - DES and Alternatives 4 - AES 5 - More about Block Ciphers 6 - Intro to Public-Key Crypto 7 - RSA 8 - Discrete Logarithm Based Crypto 9 - Elliptic Curve Cryptos 10 - Digital Signatures 11 - Hash Functions 12 - Message Authentication Codes (MACs) 13 - Key Establishment En cada apartado puedes ver el/los vídeos del mismo.
Leer más

Curso de programación para Android

Vladimir Kulyukin profesor del departamento de ciencias de la computación de la universidad del estado de Utah, ha puesto disponible de forma totalmente gratuita un completísimo curso sobre programación para Android. Cada tema del curso no sólo va acompañado con la correspondiente presentación, sino además con varios vídeos de demostración. Este curso está dividido en las siguiente 14 clases: Lecture 01: Software Installation, Documentation and Coding Resources, Android OS, Components of Android Application, XML Primer Lecture 02: Developing for Mobile Devices (Best Practices), Developing for Android (Best Practices), User Interfaces, Views, Layouts, Code vs.
Leer más

Androguard, ingeniería inversa para Android

Con esta aplicación Androguard (hecha en Python) podrás realizar ingeniería inversa a las aplicaciones Android. Algunas cosas que puedes hacer: Mapear y manipular (escritura y lectura) DEX/CLASS/APK/JAR Acceso al análisis del código (instrucciones, bloques, etc) Volcar las clases JVM a memoria ... y mucho más. Puedes descargarla desde aquí.
Leer más

Dalvik VM: Ficheros .dex

En esta entrada vamos a hablar de la estructura interna de los ficheros .dex. Lo primero, decir que, los ficheros .dex se encuentran empaquetados dentro los archivos .apk (Android Package). A continuación podemos ver una imagen con la estructura interna de estos ficheros:

dex_structure

Como podemos apreciar, un fichero .dex esta divido en distintas secciones llamadas “pools”. El pool de strings contiene todos los Strings que las clases dentro del .dex usan. En pool de tipos (type_ids) se guardan los distintos tipos datos usados en la aplicación, etc. Además de las secciones mostradas en la imagen, en la estructura actual de los ficheros dex existe una sección más por debajo de la de datos (data) llamada link_data o enlace de datos. En este momento dicha sección no está documentada. Todo lo que dice la documentación oficial es que en ella se guarda información sobre los ficheros enlazados estáticamente. Si el fichero no es enlazado esta sección permanece vacía y dicha documentación concluye diciendo que dicha sección se use como mejor se adecue a nuestra implementación.

Veamos la estructura de cada sección.


Leer más

Dalvik VM: Optimización

Una de las tareas críticas de Dalvik es la optimización del código (byte code) para maximizar los recursos del sistema. Recordemos que Dalvik es una máquina virtual para correr sobre sistemas ligeros y con recursos escasos. Esta fase es realmente crítica, especialmente cuando el byte code de Dalvik es generado a partir del de Java, lenguaje con fama de lento y pesado. Este proceso de optimización se lleva a cabo justo antes de que la aplicación es ejecutada por primera vez.
Leer más

Curso de desarrollo de aplicaciones libre y código abierto

Desde la Universidad Nacional Australiana nos regalan un curso de desarrollo de aplicaciones FOSS (Free and Open Source Software) o aplicaciones libres y de código abierto totalmente gratuito. El curso está compuesto de 15 clases que, además del vídeo de la clase, también disponemos para descarga la documentación en la que se basa dicha charla. ¡Muchas gracias!
Leer más