How the Pentagon Keeps Its App Store Secure
Credit to Author: Lily Hay Newman| Date: Tue, 03 Jul 2018 17:23:08 +0000
Every day, companies like Google and Apple wage a constant battle to keep malicious apps out of their marketplaces and off people's phones. And while they do catch a lot of malware before it does any damage, there are always a few nasty infiltrators that manage to sneak by and end up getting downloaded by thousands of consumers. No one wants these mistakes to happen, but when you're a crucial app store for the Department of Defense, these mistakes can't happen.
That was the problem facing the National Geospatial-Intelligence Agency as it set about creating a flexible yet ultra-secure app store in 2012. NGA is a combat support organization that primarily assesses and distributes geospatial intelligence. The agency wanted to provide sensitive and mission critical apps to groups across the DoD through a platform that had the security and resilience of a government defense product, while also offering a streamlined, up-to-date user experience similar to ubiquitous commercial app stores.
"We recognized that we did not know everything when it came to apps and we wanted to be using the innovation that was happening in the commercial sector," says Joedy Saffel, division chief and source director of NGA who has worked on the GEOINT App Store from the beginning. "But how do we do that in a safe, secure manner? How do we do that from a contractual perspective? And how do we do that in a way that nontraditional vendors will trust doing business with the government? It was a great challenge."
The key, Saffel says, is getting developers to agree to hand over the source code of their apps for in-depth analysis and review. Whether an app is a simple time/speed/distance calculator for a pilot or a hyper-specialized classified tool, sharing source code is a big risk for developers, because it means trusting third parties with the core intellectual property they have built their businesses on. But NGA soon realized that full access was the only way its project could work.
So NGA's GEOINT App Store runs its security protections and screening processes in a way a commercial platform never could.
You can browse through the GEOINT App Store yourself today and see many of the mapping, aeronautical, weather-forecasting, location-sharing, and travel alert services that it hosts for Android, iOS, desktop, and web. But that's just the public unclassified section—one crucial aspect of designing the platform was building segmentation controls so DoD employees with different levels of clearance, or simply different needs, could have gated access to different apps.
"We built the App Store to be a completely unclassified environment that's open to the public," says Ben Foster, a technical director at NGA who is the product manager for the app store. "But it also has identity management that uses a federated approach to authentication. It's even flexible enough to integrate with other identity management platforms across DoD. If a user is a helicopter pilot they might see and get different apps then someone who is a tactical operator in the Army."
This system also works with the platform's pricing variations: Some apps are free to everyone, some downloads come with a fee that needs to be taken out of a particular department's budget, and some apps are licensed by NGA or another agency.
The most radical part of the GEOINT App Store from a government perspective is the speed with which NGA can process apps and get them live in the store. In general, government acquisition processes take many months or years, a clear problem when it comes to constantly evolving software. So NGA worked with its chief information officer, IT Directorate, legal team, international affairs division, and contracting office to establish a streamlined app-vetting process that would be acceptable under federal acquisition regulations. The agency also contracted with a private firm called Engility to directly manage the outreach, acquisition, and development environment for customizing prospective apps to NGA's requirements. The process, known as the Innovative GEOINT Application Provider Program, or IGAPP, minimizes bureaucratic hurdles and guides developers who want to submit an app through a pipeline that vets, modifies, and generally grooms apps for NGA's store.
"What we focused on early on was providing tools so developers can bring their app and do a lot of the pre-testing and development with Engility," NGA's Saffel says. "We're able to be flexible with that because it's being done outside of the government footprint in a brokered environment. And then NGA has a governance board that meets every week and the whole process has matured enough that by the time an app comes to NGA we can review it and get that application into the app store and exposed within two weeks' time."
Though the process might be even faster if NGA only did the minimum vetting required, Saffel says that the GEOINT team worked to find a balance where the apps go live quickly, but there's still time for the automated code analyses and human audits that commercial app stores can't do.
After a developer submits their app, Engility does extensive source code analysis and vulnerability scanning and produces an initial findings report. John Holcomb, the IGAPP program manager from Engility, notes that an initial vulnerability report can have as many as 1,000 items on it that a developer needs to address. "It’s a little intimidating at first," Holcomb says. "But we walk them through it and they go back and modify their code—it’s their code, we don’t modify it for them. And we might go through four runs of that on a brand new app, but by the time we’re done they will have remediated their code down to the level that the government needs. There are still going to be bureaucratic hurdles, but it’s our job to break through those."
In addition to digging deep into source code, IGAPP also tests how apps function in practice to make sure that there aren't benign-looking aspects of their code that actually underly a shady function. "We take the compiled application and we watch what it does," Holcomb says. "Who does it phone home to? Is it sending private information unencrypted?"
After an app gets approved for inclusion in the GEOINT App Store, developers continue to work with IGAPP on developing and vetting software updates so that patches and improvements can be pushed out quickly.
The brokered vetting process means that the government never holds developers' source code directly. The inspection is always mediated by Engility, which signs nondisclosure agreements with developers and isn't a software maker itself. Holcomb says that the company carefully guards app data while storing it, and once a project is done, Engility doesn't just do a soft data deletion; it hard purges the information from its cloud servers within 30 days. NGA's Saffel and Holcomb both note that developers were apprehensive about the unusual workflow at first, but over the years the app store has gained credibility.
Developers say that they benefit from the IGAPP process both by securing lucrative government contracts and by integrating the improvements from the IGAPP development into their commercial products. The code audits and security vetting IGAPP offers are expensive, so developers generally don't do such extensive assessment on their own.
"Everyone’s dream is to sell to the government, but it normally takes years of effort to get to a position where you can. In our case, I was able to sell to the government in less than a month," says Bill DeWeese, CEO of the firm Aviation Mobile Apps, which has had six apps accepted into the GEOINT App Store. "You do feel a little anxiety about sharing source code, you worry about your IP leaking and someone getting ahold of it. But I haven’t had any issues and the benefit is the increased quality of your products at no cost—you get the analysis for free and you can put it in your commercial offerings."
NGA's Saffel says that the governance board that evaluates the apps at the end of the process is careful to stay vigilant so nothing goes into the store by accident. The board will still push back on apps or turn them away when warranted, but Saffel says the process has matured such that most of what the board sees these days is ready or very near ready to go live. And IGAPP prioritizes its patching process and infrastructure, to make it easy for developers to push bug fixes and improvements throughout the life of an app. All of this means a consumer-grade turnaround time for critical Department of Defense tools without the consumer-grade security concerns.
"NGA is kind of a unique combat support agency," Saffel says. "With the GEOINT App Store we chose to go into a very risky new frontier for DoD and the government in general, but I think we’ve demonstrated that we can do things differently and still be secure and still control access. We’re supporting a lot of different mission sets and I expect that the app store will keep growing."