LastPass Breach and $35M Worth of Stolen Cryptocurrencies
In August 2022, an unknown actor launched a sophisticated attack targeting a LastPass employee. The attacker exploited a vulnerable media server program running on the employee's home network, allowing them to install malware on the employee's personal laptop. This enabled the attacker to steal the employee's master password for the LastPass corporate vault.
As a result, the attacker gained access to LastPass source code repositories, some of which contained hard-coded, clear-text credentials for their cloud infrastructure. While LastPass runs its production workload on-premises, it backs up encrypted customer vaults to a cloud storage service for resiliency. The attacker used the stolen credentials to access and exfiltrate these encrypted customer vault backups.
The Crypto Heist
Taylor Monahan from the popular crypto wallet MetaMask identified around 150 victims who suffered from a large-scale crypto heist starting in December 2022, amounting to over $35 million in stolen assets. The victims were security-conscious and did not experience account takeovers, but they shared one common factor: they stored their seed phrases (which function as private keys) in LastPass. Experts believe this suggests a successful attempt to crack the leaked encrypted vaults.
Weak Encryption in LastPass Vaults
LastPass uses the PBKDF2 algorithm to generate symmetric keys for encrypting customer vaults. This algorithm is vulnerable to offline brute-force attacks, particularly when the iteration count (a measure of computational cost) is low. Prior to 2013, the default iteration count was set between 1 and 500. Today, security standards recommend a minimum of 600,000 iterations for PBKDF2.
Additionally, some metadata, such as website addresses, remains unencrypted. Experts speculate that attackers may prioritize cracking high-value vaults, such as those containing cryptocurrency wallet addresses, especially if they have low iteration counts.
What Went Wrong and How to Fix It
- Weak Security Design
- Failure: LastPass's security model did not adequately protect customer vaults from offline brute-force attacks. The lack of end-to-end encryption for all vault metadata made it easier for attackers to identify valuable targets.
- Fix:
- Implement a distributed encryption practice by requiring the involvement of private keys stored on customers' premises, ensuring that an attacker would need to breach both LastPass and each individual customer to be successful.
- Perform password hardening for algorithms involving passwords. One approach is to use anOblivious Pseudorandom Function (OPRF) to render offline attack impossible.
- Perform full encryption at rest, including metadata.
- Hard-Coded Cloud Credentials in Code Repositories
- Failure: Storing credentials as plain text in code repositories is a critical security risk and has been listed in the OWASP Top 10 and SANS Top 25 Most Dangerous Software Errors for years.
- Fix:
- Store secrets in a secrets management tool (e.g., Vault++, AWS Secrets Manager, HashiCorp Vault).
- Implement automated scanning tools (e.g., Vault++, TruffleHog) to detect exposed credentials.
- Use pre-commit hooks (e.g., Vault++, GitLeaks) to block commits containing secrets before they reach the repository.
- Rotate and revoke exposed credentials immediately if detected. Leverage instant rotation tools such as Vault++ to avoid human error if possible.
- Unrestricted Access Rights
- Failure: Engineers had unnecessary access to production environments, including customer vault backups.
- Fix:
- Implement the Principle of Least Privilege (PoLP) to ensure that engineers only have access to the minimum data necessary for their roles.
- Use role-based access control (RBAC) and attribute-based access control (ABAC) to enforce permissions.
- For rare cases where engineers need access to sensitive data, enforce temporary access with an approval process (e.g., Vault++ Reveal Request / Merge Request).
- Regularly audit access permissions and remove unnecessary privileges.
Prevent the Next Breach with Vault++
Protect your sensitive data from security breaches with Vault++, built with cutting-edge security features to safeguard your secrets from cyber threats. Unlike LastPass, Vault++ employs a zero-knowledge architecture, distributed encryption keys, and multi-layered security to defend against brute-force attacks and unauthorized access. Learn more in our Security Brief.
Vault++ also helps eliminate hard-coded secrets and enforce least-privilege access. With automated secret scanning, pre-commit verification, and audit logging, securing your secrets has never been easier.
Don't wait for a breach to take action. Fill out the contact form below to request a demo and see how Vault++ can strengthen your security.