¿Cómo el hacker bitfinex robó todos esos bitcoins?

Actualmente estoy construyendo un proyecto propio de Bitcoin, así que estoy feliz de responder a esto. Hoy en día, hay tantas maneras de entrar en los servidores, ¡es alucinante!

Esto es lo que pudo haber sucedido …

Inyección SQL

El hacker podría haber irrumpido en su base de datos mediante inyección SQL. Realmente no hay excusa para esto, ya que existen numerosas bibliotecas SQL que filtrarán cadenas maliciosas.

Vulnerabilidades de código de terceros

Muchos sitios incluyen bibliotecas Javascript remotas de CDN o de proveedores externos. Bueno, cuando haces eso, literalmente estás abriendo la puerta a cualquiera para que simplemente camine por tu negocio desnudo, desde una ubicación remota, por supuesto. Pueden secuestrar cookies, lo que significa sesiones de usuario, lo que significa que se desata el infierno.

Diría que deberías ser bueno con grandes empresas como Google Analytics y Amazon, pero ¿qué significa eso? Cuanto más grande es una empresa, más vulnerable se vuelve. Es mejor descargar los javascripts remotos y alojar todo localmente. ¡O simplemente deshágase de ellos por completo y cree la solución usted mismo, póngalo en GitHub y déselo a todos los demás para que puedan mejorarlo! Luego, más tarde, descarga la versión actualizada de su propio proyecto. 😉

Ataque interno

Aquí es lo más probable que haya sucedido, en mi humilde opinión. Empresas como Bitfinex se compone de 10 a 50 personas. (Trabajando en Bitfinex)

Todo lo que se necesita es una persona para decir: “¡A la mierda! ¡Estoy robando monedas!”. Lo más probable es que los programadores o los superiores tengan acceso directo al servidor o al código. ¿Entonces te encuentras con este problema de en quién puedes confiar?

Soy el CEO / CTO de Indospace.io. Conozco mi sitio desde cero y si trabajo con codificadores, todos serán freelancers remotos. NO les daré acceso directo a la máquina o al código. En cambio, les hago trabajar en problemas / conjuntos de funciones específicas que deben coincidir con las operaciones de ENTRADA / SALIDA adecuadas. Luego reviso el código, si todo pasa, lo incorporaré a mi base de código.