• @NateNate60
    link
    English
    15 months ago

    It is a vulnerability, but exploiting that vulnerability is not generally considered by security experts to be “hacking” in the usual meaning of that term in academic settings. Using an open or exposed API, even one with a sign that says “don’t abuse me”, is generally not considered hacking.

    • @[email protected]
      link
      fedilink
      English
      55 months ago

      I am a security professional. I would personally not care less to make the distinction, as both are very generic terms that are used very liberally in the industry.

      So I don’t see any reason not to call this hacking. This was not an intended feature. It was a gap, which has been used to perform things that the application writer did not intended (not in this form). If fits with the definition of hacking as far as I can tell. In any case, this is not an academic discussion, it is a security advisory or an article that talks about it.

      • @Freefall
        link
        English
        15 months ago

        I was gonna say, we use hacking as a term for a lot of things, even is something like cracking is more accurate. It is like Clip vs Mag in firearms…when you say clip EVERYONE knows what you are talking about.

      • @NateNate60
        link
        English
        05 months ago

        I’m not someone who works on the practical side of security, but as a computer scientist, I do not agree that it is “hacking”. That contradicts my understanding of “hack” versus other types of exploits, but you are correct that the distinction is generally not that important. A security problem is a security problem regardless what it’s called

      • @NateNate60
        link
        English
        15 months ago

        I’m not talking out of my arse here either. I don’t work in security specifically but I’ve got a CS degree as well and it contradicts my understanding of how those terms are generally used. This is an open API endpoint, equivalent to leaving the garage door open.

        But the distinction is usually unimportant. A security hole is a security hole regardless of what you call it.

        • @lando55
          link
          English
          15 months ago

          To build on you analogy: if you left your garage door open and people came in and started taking your things, is that not stealing?

          • @NateNate60
            link
            English
            15 months ago

            Of course it’s stealing. But they didn’t break in.

            Hacking = breaking in

            Data breach = stealing stuff

            • @lando55
              link
              English
              15 months ago

              What about this scenario:

              • you keep your main garage door, side doors, and windows locked
              • provide a key to anyone who wants to borrow your lawnmower or whatever
              • someone discovers a window you mistakenly left unlocked and starts using it to take stuff without using a key

              Would this be considered breaking in? Probably. Here is where the analogy breaks down; if I were to leave the front door of my house unlocked, even if there’s a welcome mat outside, anyone who enters without my knowledge or consent can be charged with breaking and entering (yes, even though no actual breaking is involved).

              The interesting thing with public APIs is that there are generally terms and conditions associated with creating an account and acquiring a key, though if you are hitting an unauthenticated endpoint you technically never agreed to them. In this particular case with Authy, it would probably be argued that the intent was to acquire data by exploiting a vulnerability in the custodian’s system and use it for nefarious purposes or profit. I’d call it a hack.

              • @NateNate60
                link
                English
                15 months ago

                The scenario you described would not be breaking in.

                Terms and conditions being agreed to are not relevant for this purpose. An exposed API is one that is welcome to be exploited. If you’re not requiring an API key, you’re essentially saying “This API is free for anyone to use” for security purposes, regardless of what you say in the terms and conditions.