as some of you may have noticed, just recently at ShmooCon we gave our talk “LTE vs. Darwin” (Slides here). There we presented some results of our research in 4G telco network security. Some of those originate from our research contribution to ASMONIA, but we expanded the scope and also took a look at the air interface. Both the air interface and the backend links & protocols must be secured appropriately; otherwise communication may be eavesdropped or sensitive information may be compromised. In the following we want to provide an overview of LTE main components and potential attack vectors.
First of all we start with one of the main new 4G components, the eNodeB.
eNodeBs provide the actual air interfaces in LTE networks. Having a LAN link on one side and antennas on the other, the eNB constitutes also the termination point for different encryption channels (UE rf encryption and eNB to back end encryption). This makes an eNB quite an interesting target. But where is it usually located? Due to the nature of antenna cables, the eNB has to be placed “close to the antennas”, depending on the kind/size of eNB it can actually be up on the mast or down below on the ground, potentially located somewhere on the top of a roof or in the woods, all in all in “very secure” locations
Another interesting aspect on eNBs is that they use multiple antennas. Surely LTE is a MIMO system needing multiple antennas, but an eNB is actually able to be part of multiple cells. Using directional antennas multiple cells in different directions can be fed from a single eNB. So if you walk round the mast you might get a different cell on each side!
For more information on eNBs see below in the SON part.
The UE Perspective
One question we want to answer with our research is: what does User Equipment (short: UE) feel, see and hear? User Equipment in 3GPP terminology describes all devices connected to the radio access network controlled by the user (e.g. smartphones, laptops). It must be aware of a Physical Cell ID (PCI), a Tracking Area Code (TAC), some reception levels and its position. The PCI and the TAC might be particularly interesting pieces.
The PCI is similar to the Cell ID in GSM networks and should be known to most readers as an identifier for a single network cell. There are 512 different PCIs in LTE networks but surely more than 512 cells. It’s just important that no adjacent cells have the same cell id, or rather to say a single cell may only be adjacent to one cell with a certain PCI, not two.
The TAC on the other hand can include multiple cells and is quite often compared to GSM’s LAC. Now in LTE the TAC is the area in which i.e. paging messages are broadcasted. So in theory everybody in a given TAC can see all pages for all mobiles in the same TAC. This might allow attacks similar to those Nico Golde described for GSM networks in his presentation at the Troopers TSD 2013.
Yet, we’re currently focusing on the phase of data collection. Therefore we’ve written a basic Android wardriving app which seemed to be the easiest solution. Not having access to network plans, wardriving is our best shot at mapping cells and TACs and can be done by everyone. Results will be published on this blog and in future talks.
The first look at some data makes us believe that TACs can well have a radius of a few kilometers in town areas but we are currently working on a more detailed map.
Another important part of our research is analyzing the backend structure. As mentioned above, usually an eNB is located near to the mast. That means that an attacker potentially accesses the mast, circumvent physical security mechanisms and then have physical access to the device. But what may be the impact of this? Okay, the eNB itself may be located close to the antennas where, because of radiation, nobody would come close to, but somewhere on the ground will be some access to the backend network. In 4G access to backend network means having access to an IP network! For our research we focus on two variants:
- Network access to eNB
- Access to the so-called backhaul network
The eNB is a network component like all many others. That means it should be secured (e.g. following the ERNW “seven sisters” approach. But what is happening in the telco world? Well, there is a standard called 3GPP TR 33.805 which defines a Security Assurance Methodology like product development, lifecycle management, security compliance testing, vulnerability testing and enhanced vulnerability analysis. This standard was initially released in 2013, but there are a lots of eNB in use which were developed earlier and new standards still have to be deployed in the development process! In our pentesters experience with telco equipment & networks we’ve seen that there really is a necessity and that something must be done. Eventually, the telco world is on the right track but we think that it still will take some time until there is a proper security assurance methodology in place.
On the other hand once we get access to the backhaul network we have access to control and user plane of the eNB interface (called S1 interface). On the user plane GTP (as in 2G) will be used for transporting the traffic, but for control plane a new protocol called S1 Application Protocol (short: S1AP) was developed. On both, no authentication or encryption mechanisms are implemented. For securing control and user plane the standards say that IPSec must be used, defined in 3GPP TS 33.401:
“In order to protect the S1 and X2 control plane […], it is required to implement IPsec […]. For both S1-MME and X2-C, IKEv2 certificates based authentication […] shall be implemented.”
“In order to protect the S1 and X2 user […], it is required to implement IPsec […] with confidentiality, integrity and replay protection.”
But there is a limitation on that, called “transport mode IPsec is optional for implementation”. In reality this means that quite often there is no end-to-end encryption and that security gateways will be used in place. Yet another component which will be located near to the eNB…
Nevertheless, there is also a nice addition in this document:
“NOTE 1: In case control plane interfaces are trusted (e.g. physically protected), there is no need to use protection […].”
“NOTE 2: In case S1 and X2 user plane interfaces are trusted (e.g. physically protected), the use of IPsec/IKEv2 based protection is not needed.”
We do not know how providers will deal with this (standard) but please remember that, as mentioned above, eNBs are located near to the mast and there may be some kind of fences or locks in front of the device. On the other hand, in case an attacker has access to the S1 interface both control and user traffic may be sent. And there are a lot of interesting control messages which may be abused like:
- Radio Access Bearer setup/modification/release,
- UE Context messages,
- Handover signalization,
- Configuration updates,
plus a number of tracing and information gathering messages. To test the functionality of the protocol and if it is implemented securely we have written some scripts for our fuzzing framework dizzy which can be found here. But please understand that we are not publishing scripts for sensitive messages as of Handover Preparation or S1 Context Setup because of abuse reasons. This blog post should not be an guide to “how to own an eNB”, we just want to discuss potential security problems.
eNB as Part of the SON Network
Another very interesting feature in LTE networks is “SON”. SON stands for “Self Organization Networks” and can be split into two aspects: Self Configuration and Self Optimization.
“Large scale Plug and Play” is what most of us would probably call the Self Configuration functionality. Devices like eNBs come with a clean firmware and some pre-configuration. An on-site technician just has to attach it to the antenna, network and power! (which results in reduced installation costs.) The device will then get an IP via DHCP and a configuration file based on its HW ID. Depending on the actual eNB the installer/technician might have to set up its geo location, otherwise it might use an internal GPS receiver (mainly used for timing). One important aspect here is the PCI (see above). As stated before no two nearby cells may have the same PCI so the LTE back end might actually start shifting PCIs around and assigning new ones. That all sounds good, but what if the default configuration is not trustworthy? Especially in times where information came up that agencies are intercepting deliveries? 😉
Here is a graph on how this process for setting up a private/public key pair usually looks like while purchasing an eNB:
- The manufacturer of the eNB creates both public and private key locally on the device. So the private key never has to leave the machine.
- After this, the manufacturer requests a certificate for its public key from factory CA and stores the certificate locally.
- When the device is sold to an operator, the factory CA certificate used for signing the equipment certificates is handed over to the operator in a “secure way”.
- The customer stores this certificate in his CA pool.
However, getting this certificate handed over from the manufacturer to the operator means having a signing cert in a high instance. In an attackers point of he is able to sign his own keys and can fake control and user plane communication if it is secured with IPSec.
After hardware installation the Self Optimization process starts. The classic main aspect to be optimized on radio networks is overlap. To achieve this, adjacent eNBs will communicate with each other and work out optimal RX values and distribute their transmission to time and frequency domain. So how does this actually work? There are two scenarios to start with
- eNB1 and eNB2 can directly “see” each other’s transmission over the air
- an eNB requests all received cells from a random UE.
In scenario 1) eNB1 will send a message to the MME asking “Hey there, who’s eNB2 and how can I reach it?”. In case the MME has an entry for eNB2 it will send contact data (IP) to eNB1 and both eNBs work out everything by themselves.
Now in scenario 2) an UE is used as an information source! Which could potentially be the one UE that’s in our hands right now. Maybe we can actually use our UEs to fake the position and signal strength of a certain cell mast, make to masts that are configured as wanted rethink their transmission rates and create a signalless black hole in between. Though this is actually one of our future research topics.
Finally, above all there are Home-eNBs (HeNB), which are essentially femto cells. You might have on your desk one day, maybe running Linux, maybe being root-able and surely using the X2 channel (the interface for communication between eNBs). So what would happen if my personal HeNB sends fake data to a “real” eNB, saying “Hey mate, I’m the most awesome eNB in the whole Heidelberg area! Lemme do your job, you may switch off now”? Most probably it wouldn’t be quite as easy, but like for S1AP we have written some scripts for faking X2AP (X2 Application Protocol), too. Some example scripts can be found here.
So these are some topics and research activities we discussed in our ShmooCon talk. Some of those will be covered in more detail in our Troopers workshop on “Telecommunication Network Security”. Furthermore the annual TelcoSecDay on Tuesday (Mar 18th) might be another opportunity to meet us if you’re interested in this stuff.
Hendrik and Brian
Talking Darwin: During Saturday’s ShmooCon party Paul and Storm showed a video we could have used ourselves: Don’t risk doing stupid things, if you haven’t got seven lives!
And for those of you who have seen our talk, an insider 🙂