Question:
Comment les auteurs d'exploits trouvent-ils des bogues dans Java Machine?
jyz
2013-10-06 00:41:06 UTC
view on stackexchange narkive permalink

Ma question concerne les exploits Java, par exemple celui-ci: https://www.us-cert.gov/ncas/alerts/TA13-010A (exploit disponible ici http: //www.securityfocus.com/bid/57246/)

La victime doit visiter le site et accepter d'exécuter l'applet sur votre ordinateur. Ensuite, si la JVM est vulnérable, le pirate peut exécuter des commandes arbitraires.

Ma question est donc: Comment le chercheur en sécurité a-t-il trouvé cette vulnérabilité? Je veux dire, pas spécifiquement celui-ci, mais comment (quels outils, méthode, etc.) a-t-il / elle utilisé pour trouver ces vulnérabilités? Est-ce qu'il / elle reverse engineering de javaw.exe? Quelles sont les méthodes?

Vous pouvez lire les sources de http://openjdk.java.net/
Trois réponses:
0xea
2013-10-06 00:54:57 UTC
view on stackexchange narkive permalink

Cela dépend en grande partie du type de vulnérabilité. Celui-ci que vous mentionnez se trouve dans SecurityManager, et vous auriez pu le trouver relativement facilement en analysant le code source Java.

Pour avoir une idée de la façon dont ce processus est effectué, jetez un œil à ceci et cet articles d'Esteban Guillardoy de Immunity.

Jduck a également publié des recherches sur les vulnérabilités de corruption de mémoire dans JRE. Vous pouvez avoir une meilleure idée de la façon de trouver une vulnérabilité en étudiant les vulnérabilités précédemment publiées.

Je me souviens que les gens du LSD-PL ont fait des trucs formidables dans ce domaine il y a longtemps, que vous pouvez trouver ici. C'est un peu dépassé, mais toujours d'actualité.

Stolas
2013-10-06 01:26:50 UTC
view on stackexchange narkive permalink

Je suis moi-même un développeur d'exploit. Les méthodes d'attaque / recherche sont:

  • Inverser les valeurs d'entrée. Fichiers, protocoles réseau, etc.
  • Construire un Fuzzer avec ces informations
  • Fuzz till crash
  • Analyser le crash
  • Build exploit

Une autre méthode que j'utilise couramment consiste à inverser les points d'intérêt (par exemple, les modules SingleSignOne, d'autres méthodes de connexion, les connexions à la base de données (mots de passe codés en dur, etc.).

Mais cela devrait être activé Security Exchange n'est pas sur l'ingénierie inverse.

Je ne pense pas que l'échange de sécurité donnerait une meilleure réponse que RE.
D'accord, car Security Exchange n'est pas vraiment la recherche technique sur la sécurité (développement d'exploits, inversion de logiciels malveillants, etc.) mais plutôt la sécurité basée sur l'ITIL, le réseau et le bon sens. Mais ce n'est toujours pas une question RCE mais une question de sécurité. Je pense toujours qu'il devrait y avoir un échange de pile de développement d'exploit.
Ok, mais comment "inverser les valeurs d'entrée"? Avez-vous inversé iexplorer.exe puis l'applet?
@jyzus windbg briser ces types de symboles de base du noyau! ReadFile et exécutez simplement l'outil. Inversez le flux de vos variables d'entrée.
ekse
2014-09-26 21:52:24 UTC
view on stackexchange narkive permalink

De nombreux exploits Java tournent autour du contournement du bac à sable Java, le Security Manager dans le langage Java. Sami Koivu a publié de nombreux travaux intéressants sur la sécurité et les exploits Java, notamment son introduction en 3 parties à la sécurité Java.

http://slightlyrandombrokenthoughts.blogspot.ca/2009/02/java-se-security-part-i_25.html http: //slightlyrandombrokenthoughts.blogspot. ca / 2009/07 / java-se-security-part-ii-immutability.html http://slightlyrandombrokenthoughts.blogspot.ca/2010/02/java-se-security-part-iii- keys.html



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...