Discusión sobre el artículo "Proteger el código MQL5 Protección con contraseña, generadores de claves, límites de tiempo, licencias remotas y técnicas de encriptación de claves de licencia de EA avanzadas" - página 2
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Creo que es la única opción por el momento.
No hay otra forma de demostrar la habilidad de un trader. Sólo el seguimiento de su comercio. Y es genial que será en este sitio. No hay necesidad de ningún Onyx y así sucesivamente ....
Sólo que por el momento no hay mucha información sobre este tema. Por ejemplo, ¿qué tipos de cuentas se pueden conectar a este servicio? Más precisamente, ¿será posible conectar cuentas demo también? ¿O sólo las reales? Por supuesto, las reales serán más fiables. Tanto las cuentas demo como las reales son más fiables si se obtienen resultados estables durante mucho tiempo (por ejemplo, a partir de medio año). Puede haber muchas más preguntas ...
P.D. En general, el tema es sobre otra cosa, así que me voy. :)
Por cierto, pronto lanzaremos un gran sistema de puntuación para todos los usuarios. Será una innovación muy interesante: "¡dame un trader de nivel 80!".
Siento ser mordaz, pero lo que se presenta en el artículo no es seguridad, sino oscuridad. La protección anticopia es un problema extremadamente difícil, de ahí los esfuerzos de la industria musical y cinematográfica con la DRM y sus repetidos fracasos.
En el mejor de los casos, la información aquí contenida hará perder el tiempo a algunas personas; en el peor, puede haber dado al lector una falsa sensación de seguridad. Si luego deciden "proteger" un producto siguiendo sus consejos, puede que se lleven alguna sorpresa cuando su consumidor elimine la protección en cuestión de horas y lo revenda por una fracción del precio.
En serio - la codificación base64 no está relacionada con el cifrado. La codificación base64 se diseñó para permitir que los datos de 8 bits se transmitieran de forma segura utilizando protocolos que consideran que la codificación de datos es de 7 bits. Se puede invertir trivialmente la codificación base64 - ¡y se diseñó con ese propósito!
La única solución que puedo ver de distribuir de forma segura el software MQL5 es ya sea a través de las disposiciones de poder limitado del corredor, o la instalación de una instancia de MQL5 con los archivos .ex5 en un servidor en algún lugar y permitir el acceso del cliente utilizando un cliente ligero (por lo que no pueden descargar el .ex5). Y sí, he trabajado en seguridad de la información durante más de 15 años, así que tengo una idea justa de lo que estoy hablando.
Para ser sincero, me sorprende bastante que Metaquotes haya publicado el artículo.
El artículo da algunas pistas sobre cómo solucionar el problema. En realidad el problema debería ser resuelto por el cliente mt5. Hay muchas plataformas por ahí que utilizan encription dentro del software de cliente por lo que el software y no el codificador resuelve el problema.
El artículo da algunas pistas sobre cómo solucionar el problema. En realidad el problema debería ser resuelto por el cliente mt5. Hay muchas plataformas por ahí que utilizan encription dentro del software de cliente por lo que el software y no el codificador resuelve el problema.
Incluso para el software cliente MetaQuotes implementar esa funcionalidad es un problema difícil: el software tendrá que contener o descargar una clave de descifrado, lo que implica que es posible comprometer dicha clave. Si se utiliza un dispositivo de hardware a prueba de manipulaciones, a menos que el .ex5 se ejecute *en* el hardware a prueba de manipulaciones, sigue siendo vulnerable, ya que debe ser descifrado en algún momento para ser ejecutado. Aunque puede que yo no sea capaz de implementar tales ataques, conozco a un buen número de personas que pueden hacerlo sin mucho problema.
En el modelo de amenaza de un usuario final que tiene acceso al .ex5 que puede ejecutar, no hay *ninguna* solución segura.
Esta es la clase genérica de problema -en otras palabras, la protección de contenidos- para la que las empresas/instituciones utilizan modelos thin-client: de ese modo, el contenido sensible no puede descargarse, sino que sólo puede utilizarse en los servidores de la empresa/institución.
Usted debe saber que todos los EX5-prorgramas son cifrados por claves fuertes. Es el primer punto.
Y en segundo lugar - no se olvide de Mercado - Un mercado de Asesores Expertos para MetaTrader 5. Todos los productos en el Mercado están encriptados por una clave adicional para el comprador. Esto significa que nadie excepto el usuario legal puede lanzar tal EX5-programa.
Usted debe saber que todos los EX5-prorgramas son cifrados por claves fuertes. Es el primer punto.
Y en segundo lugar - no se olvide de Mercado - Un mercado de Asesores Expertos para MetaTrader 5. Todos los productos en el Mercado están encriptados por una clave adicional para el comprador. Esto significa que nadie excepto el usuario legal puede lanzar tal EX5-programa.
La protección que ha descrito está bien para disuadir al codificador casual, pero ciertamente no contra un atacante motivado.
La cuestión aquí no es el cifrado -esa es la parte fácil- sino cómo manejas las claves y el proceso de descifrado.
En el escenario en el que una atacante, en el lenguaje clásico la llamaremos Mallory, desea copiar y distribuir un EX5 del que tiene la clave, seguramente puede hacerlo de la siguiente manera
i. Ejecutar el EX5 con la clave;
ii. monitorizar el proceso mientras se ejecuta, por ejemplo adjuntando una DLL al proceso, y volcando el contenido del EX5 inmediatamente después de desencriptarlo;
iii. reensamblar el EX5 ahora en texto plano (y potencialmente desensamblarlo en código fuente si se puede).
Si tu primer punto de protección involucra verificación de firmas, entonces todo lo que el atacante necesita hacer para distribuir archivos es distribuir un ejecutable MQL diferente con las claves públicas relevantes reemplazadas. Si MQL5 usa una API criptográfica para verificar certificaciones, entonces eso puede ser arrancado del binario. Y así hasta el infinito.
Todo esto es antes de empezar a considerar la pesadilla que será su gestión de claves.
Si bien este tipo de análisis binario está fuera de mis capacidades en estos días, Conozco a varias personas que podrían lograrlo sin problemas. Así que no es la fuerza de la encriptación que usted debe estar preocupado, sino más bien que usted tiene un modelo de seguridad no válida. No es un problema particular en sí, como nadie espera MetaTrader para resolver ese problema - hay otras soluciones muy utilizables para este problema, en concreto tener el propietario del código MQL5 / EX5 ejecutarlo en un servidor independiente que controlan y licencia de acceso / señales a los compradores.
Por lo tanto, estoy en una pérdida de entender por qué la gente está exigiendo esta facilidad cuando es tan difícil de implementar correctamente, al menos sin hardware a prueba de manipulaciones.
" También puede añadir una variable relacionada con las propiedades del hardware (número de serie del disco duro o información sobre el CPUID). En este caso, un generador adicional utilizando la vinculación de hardware tendrá que ser ejecutado para ejecutar el Asesor Experto.
El resultado puede servir como parámetro de entrada para el generador y la contraseña generada será correcta sólo para un hardware específico. Esto limita a aquellos que han cambiado la configuración de su ordenador o utilizan un VPS para ejecutar el Asesor Experto, pero esto se puede solucionar dando dos o tres contraseñas válidas. Este método se utiliza en el servicio Mercado".
¿Dónde puedo aprender más acerca de la vinculación a hardware o encontrar un ejemplo del código fuente? ¿Y qué significa -" Este método se utiliza en el servicio "Mercado"."? Es decir, si pongo a la venta un archivo compilado de Asesor Experto en el servicio "Mercado", ¿incluye automáticamente la vinculación al hardware? ¿O tengo que dar el código fuente y los empleados de Metaquotes incluir adicionalmente la vinculación al hardware allí?
¿Es posible implementar la vinculación al hardware en MQL4? (La mayoría de los centros de corretaje siguen trabajando en MT4).
¿Dónde puedo obtener más información sobre la vinculación al hardware o encontrar un ejemplo del código fuente? ¿Y qué significa "Este método se utiliza en el servicio "Mercado""? Es decir, si pongo a la venta un archivo compilado de un Asesor Experto en el servicio "Mercado", ¿la vinculación al hardware se incluye automáticamente en él? ¿O tengo que dar el código fuente y los empleados de Metaquotes incluirán allí adicionalmente la vinculación al hardware?
¿Se puede implementar la vinculación al hardware en MQL4? (La mayoría de los centros de corretaje siguen trabajando en MT4).