1. 57
    1. 30

      When I was at Microsoft Research, I was in the same building as a very strong machine learning group. Every time I went to them with a problem where I thought ML might help, they explained to me patiently why it would not.

      The most interesting thing to me about this XKCD is how hard the first task actually is. When you think about the radio hardware and signal processing required for GPS, that’s actually a phenominal amount of work. It took decades of research to make it possible. It only looks easy because that research is all done and now it’s TRL9.

      Detecting whether an image is a bird is now possible with a bunch of off-the-shelf image classification networks in the absence of an adversary. If you’re taking data from a camera and no one is intentionally putting up misleading posters / stickers in the frame, it can be quite accurate. If you have to deal with potentially malicious images, it remains a difficult unsolved research problem.

      1. 9

        I’d say the same about GPS. Determining your location with potentially malicious radio signals is a difficult unsolved research problem too.

        1. 2

          If you’re dealing with electronic warfare, GPS spoofing might be a smaller concern than the other stuff going on…

          1. 1

            A foreign adversary can jam GPS, but can they spoof it? Does it have a signature to verify?

            1. 17

              My anecdotal evidence says that GPS (at least phone GPS) can easily be spoofed. (But it is anecdotal, I am not proficient in the topic enough to know whether, in the cases I observed, GPS was spoofed to concrete other location or just confused.)

              Context: I am Ukrainian :)

              1. 8

                That’s a hell of context! Stay safe.

                1. 3

                  My anecdotal evidence says that GPS (at least phone GPS) can easily be spoofed

                  At least for GPS (not sure about other satellite positioning systems), I believe this is because consumer devices do not have the codes for authenticating the signals. From what I remember, this is an intentional weakness in the system that allows the US to permute the signal so that military devices have accurate position information but civilian ones do not, so that they can prevent anyone in a war zone who does not have the US military devices from using GPS. I believe that they promise now to not use that ability (it was one of the things they did to try to discourage everyone else from building competing systems). GLONASS almost certainly has something similar, I’m not sure about Galileo.

                  1. 2

                    From what I remember, this is an intentional weakness in the system that allows the US to permute the signal so that military devices have accurate position information but civilian ones do not

                    Was true for a while.

                    It is no longer true. Nothing like a civilian airliner crashing to make you unlock the signal for everybody. It’s actually as second signal transmitted from the same GPS satellite, that gave the military their precision.

                    Civilian GPS receivers have to shut off above 10k feet and above 300 MPH, to prevent their use in ICBMs. Technically the US law is “Either Or” not “And” but some civilian GPS implementations do it as an And.

                    An author I trust on this topic wrote:

                    [Selective Availability] was turned off in 1990 for the first Gulf War. The majority of receivers used were civilian ones. It was turned off permanently in 2000. The availability of other GNSS systems makes it unlikely that it will be turned back on in the future. You may find of interest the talk my co-author and I gave to Gen Hyten and others at Air Force Space Command last July.

                    https://www.youtube.com/watch?v=FSUSURff8is&feature=youtu.be

                2. 3

                  There’s a whole section on Wikipedia about it. I guess systems are susceptible to rebroadcasted older messages, which mess up timing and positioning. It’s theorized that that’s how Iran took down a RQ-170 flying in Iranian airspace.

                  1. [Comment removed by author]

                    1. 1

                      I have not tried spoofing GPS, but it looked possible the last time I researched it.

                      Depending on what you’re building, it should be part of your threat model.

                      I did not fact check this article but it talks about encrypted solutions: https://safran-navigation-timing.com/encrypted-gps-m-code-its-here-and-its-critical/

                      1. 5

                        It is quite possible. I can’t go into a ton of detail because of an NDA still but… I’ve done a “first-principles” version of it where we basically simulated the orbits of the entire constellation and the signals that the receiver would be receiving from each SV at a given time. It was a lot of work and the math everywhere had to be perfect, but it worked amazingly well once all of the sources of imprecision were worked out of it.

                        The project really gave me a solid appreciation of what it takes to make GNSS systems work. I don’t remember which constellation it was, but one of the surprising things was that if you didn’t take into account Solar Radiation Pressure, your orbital simulator would diverge compared to what you’d see in a real almanac from a real SV. Photons messing up your orbit!

                3. 3

                  I still feel like it’s hard to find any reasonable entrypoint into this specific mentioned problem of image detection.

                  It’s still not as solved as “just use postgresql/sqlite/mariadb” for tabular data. I would say it is even harder, now that everybody and their pet tries to make money by offering a service, instead of listing some libs and pre-trained models that do the things 90% of people need with enough accuracy.

                  My first question would be:

                  • what model and from where
                  • what frame rate ?
                  • which accelerator ?
                  • on what resolution ? (power budget)
                  • what kind of false positive / false negative rate is ok ?
                  • under what light conditions ? could be an IR camera
                  • do you try to fight someone actively probing your system (camouflage)

                  I could do an equal list for tabular data, but it wouldn’t be the first thing coming to my mind, if I got this task.