Desarrollo Seguro en iOS con Swift

Securiza tus apps y conviértete en un experto en seguridad aplicada a la programación

4.85 (60 reviews)
Udemy
platform
Español
language
Programming Languages
category
196
students
13.5 hours
content
Sep 2019
last update
$129.99
regular price

What you will learn

Obtendrán todo el conocimiento necesario para securizar sus apps.

Conocerán cómo funciona y se implementan todas las soluciones de desarrollo seguro en programación para dispositivos móviles Apple.

Uso seguro de APIs de red y comunicaciones, criptografía, buenas prácticas de seguridad y muchos más...

Description

La seguridad es un elemento transversal de gran importancia. Siempre la ha tenido pero desde que nuestros equipos o dispositivos están conectados todos a una red, su importancia se ha disparado pues al igual que nosotros salimos a la red a buscar cosas, alguien podría intentar ir hasta donde estamos nosotros o tal vez obtener un beneficio de aquello que estamos haciendo.

Si somos usuarios de dispositivos Apple, tenemos mucho terreno ganado en cuanto a seguridad, aunque ningún sistema es 100% seguro pero cuantas más trabas pones a aquel que quiere atacarte, más protegido estás pues tal vez no le interese el esfuerzo para conseguir llegar hasta ti.

Esa premisa también se aplica al desarrollo: nosotros podemos desarrollar una app para iOS tal cual lo hacemos ahora y tendrá una serie de medidas de seguridad ya incluidas (sobre todo si lo hacemos en Swift) que ayudarán. Pero depende de la importancia de los datos o actividad que maneje tu app, tendrás que incluir medidas extras que el sistema no proporciona y que son muy importantes para garantizar la seguridad de los desarrollos, de nuestros usuarios y sistemas. No queremos tener fugas de información en nuestros sistemas o apps.

Además, no debemos olvidar el vigente Reglamento General de Protección de Datos de la Unión Europea que establece unas normas de prevención para el uso de datos que se aplican también al desarrollo seguro y que hemos de tener en cuenta.

Para ello, en Apple Coding Academy hemos creado este curso para ti: Desarrollo Seguro en iOS con Swift.

Un curso que te enseñará criptografía, buenas prácticas de seguridad en comunicaciones, en grabación de datos, en la configuración de servicios, el uso de código… un curso que te mostrará paso a paso cómo crear las herramientas o procesos que garantizarán la seguridad de tus desarrollos y con el que podrás crear tu propia librería de herramientas seguras y podrás establecer unos protocolos y métodos que garanticen que los datos, la app y todo tu trabajo están lo suficientemente protegidos como para no tener ningún problema.

Un curso lleno de ejemplos, trucos, ideas… que te enseñará cada pequeña parte esencial y todo en desarrollo nativo, sin usar librerías de terceros de ningún tipo. Comunicaciones OAuth2, subidas, bajadas y sesiones de datos, tratamiento de datos según su sensibilidad, uso de datos en bruto, cifrado, buenas prácticas de almacenamiento, ofuscación de código para proteger los datos o nuestro trabajo y mucho más… 

Aprenderás tanto la teoría que rodea a todo el ecosistema iOS, como las buenas prácticas que deberás tener en cuenta en tus trabajos y en qué nivel aplicar cada medida de seguridad según la sensibilidad de tus apps y tus sistemas. Teoría que también puedes aplicar en buena parte incluso en otros sistemas como Android. Aprenderás todo sobre la seguridad que tienen los dispositivos iOS, desde cómo funcionan en su arranque y gestión de las apps, protocolos de seguridad en comunicaciones, hasta qué y cómo funciona Touch ID y Face ID (y cómo implementarlo en tus apps). Y después de la teoría, mucha práctica, mucho código y todo explicado al detalle para que lo entiendas dentro de su complejidad y veas que al final son herramientas de gran utilidad que podrás modularizar a tu gusto.

No hay nada que quede fuera, todo para la última versión de Swift que podrás usar en cualquier versión de Xcode… desde la 8 en adelante incluso en la más reciente versión 10.

Da el paso necesario para securizar y dar la mayor garantía a tus desarrollos, a tus usuarios, a los datos que manejas, las comunicaciones y aprende a desarrollar de forma segura con este curso único. Verás el desarrollo de otra forma y te convertirás en un experto en seguridad a través de la programación.


Content

Presentación del Curso - Desarrollo Seguro en iOS con Swift

0 - Presentación del Curso

Introducción al Curso

Introducción

1.- Introducción teórica a la Seguridad en iOS

1.1.- Darwin, el nucleo
1.2.- ¿Es iOS y los iPhone, iPad o iPod Touch seguros?

2.- Capas de Seguridad en iOS

2.1.- Concepto de firma digital
2.2.- Capa de arranque seguro (Secure Boot)
2.3.- Capa de cifrado de datos (Secure Enclave)
2.4.- Sandboxing de Apps (de terceros y propias)
2.5.- App Transport Security (ATS)
2.6.- Cifrado de Datos
2.7.- Modos del Sistema para Cifrar Datos
2.8.- Firma del código
2.9.- Touch ID
2.10.- Face ID

3.- Ejemplos de inseguridad en iOS y dispositivos

3.1.- Tridente y Pegasus
3.2.- Meltdown y Spectre

4.- Swift, lenguaje seguro

4.1.- Swift, lenguaje seguro

5.- Los peligros de un desarrollo convencional

5.1.- Introducción
5.2.- Grabar datos de forma insegura
5.3.- Insuficiente o inexistente validación de datos de entrada
5.4.- Insuficiente garantía de seguridad en lado servidor
5.5.- Insuficiente control de la persistencia de una sesión remota
5.6.- Mal control de las claves de cifrado de la información
5.7.- Malas prácticas en la grabación o trabajo con datos sensibles
5.8.- No prevenir los cambios de estructuras en el uso de serialización
5.9.- Insuficiente protección en la capa de transporte de comunicaciones

6.- Buenas prácticas en el desarrollo de apps / juegos

6.1.- Generación de números aleatorios seguros criptográficos
6.2.- Controlar la captura de pantalla al dejar en reposo
6.3.- Controlar la captura de la imagen en pantalla
6.4.- Controlar el uso del portapapeles
6.5.- Configurar correctamente los tipos de campos de textos
6.6.- Uso de NSSecureCoding en la serialización en vez de NSCoding
6.7.- Uso de Codable (Swift 4)
6.8.- Evitar copias de seguridad de ficheros clave
6.9.- Inyección de SQL en SQLite3
6.10.- Librerías de terceros: NO

7.- Trabajo con tipos de datos

7.0.- Trabajo con tipos de datos
7.1.- Tipos Data y String, conversión
7.2.- Trabajo con datos en base64
7.3.- Tipo Data y el acceso al array de bytes en Swift 4.2
7.4.- Tipo Data y array de bytes con Swift 5

8.- Implementaciones para trabajo en red

8.0.- Implementaciones para trabajo en red
8.1.- Gestión de excepciones en App Transport Security (ATS)
8.2.- Conexiones de red seguras con JSON en URLSession
8.3.- Descarga de datos con URLSession
8.4.- Envío de datos con URLSession
8.5.- Subida de archivos con URLSession
8.6.- Configuración pasarela OAuth2 en Google Drive
8.7.- Recuperación del código de autorización para OAuth2
8.8.- Recuperando el token de refresco de Google para OAuth2
8.9.- Subiendo ficheros a Google Drive con OAuth2

9.- Tratamiento de datos

9.0.- Tratamiento de datos
9.1.- Control de los campos de texto
9.2.- Filtrado de las cadenas
9.3.- Ejemplo de inseguridad UserDefaults
9.4.- Grabación y carga de archivos en formato plano
9.5.- Modos de cifrado de archivos
9.6.- Grabación en la cartera de certificados
9.7.- Carga desde la cartera de certificados

10.- Cifrado nativo con Swift 4.2 y Xcode 9

10.0.- Cifrado nativo con Swift
10.1.- Instalación de CommonCrypto
10.2.- Generación de números aleatorios criptográficos
10.3.- Cálculo de hash HMAC256
10.4.- Comprobación de hash
10.5.- Vectores de inicialización
10.6.- Cifrado AES
10.7.- Cifrando en AES
10.8.- Cifrado AES/GCM
10.9.- Cifrando en AES/GCM

10b.- Cifrado nativo con Swift 5 y Xcode 10.2 u 11

10b.1 Generación de números aleatorios criptográficos
10b.2 Hash SHA256 de un password (CommonCrypto)
10b.3 Hash HMAC256 con clave (CommonCrypto)
10b.4 Cifrado AES256-CBC (CommonCrypto)
10b.5 Probando el cifrado AES256-CBC (CommonCrypto)

11.- Prácticas de seguridad

11.0.- Prácticas de seguridad
11.1.- Acceso granular de servicios
11.2.- Excluir ficheros de la copia de seguridad
11.3.- Borrado del portapapeles
11.4.- Portapapeles que expira pasado un tiempo
11.5.- Control del portapapeles cuando se usa
11.6.- Ofuscar la vista previa en pantalla de multitarea
11.7.- Depuración segura de una app

13.- Implementaciones

13.0.- Implementaciones
13.1.- Configuración de Touch ID y Face ID
13.2.- Implementando Touch ID y Face ID
13.3.- Configuración de 1Password
13.4.- Integración de 1Password
13.5.- Integración de Safari Autofill Passwords

14.- Conclusiones finales

14.1.- Conclusiones

Screenshots

Desarrollo Seguro en iOS con Swift - Screenshot_01Desarrollo Seguro en iOS con Swift - Screenshot_02Desarrollo Seguro en iOS con Swift - Screenshot_03Desarrollo Seguro en iOS con Swift - Screenshot_04

Reviews

Anilu
June 29, 2021
Recién empiezo y me ha gustado mucho, he tenido cursos de seguridad de manera general y sé algo sobre owasp y seguridad para aplicaciones móviles, y creo que abarca todos los temas importantes mas a fondo.
Andres
November 3, 2020
El curso está muy completo, pues te explica claramente los conceptos de seguridad y los pone en práctica en distintas aplicaciones. Como retroalimentación me parece que el curso está algo caro en comparación con otros cursos que he tomado así de completos, de igual forma, me parece que hizo falta compartir los recursos de código que se van trabajando durante las distintas lecciones, pudiera ser quizás con un repositorio de start y final para ir avanzando de mejor manera durante el curso.
Reinner
May 1, 2020
Un excelente curso El profesor si merece ser llamado un experto en la materia, teóricamente explcia muy bien. creo que hay mucho mas tema que se puede dar en este curso Como realizar un análisis a una app iOS Explica teoricamente por que existen vulnerabilidades, pero seria bueno que hiciera un ejemplo de vulnerabilidad y como extrae información Respecto al costo excesivamente costoso pague 150 dólares masomenos, en parte si me arrepiento ya que la idea es conseguir cursos muchísimo mas económico. Si eres muy autonomo creo que puedes ir mas a fondo y buscar mas información, tal vez mucho mas a un costo menor Aun así no tengo quejas del material
RENE
February 18, 2020
El curso cuenta con buenas herramientas, aunque un poco escasas, dicen donde están los problemas, pero no muy bien como solucionarlo, por ejemplo lugares seguros de donde guardar datos como las llaves de encriptación
David
November 5, 2019
El curso es una maravilla para iniciarse o tener un lugar con la información necesaria para repasar e ir directo al grano. Además como Julio Cesar lo va actualizando no cómo otros que sacan mil cursos prácticamente iguales con mínimos cambios es una herramienta muy útil para tenerla siempre a mano.
Juan
January 27, 2019
El curso es muy interesante y de gran utilidad. Con ejemplos de como añadir seguridad a las apps. Muy recomendable.
Miguel
October 8, 2018
Julio Cesar explica el tema de forma granular, algo común para los que lo seguimos por sus redes sociales y podcasts. La pedagogía usada es genial, se nota la experiencia cuando podemos entender de forma fácil temas bastante complejos. Recomendadísimo.
Antonio
October 3, 2018
Ya he realizado otros cursos, Aprendiendo Swift, Arkit y ahora este, con Julio Cesar y son fantásticos
José
October 1, 2018
El curso es muy completo y está muy bien explicado por todo un experto en seguridad como es Julio César. Me ha gustado muchísimo y lo recomiendo a todos los que quieran ampliar sus conocimientos sobre la seguridad en aplicaciones móviles.
Alberto
September 18, 2018
El curso es muy completo y todo lo que se ve en él tiene aplicaciones directas en el desarrollo real de apps. El nivel de profundidad en los conceptos es el justo y necesario para su comprensión, y queda muy clara la funcionalidad del código y el problema que se intenta evitar.

Charts

Price

Desarrollo Seguro en iOS con Swift - Price chart

Rating

Desarrollo Seguro en iOS con Swift - Ratings chart

Enrollment distribution

Desarrollo Seguro en iOS con Swift - Distribution chart

Related Topics

1571130
udemy ID
2/26/2018
course created date
2/8/2020
course indexed date
Bot
course submited by