• [^] # Re: Sécurité et confiance

    Posté par . En réponse au journal Sécurité de l'open source Vs closed source: MS14-066. Évalué à 6.

    est-il possible de patcher un faille de sécurité sans en révéler l'exploit associé?

    Pour faire court, pas si le code source est public. La raison en est simple : si tu publies un patch, il suffit de lire le patch pour voir la vulnérabilité (ou même encore plus simple : tu appliques le patch, tu fais un diff "à l'envers" (en passant le code final en code intital et vice versa) et tu obtiens un patch qui implémente la vulnérabilité).

    En pratique, ça peut être plus compliqué. Sur un projet complexe, si la vulnérabilité est elle-même complexe et le diff conséquent, ça peut être difficile de comprendre en quoi un logiciel est faillible. L'attaquant doit donc :

    • Lire le patch
    • Lire le code source initial
    • Connaître le protocole implémenté
    • Trouver en quoi le comportement corrigé nécessitait une correction
    • Déterminer une attaque contre ce code
    • Implémenter cette attaque

    Le tout dans un temps limité puisqu'à chaque minute consacrée par l'attaquant à attaquer, ce sont des centaines de serveurs qui sont patchés (et donc le périmètre de l'attaque se réduit).

    Ça, ce sont les sources. Le mouton que tu veux est dedans.