Introducing Dexter


Prioritizing safety is not only part of Coinbase’s tradition, it’s essential to our success. Conventional monetary establishments have at all times required a excessive degree of safety to guard their buyer’s privateness and stop fraud, however because of the nature of cryptocurrency Coinbase faces a fair increased degree of danger.

Possession of a non-public secret's management over the forex secured by that key, which removes a step within the monetization of a theft. Somewhat than needing to promote stolen knowledge, or carry out identification theft to show an information breach right into a revenue, theft of a non-public key results in a direct monetary reward for the attacker. As soon as a crypto transaction is confirmed, there’s no recourse, no reversals.

A part of any good safety program is sweet visibility into the surroundings, which runs counter to the notion that delicate info, like non-public keys, ought to be inaccessible. For incident response functions, Coinbase wants to have the ability to accumulate any info off of even our most delicate providers. We would have liked a distant, real-time forensics acquisition resolution constructed for safety. As a way to clear up this drawback we turned to one among our guiding safety ideas, consensus, and created a brand new forensics framework referred to as Dexter.

There are already a number of nice forensics acquisition tasks on the market for each main working system, and it doesn’t make sense to speculate time re-inventing the wheel. Dexter is designed to wrap different instruments, the place obtainable, to carry out forensics duties. The place that Dexter advances past the capabilities that have been already obtainable in different instruments is the safe approval course of for investigations, and the safe retrieval course of for forensic artifacts.

Structure and Use

We began by defining our safety necessities. The very last thing we needed to construct was distant code execution as a service, so we determined that each one forensics duties should be codified within the software and added by our code evaluation course of. We additionally needed to make sure the artifacts collected by forensics duties have been end-to-end encrypted again to the investigators that had permission to learn them, eradicating any belief in our infrastructure. As a way to obtain our objectives for consensus, every member of the response crew is recognized by a public key and an investigation should obtain numerous signatures that correspond to the sensitivity of the duties outlined within the investigation.

Dexter runs as a daemon, prepared to gather forensics artifacts when an investigation reaches the required consensus threshold. This daemon is designed to work in quite a lot of environments, from a linux manufacturing surroundings in EC2 to an OSX or Home windows fleet within the workplace. Investigators work together with Dexter utilizing the command line, the place they'll problem investigations and retrieve reviews, all backed by S3.

The identical binary used to begin the daemon is used on the command line. To get an investigation right into a Dexter daemon, an investigator will use the command line to generate an investigation, signal it, and add to S3. When creating an investigation, an investigator will determine what duties to run, and what info a couple of host shall be used to scope the investigation. The investigator may also instruct Dexter to kill the operating containers on a bunch, or shut down a bunch, after the investigation is full. Lastly, the investigator can select which investigators are allowed to learn the outcomes of this investigation.

The investigations that get uploaded are easy JSON paperwork. On this instance we see the random ID for the investigation, the forensics duties to run, and the info used to scope the hosts that may run this investigation. Dexter has a capability to obscure arguments to some info utilizing a hash salted with the investigation ID. On this instance, the person is obscured in order that different hosts that aren't in scope would have a tough time figuring out which person is beneath investigation.

As different investigators approve this investigation, they are going to append their signature to the Approvers key, and add the up to date model to S3. As soon as the investigation reaches consensus, all of the hosts in scope will run the chosen duties and create encrypted reviews for the chosen investigations. When interacting with investigations and reviews on the command line, solely a minimal quantity of the investigation’s ID should be specified to disambiguate the investigation.

Management over who can learn investigations is completed with a KEK/DEK mannequin (Key Encryption Key, Knowledge Encryption Key). For every investigator who's accepted to learn the outcomes, Dexter generates a brand new random AES key, encrypts the report, then encrypts the important thing with the investigator’s public key. Every investigator can then entry their report with their non-public key.

You may be taught extra about utilizing Dexter from the repository. The command line can also be totally documented here. Dexter is prolonged by creating new duties and info, primarily based on the example task and example fact information.

What’s subsequent

We’re constructing a bigger imaginative and prescient of incident response at Coinbase that makes use of automation to cut back the period of time it takes to get an investigator in entrance of related knowledge. Dexter gives the mechanism to securely accumulate knowledge. Sooner or later, Dexter shall be operated partly by our inner IDS, and as soon as an incident is detected, a safe evaluation surroundings shall be created in EC2 to analyze the Dexter reviews. This surroundings will be wealthy with instruments, and have further protections in place to verify delicate knowledge doesn’t make it again to an worker machine. We nonetheless have a approach to go earlier than our imaginative and prescient is realized, however we’re constructing it each day.

Dexter continues to be in its infancy and simply starting to be rolled out, nevertheless it was essential to me to share this challenge as quickly as attainable with a purpose to get suggestions from the broader safety group. Earlier this 12 months we launched Salus, which brings the very best software safety scanners beneath one roof. For those who suppose you’d take pleasure in working in an surroundings the place safety is a prime precedence, reach out to Coinbase, we’re at all times in search of proficient safety professionals in all fields.


Introducing Dexter was initially printed in The Coinbase Blog on Medium, the place individuals are persevering with the dialog by highlighting and responding to this story.

Leave a Reply

Your email address will not be published. Required fields are marked *