Over the past several years, DJI has established itself as a leader in the civilian drone and aerial imaging technology industry. The company has also captured a significant share of the enterprise market, which includes critical infrastructure, manufacturing, agricultural, construction and the emergency-management markets.
Now comes the security.
Check Point researchers recently discovered a possible attack that would pose a major security risk to DJI's customers, allowing an attacker to access the raw information these drones transmit.
The attack could gain access to a customer's flight logs, photos and the videos generated during drone flights, if a DJI user had synced this data with the company's cloud servers.
The attacker could also get to the live camera views and map view created during drone flights, if a user were using DJI's FlightHub flight management software.
Finally, a DJI user's account, including user profile information, was also hijackable.
One might think that the attack would originate with the drone hardware itself, due to some fault. That assumption would be incorrect. The attack went through the DJI Forum, which is an online portal that the company hosts and maintains for product discussions.
Users in the forum could click on a specially-planted malicious link, which would then enable their login credentials to be stolen.
This, in turn, would allow access to other DJI online assets which include the DJI's web platform -- account, store, forum -- cloud server data synced from DJI's GO or GO 4 pilot apps, and cloud server data synced from DJI's GO or GO 4 pilot apps.
The vulnerability was residing in the DJI identification process. The company uses a cookie that the attacker can obtain to identify a user, as well as create tokens to access their platforms.
Check Point researchers found that the login between the domains for the cloud services that DJI provided used the OAuth framework. This led Check Point to look at traffic between the subdomains.
The researchers observed that a request to the mobile.php URL gave them sensitive information about their test user which included data such as username, member_uid, token and more. Further, one cookie named "meta-key" was the one responsible for user identification.
Getting this cookie turned out to be simple.
In order to trigger this XSS attack, all the attacker needed to do is write a simple post in the DJI forum which would contain the link to the payload.
The cookie stolen from a user could be used by the attacker to bamboozle the DJI web applications into thinking that they are the user. The applications will then give up that user's information without complaint.
Check Point informed DJI about this, and the company has since patched its software.
However, the lesson remains: Attacks can be successful when they are carried out in a way that was not addressed by the threat model used. While each individual part of the web program had specific security measures taken, they were vulnerable to a meta-threat that came in obliquely and used one aspect of a system to later defeat the security of others.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.