With new cyberattacks occurring week by week, security is now an extremely critical focus for all engineering teams. It’s also influencing the creation of new ways to prevent attacks. Crypto anchors, one such new method, just may be the key to thwart tomorrow’s security breaches.
A theory coined by security folks at Docker, crypto anchors “keep a hacker’s hands inside the cookie jar,” so as to speak. Crypto anchors tie decryption of sensitive data to keys stored in internal architecture, preventing huge offline data dumps. By doing so, crypto anchors also leave a fingerprint on the attacker to better trace and recall their moves.
In this article, we’ll briefly depict the process of tokenization and decryption involved in a crypto anchor strategy. We’ll suggest ways enterprises can use crypto anchors to their advantage and provide an example implementation.
The Container Security Problem
Though security products act as powerful firewalls, more security professionals are realizing that applications themselves need to be designed with more embedded security measures. According to Diogo Mónica, security lead at Docker: “It’s time that we start architecting our applications—and data-flows—in a way that makes it harder for attackers to continue following the same script.”
In leaks that involve an exfiltration of data, user passwords, credit cards or SSNs are decrypted and pulled outside of the server. Too often, this process is gone undetected until such sensitive information is exploited in the real world.
Solution: Keep Attackers In
In his article on Crypto Anchors, Mónica proposes a timeless solution: Keep your enemy close.
A black hat’s mission is to crack passwords offline. But what if such hashes were tethered to internal decryption processes? This would retain hackers within your environment, increasing the likelihood of early detection as internal logs will account for increased action. Rate limiting is another means to slow down such exploits.
“… we have to make the computation of the password hash dependent on something that can’t leave the data center.”
HSM, hardware security modules, are keys generated in physical hardware and stored in your server, which may be bare-metal or provided in the cloud. Instead of just hashing a password, the HSM process applies a key generated with the HSM.
What are Crypto Anchors?
Crypto anchors is a concept coined by Mónica and Nathan McCauley, director of Security at Docker. Crypto anchors work with and extend HSMs: “A Crypto-anchor is a service that forces a data-flow to only be available within the boundaries of your infrastructure.”
How to Implement Crypto Anchors
Mónica provides the example of a credit card processing service. Instead of providing the payments processors the private key to decrypt transaction information from the in-memory database, a crypto anchor makes it impossible to encrypt such data from outside of the architecture.
The private key for encryption can be stored in an HSM. Mónica recommends doing so behind a decryption service with strict rate limiting on the number of possible decryptions.
Benefits of Using Crypto Anchors
The goal of IT security is to never expose sensitive data such as SSNs or credit card data to any online-facing services. Crypto anchors can help prevent this by only allowing communication within the confines of your architecture. Operating on your home front also means hackers continuously run the risk of detection.
Splitting things into smaller services that utilize crypto anchors adds additional roadblocks, which slow down hackers. Through internal logs, you are also collecting information on what is accessed, improving your threat resolution processes and also informing security teams on how to plug future leaks.
Anchoring Your Data with Crypto Anchors
Making decryption impossible to accomplish offline, crypto anchors retain an intruder within the walls of an organization. In actual implementation, Mónica recommends rate limiting per service, using varying levels of security:
“Categorize services with different levels of security into different security zones, and rate-limit the number of API calls to the crypto-anchor on a per-zone or per-service basis.”
With crypto anchors utilized, intruder detection is aided and data exploits limited, making it a strategy for DevSecOps-minded engineers to seriously consider embedding into their build processes.