Hoy estamos poquitos en la tertulia y eso permite hablar a gente que nunca ha hablado antes: ¿Cómo puede aprender Python un novato? Python y seguridad
Autor: Jesús Cea & Otros - Contacto: python2021@podcast.jcea.es
Fecha de grabación: 2021/03/09 - Duración: 02:12:21
Fecha de publicación: 2021/05/31
Palabras clave: Tertulia
Descarga el audio: M4A (32941904 bytes) - OPUS (16163924 bytes)
Audio procesado con "rnnoise": https://jmvalin.ca/demo/rnnoise/.
Participantes:
Jesús Cea, email: jcea@jcea.es, twitter: @jcea, https://blog.jcea.es/, https://www.jcea.es/. Conectando desde Madrid.
Jesús, conectando desde Ferrol.
Víctor Ramírez, twitter: @virako, programador python y amante de vim, conectando desde Huelva.
Gato, desde Chile.
Audio editado por Pablo Gómez, twitter: @julebek.
La música de la entrada y la salida es "Lightning Bugs", de Jason Shaw. Publicada en https://audionautix.com/ con licencia - Creative Commons Attribution 4.0 International License.
¿Cómo empezamos a programar en Python?
Empezar con el tutorial: https://docs.python.org/es/3/tutorial/index.html.
Ensamblador: https://es.wikipedia.org/wiki/Lenguaje_ensamblador.
Python Vigo: https://www.python-vigo.es/.
Se intentaba montar algo en La Coruña.
Makerspaces: A Industriosa https://aindustriosa.org/.
Asociación Python España: https://www.es.python.org/.
Lista de correo Python-es: https://mail.python.org/mailman/listinfo/python-es.
Internet.
Las notas jugarán un papel importante en las grabaciones.
Capítulos.
Peer 2 Peer: https://es.wikipedia.org/wiki/Peer-to-peer.
webrtc: https://es.wikipedia.org/wiki/WebRTC.
Contribuir compartiendo las fotos de Python España.
BitTorrent: https://es.wikipedia.org/wiki/BitTorrent.
Complejidad ciclomática: https://es.wikipedia.org/wiki/Complejidad_ciclom%C3%A1tica.
Radon: https://pypi.org/project/radon/.
Cobertura de test: Coverage https://pypi.org/project/coverage/.
Cada pequeño paso ayuda.
Un libro gratis al día: https://www.packtpub.com/free-learning.
Bot de telegram de notificaciones diarias: https://t.me/packtpubfreelearning.
Bug poco prioritario.
Jesús Cea propone algunos rodeos al problema.
Hacer un proyecto pequeño.
Intentar no extenderse mucho, no hacer "muchas cosas".
Si no tiene base, el código del novato va a ser malo y con mucho más esfuerzo del necesario. Hace falta cierto tutelaje.
Examinar un proceso ajeno "pequeño" y estudiarlo.
Project Euler: https://projecteuler.net/.
Ventajas de un libro: Aprendizaje estructurado, gradual y que prioriza lo importante.
Aprende Python en un fin de semana || Libro – PDF – EPUB – Descargar https://elcientificodedatos.com/aprende-python-en-un-fin-de-semana/.
Python España: Aprende Python https://www.es.python.org/pages/aprende-python.html.
Comunidades locales.
¿Alguien que no sabe programar en absoluto entiende qué
significa a = a + 1
?
Commodore VIC-20: https://en.wikipedia.org/wiki/Commodore_VIC-20.
Escribir código a mano puede ayudar.
OWASP: https://owasp.org/.
OWASP Top Ten Web Application Security Risks: https://owasp.org/www-project-top-ten/.
Listas de correo de seguridad.
Desbordamiento de búfer: https://es.wikipedia.org/wiki/Desbordamiento_de_buffer.
Podcast: Security Now https://twit.tv/shows/security-now.
Hispasec: Noticias de seguridad diaria: Una al Día: https://unaaldia.hispasec.com/.
The CERT C Secure Coding Standard https://www.amazon.com/CERT-Secure-Coding-Standard/dp/0321563212.
Cada lenguaje tiene sus propios fallos de seguridad típicos, propios de las idiosincrasias o el estilo de ese lenguaje.
Si el "framework" es popular y se le encuentra un bug, eres susceptible a un ataque masivo.
Hay que preocuparse de tenerlo actualizado.
Django: https://www.djangoproject.com/.
Ataque de cadena de suministro: https://es.wikipedia.org/wiki/Ataque_a_cadena_de_suministro.
Docker: https://www.docker.com/.
¿Quién se preocupa de actualizarlo?
DB-API 2.0: PEP 249 -- Python Database API Specification v2.0 https://www.python.org/dev/peps/pep-0249/.
Aunque un lenguaje de programación sea razonablemente seguro, los programadores introducen fallos de seguridad en su código. Algunos ejemplos.
eval: https://docs.python.org/3/library/functions.html#eval.
Poison packages – “Supply Chain Risks” user hits Python community with 4000 fake modules: https://nakedsecurity.sophos.com/2021/03/07/poison-packages-supply-chain-risks-user-hits-python-community-with-4000-fake-modules/.
Cualquiera puede subir un módulo nuevo a PYPI: https://pypi.org/.
La reputación no basta.
Trabajo ingrato.
Depender del trabajo voluntario es un problema.
Hay una diferencia entre código con bugs y ataques maliciosos conscientes.
Ejemplo, Antivirus. VirusTotal: https://www.virustotal.com/gui/, Hispasec https://hispasec.com/es/.
Un clásico de 1984: "Reflections on Trusting Trust": https://users.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf.
Referencia obligada a XKCD https://xkcd.com/:
Dependency https://xkcd.com/2347/.
Wikipedia XKCD: https://es.wikipedia.org/wiki/Xkcd.
OpenSSL https://es.wikipedia.org/wiki/OpenSSL:
WordPress: https://es.wikipedia.org/wiki/WordPress.
Red Hat: https://es.wikipedia.org/wiki/Red_Hat.
Opinión de Jesús Cea: Se vende tranquilidad, no seguridad.
Desplazas la responsabilidad a otro.
Gestión de riesgo. Proteger su puesto de trabajo.
"No han despedido nunca a nadie por comprar IBM": https://loscuenca.com/2010/04/nunca-han-despedido-a-nadie-por-contratar-a-______/
Documentación Python en Español: https://docs.python.org/es/3/.
Documentación oficial de Python en español https://pyar.discourse.group/t/documentacion-oficial-de-python-en-espanol/238/23.
Documentación oficial de Python en Español https://elblogdehumitos.com/posts/documentacion-oficial-de-python-en-espanol/.
docs.python.org en Español https://elblogdehumitos.com/posts/docspythonorg-en-espanol/.