Você deveria lançar algo que você mesmo poderia invadir?

12

Sendo o criador de um programa, você provavelmente está em uma posição melhor do que qualquer um para estar ciente das vulnerabilidades de segurança e possíveis hacks. Se você conhece uma vulnerabilidade em um sistema que você escreveu, isso é um sinal de que o aumento da segurança DEVE ser adicionado antes do lançamento, ou isso deve ser avaliado caso a caso para determinar a gravidade da lacuna de segurança?

Morgan Herlocker
fonte
7
Claro, a NSA isso faz todo o tempo :)
Jaap
3
@ Jaap: A NSA é acusada disso o tempo todo. No primeiro caso, estou ciente de onde as pessoas descobriram o que realmente aconteceu: sendo o padrão de criptografia DES, as modificações da NSA realmente tornaram a criptografia mais forte , e não mais fraca, tornando menos provável a invasão por uma técnica. que ninguém além da NSA havia descoberto ainda, porque eles sabiam que alguém iria descobrir isso eventualmente.
Mason Wheeler
6
@MasonWheeler Acho que eventos recentes deixaram seu comentário aqui de 2012 desatualizado.
aceinthehole

Respostas:

6

Eu diria que isso deve ser feito caso a caso. Você é o autor, conhece muitos dos buracos. Algumas vulnerabilidades podem ser conhecidas apenas por você. Obviamente, isso significa que, se alguma delas for explorada, você poderá ter algumas perguntas difíceis a serem respondidas; portanto, é uma boa ideia reduzir essas vulnerabilidades, se possível. Mais importante é se alguém pode facilmente hackear como um sistema de caixa preta.

FrustratedWithFormsDesigner
fonte
3
Eu só queria conhecer todos os buracos no software que escrevi. Então eu poderia aproveitar isso para encontrar todos os bugs, e seria muito mais fácil obter as coisas corretamente escritas.
David Thornley
1
@ David: Ok, many ... #
FrustratedWithFormsDesigner
31

Eu tive a infeliz experiência de estar na situação duas vezes. Os negócios em ambos os casos lançavam produtos com sérios problemas de segurança com dados muito sensíveis.

Nos dois casos, os negócios não pareciam se importar, apesar dos meus melhores esforços para conscientizá-los dos riscos que estavam assumindo.

A única coisa que você pode fazer é protestar o mais alto possível * (e profissionalmente), sendo o mais claro possível sobre as possíveis consequências e enquanto estiver fazendo esse documento tudo . Imprima seus e-mails relevantes em PDFs e mantenha esses arquivos em casa, ou bcc seu endereço de e-mail pessoal, ou como você o fizer. Esta é a única solução para quando algo ruim acontece inevitavelmente.

Você esperaria que a gerência o respeitasse por seus conselhos técnicos e levasse isso em consideração, mas, infelizmente, você deve respeitar quem quer que seja o tomador de decisão no final do dia. Más decisões de negócios são tomadas todos os dias.

Edit: jasonk mencionou "Por favor, tenha muito cuidado ao confirmar seu endereço residencial", e eu concordo muito. Por favor, não viole a política da empresa e corra o risco de divulgar a vulnerabilidade de segurança mais do que já é.

aceinthehole
fonte
21
+1 para DOCUMENTO TUDO !!! Quando ocorre um grande desastre e o trabalho do gerente está em risco, ele fará QUALQUER COISA para mudar a culpa da maneira que puder. Se você documentar problemas, emails, notificações, memorandos e outras documentações relacionadas à decisão, estará se protegendo de uma situação ruim.
maple_shaft
11
Af -homens-de-pau. Qualquer pessoa desprezível o suficiente para enviar conscientemente um produto seriamente defeituoso pode e fará qualquer coisa para evitar a eventual bala.
Peter Rowell 31/05
Tenha muito cuidado ao confirmar seu endereço residencial.
jasonk #
2
@jasonk: Por que você diz isso? BCC significa outros destinatários não podem vê-lo ...
Mason Wheeler
3
@Mason: Os destinatários não podem, mas a TI pode, e se você estiver enviando informações confidenciais (quais são as vulnerabilidades de segurança mais definitivamente são) fora do local, é provável que você se machuque.
Eclipse
12

Eu argumentaria o contrário - sendo o criador, você frequentemente está muito perto do código para ver vulnerabilidades.

Se você conhece ou é informado sobre vulnerabilidades, elas são como qualquer outro bug - avalie, priorize e corrija.

DaveE
fonte
+1: você sabe como meu programa deve funcionar e, até certo ponto, pensa em usá-lo dessa maneira. Ter alguém que não conhece a maneira "correta" de usar o programa é um dos melhores testes que você pode fazer.
Unholysampler
Como alguém relativamente novo no controle de qualidade, entrei no trabalho esperando que erros de "falha de segurança" fossem atendidos com extrema gravidade. Mas descobri que o rótulo "segurança" nem sempre constitui uma necessidade de uma resposta de tolerância zero. Algumas empresas ficam perfeitamente felizes em correr riscos de segurança se a vulnerabilidade não parecer colocar em risco a reputação da marca ou oferecer pouco aos hackers, e as versões futuras provavelmente incluirão uma correção (ou alteração de recurso) de qualquer maneira.
Greg Gauthier
4

Penso que a resposta depende do grau de dano que surgiria se o sistema fosse comprometido por um hacker malicioso. Obviamente, um engenheiro civil não poderia aprovar o projeto de uma ponte insegura em sã consciência. A construção dessa ponte pode resultar em ferimentos ou morte. Também seria ilegal para o engenheiro conscientemente fazer isso, mas o fato de que os engenheiros de software (pelo menos nos EUA) não estejam legalmente vinculados da mesma maneira não os isenta do dever profissional de se posicionar contra sistemas defeituosos. Infelizmente, sua empresa pode não precisar da sua assinatura para lançar o software.

Você não especifica a natureza exata do sistema em que está trabalhando. Se estiver relacionado a registros médicos, bancos, controle de tráfego aéreo ou alguma outra infraestrutura realmente crítica, eu diria que você estaria bem justificado em insistir no mais alto nível de segurança possível antes do lançamento.

PeterAllenWebb
fonte
+1 Como contexto, eu acrescentaria que todos os dados que incluem números de previdência social, números de identificação ou números de cartão de crédito também devem ter atenção à segurança. Os sistemas que não armazenam essas informações e não são críticos têm dados de baixo risco e você não precisa se preocupar tanto com segurança.
Maple_shaft
3

Sim, você deve corrigi-lo antes do lançamento. Nunca subestime a ingenuidade de um hacker. Você sairia de férias por uma semana com a porta dos fundos aberta? Sua desculpa seria,

"Oh, está nos fundos e não fica de frente para a rua. Ninguém a veria aberta ..."

Provavelmente não.

Mas eu entendo hoje em dia com o PM sem noção como a data de lançamento mais sagrada é mais importante do que uma questão potencialmente enorme de responsabilidade com segurança. Se esse for o seu caso, sugiro chamar a atenção, registrar o problema, garantir que ele esteja bem documentado, bem conhecido e com os riscos explicados claramente e deixe o PM decidir o que fazer.

Se o PM tomar uma péssima decisão e decidir ignorá-la e prosseguir com a liberação dentro do prazo, você estará isento de responsabilidade desde que tocou o apito.

Caso contrário, se você encontrar e guardar para si mesmo e algo acontecer, você poderá ser pessoalmente responsabilizado pelas consequências.

A escolha é sua.

maple_shaft
fonte
4
Nos EUA, pelo menos, não é um problema de responsabilidade potencialmente grande, porque aproximadamente nenhum software é fornecido com nenhum tipo de garantia. O software para dispositivos médicos é uma exceção, e provavelmente existem outros, mas a maioria dos serviços de software e baseados em software é essencialmente "sem garantias".
David Thornley
1
Nenhuma garantia? Por que você não conta isso para os milhões de clientes da Sony que tiveram seus números de previdência social e outros dados confidenciais roubados por causa EXATAMENTE das brechas de segurança sugeridas pelo OP.
maple_shaft
2
Embora David esteja correto, a falta de responsabilidade civil executória pode ser um conforto frio quando a reputação da sua empresa é arruinada ou sua pequena empresa simplesmente é contestada por uma empresa maior.
PeterAllenWebb
@ maple_shaft: E qual a responsabilidade da Sony? Eles ofereceram um ano de serviços de proteção ao crédito, mas não acho que tenham qualquer responsabilidade legal. É um sucesso para sua reputação, mas eles sobreviveram a isso antes.
David Thornley
1
@Rory: Vamos dar uma olhada daqui a dois anos. Gostaria de pensar que o fiasco do rootkit, a remoção arbitrária do OtherOS e esse vazamento tornariam a Sony menos popular a longo prazo, mas não estou nem um pouco confiante.
David Thornley