Giter Site home page Giter Site logo

certpatrol's Introduction

Certificate Patrol

Your web browser trusts a lot of certification authorities and chained sub-authorities, and it does so blindly. Subordinate or intermediate certification authorities are a little known device: The root CAs in your browser can delegate permission to issue certificates to an unlimited amount of subordinate CAs (SCA) just by signing their certificate, not by borrowing their precious private key to them. You can even buy yourself such a CA from GeoTrust or elsewhere.

It is unclear how many intermediate certification authorities really exist, and yet each of them has god-like power to impersonate any HTTPS web site using a Man in the Middle (MITM) attack scenario. Researchers at Princeton are acknowledging this problem and recommending Certificate Patrol. Revealing the inner workings of X.509 to end users is still deemed too difficult, but only getting familiar with this will really help you get in control. That’s why Certificate Patrol gives you insight of what is happening.

Deutsch

Dein Web-Browser vertraut vielen Zertifikationsautoritäten (CAs), welche wiederrum noch mehr Zwischenzertifizierungsstellen vertrauen. Manche können es sich sogar leisten solch eine “intermediate” CA zu erwerben und können damit Legitim digital signierte Zertifikate ausstellen für jede Adresse und Website, die sie wollen. Dieses Add-on hilft den Überblick zu behalten und MITM-Angriffe abzuwehren.

Italiano

Il tuo web browser ha molta fiducia per tante autorità e sub-autorità di certificazione, e lo fa ciecamente, perché rivelare il funzionamento interiore di X.509 è considerato troppo difficile per comuni mortali. Tu per fortuna sei un utente in gamba che apprezza tenere d’occhio quali certificati vengono aggiornati e assicurarti che nessuna delle autorità ed autorità intermedie abusi della fiducia del tuo browser a scopo di monitorare le tue attività su siti HTTPS.

Developer Comments

NOTE: check out libcertpatrol, a C library version of Certificate Patrol with improved functionality

You’ll see certificate information pop up whenever you visit a new HTTPS website, including https://addons.mozilla.org for example. “New” is anything Patrol hasn’t seen and stored yet.

You are also prompted whenever a web site updates its certificate and given the opportunity to compare the two certificates side by side, line by line. See the screenshot for an example.

Even if you do not fully understand what is shown to you, you get a chance of distinguishing legitimate from suspicious changes.

Here’s a little list of things to look out for:

  • If the old certificate is about to expire (Validity / Expires On), it was necessary to replace it with a new one.
  • In most cases web sites keep using the same certification authority (Issued By) over time. Should the web site have changed its certification authority, make sure the old certificate was about to expire.
  • You may want to consider the most popular CAs (like maybe CAcert, Entrust, Equifax, GoDaddy, NetworkSolutions, Thawte and VeriSign.. to mention some) to be less likely to help in MITM attacks, but that is only a guess. Especially since in each country local CAs may be legitimately well established.
  • Comodo, GeoTrust, GlobalSign, QuoVadis, RSA WebTrust and StartCom are known to offer intermediate CA for money. Still StartCom is extremely popular with small and private web sites for its free services.
  • If all certificates you see are always issued by the same certification authority, you should be very suspicious. Try searching for random HTTPS sites and see if they still all appear to be signed by the same CA.
  • In case of doubt install the Perspectives add-on to make further checks on the credibility of a certificate. The downside of Perspectives is, you reveal who you communicate with to an external service — so better only use it when necessary.
  • If the web site is important to you, make a research on the name of the new CA. Make a phone call to the owner of the web site and ask them to confirm the SHA1 fingerprint shown on your screen. Ask them to send you future certification data by snail mail <i>before</i> they install it.

It is very important to understand that certificates do not make a statement about the trustworthiness of a web site, but whether that web site is indeed what you think it is. In practice you should always be very suspicious if there are problems with your electronic banking or other sites you trust for very important operations, whereas you can probably relax if a certification problem arises for a web site that you are merely intending to have a quick look at. <b>The more a web site is important to YOU, the more you should be cautious!</b> That is the most essential rule of thumb in dealing with the wild west of Internet certification today.

Credits

Prototyped by 20after4 (Mukunda Modell), Re-engineered by Aiko Barz. Wildcard functionality was contributed by Georg Koppen, JonDos GmbH 2010. New features by Gabor X Toth. SHA256 support by Christoph Biedl. Originally conceived, planned and continously refined by the lynX (Carlo v. Loesch).

Testing the add-on

For the interested ones, to manually trigger seeing a web site replace its certificate, you can do one of these things:

  • Have an HTTPS web site yourself and change the certificate.
  • Manually have an address in /etc/hosts point to this or that HTTPS IP address and add many security exceptions to Firefox in order for Patrol to even get to do its warning part.
  • Use an sqlite editor like the “SQLite Manager” add-on, edit the CertPatrol.sqlite file and modify any of the fingerprints of an HTTPS website you have visited before. This way, Patrol will think it has seen that web site using a different certificate than it actually does, so as soon as you go to that web site it will warn you of an apparent change in certificate.
  • Make a manual backup of an old or patched CertPatrol.sqlite file and copy it back whenever you need to test a warning.

certpatrol's People

Contributors

tg-x avatar

Watchers

 avatar Mathias L. Baumann avatar James Cloos avatar the symbolic lynX avatar

Forkers

ansell

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.