LCC 279 - URL ceteris paribus sic stantibus

Published: May 23, 2022, 8:24 a.m.

Guillaume et Emmanuel discutent de l\u2019\xe9tat des versions de Java utilis\xe9es, de Java String template, et de beaucoup de failles de s\xe9curit\xe9. On pourra presque se renommer Les Cast S\xe9cu ;P On y ressussite aussi la rubrique d\xe9butant et discutons du pi\xe8ge de la classe URL.

Enregistr\xe9 le 20 mai 2022

T\xe9l\xe9chargement de l\u2019\xe9pisode LesCastCodeurs-Episode\u2013279.mp3

News Langages

L\u2019\xe9tat de Java selon newrelic

  • Java 11 commence enfin \xe0 \xeatre utilis\xe9 plus que Java 8 en prod (48% vs 46%)
  • Dans les versions non LTS, c\u2019est Java 14 qui a l\u2019air d\u2019avoir le plus de succ\xe8s
  • non LTS en prod est 2,7%
  • Apr\xe8s Oracle, c\u2019est la distrib de AWS qui est pas mal utilis\xe9e suivi par adoptium
  • Beaucoup d\u2019utilisation de Java dans des containeurs (70%) avec 1 seul core, donc aussi moins de b\xe9n\xe9fices dans l\u2019utilisation de G1 pour le GC
  • Toujours dans les containeurs, les applis Java tournent souvent avec moins de 512MB de RAM (45%)

String templates en Java

  • les string template c\u2019est ce qui a fournit log4shell donc attention
  • Replace certains usages de stringbuilder , stringfromat et messageformat
  • Beaucoup de langages offrent \xe7a (bash ahah)
  • Exemple d\u2019usage html, json, yaml etc
  • Ils veulent permettre des r\xe8gles de transformations et de validation (escape caract\xe8re)
  • Peut m\xeame \xe9viter le,passage par l\u2019\xe9tape du passeur
  • Objet template a le template et la policy
  • Embedded expressions: cha\xeenes de caract\xe8res, arithm\xe9tique, invoque m\xe9thodes ou champs, pas besoin d\u2019\xe9chapper les double guillemets.
  • Lignes multiples
  • Quid capture des variables locales sans l\u2019avis du d\xe9veloppeur. Pas d\u2019exemple meta o\xf9 le template est import\xe9 ou construit.

Un article d\xe9taill\xe9 sur ce qui est nouveau niveau GC dans Java 18

Librairies

Quarkus 2.8 et 2.9

  • WebAuthN
  • Confluent Schema Registry
  • Kotlin Scala
  • RESTEasy Reactive est la couche par d\xe9faut
  • GraalVM 22
  • Elasticsearch Dev Services
Outillage

Un nouveau d\xe9compilateur avec du code plus lisible

  • Tous plus ou moins un fork de celui d\u2019intellij maintenu par JetBrains, le fork d\u2019avant est de Minecraft
  • Reconstruit des constructions de plus haut niveau et plus moderne.
  • Exemples
S\xe9curit\xe9

Une vuln\xe9rabilit\xe9 dans struts 2

  • Un probl\xe8me qui n\u2019avait \xe9t\xe9 que partiellement corrig\xe9. Li\xe9 \xe0 OGNL\u2019et une double \xe9valuation via %{\u2026} sur du contenu venant de l\u2019utilisateur.

Le gros trou de s\xe9cu sur les signatures Java 15\u201318

  • attaque sur les approches ECDSA (elliptic curve digital signature algorithm), typiquement plus modernes cibles Java web start, Java applets, web services qui utilisent ECDSA (JWT, SAML, OIDC Id tokens, WebAuthN
  • version Oracle Java 7, 8, 11, 15, 16, 17, 18, OpenJDK 15, 17, 18 (backport Oracle)
  • Comme un psychic paper de dr who: peut signer num\xe9riquement un papier sans infos (param\xe8tres de la courbe peuvent \xeatre \xe0 0 ce qui permet de valider tous les messages (0)
  • L\u2019interpr\xe9tation pour un framework comme Quarkus

Spring4Shell avec risque de remote code execution (unfolding)

Personal Security Checklist

Google offre aux clients Google Cloud des libairies valid\xe9es en s\xe9curit\xe9
Une \xe9quipe de maintenance Open Source chez Google

Loi, soci\xe9t\xe9 et organisation

Apple va supprimer au t\xe9l\xe9chargements les applis non mises a jour depuis 3 ans et peu t\xe9l\xe9charg\xe9es

  • \xe7a a fait r\xe9agir et r\xe2ler
  • Des applis finies
  • Mais surtout une r\xe9sumassions c\u2019est du taf (nouvelles r\xe8gles, peut \xeatre mise \xe0 jour de framework)
  • Du cote de Apple c\u2019est nettoyer un peu la longue queue d\u2019applis
  • Et encourager les gens \xe0 rester au top (eg privacy infos)

Les duchesses ferment leur slack aux hommes

  • pas fait de gait\xe9 de c\u0153ur mais r\xe9action aux \xe9v\xe9nements
  • temps des Mod\xe9rations plus passe sur les posts d\u2019hommes que de femmes
  • Sensation de pas laisser la place aux femmes
  • Maladresses et manques de respect
  • Coup\xe9 dynamisme et la s\xe9curit\xe9 de parole
  • Et beaucoup d\u2019hommes et du coup sentiment d\u2019\xe9pier
  • Les duchess feront toujours des \xe9v\xe9nements mixtes mais cet espace avait perdu son utilit\xe9 premi\xe8re

Comment la guerre en Ukraine \xe9branle la tech russe

  • fragilisation
  • fuite des cerveaux (depuis 2014 et la crim\xe9e (cerveaux emprunts de plus de libert\xe9) manque .5 \xe0 1 millions de developpeurs
  • Karspersky et les doutes de ses clients (80% du chiffre d\u2019affaire \xe0 l\u2019\xe9tranger)
  • Yandex moteur de recherche prot\xe9g\xe9 car marcher local mais d\xe9mission du CEO
  • Default de paiement (endettement) e.g. VK 400 millions de dollars
  • Envisager de raid de disque dur pour consommation locale
Outils de l\u2019\xe9pisode

Faire le la configuration conditionnelle dans git

  • includeIf permet de faire la condition
  • Utile pour changer l\u2019email entre bureau et perso par exemple.
  • [aheritier] je le fais souvent avec des repertoires diff\xe9rents pour boulot vs oss/perso
Rubrique d\xe9butant

La comparaison des URL

  • Les URLs sont \xe9gales si les IP sont \xe9gales
  • donc DNS lookup
  • donc pas constant pour la vie de l\u2019instance de JVM
  • vive les hash des Set et Map :)
Conf\xe9rences

JavaDay au Paris JUG: Le futur de Java - le 22 juin 2022

Nous contacter

Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Faire un crowdcast ou une crowdquestion
Contactez-nous via twitter https://twitter.com/lescastcodeurs
sur le groupe Google https://groups.google.com/group/lescastcodeurs
ou sur le site web https://lescastcodeurs.com/