A Sony foi recentemente hackeada com uma injeção de SQL e as senhas dos usuários foram armazenadas em texto simples. Estes são erros novatos. Em uma empresa tão grande, como isso passa no controle de qualidade? Como eles não têm equipes melhores do que saber melhor que isso?
O tamanho da empresa que foi invadida torna isso diferente. Isso afeta a todos nós, porque todos nós podemos um dia nos encontrar em uma equipe que é responsável por algo assim, e então pegamos o machado. Então, quais são os fatores que levam a isso e como os impedimos?
Respostas:
A primeira coisa que vem à mente é, porque eles são grandes o suficiente para cultivar algumas camadas de burocracia. Isso significa, entre outras coisas, que você não tem mais codificadores realmente inteligentes encarregados do processo de contratação, o que significa que eles perdem a capacidade de eliminar potenciais programadores e pessoas de controle de qualidade que são incompetentes. O que leva à codificação incorreta e à produção do código, e todos sabemos o que acontece a seguir ...
fonte
Como os programadores não foram instruídos a testar isso e a esmagadora cultura corporativa não lhes deu margem de manobra suficiente para que seu senso de ética profissional se manifestasse e exigisse mais algumas semanas para testar vulnerabilidades de segurança. Ou insistir para que estejam seguros desde o início.
Porque o chefe não queria passar algumas semanas extras testando problemas de segurança por ... por qualquer motivo. Um bônus extra no final do ano. Aparecendo Johnson do próximo departamento. Direito de se gabar. Dever para com a empresa. Preguiça. Desconfie dos conselhos de underling.
Porque o grande chefe exigiu mais lucro e promoveu Johnson sobre Bob, porque seus números pareciam melhores, em vez de exigir um produto melhor. Porque qualidade e segurança são valores difíceis de serem exibidos em uma planilha. Porque existem empresas para ganhar dinheiro.
Coisas como esta são um problema sistemático. Tudo se resume a "porque eles são tolos".
Editores Os programadores podem evitar ser a cabra sacrificial, ao perceber uma deficiência, apresentar o problema ao seu chefe. Ele fará a coisa certa e fará um plano para consertá-la ou pedir para que você a ignore. Se ele não consertar, oficialize, pergunte por e-mail. Use palavras-chave pertinentes ao problema, como "vulnerabilidade", "injeção", "violação de segurança" neste caso. Coisas que uma pesquisa por e-mail captaria.
Isso está passando a bola. Agora é responsabilidade do seu chefe. Se é importante, como se as pessoas morressem quando isso falhar, repassasse a cabeça dele e levasse a questão ao seu chefe. Você pode ser demitido por simplesmente passar a bola e ainda pode ser demitido, mesmo que o repasse, mas é a coisa certa a fazer. Não é tão certo quanto consertar o problema, mas perto.
fonte
Quanto maior a corporação, mais distantes os tomadores de decisão são de qualquer responsabilidade da vida real.
Sabendo como as empresas funcionam, o design do site provavelmente foi terceirizado para alguma empresa de consultoria escolhida com base no menor preço por desenvolvedor. Essa empresa, por sua vez, contrataria várias pessoas aleatórias com critérios semelhantes, com pessoas comuns permanecendo no projeto por não mais de três meses antes de serem transferidas para outra coisa.
fonte
Como alguém comete erros? Por preguiça, falta de conhecimento, falta de conhecimento, conveniência, falta de processo, etc. Como podemos evitar erros? Através de diligência, experiência, salvaguardas, etc. Essa situação não é diferente categoricamente dos milhares de pequenos erros cometidos por todo programador; é apenas diferente em escala.
O que podemos aprender com isso? Não muito.
fonte
Uma explicação possível é uma lista de prioridades inclinada. Muitas empresas com as quais trabalhei deram mais importância ao lançamento de um produto no mercado do que à qualidade do produto / código que estavam produzindo. Esse efeito é dobrado, porque não apenas os programadores estão prontos para a conclusão, mas também o departamento de controle de qualidade (se é que eles têm um). Também notei que essa atitude coincide com a introdução do próximo produto antes da conclusão do anterior, agravando ainda mais o problema.
Um denominador comum em cada uma dessas empresas é o gerenciamento não técnico. Os gerentes de projeto, gerentes de TI e gerentes de produto, basicamente todos com uma opinião sobre o trabalho da equipe de desenvolvimento, são todos não técnicos e não entendem a importância de produzir código seguro e de alta qualidade. Isso é algo que procuro quando entrevisto empresas agora. Quem detém os reinados no asilo, nos reclusos ou nos médicos?
Eu não ficaria surpreso se algo semelhante, agravado por uma profunda burocracia, contribuísse com fatores para a Sony e outras questões de segurança da empresa.
fonte
As pessoas trabalham em grandes empresas, e as pessoas cometem erros, por ignorância, preguiça, maus procedimentos, documentação ruim etc. O tamanho da empresa afeta apenas os erros, pois pode haver mais fontes de erros ou erros.
fonte