-
Notifications
You must be signed in to change notification settings - Fork 968
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for uploading exact BTS GPS locations #590
Comments
For the finding the exact GPS BTS position there are two methods we can (and should) use. One very simple and one more complex. They are:
Perhaps @KatrinaE, @zoulianmp would be interested in helping us out? |
@ziem Can you help us implement a long press on the map in such a way to automatically add the pressed GPS coordinates to a DB table? Those entries should be saved in: CREATE TABLE "BtsLoc" (
"_id" INTEGER PRIMARY KEY AUTOINCREMENT,
"elat" REAL, -- Manually Added BTS Lat postition
"elon" REAL, -- Manually Added BTS Lon postition
"cid_list" TEXT, -- A list of "|" separated CIDs in a BBOX around elat/elon
"cid_guess" INTEGER -- The best guess of CID at this location
); Procedure:
|
To upload manual GPS positions to MLS, we have to use their Geosubmit Version 2 API which uses JSON for its POST request body. For the field called "source", it should be set to: manual.
As an example: {"items": [{
"timestamp": 1405602028568,
"position": {
"latitude": -22.7539192,
"longitude": -43.4371081,
"accuracy": 10.0,
"age": 1000,
"altitude": 100.0,
"altitudeAccuracy": 50.0,
"heading": 45.0,
"pressure": 1013.25,
"speed": 3.6,
"source": "manual"
},
"cellTowers": [
{
"radioType": "lte",
"mobileCountryCode": 208,
"mobileNetworkCode": 1,
"locationAreaCode": 2,
"cellId": 12345,
"age": 3000,
"asu": 31,
"primaryScramblingCode": 5,
"serving": 1,
"signalStrength": -51,
"timingAdvance": 1
}
],
}]} Perhaps @hannosch can enlighten us to what minimum JSON entries are required for a successful BTS position upload? |
To upload exact cell positions to OCID, we have to use a CLF version 3.0 file, formatted as:
The key here is the |
Great... if we have exact position of the tower during any activity we could compare distance calculated from GPS position to BTS/NodeB with distance from Timing Advance (2G) or Propagation Delay (3G) or both (LTE) to detect abnormal cell in the network. Difference should not be more than one step in TA or PD due to reflections. If access to TA/PD parameter is not possible, calculated distance to bts in urban areas over 2-3km should be considered as abnormal behaviour. |
@E3V3A OK. |
@E3V3A the minimum example should be:
|
So we have the following updates: From OCID:
From MLS:
This understandable, but also make it perfectly clear that we're on our own in getting exact locations from within our app. (See my 2nd comment.) |
Hi @ziem, have you had a chance to look at this? |
Not yet, sorry 😞. |
Added DB support for BtsLoc table as described in # 590 and in comment: #590 (comment) Affected Files: aimsicd.db
Since I don't have enough free time I won't be able to help. I pushed basic draft with:
I also created empty methodsl: If you have any questions, let me know. |
@ziem, I know you don't have time left for our buggy project, but can you give this another attempt, please? We've had a huge downtime and I am trying to bring back our app to life. Thanks for helping! |
@SecUpwN I can create pull request but due to the lack of time I won't be able to do anything more ;/. |
User should not be able to manually change location of BTS measures. This is very risky and probably will cause more damage than help. Just think how easy it will be to abuse it. |
I agree. Data collected should be as exact as possible, but not to be manipulated via our app.
@ziem, you should know by now that pull requests are preferred here on our GitHub, so yes, you're very invited to craft one for this Issue. Rest assured that the PR will be checked before I'm merging it in. |
@agilob I agree, personally I'm against implementing this feature. Also the current PR draft has to be reworked a lot to be wide-usable |
@smarek, ok, then let's decide on this for now. I would like to hear @larsgrefer here before closing both. |
@timofonic, your Issue is another one, see #608. This one is about creating exact BTS locations to exactly map the BTS and possibly pinpoint attackers (at least that is what I think this might be good for). |
Background:
We can already upload BTS measurements to OCID, but we cannot tell them when we have an exact GPS position of a certain cell tower. Understandingly, the reason is that it could seriously damage their database. However, the possibility to have exact GPS positions for all BTS in the downloaded data is extremely helpful for our purpose.
In OCID this is provided by the
changeable
column, which is the opposite as we have in theisGPSexact
in ourDBe_import
table.MLS does already support both download and upload (?) for exact positions.
What we have to do is:
As (b,c) would also require an additional DB table, called
BtsLoc
, I've also added theDATABASE
tag to this issue.Related Issues:
#220, #446, #71, #309
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: