Revisão da plataforma 5.4

A metade da privacidade que é engenharia.

Uma política sobre o que não coletamos não vale nada se o pouco que coletamos estiver atrás de uma senha que algum agente de suporte pode redefinir por chat. Esta página cobre a outra metade: como a conta, o hipervisor e as pessoas são restringidos.

01

Sua conta

01

Senhas

scrypt com um salt por conta em N=2^16, r=8, p=1, o que custa cerca de um décimo de segundo em nosso próprio hardware. Sem comprimento máximo, sem regras de composição, sem rotação forçada. Todas essas três coisas tornam as senhas piores e sempre tornaram.

02

Verificação de violações

Novas senhas são verificadas contra um corpus local de hashes conhecidamente comprometidos. A verificação roda inteiramente do nosso lado, pois enviar parte do hash da sua senha para outra pessoa seria uma coisa estranha de se fazer neste site em particular.

03

Autenticação de dois fatores, como deve ser

Códigos baseados em tempo e chaves de segurança de hardware, com WebAuthn como caminho preferido. Não há opção de receber um código por SMS, pela razão óbvia de que não temos seu número de telefone e preferimos não começar a coletar um.

04

Códigos de recuperação

Dez códigos de uso único, exibidos uma vez, com hash em repouso. Eles são toda a história da recuperação, porque nenhum outro meio de identificá-lo existe e não inventaremos um sob pressão.

05

Alertas de login

Um dispositivo que não vimos antes dispara um e-mail. É um dos poucos trabalhos que o log de acesso de sete dias realmente faz.

Perdeu a caixa de e-mail e os códigos de recuperação e a conta se vai. Não é recuperável por ticket, não é recuperável provando um pagamento, não é recuperável de forma alguma. Esse é o preço de um cadastro de um único campo, e não é negociável em nenhuma direção.

02

Sessões

01

Duração

Quatorze dias para uma sessão lembrada, quatro horas se você não marcou a caixa. Ambos os limites são absolutos, sem renovação contínua que mantenha um cookie roubado vivo indefinidamente.

02

Vínculo

Cada sessão está vinculada ao agente do usuário e a um prefixo de rede aproximado. Mude de continente no meio da sessão e você fará login novamente, o que irrita cerca de um cliente por mês e vale a irritação.

03

A lista de dispositivos

Toda sessão ativa aparece no painel com o horário do último acesso. Elimine-as individualmente, ou elimine todas e comece de novo.

04

Ações sensíveis exigem nova confirmação

Alterar o endereço de e-mail, desativar a autenticação de dois fatores, gerar um token de API ou indicar um endereço de reembolso exige a senha novamente, independentemente de quão recente seja a sessão.

05

Cookies

Um cookie de sessão, de primeira parte, estrito mesmo-site. Nada mais é definido, e nada é perguntado sobre isso, porque não há consentimento a coletar para cookies que não existem.

03

Tokens de API

A API faz tudo o que o painel faz, então um token vazado é tão sério quanto uma senha vazada. O manuseio de tokens parte dessa premissa em vez de chegar a ela depois.

01

Com escopo

Leitura, escrita e destruição são permissões separadas. A maioria da automação precisa das duas primeiras e quase nenhuma precisa da terceira, e um token que não pode excluir uma instância não pode excluir suas instâncias.

02

Hash em repouso

Mostrado uma vez na criação e nunca mais. Mantemos um hash, então um dump de banco de dados não produz credenciais utilizáveis.

03

Com prefixo

Todo token carrega um prefixo fixo, o que o torna trivialmente encontrável por uma varredura de repositório que você mesmo executa antes de enviar algo de que se arrependerá.

04

Restringível

Um token pode ser restrito a uma rede de origem e a um conjunto nomeado de instâncias. Ambas as restrições são avaliadas em cada chamada, não apenas na emissão.

05

Expiração

Expiração opcional a partir de uma hora e teto obrigatório de dois anos. Tokens que nunca expiram são como automação antiga se torna silenciosamente uma vulnerabilidade antiga.

06

Limite de taxa por token

Os limites se aplicam ao token, não à conta, então um script descontrolado se limita a si mesmo em vez de limitar sua outra automação.

04

Isolamento entre inquilinos

Cada instância é um convidado em um host que faz exatamente um trabalho. O que segue é o que está entre o seu convidado e o de todos os outros.

01

Sem compartilhamento de memória

A fusão de páginas iguais está desativada em toda a frota, permanentemente. Deduplicar memória entre inquilinos é um canal lateral mensurável, e a RAM que isso recupera não vale a classe de ataque que abre.

02

Sem overcommit

Núcleos, memória e NVMe são alocados uma vez e nunca contados duas vezes. Sem ballooning, sem swap no host e sem truque de agendador em lugar de capacidade que decidimos não comprar.

03

Domínios de armazenamento separados

Cada convidado está em seu próprio volume em seu próprio namespace criptografado. Reivindicar um volume significa descartar a chave e fazer trim no intervalo, em vez de escrever zeros sobre ele e esperar.

04

Separação de rede

Uma bridge por inquilino, filtragem de endereço e endereço de hardware na porta, e domínios de broadcast que param no convidado. O tráfego de um vizinho nunca chega à sua porta, então não há nada lá para você capturar.

05

Passagem de GPU

Uma placa é vinculada a um único convidado através do IOMMU e redefinida entre locações. Sem divisão de tempo, sem camada vGPU e sem driver compartilhado no meio de dois clientes.

06

Mitigações permanecem ativas

As mitigações para execução especulativa estão ativadas e permanecem ativas. Os hosts são corrigidos mensalmente e, fora do cronograma, quando algo justifica — o que ocorreu três vezes nos últimos dois anos.

05

Criptografia e o que ela protege

Todo volume de nó é criptografado em repouso. As chaves residem no elemento seguro do host e são liberadas apenas para um kernel que inicializou uma imagem medida e assinada, de modo que um disco removido do chassi é um tijolo, e um chassi levado para fora do prédio é um tijolo mais lento.

O limite merece ser declarado com clareza. A criptografia em repouso defende contra remoção, roubo e o fim da vida útil de um disco. Ela não pode defender contra um hipervisor em execução, que necessariamente detém a chave enquanto sua instância estiver rodando. Qualquer pessoa cujo modelo de ameaça inclua o host deve usar criptografia de disco completo dentro do convidado e digitar a senha no console fora de banda na inicialização, que é um caminho suportado com uma página adequada na base de conhecimento.

Snapshots e backups fora do nó são criptografados dentro da instância antes de saírem dela, com uma chave que você mantém e que nunca vemos. Armazenamos texto cifrado e um comprimento. As restaurações são descriptografadas por você, o que é inconveniente exatamente uma vez e correto permanentemente.

Em trânsito, o painel e a API usam apenas TLS, com segurança de transporte estrita pré-carregada e nenhum caminho de rebaixamento deixado aberto. As interfaces de gerenciamento ficam em uma rede fora de banda sem rota pública, acessíveis através de um túnel autenticado e por nenhum outro meio.

06

Pessoas e pesquisadores

O acesso é a superfície de ataque que ninguém coloca na ficha técnica.

01

Ninguém tem acesso permanente

O acesso à produção é solicitado, limitado no tempo e expira sozinho. Não há sessão administrativa permanente em lugar algum da plataforma.

02

Duas pessoas, ou nada

Qualquer ação que toque dados de clientes precisa da aprovação de alguém que não a solicitou, e a aprovação é registrada com o motivo fornecido.

03

Somente chaves de hardware

A equipe autentica com uma chave de segurança de hardware a partir de uma máquina gerenciada. Uma senha sozinha não abre nada, e dispositivos pessoais não estão na lista de forma alguma.

04

Convidados permanecem fechados

O suporte não pode abrir seu console, ler seu volume ou anexar sua memória sem que a instância seja pausada e a ação seja registrada em um registro que você pode ler depois no painel.

05

A saída é imediata

O acesso é revogado no final do último turno e as chaves são removidas da frota na mesma hora. A mudança é auditável e foi exercida quatro vezes.

  1. 01

    Reporte

    Envie um e-mail para o endereço de segurança, criptografado com a chave publicada quando a descoberta justificar. Uma prova de conceito é bem-vinda. Saída bruta de scanner sem análise anexada não é.

  2. 02

    Reconhecemos em até um dia

    De um humano, não de um robô de tickets. A mediana no ano passado foi inferior a quatro horas.

  3. 03

    Classificamos em três dias úteis

    Com uma severidade, um plano e uma data. Quando discordamos de sua severidade, dizemos e explicamos por quê, em vez de rebaixá-la silenciosamente e torcer para você parar de ler.

  4. 04

    Corrigimos e informamos

    Descobertas críticas são corrigidas fora do cronograma. Todo o resto sai no próximo ciclo mensal, e você fica sabendo no dia em que chega.

  5. 05

    Publique quando quiser

    Nenhum embargo exigido, nenhuma ameaça legal, nenhuma obrigação de coordenar. Noventa dias são solicitados para qualquer coisa que possa expor clientes antes de uma correção existir, e nunca tivemos que pedir duas vezes.

  6. 06

    Você é pago

    Em crédito ou em moeda, o que preferir, dimensionado de acordo com a gravidade, e não com o volume da reclamação. Nenhum limite máximo é publicado, porque preferimos ser surpreendidos a sermos limitados.

Testes são bem-vindos contra suas próprias instâncias e contra o painel. Não são bem-vindos contra a instância de outro cliente, e essa linha é toda a nossa posição de porto seguro.

Pronto quando você estiver

Quebre, então nos diga.

O endereço de segurança e sua chave ficam na página de contato. Achados que mudam o funcionamento da plataforma são nomeados no changelog, creditados conforme o relator pedir, inclusive sem nenhum crédito.