Framavox
Thu 19 Dec 2024 12:43PM

Sécurité de TiBillet : Formation, Audit, et Pentest

Bonjour a tous.tes !

Aujourd'hui on parle de sécurité informatique !

TiBillet est construit depuis plus de 8 ans, en mode brique par brique. On a rajouté des bout par ci par la en fonction des besoins que nous rencontrions dans nos lieux.

Aujourd'hui, à la veille de la "V1" mythique, il est peut être temps de se poser la question de :

  • Es-ce que c'est pas trop mal codé ?

    • Check des bonnes pratiques et netoyage des bloc inutiles

    • Les tests unitaires et E2E couvrent bien tout ?

  • Est on opé sur les bonnes pratiques ?

    • Pour la construction d'un commun : documentation, commentaire, code spaghetti ?

    • Règles de contribution

    • Formation aux bonnes pratiques de sécurité ?

  • Avons nos des failles béantes à corriger ?

    • Dépendances, api, etc ...

    • Carte RFID

Pour lancer ce chantier, j'ai donc commencé à discuter avec Johan Brissaud.

Voici le compte rendu de notre réunion avec sa proposition :

Salut Jonas,

Après discussions, je pense en effet que c'est un bon moment pour intervenir sur le projet avec un audit sécurité. Vous avez la V1 en objectif proche sans avoir le couteau sous la gorge. On aurait le temps de travailler la sécurité de la solution en amont pour implémenter les résultats de l'audit avant la sortie. De mon côté également, je pourrais commencer rapidement sur janvier et vous accompagner pendant le printemps.

Le projet m'intéresse pour plusieurs raisons : la solution a vraiment besoin de sécurité et auditer un système de paiement sécurisé est un défi intéressant. L'esprit de l'équipe et du projet correspond également à mes valeurs et nous avons des liens dépassant cette intervention. Au vu de tout ça, je vous propose de vous faire un prix très "modéré" pour ce type de prestation à 650 euros HT / jours me permettant de m'investir assez de jours (15 jours) pour réaliser un vrai audit en profondeur rentrant dans votre budget (10k). Je te joins mon CV en copie du mail pour témoigner que je suis en mesure de vous délivrer un travail de qualité correspondant à vos attentes.

Voici le plan que je vous propose :

- Bloc 1 : Analyse de risques - 4 jours

Livrable : document d'analyse de risque

Se déroulerait sur 4 ateliers d'une demi-journée sur fin janvier – début février 2025 en suivant la méthode EBIOS. Permet d'appréhender la sécurité dans son ensemble, envisager les différents risques et les mesures compensatoires pour les minimiser. Cela permettra également de préparer une analyse AIPD (nécessaire pour le RGPD). Cette analyse de risque sera essentielle pour des certifications futures (demandées par la plupart des normes orientées sécurité).

Cette étape permettra également de préparer la suite et sera l'occasion de formaliser et documenter certains aspects techniques de la solution (cinématiques, schéma décrivant les grands blocs fonctionnels et leurs interactions…,)

- Bloc 2 : Audit boite blanche de l'écosystème - 9 jours

Livrable : rapport d'audit de code, de tests d'intrusion et d'architecture.

Audit de code et tests d'intrusion sur un environnement préprod pour les différentes applications de l'écosystème de TiBillet (Lesspass, Fedow, LaBoutik). L'audit abordera les questions de configuration, de sécurité du code et également de la sécurité des différentes cinématiques mise en place dans la solution (paiement, raccordement de communautés…,)

- Bloc 3 : Ateliers de construction de la politique sécurité - 2 jours

La livraison de l'ensemble de la formation sera réalisée sous forme d'ateliers (1 journée entière en présentiel ?) permettant la coconstruction d'un plan d'assurance sécurité en suivant la méthode OpenSAMM. Ces ateliers seront l'occasion de restituer les résultats de l'audit, de travailler à la formalisation de la documentation sécurité et de former l'équipe aux problématiques sécurité.

Toutes ces tâches seront essentielles pour obtenir des certifications éventuelles. Elles seront un des entrants important pour l'audit et la formalisation de la documentation qui en découlera.

Voilà pour ces détails, n'hésite pas à revenir vers moi si tu as la moindre question.

Brissaud Johan - World Watch Web

A la louche donc, un devis autour de 10 000 euros.

Coté fléchage de budget, on a un budget disponible de 6860€ ( 3430€ par an sur deux an )

Resterais à trouver 3140 euro : A financer par la coopérative.

Je vous propose de rajouter vos remarques et question à la suite de ce post avant d'ouvrir le procéssus de décision par consentement.

Alors, qu'en pensez vous ?

ACC

Axel (Code Commun Coop / TiBillet ) Thu 19 Dec 2024 4:07PM

Budget :

Serait-il possible d'être transparent avec lui niveau budget et de demander à séquencer le devis en plusieurs parties pour pouvoir avancer avec les 6860€ que nous sommes certains d'avoir ?

Comment est-ce qu'on envisage de trouver les 3140€ manquant et si on lance le chantier est-ce que ca va pas nous obliger à porter un projet commercial extérieur type Alon!, Moloset qui va nous prendre beaucoup de temps et nous retarder sur la billetterie par exemple ?

Timing :

Si dans quelques semaines ou mois le projet de loi Finance tombe et qu'il nous faut à tout prix une certification de caisse (que nous pouvons payer avec ce budget) comment on s'y prend ?

On a tendance à repousser la sortie en prod nos outils en général et il se pourrait que ça arrive avec la V1. Est-ce qu'on est sûr de nous niveau fonctionnalités définitives qui en feront parties (et donc code) ? Ou est-ce qu'il faudrait pas refaire un point ? Ce serait dommage de payer 10k pour se dire 2 mois après qu'on va rajouter un nouveau module qui nous semble essentiel.

Est-ce qu'il faudrait pas se fixer une date à un moment ?

Autre :

Je ne connaît pas le monde des audit et code review mais j'imagine qu'il y a des organismes référencés plus ou moins connus et des procédures à suivre.

Johan est à son compte ou bien il travail pour une entreprise ? Est-ce qu'on est sûr de la qualité de son travail et que ce chantier couvre bien les prérequis pour nous préparer à "obtenir des certifications éventuelles" comme dit dans son message ?

Sinon un audit de code me paraît en effet essentiel avant la sortie de la V1 et le budget est là pour ça. Donc dans l'idée je suis pour.

JTC

@Axel (Code Commun Coop / TiBillet )

Yes ! Merci pour ces remarques et explorations :)

Je joins ici le CV qu'il m'a envoyé par mail (j'aurais du le mettre sur le premier message)

Pour la transparence, très bonne idée. Esce que je l'invite ici pour qu'il puisse participer et faire évoluer sa proposition ?

Item removed

JTC

@Axel (Code Commun Coop / TiBillet )

Mes idées pour répondre à tes questions :

  • Transparence avec lui : Carrément bonne idée oui. Le mieux est ptet de l'inviter ici ?

  • Trouver les 3k manquant : A prendre sur le modèle commercial de TiBillet ? Par exemple le dev' spécialisé pour Circa ?

  • Pour les questions de pérennité : Peut être lui proposer d’être consultant sur le long terme avec nous. Prévoir un % sur les bénéfices ou une participation à la coop' ? Il pourra participer aux mises à jours majeures dans le futur ?

J

Johan Mon 6 Jan 2025 1:30PM

Salut à tous et super pour m'inviter sur ce fil pour échanger sur le projet !

Commençons par le début et mes compétences pour ce projet. Comme vous pourrez le voir sur mon CV, j'ai 20 ans d’expérience dans la sécurisation des applications, 5 ans chez Ernst&Young en tant que manager / auditeur de code sur des applications gouvernementales dont France Connect. Et avec des CVE découvertes et publiées durant ces audits.

Je facture en direct en indépendant avec ma SASU et je pense que vous ne pourrez pas trouver meilleur rapport qualité / prix. Mais n'hésitez pas à jeter un coup d’œil ailleurs.

Concernant maintenant le contenu de la prestation, et pour repréciser quelque chose qui me semble important, je pense que l'objectif premier est de produire le corpus documentaire et l'analyse sécurité nécessaire pour toute obtention de certification de votre part. Je pense que la première réunion de travail aura pour but de déterminer l'ensemble des documents à produire et des critères réglementaire à prendre en compte pour la prestation.

Ainsi le but de la prestation est d'abord de vous décharger de tâches "spécialisées" importante à réaliser pour vous cette année. L'audit ira ainsi de plus général (analyse de risques, environnement réglementaire, architecture de la solution) vers le plus technique (audit de code). Le but est de rester agile pour nous adapter au périmètre fonctionnel que vous prévoyiez pour la V1. Et que je soit là, avec vous, pour intégrer les résultats de l'audit dans vos process de la manière la plus fluide possible. Idéalement, à la fin de la prestation, nous pourrions déposer les demandes de certifications.

Concernant l’enveloppe budgétaire et le format de la prestation, je suis complètement dans l'esprit de travailler comme "consultant long terme" avec vous, en tout cas pour cette année qui me semble charnière pour vous. Nous pouvons bien sûr commencer avec une première enveloppe. Je pense notamment à la phase analyse de risques / organisationnelle / architecturale réalisable sur le printemps avec une première enveloppe de 3430 euros HT. Mais de manière plus générale, l’enveloppe globale que je vous propose (10k) me semble cohérente en terme de somme de travail à réaliser. Idéalement nous pourrions enchaîner sur l'audit technique sur juin-septembre une fois votre périmètre fonctionnel solidifié et sur la rédaction des documents pour la certification sur l'automne. Voyez ce que vous pouvez faire de votre coté niveau budget / timing et on s'arrangera sur les détails.

Voilà pour ces quelques précisions, n'hésitez pas à m'envoyer vos remarques !

Et une bonne année 2025 à tous !

ACC

Axel (Code Commun Coop / TiBillet ) Tue 7 Jan 2025 10:48AM

Merci d'avoir pris le temps de venir discuter avec nous. C'est plus clair en effet.

Je n'ai pas d'autre questions/remarques.

JTC

Terrible, merci @Johan pour ta participation et les réponses !

On en a discuté ce matin en réu coop' hebdomadaire, ça semble bien parti.

Je prend le temps d'ici quelques jours de rédiger une proposition concrète, on valide ça ici par processus de consentement (et avec toi), et zou biloute, on débloque les sous et lançons le chantier ASAP, comme dit la stateupenation.

A très vite !

JTC

Hello tout le monde.

Lors de la dernière réunion coop (CR du 16/01/25) , Tu nous as parlé @Axel (Code Commun Coop / TiBillet ) d'un reliquat du budget Juridique 2024 qui pourrait être utilisé pour ce chantier.

Je ne me souvient plus de l'ordre de grandeur, mais du coup, a priori, on a de quoi lancer ce chantier à hauteur de 10k€ sur deux ou trois ans. Donc le rendre pérenne.

@Johan je te propose qu'on pose ça ensemble lors d'une réunion de préparation. On se fait la roadmap avec les lignes budgétaires a débloquer, les tâches et livrable.

Ensuite validation de ce document ici même par toute l'équipe, et c'est parti !

Par contre, je pense qu'il y a deux gros pré-requis techniques pour lancer tout ça :

  • Un minimum de documentation technique pour que tu puisse prendre en main toute la stack, les routes API et l'architecture

  • Que je termine le chantier de virer l'admin JET ( qui nous bloque en django 2.2...) pour que je commence celui du mono-repo et que j'unifie les back Django.

On va pas te faire auditer un bordel de spaguetti avec 3 djangos différents en version et en méthode... ça va juste te rajouter un mal de crâne et te faire perdre du temps, il me semble :)

Du coup, par contre, je veux bien un peu d'aide coté back pour ça. Je vais voir du coté de mon pote Ben. Si vous avez connaissance de personnes qui peuvent contribuer, je prend.

Sinon tout seul c'est ok, mais jvais en avoir probablement pour plusieurs semaines...

Merci à tous.tes !

J

Johan Sun 19 Jan 2025 9:28PM

Salut Jonas,

N'hésite pas à me proposer des dates pour la réunion préparatoire. Je peut être dispo en fin de cette semaine, en début de semaine prochaine ou en début de la première semaine de février.

Ça serait bien de regarder en amont les certifications que vous risquez de devoir obtenir. Celle que j'ai repéré pour le moment est la certification des logiciels de caisse. Est-ce bien cela et en avez vous d'autres en tête ? Avez vous déjà une documentation sur ce que vous devez démontrer pour obtenir la certification ?

En tout cas super que cela avance comme ça !

Bonne soirée à vous

JTC

Salut @Johan !

Désolé pour les réponses tardives, je ne reçoit plus les mails de Framavox, curieux, faut que je pense a venir ici régulièrement.

La certification que l'on vise est celle ci : https://www.economie.gouv.fr/cedef/logiciels-caisse-certifies

On avait identifié deux structure avec qui faire ça, je me souvient plus trop, mais dans les deux cas, l'accès au cahier est charge est payant ... et c'est minimum 8k€ si ça passe du premier coup, avec un obligation de relancer la certif à chaque mise à jour majeure.

C'est assez lunaire comme méthode, mais bon... Pour l'instant rien d'obligatoire, mais c'était dans le projet de loi finance qui a été censuré. Il est probable que le débat soit relancé, sur cet amendement, le sénat et l'assemblée l'avait validé avant que Barnier ne chute...

Pour se faire un point, je te partage ici notre agenda. Si vois une dispo commune, hésite pas : https://nuage.tierslieux.re/apps/calendar/p/fFLrR6fBPba4wJzE

Sinon on a toujours nos réunion hebdo tous les jeudi matin, hésite pas à passer sur Discord :)

Load More