Skip to content
emigenix edited this page Jun 15, 2017 · 1 revision

Q: What detection methods do you plan to use?

A: The detection methods will essentially be the same as previous project, but with the greatest difference that they will actually work and be much easier to implement and understand. The reason for this is that each detection test (DT-n) will be made as a separate "module" and thus free-standing. That way it is very easy to implement and test and will not affect other modules. In additon, it allows us to work in parallel on several tests and can implement pretty much any method we want. We are open also for new ideas, not already covered. To be able to make this happen we have changed the DB structure. Here you can find:

Detection Tests DB Structure

Q: How are the detections performed?

A: The collector services continouly poplate the DB with network measurements. These measurements are then queried directly by SQL statements inside each test module, called DT-1, DT-2 to DT-n. Where n is the number of each test. The reseults of each query is then used in the analyzer loop and given a detection score. When the sum of all scores reach a threshold a detection flag raised. That is, one of the colored antenna symbols are shown as an alert.

Q: How can I help implement a new detection?

A: You first check that the detection doesn't already exist in our Detection Table list. If it does exists, you check it's status and related issues and join the discussion from there, if you have something important to add. If it does not exists, you first create a new issue labelled Detection: <what it does>. Here you try to describe in as much detail you can, how the test works and how it helps detect fake base stations. You can be as technical as you like, but try to be pedagogic to allow other programmer understand how it work. Then, unless the test is of trivial nature (which is very unlikely) we want you to accompany the issue OP with a picture of a flow-chart describing the test you propose. Once, we are all confident it will work..

You clone the repo, and under the /detect/ directory, you copy the file called DT-n_template.java to DT-n.java. Then you go to the analyzer and add your new test to the test loop, labelled ADD NEW Detection Tests HERE. Of course you need to check and make sure the n you choose doesn't already exist in our Detection Table. Once you feel this is working, you make sure you have thoroughly documented the detection, and preferably accompanied it with a flow chart picture. Once you got this, you make a PR with your new code and wait for our wetting and test team to accept or reject the new test.

Clone this wiki locally