Precise geolocation via Wi-Fi Positioning System

(amoses.dev)

198 points | by nicosalm 15 hours ago ago

75 comments

  • pkulak 15 hours ago

    I use a Firefox preference to pin my location to a spot near, but not at, my house:

    user_pref("geo.provider.network.url", 'data:application/json,{"location": {"lat": 45.0, "lng": -122.0}, "accuracy": 128.0}');

    I _believe_ this also stops wifi data from leaking anywhere.

  • montroser 14 hours ago

    One time I worked at a zoom competitor, and our team got to prototype a "detect if these people are in the same room as each other" feature for dealing with echo cancellation etc, where everyone's laptop would emit a unique high frequency, and everyone's laptop would listen for other frequencies. Of course it worked in pristine conditions and fell down in the real world. But it was a fun experiment...

    • ctkhn 12 hours ago

      People need to learn manners, nobody should be using video calling without headphones. It's insane whenever someone joins and we hear all their background, feedback of whoever is speaking, etc as if nobody has ever told them to mute or stop using speaker in their life.

      • carstenhag 6 hours ago

        This is about 3 people in a meeting room joining with their laptops, without a meeting room audio setup (or it being bad)

      • pinkgolem 8 hours ago

        ... I mean Google meet handles it pretty well

    • dewey 2 hours ago
    • everdrive 3 hours ago

      >where everyone's laptop would emit a unique high frequency,

      This sounds like an awful idea.

      https://www.science.org/content/article/sounds-you-cant-hear...

    • spike021 5 hours ago

      sounds like how Cisco Teams/Webex could detect if you're in a certain meeting room using an ultrasonic frequency.

  • denysvitali 15 hours ago

    I've recently vibe-coded "where-am-i", a small CLI that returns your approximate location using the technology described here.

    https://github.com/denysvitali/where-am-i

    Tbh, I think this geolocation method is amazing, and I'm grateful it exists, because GPS indoor really sucks.

    • jbmchuck 14 hours ago

      Honest question - what's your use case for needing GPS indoors? I generally know where I am when I'm indoors :)

      • denysvitali 14 hours ago

        Maybe indoors is the wrong term: as soon as you don't have direct sky visibility it's relatively hard to get a position.

        Some examples: on a train, on the underground, in a train station, in a mall, in an office building, ...

        • wongarsu 25 minutes ago

          Probably depends on the construction of the roof and windows. At least on European trains I've never had an issue getting GPS (unless you are in a tunnel or subway system). It takes a bit longer to get the first fix if you don't have AGPS, but no worse than in a car. Same with planes. On the other hand in a building it it pretty much only works next to a window, and malls don't have windows

        • seba_dos1 11 hours ago

          Even if you do, it will often take more time to acquire a fix than most people are used to

      • mcdonje 14 hours ago

        You're in a large building you're unfamiliar with. Particularly one with an unusual layout, like a mall or hospital.

      • HPsquared 14 hours ago

        It's useful in shopping malls, airports, train stations, car parks and so on. Anywhere you need to navigate a large complex.

      • mingus88 14 hours ago

        Not OP but navigating large malls, subway terminals, etc is nice

    • 0x457 13 hours ago

      Generally yes, but if you go to a giant mall, train station, airport then you usually don'y.

    • seba_dos1 11 hours ago

      /usr/libexec/geoclue-2.0/demos/where-am-i

  • bigiain 13 hours ago

    I assume that smart comp sci kids already have some sort of proxy running on an Android phone that publishes the current in-classroom WiFi environment, and a browser plugin or Linux hack that their stay-at-home friends can run that intercepts the geolocation calls and spoofs the responses with what the in-classroom android phone is seeing.

    • Genwald 12 hours ago

      The API just returns coordinates to the website and it's fairly easy to spoof on major browsers. You'd just need to know where the classroom is.

  • incompatible 14 hours ago

    My PC doesn't have any wireless connections and the Geolocation API always fails. I guess I'd fail this course (which is apparently correct, as I was supposed to be attending in person with a laptop.)

    Edit: Presumably it would be possible to hack the browser to return a false position.

    Edit: Make it a convenient browser add-on, perhaps. There must be other applications.

    Edit: pkulak points out that you just have to set a Firefox option. Why do I even comment on things I know nothing about.

  • doctor_radium 4 hours ago

    I held onto Symbian longer than I should have, but am surprised this practice hadn't crossed my path before now. IMHO it's insidious. It's one thing for a Google Street View car to war scan my WiFi router, but another for my own phone to secretly rat me out. Not that I use Location myself, but I can't stop other members of the household. I assume this is yet another practice that Android forks like GrapheneOS disables?

  • nlawalker 14 hours ago

    Oh wow, it's the modern version of the clicker, the physical device assigned to you at the beginning of the term used for classroom participation and attendance checking, and which was most definitely defeatable via "the unpatchable strategy of Having Friends".

  • tnorgaard 4 hours ago

    Does the "Stop broadcasting SSID" option in most Wifi access points / routers prevent wardriving or is the BSSID still leaked?

    • zamadatix 2 hours ago

      In this case the AP still beacons (which includes the BSSID), just with the SSID field set to "".

  • ginko 14 hours ago

    Maybe it’s because I studied in Austria where universities generally provide very little handholding to students but I don’t understand the point of compulsory attendance in university lectures. If students think they can pass exams without attending the lectures then they should be able to do that. I certainly did that once or twice when I realized I needed some more credits before the end of the term. It’s a different thing with lab/exercise sessions but your lack of participation there would be noticed anyway.

    • michaelt 14 hours ago

      My university didn't take attendance either, but some in my country do. As I understand it, the reasons are:

      1. Some students think they can skip class and catch up through self-study, but actually they can't. The same I'd-rather-be-partying attitude that stops them attending lectures also stops them finding time to self-study. College is the first time students' time management is put to the test, and some students can't handle it. Giving them some external motivation to get out of bed does them a favour, in the long term.

      2. Some courses are discussion-and-debate oriented. Less so in engineering, moreso in arts subjects. If Socratic debate is a key part of the class, students who don't show up will of course lose grades - and accurate record keeping makes sure that's done fairly.

      3. Some governments require certain reporting to ensure people getting student visas are, in fact, students. Taking attendance for foreign students is one way to satisfy this.

      4. When someone fails a course they'll often lodge an appeal. Perhaps they'll say the course was badly taught, or the exam covered material that wasn't in the lectures. Knowing whether the student attended the lectures helps adjudicate such complaints fairly.

      A highly ranked university that attracts smart, self-motivated students has less reason to take attendance - whereas a university with lots of students skipping class, failing and complaining has more reason.

    • aidenn0 13 hours ago

      I graduated University in the US in 2004. I never took a class that had mandatory lecture attendance.

    • shortrounddev2 14 hours ago

      Compulsory attendance used to be far less common in colleges, but teenagers in America mature far more slowly than they used to and undergrads are still effectively children. Universities need to babysit them or they'll wreck the dropout rate

  • paxys 14 hours ago

    As the article mentions this tech has been in widespread use for over two decades now. You have likely used it on your phone today without knowing it. GPS is accurate but also very fickle (takes time to get a lock, battery hog, doesn't work great when surrounded by buildings, doesn't work great when inside a building, doesn't work in bad weather). Wifi data is plentiful today in every urban setting, and you can get an exact location in under a second.

  • m463 9 hours ago

    > Apple’s instructional opt out page (appending _nomap) to the SSID.

    this is good information.

    on the other hand, it is pretty impossible to turn off wifi on some apple computers. (when I look at wifi, I get a greyed out off toggle)

    You have to get into csrutil to disable the chips from powering up.

  • rudimentary_phy 6 hours ago

    Times are getting so much tougher. I remember my early morning organic chemistry classes using top hat. I never showed up to class, but I had my top hat app open.

    The answers were usually kept simple, so I'd guess things like 0 or 1 (the questions were never written in the app). I think I ended up with 60% or so on them, which was nice, since it was a bonus component meant to be a little boost to the grade anyways.

  • p1necone 15 hours ago

    Is it common for North American universities to take attendance? Seems like a whole lot of effort to gain little and infantilize your students. They're paying tuition, and if they don't show up to class they get punished by not learning enough and subsequently failing their exams/assessments. And if they don't fail their exams/assessments then clearly mandating lecture attendance for them wasn't necessary anyway.

    • wrs 14 hours ago

      I was punished by getting into grad school, going to the "meet the faculty" party, and having my Algorithms professor greet me with "oh, you're the one who never came to class". (I can't resist pointing out, now that it's safe, that it seemed like his TA taught quite a few of his classes...)

    • foltik 14 hours ago

      In my experience it’s common for large intro level classes. While I personally never liked these policies, I do think it’s beneficial to the average student to incentivize attendance. Think 18 year olds who aren’t able to self regulate or fully understand the consequences until it’s too late. A “pick yourself up by your bootstraps” mentality just hurts the average quality of education.

    • dataflow 14 hours ago

      I think it's worth pondering why you feel paying tuition enters the assessment of the situation. The justification would seem to stand on its own either way, right? Or would your opinion change if tuition was free?

      • bigfishrunning 13 hours ago

        Mandatory attendance makes more sense if tuition is free, because it's not the student's resources that are being wasted, it's whoever is paying the universities.

        • dataflow 12 hours ago

          I don't follow how this implies mandatory attendance makes sense in one case but not the other.

          If you believe lack of attendance is "wasting resources", then either you think the class isn't doing its part by teaching what students need, or you believe it is and yet students are not learning the material due to lack of attendance. In the former case, the problem is poor teaching, and so attendance isn't the solution. In the latter case, then the same argument would apply regardless of who's paying.

          What's the logic here? Is there a third possibility I'm missing?

          • bigfishrunning 12 hours ago

            The logic is, nobody cares if you waste your own tuition money by not attending class, but people do care if you waste somebody else's tuition money.

    • savanaly 14 hours ago

      If you require attendance to graduate, then your degree signals conformity and grit, and thus has some value to show to employers who care about those stats but can't really measure them any other way.

    • Ntrails 13 hours ago

      > if they don't show up to class they get punished by not learning enough and subsequently failing their exams/assessments

      My (UK) University was very clear that attendance was not mandatory, but if you weren't attending lectures you were not going to get any extra help from the lecturers etc

      I don't think that's an unreasonable position to take, but it's nice if you _know_ rather than _guess_ who bothered to make it in to class.

    • renewiltord 14 hours ago

      You misunderstand. The customer is the government, which pays for student education through 'student loans'. The government is an absentee farmer who pays a farm labourer to produce a crop many years in the future. The labourer would rather take the money and plant nothing, so the absentee landlord farmer wants him to send photos of the seed being planted.

      But why won't the crop grow on its own? It is strongly incentivized to live! And yet it does not. So you need to send photos of tilling the soil, planting the seed, watering, so that one day we might come there and see a harvested crop.

  • friedgil 14 hours ago

    > Small digression: did you know that, until May 2000, GPS satellites (which are owned and operated by the United States Space Force) provided the general public a signal with intentional error built into it?

    What the hell? Why?

    • 00N8 13 hours ago

      They wanted to keep accurate global positioning as a US military exclusive capability. It's definitely useful for guided munitions, & alternative satellite positioning systems didn't exist or were less mature at the time, so US GPS was the only system one could realistically use for that. A missile able to hit a target within a 3 meter radius is vastly more effective than one that can only hit within 100m, for instance.

      There are still some restrictions around this sort of thing: IIRC a GPS receiver for sale to the public isn't allowed to give accurate data if it's too high up &/or moving too fast, to prevent unauthorized usage in ICBMs & other similar weapons. I think there would be a lot of red tape involved if you wanted to buy an unrestricted GPS device without this limitation.

      • 4gotunameagain 3 hours ago

        Which is idiotic, because nowadays it is trivial to build your own GPS received compared to the complexity of building a reliable ICBM.

    • 0x457 13 hours ago

      Error was built in to reduce precision and make it harder to use them for targeting. It stopped being useful once there were other constellations available.

      GPS receivers sold to public also required to not operate at certain altitude/speed to prevent it from being used in ballistic (and probably other kinds?) missiles.

    • Jtsummers 13 hours ago

      It was to degrade accuracy. Military (and presumably other gov't and allied gov't owned systems) were able to get more accurate signals. The degraded signals meant that someone couldn't use commercial GPS as a guidance system or for similar applications.

    • MaulingMonkey 13 hours ago

      GPS started as a U.S. Department of Defense project, and they had qualms about freely giving the high accuracy positioning information they found so very useful for e.g. targeting bombs and missiles, to every unverified third party in the world. Depending on your preferred flavor of jadedness, one could say it was because of security concerns... or one could say it was because said third parties hadn't paid off the military industrial complex enough!

    • godsinhisheaven 13 hours ago

      Something something Yujio Hanma

  • UltraSane 12 hours ago

    I've had companies send us laptops for VPN access that had LTE modems and GPS specifically for location verification before granting access to the VPN.

  • neilv 14 hours ago

    The root problem is that a lot of higher education is nurturing a culture of cheaters right now.

    Your future doctors, scientists, government officials, etc... will have had to compete and gain coveted academic and career opportunities, in an environment that both has been heavily gamified, and is being overrun by cheaters.

    Insulting measures like this TopHat practically endorses the culture of cheating, by telling students that they can't be trusted, and turning into yet another cheating challenge/task.

    Schools with any integrity should be bending over backwards to find, nurture, and support students of integrity.

    And to save those who only got admitted by being sketchy, but first semester is a chance to unlearn the bad lessons from before.

    Not by treating them as criminals to be monitored, but by treating them like the respectable people they should aspire to be, and which the school expects and requires that they be.

    And, for any hopelessly shitty students, who fail to honor this first semester extension of trust, the school should smack them to the curb. Lost tuition income, lost named buildings/chairs, and expensive lawsuits from helicopter parents, be damned.

    • FloorEgg 13 hours ago

      I have an inside perspective on this via an academic integrity company.

      A couple weeks ago there was an exam in an R1 institution that double booked the facility so one section did the exam in person on campus and the other did it "from home". The score distribution of the in person exam was a typical bell curve, and the distribution of the online exam looking like a power-law curve with over half the students scoring 100%.

      Thankfully this outraged the professor, and through a variety of means (which I will not disclose publicly) over 25% of the students were caught red handed. Actions are being taken against them, though I'm not sure how far they will go. The evidence against them is overwhelmingly conclusive. In some cases the evidence led to more evidence of cheating in other courses. It seems clear that more that 25% cheated, but I guess catching some is better than none.

      As someone who is keenly aware of this crisis, I feel tiny bursts of relief when I see these small wins, though it does feel a bit like bailing an ocean with a teacup.

    • Centigonal 13 hours ago

      It also doesn't help that our outrage-driven media overwhelmingly exposes us to cheaters.

      Everyone's heard of Theranos, Enron, Martin Shkreli, and Bernie Madoff. This week, my 70+ year old aunt asked me about Charlie Javice and Frank. Yet, there are thousands of very successful people quietly building their castles who live and die in relative obscurity because their stories just aren't that thrilling.

      If you spend a lot of time interacting with people in the latter category, or if you have them as your mentors, then you will be exposed to a model of what success through hard work and integrity looks like. If you don't, then it's very easy to think everyone successful is a cheater, and that cheating is the only way to break the ceiling into success.

    • kace91 13 hours ago

      It’s not about individual people - it’s just scale, paired with Goodhart's law.

      No number in a spreadsheet will tell you who’s the genuine student. The moment you’re ranking like that you lost.

      Long term human interaction in reduced groups is far better at creating genuine environments. But of course, that system doesn’t scale, and it’s a breeding ground for nepotism.

    • munchler 13 hours ago

      In this moral framework, would it be acceptable for the lecturer to take attendance orally, or is that also insulting?

      • neilv 13 hours ago

        The instructor clearly sets their expectations for attendance (whether it's mandatory, or otherwise), and then just expects everyone to follow that.

        • nlawalker 13 hours ago

          It is verification of attendance, specifically, that "endorses the culture of cheating... telling students they can't be trusted, and turning into yet another cheating challenge/task"? If not, what is fair game for verification, in the pursuit of finding students of integrity?

          • neilv 10 hours ago

            Finding students with integrity is hard now, because the culture is already full of poo.

            But one starting point is to communicate that you expect and require integrity, explain what that means, and then expect it. Trying to make metrics or tests or whatever to detect, rate, rank, etc. it just turns it into a game, like the same load of poo.

            Though here is one thing you can do. Explain that you expect integrity, and then watch the students raise their hands and ask how they will be tested on this. You say it's expected. Back and forth a few times, until eventually some of them start crying, and then their heads explode, because they can't figure out how to game that. Those students sadly were too far gone.

            Then, after that first semester of integrity culture, some of the students who didn't explode will cheat, and they will be expelled with the fury of an angry god, and everyone on campus will know why. News stories will be written, word will spread, college guides will be updated. The next batch of applicants after that will have fewer cheaters than before, and will have disproportionately attracted students who aspire to integrity and who wouldn't have known to apply to this school before the news.

            A school with an honor code that students and faculty take seriously wasn't that newsworthy decades ago, but it's news now.

  • IshKebab 14 hours ago

    TL;DR: location API exists. Wifi-based location exists. American universities apparently use this to take "secure" attendance.

  • ralsei 15 hours ago

    Good article, but you could also just use a VPN to trick it.

    • wsces 15 hours ago

      No, a VPN would only change the source IP of your request which the author specifically states isn't how this system works: the browser uses its host OS' Location Services to self report its location based on GPS or Wi-Fi AP locations.

      That said, I hope the service doesn't implicitly trust data sent by untrusted clients like web browsers, otherwise someone could just use something like this to send it a false location: https://chromewebstore.google.com/detail/spoof-geolocation/i...

      • oceanplexian 15 hours ago

        Even if the browser was super locked down you could trivially spoof a few SSIDs broadcast from the desired area in theory..

        • DrawTR 14 hours ago

          The SSID (name, like the article mentions) is different than the bSSID (mac address of the access point), so I don't think it would be that easy to spoof.

          • kbaker 9 hours ago

            That would be a fun project. Capture some WiFi geolocation data and rebroadcast it later with an ESP32 that switches its BSSID/SSID/frequency/transmit power to match an existing fingerprint.

            And then see if you can be magically transported somewhere else.

          • 1bpp 14 hours ago

            Shouldn't be any harder than the name.

            • DrawTR 14 hours ago

              Do most consumer APs/routers allow you to just change the MAC address on the fly? I don't think the ones I've owned have ever allowed that. But that would certainly be interesting to try (if you were somewhere without any other address interference that would tip it off)

              • stackskipton 9 hours ago

                Some will let you change it but it's almost always static since changing AP MAC Address will cause network disruptions for all connected clients.

                Sure, some hacker somewhere will screw with these databases by rotating their AP MAC Address regularly but 99.9% are not going to touch it and 99.9% is good enough for location databases.

              • Aachen 13 hours ago

                Pretty sure the laptop I had from like 2012 until 2018 could do that. Haven't tried anymore since (haven't played around with deauths) but I thought this was common functionality

                Consumer router firmware UIs, typically owned by ISPs, I'd not expect that yeah. Some don't even let you pick a WiFi band anymore and require other changes to be submitted through an ISP portal on the web somewhere (thinking of Belgium here, not sure which ISP it was)

      • ralsei 15 hours ago

        Ohh. Yeah I suppose that's what I meant. I thought a VPN also spoofed the location

    • bitwize 14 hours ago

      A device can triangulate its own location locally, given the WiFi hotspots around it, and transmit that information via a JavaScript API. A VPN won't flummox this mechanism.

      • Aachen 13 hours ago

        > A device can triangulate its own location

        Trilaterate (or multilaterate). Angulation uses angle, like a directional antenna, constructive/destructive interference for beamforming (this is how airplane landing systems work if I'm understanding it correctly), or optics like our two eyes, to find the angles to a target from known positions in order to determine its position in space

        Trilateration is based on distances from known locations, determined either by signal delay (GNSS does that; newer cell towers also but call it "timing advance") or signal strength (used with both WiFis and cell towers)

        > locally, given the WiFi hotspots

        You'll also need a local database with the hotspots' positions (usually those aren't actually measured but estimated from observations at different locations). I'm not aware of a device that ships with this, nor popular software that uses it as its primary method, as such databases are many gigabytes. Thus this is typically not local; you're sharing your data (thus location) with the server which then kindly tells you where it thinks you are

      • IshKebab 14 hours ago

        Some simple Tampermonkey patching would though.