해결책
에퀴팩스의 참사적 침해 — 1억 4,300만 명의 미국인 기록, 이후 1억 4,500만 명 이상으로 정정됨 — 와 야후 사건 이후, 보안 엔지니어 디오구 모니카는 자신이 수년 전에 구축했던 아키텍처에 이름을 붙였다: '크립토 앵커'. 모니카와 동료 네이선 매콜리는 2015년 기업용 소프트웨어 회사 도커로 옮기기 전에 결제 회사 스퀘어에서 이 시스템을 구축했다.
일반적으로 웹 서버는 작동하기 위해 데이터베이스 키를 보유해야 하므로, 서버를 탈취하는 자는 키도 함께 물려받는다 — 에퀴팩스의 공격자들이 그렇게 했을 것으로 추정되는 방식이다. 크립토 앵커에서는 키가 강화된 하드웨어 보안 모듈(HSM)에만 존재하며, 이 모듈이 요청 시 각 레코드를 복호화하고 스스로 속도를 제한한다. 하루 100만 건의 쿼리로도 에퀴팩스의 사회보장번호를 모두 빼내려면 6개월 넘게 지속적으로 침투해 있어야 한다. 해싱도 기존 설계를 구제하지 못한다: 가능한 사회보장번호가 10억 개 미만이므로, 탈취된 해시는 시간에 구애받지 않고 오프라인에서 대조될 수 있다.
모니카는 "핵심 개념은 데이터가 암호화되어 있을 뿐만 아니라, 그것을 복호화하거나 접근하거나 조작할 수 있는 유일한 방법이 물리적으로 내 데이터 센터 안에 있도록 보장하는 것"이라고 말했다. "누군가 내 데이터베이스를 침해하거나 유출하더라도, 그들이 내 네트워크 안에 있지 않다면 쓸모가 없습니다." 보안 회사 싱크스트의 창립자 해룬 미어는 그 매력을 이렇게 표현했다: "그들을 당신의 홈그라운드에서 뛰게 만드는 것이므로, 그들이 오는 것을 볼 수 있습니다."
이 구성은 2017년 당시 널리 퍼져 있지는 않았지만, 중요한 곳에서는 작동했다. 스퀘어의 구현 외에도, 모니카는 페이스북과 우버의 엔지니어들이 비공개로 비슷한 것을 운영한다고 자신에게 말했다고 했으며, 존스 홉킨스의 암호학자 매튜 그린은 여러 주요 기술 기업에서 이 방식의 변형에 대해 자문한 적이 있다고 말했다 — 보안 설계자들에게는 '진부한 것'이지만, '실제로 하는 사람이 거의 없다는 점에서는 새로운 것'이다.
이것이 이룬 것
침입자를 막을 수는 없으니, 그들이 떠날 때 필요한 단 하나를 통제하라: 모든 복호화가 당신이 설정한 속도의 별도 장치를 물리적으로 거치게 하라.
실시간 애플리케이션은 요청 시 복호화해야 하므로, 고전적 암호화는 공격자가 가장 먼저 침해하는 바로 그 웹 서버에 키를 둔다.
해싱만으로는 작은 키 공간에 맞서 실패한다: 사회보장번호는 오프라인에서 전수 해싱되어 탈취된 해시와 대조될 수 있다.
모든 복호화를 하나의 강화된 HSM을 통해 라우팅하면 키를 물리적으로 내려받을 수 없게 하고, 하드웨어에 의해 데이터 유출 속도가 제한된다.
요청당 수백 분의 1초라는 대가는 수개월로 계산되는 유출 시계를 사주며, 그 전부가 방어자에게 보인다.
진입이 아니라 유출을 염두에 두고 설계하라: 속도는 방어자가 통제하는 자원이다. 당신이 소유한 병목은 조용한 침해를 느리고 요란한 공성전으로 바꾼다.
그 후
2017년 말까지 모니카는 페이스북과 우버 엔지니어들의 비공개 확인을 인용하며 "정말 뛰어난 모든 보안 엔지니어링 팀이 이 방식의 어떤 형태를 사용하고 있다"고 주장했다. HSM 공급업체인 젬알토와 탈레스는 수년간 이런 구성을 가능하게 해왔고, 클라우드 버전 — 아마존의 CloudHSM, 마이크로소프트의 Azure Key Vault — 은 그 구성 요소들을 일반 기업의 손이 닿는 곳에 두었다. 모니카는 크립토 앵커가 에퀴팩스를 막았을 것이라고 약속할 수는 없었는데, 그 공격 경로가 여전히 불분명했기 때문이다. 다만 그것이 공격자의 속도를 늦추고 탈취량을 줄였을 것이라고 주장했다.
근거 확인하기
출처
- 'Crypto Anchors' Might Stop the Next Equifax-Style Megabreach WIRED · wired.com ·