¿Cómo comete una gran empresa los errores de novato que dejan agujeros de seguridad? [cerrado]

15

Sony fue hackeado recientemente con una inyección SQL y las contraseñas de sus usuarios se almacenaron en texto plano. Estos son errores de novatos. En una empresa tan grande, ¿cómo pasa esto el control de calidad? ¿Cómo no tienen mejores equipos que saber mejor que esto?

El gran tamaño de la empresa que fue pirateada lo hace diferente. Nos afecta a todos porque algún día todos podemos encontrarnos en un equipo que es responsable de algo como esto, y luego obtenemos el hacha. Entonces, ¿cuáles son los factores que conducen a esto y cómo los prevenimos?

Ricardo
fuente
Esta pregunta no ha invitado a respuestas constructivas basadas en hechos y referencias: es una lista de varias especulaciones sobre lo horrible que es una empresa Sony. Consulte la barra lateral de preguntas relacionadas para obtener varias preguntas sobre los pasos para lidiar con las inyecciones SQL, el control de calidad y la seguridad. (Disculpas por borrar el recuento de votos cerrados: hubo 3 votos cerrados "no constructivos" cuando accidentalmente lo cerré por la razón equivocada)
Comentaristas: los comentarios están destinados a buscar aclaraciones, no para una discusión prolongada. Si desea discutir esta pregunta con otras personas, utilice el chat . Consulte las preguntas frecuentes para obtener más información.
44
@ Mark Odd, ha obtenido algunas respuestas tremendamente constructivas, que probablemente estén muy cerca de la marca. Dicho esto, una mejor pregunta sería, "¿por qué no existe una legislación para castigar un comportamiento tan imprudente en una corporación tan grande?"
Konrad Rudolph
3
Es bastante extraño que esta pregunta se haya cerrado nuevamente. Draconiano De nuevo.
Richard

Respuestas:

24

Lo primero que viene a la mente es, porque son lo suficientemente grandes como para desarrollar algunas capas de burocracia. Esto significa, entre otras cosas, que ya no tiene codificadores realmente inteligentes a cargo del proceso de contratación, lo que significa que pierden su capacidad de eliminar a los posibles programadores y personas de control de calidad que son incompetentes. Lo que lleva a que se escriba un código incorrecto y se convierta en producción, y todos sabemos lo que sucede a continuación ...

Mason Wheeler
fuente
3
Creo que te has dado en el clavo con la burocracia, pero también hay otros problemas derivados de ello. Si tiene un desarrollador inteligente que detecta un problema importante, se necesita un acto de Dios para obtener la aprobación para trabajar en una solución, probarla y pasarla a producción. Todo lo que se necesita es que una persona de la burocracia piense que el riesgo de realizar el cambio (demoras en otros proyectos, errores de producción, etc.) supera el riesgo de no realizar el cambio (¿quién podría piratear una empresa tan grande?).
Mayo
18

Debido a que no se les dijo a los programadores que probaran eso y la cultura corporativa aplastante no les dio suficiente margen para que su sentido de ética profesional entrara en acción y exigiera un par de semanas más para probar vulnerabilidades de seguridad. O para insistir en que estén seguros desde el principio.

Porque el jefe no quería pasar un par de semanas adicionales probando problemas de seguridad por ... cualquier razón. Un bono extra al final del año. Mostrando a Johnson del siguiente departamento. Los derechos de fanfarronear. Deber a la empresa. Pereza. Desconfianza de los consejos de los subordinados.

Porque el gran jefe exigió más ganancias y promovió a Johnson sobre Bob porque sus números se veían mejor en lugar de exigir un mejor producto. Porque la calidad y la seguridad son valores difíciles de mostrar en una hoja de cálculo. Porque las corporaciones existen para ganar dinero.

Cosas como esta son un problema sistemático. Se reduce a "porque son tontos".

Los programadores de edición pueden evitar ser el chivo expiatorio al, al notar una deficiencia, plantear el problema a su jefe. Él hará lo correcto y hará un plan para arreglarlo, o te dirá que lo ignores. Si no lo arregla, hágalo oficial, pregúntelo por correo electrónico. Use palabras clave relacionadas con el problema, como "vulnerabilidad", "inyección", "violación de seguridad" en este caso. Cosas que una búsqueda por correo electrónico recogería.

Esto está pasando el dinero. Ahora es responsabilidad de tu jefe. Si es importante, como la gente va a morir cuando esto falla, pasa por alto y habla del tema a su jefe. Puedes ser despedido por simplemente pasar el dinero, y aún puedes ser despedido incluso si lo pasas, pero es lo correcto. No es tan correcto como solucionar el problema, pero está cerca.

Philip
fuente
3
Mi voto por ti como CEO de la empresa !!!
Wajih
3
@Cheshire No era "sentido común" cuando se hizo por primera vez. Las personas no son intrínsecamente seguras; tienen que aprender y recordar constantemente que hay idiotas malvados que solo existen para capturar sus datos.
Michael Todd
3
@Michael Todd: Pero esto ya no es 1996. Esto es de sentido común ahora, y no hay excusa para ello.
Richard
1
@Cheshire De acuerdo. Y desarrollar con la seguridad en mente es mucho mejor que probarlo después.
Philip
1
@ Richard DesLonde: Si tuviera sentido común, creo que vería a menos personas decir que lo hagan bien.
David Thornley
12

Cuanto más grande es la corporación, más lejos están los tomadores de decisiones de cualquier responsabilidad de la vida real.

Sabiendo cómo funcionan las corporaciones, el diseño del sitio probablemente fue subcontratado a alguna empresa de consultoría elegida en función del precio más bajo por desarrollador. Esa compañía a su vez contrataría a un grupo de personas aleatorias con criterios similares, con una persona promedio que permanezca en el proyecto durante no más de 3 meses antes de ser rotada a otra cosa.

vartec
fuente
44
+1 para subcontratados. No había pensado en eso. Cuando se encuentra en alta mar, los desarrolladores desarrollan exactamente lo que especifica, sin preguntas, por lo que tal vez la seguridad no estaba en la especificación.
Richard
1
@ Richard DesLonde: Veo que eres optimista.
David Thornley
@David Thornley: No, solo experimentado. :-)
richard
2
@ Richard DesLonde: ¿Y todos sus proyectos deslocalizados vinieron haciendo todo lo que decía la especificación? No está mal.
David Thornley
1
@David Thornley: LOL Absolutamente no. Esa no era la parte que estaba enfatizando. Definitivamente tienes razón, eso fue un poco demasiado optimista. :-)
richard
4

¿Cómo alguien comete errores? A través de la pereza, la falta de conocimiento, la falta de experiencia, la conveniencia, la falta de proceso, etc. ¿Cómo evitamos los errores? A través de la diligencia, la experiencia, las salvaguardas, etc. Esta situación no es diferente categóricamente de los miles de pequeños errores cometidos por cada programador; solo es diferente en escala.

¿Qué podemos aprender de esto? No mucho.

Rein Henrichs
fuente
Creo que es diferente Sony gana miles de millones de dólares y, sin embargo, no pueden entender estas cosas básicas Hay algo realmente mal con eso. Y no es solo Sony. Muchas grandes empresas han sido pirateadas por inyección SQL recientemente.
Richard
1
No, en realidad no es diferente. Las decisiones las toman las personas, no las empresas.
Rein Henrichs
@ Richard: Siempre han tenido un mal historial de seguridad. Esta es la misma compañía que inventó el rootkit de Sony, ¿recuerdas?
Mason Wheeler
2

Una posible explicación es una lista de prioridades sesgada. Muchas empresas con las que he trabajado han dado más importancia al lanzamiento de un producto al mercado que a la calidad del producto / código que estaban produciendo. Este efecto se duplica porque no solo los programadores se apresuran a completarse, sino también el departamento de control de calidad (si es que tienen uno). También he notado que esta actitud coincide con avanzar al siguiente producto antes de que se complete el anterior, lo que agrava aún más el problema.

Un denominador común en cada una de estas empresas ha sido la gestión no técnica. Los gerentes de proyecto, gerentes de TI y gerentes de producto, básicamente todos los que tienen voz en el trabajo del equipo de desarrollo, no son técnicos y no entienden la importancia de producir código seguro y de alta calidad. Esto es algo que busco cuando me entrevisto con empresas ahora. ¿Quién tiene las riendas del asilo, los reclusos o los médicos?

No me sorprendería si algo similar, agravado por una burocracia profunda, fueran factores contribuyentes en los problemas de seguridad de Sony y otras compañías.

Jack M.
fuente
0

La gente trabaja en grandes empresas y cometerá errores, ya sea por ignorancia, pereza, malos procedimientos, mala documentación, etc. El tamaño de la empresa solo afectará los errores, ya que puede haber más fuentes de errores o errores.

Marcelo
fuente