Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StateMachines: security breach #24

Open
Numero7 opened this issue Sep 16, 2012 · 4 comments
Open

StateMachines: security breach #24

Numero7 opened this issue Sep 16, 2012 · 4 comments

Comments

@Numero7
Copy link
Member

Numero7 commented Sep 16, 2012

@Gregwar

Bon telle que je la code la stm va ouvrir une brèche de sécurité
car par exemple un étudiant malicieux va pouvoir exécuter à bord du code envoyé par http...

Contre-mesure possible:

  • définir une liste d'import autorisés et filtrer les autres import dans le code
  • ?
@Gregwar
Copy link
Contributor

Gregwar commented Sep 16, 2012

Attends y'a une etape que j'ai raté

Il créé sa machine a etats et ca lui sort un programme en python c'est ca?

Pourquoi ce programme serait chargé a bord?

@Gregwar
Copy link
Contributor

Gregwar commented Sep 16, 2012

Et http on ne l'utilise nulle part pour le moment si?

@Numero7
Copy link
Member Author

Numero7 commented Sep 16, 2012

Bon en fait je vois (au moins) trois utilisations:

  • Utilisation edu: transformation d'un .yaml en .py (une machine à état sur une machine locale)
  • Dev/test Robocup: chargement de un ou plusieurs .yaml dans un loader de machine Python (fait) C (à faire) (plusieurs machines à états qui communiquent entre elles: exemple marche arrêt de la recherche de la balle par la tête)
  • Utilisation Démo/Yeosu/Robocup: stmloader du genre du moveloader, chargement de yaml depuis une IHM vers le serveur .

C'est la troisième utilisation qui pose un petit problème.
N'importe qui peut faire crasher le serveur et là rien de trop grave
mais qqun qui connaît un peu le serveur peut envoyer du code exécutable sur nos robots en démo
dans les vitrines des galeries Lafayette là c'est quand même un peu limite si on tombe
sur un Enseirbien un peu potache :-)

Bon mais rien d'urgent à régler!

@Gregwar
Copy link
Contributor

Gregwar commented Sep 16, 2012

Bha de toutes façons je suppose qu'on peut deja faire crasher rhoban server sans trop de probleme si c'est ce qu'on recherche, mais surtout l'acces au serveur permettrait de provoquer des degats mecaniques

Dans le cas des galeries lafayettes le reseau ne sera bien sur pas ouvert a tous (meme pas de wifi, voire pas d'ethernet dans ce cas) :-)

Ensuite y'a plusieurs choses a faire, comme ajouter une option pour n'accepter que les connexions localhost pour le cas ou tout est embarqué et peut etre ajouter un systeme de password sur le serveur? Ca serair pas trop dur a mettre sur pied, si le pass n'est pas fournit dans le premier message apres la connexion on lache le client

On devrait peut etre bouger cette preocupation vers le depot Code etant donné que ça concerne plus le serveur tu ne crois pas? "Ajouter un --localhost-only et un --password=pass"

Apres y'a effctivement un probleme de sandboxing dans le cas ou on offre un acces a un serveur sur une mmnet ou roboard et ou on laisse les gens coder en python dans des machines a etats (voire blocks?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants