¿Deberías alguna vez lanzar algo que tú mismo puedas hackear?

12

Siendo el creador de un programa, probablemente esté en una mejor posición que nadie para estar al tanto de las vulnerabilidades de seguridad y posibles ataques. Si conoce una vulnerabilidad en un sistema que escribió, ¿es una señal de que DEBE agregarse una mayor seguridad antes del lanzamiento, o debería evaluarse caso por caso para determinar la gravedad de la brecha de seguridad?

Morgan Herlocker
fuente
77
Claro, la NSA hace esto todo el tiempo :)
Jaap
3
@Jaap: La NSA es acusada de esto todo el tiempo. En el primer caso, sé dónde la gente descubrió lo que realmente sucedió, que al ser el estándar de cifrado DES, resulta que las modificaciones de la NSA en realidad hicieron que el cifrado sea más fuerte , no más débil, lo que hace que sea menos probable que sea pirateado por una técnica que nadie más que la NSA había descubierto aún, porque sabían que alguien más lo resolvería eventualmente.
Mason Wheeler
66
@MasonWheeler Creo que los eventos recientes han hecho que tu comentario, aquí desde 2012, esté desactualizado.
aceinthehole

Respuestas:

6

Yo diría que debería hacerse caso por caso. Eres el autor, conoces muchos de los agujeros. Algunas vulnerabilidades solo pueden ser conocidas por usted. Por supuesto, eso significa que si alguno de ellos es explotado, es posible que tenga algunas preguntas difíciles de responder, por lo que sería una buena idea reducir estas vulnerabilidades si es posible. Más importante es si alguien puede piratearlo fácilmente como un sistema de caja negra.

FrustratedWithFormsDesigner
fuente
3
Solo desearía conocer todos los agujeros en el software que escribí. Entonces podría aprovechar eso para encontrar todos los errores, y sería mucho más fácil escribir correctamente las cosas.
David Thornley
1
@David: Ok, muchos ...
FrustratedWithFormsDesigner
31

He tenido la desafortunada experiencia de estar en la situación dos veces. La empresa en ambos casos estaba sacando productos con serios problemas de seguridad con datos muy sensibles.

En ambos casos, al negocio no parecía importarle, a pesar de mis mejores esfuerzos para hacerlos conscientes de los riesgos que estaban tomando.

Lo único que puede hacer es protestar tan fuerte * (y profesionalmente) como sea posible, ser lo más claro posible sobre las posibles consecuencias, y mientras lo hace, documente todo . Imprima sus correos electrónicos relevantes en archivos PDF y mantenga esos archivos en casa, o envíe su dirección de correo electrónico personal, o como lo haga. Esta es la única solución para cuando sucede algo malo inevitablemente.

Es de esperar que la gerencia lo respete por su asesoramiento técnico y lo tenga en cuenta, pero desafortunadamente, debe respetar a quien sea que tome la decisión al final del día. Se toman malas decisiones comerciales todos los días.

Editar: Jason mencionó "Por favor, tenga mucho cuidado BCCing su dirección de casa", y estoy muy de acuerdo. No viole la política de la empresa y corra el riesgo de dejar la vulnerabilidad de seguridad más abierta de lo que ya está.

aceinthehole
fuente
21
+1 para todo el documento !!! Cuando ocurre un desastre mayor y el trabajo del gerente está en juego, él / ella hará CUALQUIER COSA para cambiar la culpa de CUALQUIER manera que pueda. Si documenta problemas, correos electrónicos, notificaciones, notas y otra documentación relacionada con la decisión, entonces se está protegiendo de una mala situación.
maple_shaft
11
Af cking-men. Cualquiera que sea lo suficientemente sórdido como para enviar a sabiendas un producto seriamente defectuoso puede, y hará, * cualquier cosa para esquivar la eventual bala.
Peter Rowell
Tenga mucho cuidado con BCCing su dirección de casa.
jasonk
2
@jasonk: ¿Por qué dices eso? BCC significa que otros destinatarios no pueden verlo ...
Mason Wheeler
3
@Mason: los destinatarios no pueden, pero TI puede hacerlo, y si envía información confidencial (qué vulnerabilidades de seguridad son definitivamente) fuera del sitio, es probable que entre en un mundo de dolor.
Eclipse
12

Yo diría lo contrario: al ser el creador, con frecuencia estás demasiado cerca del código para ver vulnerabilidades.

Si conoce o le dicen sobre vulnerabilidades, son como cualquier otro error: evalúe, priorice y luego corrija.

DaveE
fuente
+1: Sabes cómo debería funcionar mi programa y hasta cierto punto solo piensas en usarlo de esa manera. Tener a alguien que no conozca la forma "correcta" de usar el programa es una de las mejores pruebas que puede hacer.
Unholysampler
Como alguien relativamente nuevo en el control de calidad, entré en el trabajo esperando que los errores de "falla de seguridad" fueran recibidos con extrema gravedad. Pero he descubierto que la etiqueta "seguridad" no siempre constituye una necesidad de una respuesta de tolerancia cero. Algunas compañías están perfectamente felices de correr riesgos de seguridad si la vulnerabilidad no parece poner en peligro la reputación de la marca, o si ofrece a los piratas informáticos poco que ganar, y es probable que las versiones futuras incluyan una solución (o cambio de características) de todos modos.
Greg Gauthier
4

Creo que la respuesta depende del grado de daño que se produciría si un pirata informático malintencionado comprometiera el sistema. Obviamente, un ingeniero civil no podía aprobar el diseño de un puente inseguro en buena conciencia. La construcción de dicho puente podría provocar lesiones o la muerte. También sería ilegal que el ingeniero haga esto a sabiendas, pero el hecho de que los ingenieros de software (al menos en los Estados Unidos) no estén legalmente obligados de la misma manera no los exime del deber profesional de tomar una posición contra los sistemas defectuosos. Lamentablemente, es posible que su empresa no necesite su firma para lanzar el software.

No especificas la naturaleza exacta del sistema en el que estás trabajando. Si está relacionado con los registros médicos, la banca, el control del tráfico aéreo o alguna otra infraestructura realmente crítica, diría que estaría bien justificado al insistir en el nivel más alto de seguridad posible antes de la liberación.

PeterAllenWebb
fuente
+1 Por contexto, agregaría que cualquier dato que incluya números de seguridad social, números de identificación o números de tarjetas de crédito también debe prestar atención a la seguridad. Los sistemas que no almacenan ninguna de esta información y no son sistemas críticos tienen datos de bajo riesgo y no debería preocuparse tanto por la seguridad.
maple_shaft
3

Sí, DEBERÍAS arreglarlo antes de que salga el lanzamiento. Nunca subestimes el ingenio de un hacker. ¿Te irías de vacaciones por una semana con la puerta trasera abierta? ¿Sería tu excusa?

"Oh, está en la parte de atrás y no da directamente a la calle. Nadie lo vería colgando de par en par ..."

Probablemente no.

Pero entiendo estos días con el primer ministro despistado cómo la fecha de lanzamiento más sagrada es más importante que un problema de responsabilidad potencialmente enorme con la seguridad. Si este es su caso, le sugiero que llame la atención, registre el problema, asegúrese de que esté bien documentado, sea conocido y que los riesgos se expliquen claramente y deje que el primer ministro decida qué hacer.

Si el primer ministro toma una mala decisión y decide ignorar esto y continuar con la liberación según lo programado, entonces está exento de responsabilidad ya que hizo sonar el silbato.

De lo contrario, si encuentra esto y se lo guarda y algo sucede, entonces USTED puede ser personalmente responsable de las consecuencias.

La decisión es tuya.

árbol de arce
fuente
44
En los EE. UU., Al menos, no es un problema de responsabilidad potencialmente enorme, porque aproximadamente ningún software viene con ningún tipo de garantía. El software de dispositivos médicos es una excepción, y probablemente haya otros, pero la mayoría de los servicios de software y software se basan esencialmente en "sin garantías".
David Thornley
1
¿Sin garantía? ¿Por qué no se lo cuenta a los millones de clientes de Sony a quienes les robaron sus números de seguridad social y otros datos confidenciales debido a EXACTAMENTE los agujeros de seguridad que sugiere el OP?
maple_shaft
2
Si bien David tiene razón, la falta de responsabilidad civil exigible puede ser un consuelo cuando la reputación de su empresa se arruina, o su pequeña empresa simplemente es litigada por una más grande.
PeterAllenWebb
@maple_shaft: ¿Y qué responsabilidad tiene Sony? Han ofrecido un año de servicios de protección de crédito, pero no creo que tengan ninguna responsabilidad legal. Es un éxito para su reputación, pero han sobrevivido antes.
David Thornley
1
@Rory: Veámoslo dentro de dos años. Me gustaría pensar que el fiasco del rootkit, la eliminación arbitraria de OtherOS y esta filtración harían que Sony fuera menos popular a largo plazo, pero no estoy del todo seguro.
David Thornley