¿Qué es un agujero de seguridad?

Un agujero de seguridad es una vulnerabilidad de un sistema de información que permite mediante su explotación violar la seguridad del sistema.

Hitos o etapas

En el tiempo de vida de una vulnerabilidad podemos distinguir los siguientes hitos o etapas importantes:

  • Nacimiento.- Durante el proceso de desarrollo del producto por parte del proveedor (Ej el vendedor o una comunidad de desarrolladores software), se introducen una serie de defectos. Estos defectos pueden ser de diseño, implementación o de gestión. Algunos de esos defectos pueden convertirse en riesgos para la seguridad del producto y por tanto para la seguridad del usuario del producto. Un defecto se convierte en una vulnerabilidad si hace que el comportamiento del sistema sea tal que pueda ser aprovechado para conseguir acceso no autorizado, elevación de privilegios, denegación de servicio o cualquier otra forma de romper la seguridad del sistema. No se considerar vulnerabilidades que son detectadas y corregidas antes del despliegue.
  • Descubrimiento.- Este hito ocurre cuando se tiene conocimiento de la existencia de la vulnerabilidad. Si la vulnerabilidad es creada intencionadamente entonces el nacimiento y el descubrimiento ocurren simultáneamente. Se llama descubridor a la primera persona que revela un defecto y determina que ese defecto es una vulnerabilidad. Si el descubridor no es conocido se dice que es anónimo.
  • Comunicación de la vulnerabilidad.- Este hito ocurre una vez que el descubridor revela la vulnerabilidad a alguien más. Esta transferencia de información puede ser de distintos tipos. Ejemplos: completa y pública vía (revelación completa) o comunicación privada entre hackers. Se llama originador (en ingles originator) o revelador (en inglés discloser) a la persona u organización que informa de la vulnerabilidad a el proveedor del producto. Observar que el descubridor y el originador pueden ser personas distintas.
  • Corrección.- Ocurre cuando el vendedor del producto analiza la vulnerabilidad, localiza cual es el problema, y lanza una versión al público que resuelve la vulnerabilidad.
  • Publicitación.- Es cuando el conocimiento de la vulnerabilidad se extiende a una audiencia importante dándole publicidad.
  • Automatización de explotación.- Es cuando a partir de la vulnerabilidad se crea una herramienta o script que automatiza la explotación de la vulnerabilidad. A esta herramienta o script se le llama exploit. De esta forma se permite que no sólo expertos sobre el tema (hackers) puedan vulnerar la seguridad. De esta forma se tiene una herramienta que permite a otros usuarios inexpertos (script kiddies) vulnerarla.
  • Muerte.- Ocurre cuando el número de sistemas vulnerables al exploit es insignificante. Esto puede haber sucedido porque el sistema ha sido retirado, el sistema ha sido arreglado mediante algún parche, o porque los hackers no tienen interés en explotarla.

Estos eventos no necesariamente ocurren estrictamente en este orden. Por ejemplo:

  • La publicitación y la corrección puede suceder al mismo tiempo, particularmente en casos donde el descubridor de la vulnerabilidad es el propio vendedor del producto, el cual usa el arreglo de la vulnerabilidad como parte de la propia publicidad del producto.
  • La corrección de una vulnerabilidad no tiene por qué suceder antes de la automatización de la explotación. Si se construye un exploit antes de que la vulnerabilidad sea corregida por el proveedor, se dice que se trata de un exploit de día cero que da lugar a ataques de día cero.
  • El descubrimiento se puede producir en el mismo momento del nacimiento, es decir, se trata de una vulnerabilidad intencionada. Se especula que algunos sistemas tienen desde el origen agujeros de seguridad intencionados conocidos por alguna de las partes que interviene en el diseño y/o desarrollo. Este tipo vulnerabilidades funcionaría a modo de puerta trasera o caballo de Troya. Ejemplos:
    • En 2007 el gobierno de los Estados Unidos de América lanzó la un estándar para la generación de números aleatorios. Se proponían cuatro generadores de números pseudoaleatorios. Uno de ellos, el Dual_EC_DRBG, promovido por la NSA, tenía una puerta trasera que consistía en un conjunto de números secretos que permitían predecir la salida a partir de recopilar una pequeña porción de los resultados anteriores.
    • Se ha hablado mucho de las supuestas presiones que recibió PGP Corporation para introducir una puerta trasera en su software. Esta supuesta puerta trasera permitiría a la ciertas organizaciones (Ej. FBI, NSA ) poder descifrar el contenido cifrado con esta herramienta. Para camuflar esta supuesta puerta trasera se especula que se presionó a PGP Corporation para que hiciera el código de PGP (software de código abierto) tan enrevesado y extenso que no se pudiera detectar tal puerta trasera. Esto provocó que muchos usuarios se quedaran con las versiones antiguas, fácilmente verificables, y promovió la creación de software alternativo.
    • Otro caso es la supuesta introducción de una puerta trasera en openBSD promocionada por el FBI.

Búsqueda de vulnerabilidades y motivaciones para su publicación

La búsqueda de vulnerabilidades de seguridad es realizada principalmente por dos tipos de personas u organizaciones:

  • Los atacantes de sistemas.-Pueden aprovechar las vulnerabilidades para hacer vulnerables a los sistemas y conseguir de forma ilegal beneficios monetarios de ello, ya sea directamente (Ej. permitiendo el uso de tarjetas de crédito ajenas) o indirectamente (Ej. vendiendo información privada sobre las víctimas). Por su propia naturaleza este tipo de investigadores del vulnerabilidades no están interesados en la revelación de las vulnerabilidades descubiertas ya que así se aseguran de que la vulnerabilidad no sea arreglada y así puedan seguir beneficiándose de la misma.
  • Profesionales de la informática y en especial de la seguridad.- Estos profesionales, por distintas motivaciones, estudian de forma legal los sistemas y muchas veces logran encontrar vulnerabilidades. Este tipo de personas están interesadas en la revelaciónde la información. De esta forma acreditan haber encontrado la misma y así pueden apuntarse el mérito. Las motivaciones que tienen estos profesionales para encontrar la vulnerabilidades podríamos resumirlas en:
    • Reputación.- El que una persona o organización sea acreditada como la primera en descubrir una vulnerabilidad particular es muy importante en el mundo de la seguridad informática. Por un lado a las personas les acredita de habilidades y esto puede usarse para aumentar sus ingresos o conseguir mejores trabajos. Para una empresa también es importante porque puede utilizarse para conseguir clientes en base al alto nivel del personal que trabaja para ella.
    • Perjudicar a competidores.- Por ejemplo un desarrollador o compañía puede tener especial interés en buscar vulnerabilidades a productos de la competencia para poner en dificultades al proveedor y desacreditar sus productos. De esta forma se consigue mejorar la posición en el mercado del producto propio.
    • Forzar al proveedor del productor a mejorar la calidad del producto y que tenga más interés en producir software más seguro.
    • Disfrutar del desafío intelectual de encontrar vulnerabilidades.
    • Obtener gratificaciones monetarias por parte del proveedor del producto o de otra entidad.

Tratamiento de la información sobre vulnerabilidades

Las formas de conseguir información sobre vulnerabilidades son las siguientes:

  • Investigación sobre el funcionamiento de productos
  • Investigación del funcionamiento de código malicioso que se aprovechan de vulnerabilidades
  • A través de informes que revelan ese tipo de información.

Los dos aspectos fundamentales a estudiar sobre el tratamiento de la información sobre vulnerabilidades son:

  • Como se difunde esa información (transmisión de la información)
  • Como se gestiona para tener toda la información disponible (Gestión de la información)

Transmisión de la información

Supongamos que alguien no implicado en un producto descubre una vulnerabilidad. Este puede tomar 4 opciones principales:

  • No hacer nada
  • Utilizarla y aprovechar dicha vulnerabilidad para vulnerar la seguridad del sistema.
  • Intentar venderla a alguien interesado. Este es el punto de partida del llamado mercado de vulnerabilidades.
  • Revelarla de forma pública y extensiva.

Los tres primeros casos podríamos agruparlos diciendo que adoptan una política de revelación basada en no revelar públicamente la información (cada uno por motivos distintos). En el último caso el individuo se enfrentaría a tomar una decisión sobre qué política de revelación pública de la información quiere usar.

Fecha de revelación

La fecha de revelación es la fecha en la que se describe por primera vez la vulnerabilidad en un canal con las siguientes características:

  • Libremente disponible al público
  • La información es publicada por una fuente confiable e independiente. Se suele considerar un canal confiable cuando es una fuente aceptada de información de seguridad en la industria (Ej CERT/CC, Security Focus, Secunia, Microsoft Security Bulletin, USCERT y FrSIRT)
  • La vulnerabilidad ha sido sometida al análisis de expertos que evalúan el riesgo de la revelación. Esto garantiza la calidad de la información divulgada y asegura que aporta suficientes detalles para permitir determinar el riesgo propio.

Política de revelación

Si el sujeto quiere revelar públicamente la información sobre la vulnerabilidad, se enfrenta a una compleja pregunta: ¿Cómo revelar la información sobre dicha vulnerabilidad?. La información sobre vulnerabilidades, cuando se revela, puede obligar al proveedor del producto a tomar acciones rápidamente para arreglar el defecto que lo hace posible; Sin embargo, esta misma información puede amplificar los riesgos para los usuarios y dar poder a aquellos que con malas intenciones quieren explotar la vulnerabilidad antes de que sea arreglada.

La política a tomar es un tema controvertido y no sólo es exclusivo del mundo informático. Por ejemplo en el pasado hubo controversias en el mundo de la cerrajería sobre la distribución del conocimiento de las vulnerabilidades que tenían las cerraduras.

Teniendo en cuenta los diversos factores (Ej costes, beneficios, riesgos) se han propuesto distintos tipos de prácticas y políticas para la revelación de la información sobre vulnerabilidades. Las propuestas podríamos clasificarlas en 3 tipos: No revelar, revelación completa y prácticas a medio camino entre una otra (revelación parcial).

No revelar

Podríamos considerar que la no revelación pública (extensiva) de la información sobre la vulnerabilidad es en si misma una política de revelación. La información se mantiene en secreto. Este enfoque se basa en dar prioridad a mantener en secreto la vulnerabilidad frente a dar publicidad a la información para podernos proteger frente a ella.

Algunas veces en lugar de una no revelación absoluta, la información sobre la vulnerabilidad se comparte de forma restringida (pseudosecreto). Cuanto más amplio sea el número de personan que conocen la vulnerabilidad se incrementa el riesgo para los usuarios finales. La información puede revelarse por ejemplo a:

  • El proveedor del sistema para que arregle la vulnerabilidad
  • Otros investigadores (hackers).
  • Alguien que compra esa información. De esta forma se establece un mercado de vulnerabilidades.

Muchas veces el descubridor de la vulnerabilidad toma esta política y la información se va divulgando por canales privados hasta que llega a cierta organización o persona que decide publicarla para evitar daños mayores.

Revelación completa

La estrategia de revelación completa, revelación total o divulgación masiva (en inglés full disclosure) consiste en revelar a toda la comunidad (divulgación masiva) toda la información disponible sobre un problema de seguridad en cuanto este es conocido. Por ejemplo se puede dar información de como se encontró el fallo, qué sistemas son vulnerables, como explotar la seguridad o como protegerse frente al fallo. Se revelan todo tipo de detalles sobre el fallo y esta información tan detallada puede ser usada por hackers malintencionados para desarrollar exploits que permitan aprovechar la vulnerabilidad a cualquiera que lo utilice, aunque no entiendan el funcionamiento del mismo (script kiddies).

Revelación parcial

La políticas de revelación revelación parcial (en inglés partial disclosure) intentan establecerse como punto intermedio entre la política de seguridad por oscuridad y las política de revelación completa. Intentan aprovechar buenas ideas de una y otra política para situarse en un punto intermedio con mejores características. Se han desarrollado distintos modelos pero cada uno tiene sus inconvenientes considerándose el problema de la política de revelación como un problema abierto y pendiente de solución.

Mercado de vulnerabilidades

Alrededor del mundo de los agujeros de seguridad se ha ido creando una importante actividad económica, dando lugar a negocios a veces muy lucrativos. El activo con el que se negocia es la información sobre la vulnerabilidad. El negocio suele estar en:

  • La compra/venta de información sobre vulnerabilidades. El negocio puede ser con dinero o en especie (Ej publicidad sobre el descubridor o recompensando con un servicio de pago de forma gratuita). Puede haber intermediarios. Puede haber varias formas de realizar la compra/venta. Ejemplos: venta directa en exclusiva, venta directa sin exclusividad (lo mismo se puede vender a varios), subastas tradicionales, subastas con más de un ganador. El problema de las subastas es la habilidad de comunicar la calidad de la vulnerabilidad si divulgar la información sobre la vulnerabilidad. Esto se intenta conseguir dando unos mínimos detalles sobre la vulnerabilidad o el establecimiento de intermediarios de confianza que permitan establecer la calidad de la vulnerabilidad manteniendo la información en riguroso secreto (este tipo de intermediarios están apareciendo en el mercado underground).
  • La contratación de personas/equipos que se dedican a la búsqueda de vulnerabilidades ya sea de forma interna o externa a la propia organización. Por ejemplo hay multitud de empresas que se dedican a la auditoría de seguridad.
  • La venta de productos (Ej. antivirus, IDS´s, IPS´s o cortafuegos) que detectan, solucionan o mitigan el impacto de vulnerabilidades.
  • Proveedores de productos que permiten detectar o aprovechar vulnerabilidades de otros productos.

Se ha propuesto que la existencia de un mercado de vulnerabilidades puede ser una buena idea para incentivar a los proveedor de sistemas para que se preocupen más en mejorar la seguridad de sus productos y en arreglar rápidamente las vulnerabilidades que se vayan encontrando.

Motivaciones

Las motivaciones para la existencia de este tipo de mercado son, en última instancia:

  • Conseguir ganancia económica. Este es el principal motivo para la existencia de este mercado.
  • Consecución de una herramienta defensiva u ofensiva para poderla utilizar en cierto tipo de conflictos (netwar y ciberguerra).

Actores

Los actores en este mercado son:

  • Productores de información:
    • Hackers
    • investigadores
  • Consumidores:
    • Gobiernos (netwar, ciberguerra)
    • Proveedores de sistemas objeto de los ataques.
    • Proveedores de sistemas que protegen frente a ataques
    • Atacantes maliciosos
  • Intermediarios

Mercado de vulnerabilidades y proveedores de productos

Los proveedores de productos juegan un papel especial en este mercado ya que el mercado se basa en la existencia de fallos en sus productos, lo que les puede provocar la pérdida de confianza y finalmente la pérdida de clientes. La existencia de un mercado de vulnerabilidades no les beneficia ya que:

  • Desincentiva que investigadores les revelen la información sin pagar
  • Cuanto más mercado haya más competencia por obtener la información, más vale esa información y por tanto será más difícilmente accesible para los proveedores.
  • Cuanto más mercado haya más competencia por obtener la información, más vale esa información y por tanto más se incentiva al descubrimiento de estas vulnerabilidades.

Por tanto intentan no fomentarlo aunque están siendo obligados por su crecimiento a entrar poco a poco en él para no verse excluidos cada vez más del conocimiento de las vulnerabilidades de sus propios productos. Por ejemplo cada vez es más frecuente la convocatoria de concursos remunerados para la búsqueda de vulnerabilidades.

Para fomentar la revelación de la información sin pagar están tomando una serie de iniciativas como por ejemplo:

  • Facilitar el contacto para la comunicación de vulnerabilidades (Ej direcciones de email o formularios web en su sitios web)
  • Dedicación de recursos para la pronta respuesta y colaboración con los descubridores de vulnerabilidades
  • Establecimiento de buenas relaciones con investigadores para fomentar que les revelen la información. Ejemplos:
    • Participación en conferencias de hackers e investigadores (Ej. BlackHat)
    • Crear sus propias conferencias (Ej. BlueHat)
    • Invitar a sus dependencias a investigadores para que les enseñen como consiguen encontrar vulnerabilidades en sus productos.
  • Agradecimiento público de las colaboraciones con los descubridores. De esta forma se da reputación a los investigadores.

Tipos de mercado

Podemos hablar de dos mercados de vulnerabilidades claramente diferenciados: el lícito y el ilícito. Al ser una diferencia puramente legal, dependerá de la jurisdicción del país en el que estemos el que ciertos negocios pertenezcan a uno u otro mercado. Por este motivo las contrataciones de hackers con propósitos más controvertidos se realiza en países con legislación no muy restrictiva por ejemplo: Brasil, Rusia y Ucrania.

Para que el mercado lícito sea realmente efectivo tiene que:

  • Atraer a los investigadores de vulnerabilidades. Para ello:
    • Los precios tienen que ser comparables o superiores a los que da el mercado negro y ser lo suficientemente altos para que merezca la pena el esfuerzo. Hay que tener en cuenta que el mercado underground facilita la venta a múltiples compradores la misma información. En 2006 se estimaba que lo que pagaban a los investigadores empresas lícitas dedicadas a este negocio era equivalente a vender el producto a 3 actores maliciosos en el mercado underground. Lo que pagaban a los investigadores empresas proveedoras de productos era equivalente a vender el producto a 1 actor maliciosos en el mercado underground.
    • Atraer la confianza de los investigadores. Para ello es habitual anunciarse en los entornos de los investigadores como las conferencias Blackhat y DEF CON de Estados Unidos o RootedCON de España.
  • Ganar aceptación en la industria y por tanto clientes para sus productos. El objetivo es implantar la idea de que esta industria permite protegerse frente a vulnerabilidades que posiblemente ya circulan en el mercado ilícito. Para ello suelen utilizar políticas de revelación responsable y colaboran de forma activa para la corrección de dichas vulnerabilidades. También se suele pedir que el propio proveedor dé cierta publicidad al descubridor de la vulnerabilidad.
  • Desarrollar el negocio de forma que permita obtener beneficios. El objetivo es crear productos (Ej boletines de información, productos software como antivirus, IDS´s, IPS´s o cortafuegos) que permitan protegerse frente a las vulnerabilidades antes de que el proveedor arregle la vulnerabilidad.

Inconvenientes

Los principales inconvenientes de este tipo de mercado tienen que ver con la revelación de la información, la incentivación a los investigadores y el aumento de los precios de las vulnerabilidades

Revelación de la información

La existencia del mercado de vulnerabilidades provoca una resistencia a que los agujeros de seguridad sean revelados para que puedan ser arreglados. La información sobre la vulnerabilidad pierde valor cuanto más gente la conoce y pierde totalmente el valor cuando el problema es arreglado y ya no existe. Por tanto hay una tendencia, para proteger el valor de la información, a mantener la información oculta. Todo esto repercute en una menor seguridad de los productos.

En general las más importantes empresas que se dedican a este negocio están comunican a los proveedores sobre las vulnerabilidades que encuentran. Sin embargo hay algunas compañías pequeñas que no lo hacen. Esta política de no revelación de vulnerabilidades es muy criticada pero no se suele considerar ilegal ya que la información es vendida con descargo de responsabilidad diciendo que esa información debería ser usado para pruebas internas, no para burlar la ley.

Los gobiernos, dependen del tipo de vulnerabilidad que encuentren, informan al proveedor del producto o no. Si se trata de un punto débil de sistemas que ellos mismos usan entonces comunicarán al proveedor. Si por ejemplo se trata de una vulnerabilidad utilizada en una herramienta ofensiva, entonces no revelará al proveedor la información sobre dicha vulnerabilidad

Motiva la búsqueda de vulnerabilidades

La existencia de un mercado donde vender las vulnerabilidades provoca que haya una mayor investigación de vulnerabilidades, lo que provoca que se descubran más y por tanto haya un conjunto más amplio de vulnerabilidades activas que causas inseguridad a los usuarios

Aumento de los precios de las vulnerabilidades

La existencia de un mercado cada vez más amplio de vulnerabilidades provoca que los precios suban. Esto provoca que la información sea menos accesibles a los proveedores que en definitiva son los que arreglan la vulnerabilidad para todos sus clientes.

Ejemplos

Ejemplos de negocios en el mundo de las vulnerabilidades:

  • Casi desde el principio de los sistemas de información ha habido, y sigue habiendo, un mercado negro o mercado underground e ilícito de vulnerabilidades en el que los atacantes venden información no revelada públicamente sobre vulnerabilidades para que otros puedan aprovecharlas de forma ilícita (Ej robar dinero, causar daños, espionaje, recopilar información para chantaje, divulgación de información falsa como verdadera (para por ejemplo hacer pump and dump) o adware indeseado. Un ejemplo contrastado de uso del mercado underground para la venta de información sobre vulnerabilidades es el caso de la vulnerabilidad del Microsoft Windows WMF rendering fue vendida en el mercado ilícito. Hay dos tipos de negocios relacionados con este tipo de mercado: La contratación para atacar un objetivo específico (Ej persona u organización) y por otro lado la compra de productos ya elaborados y listos para ser usados (exploits). Para ponerse en contacto, las partes de este tipo de mercado usan canales de IRC y sitios web (Ej http://web-hack.ru) específicos. Al ser un mercado ilícito los negocios no son públicos y esto facilita la venta del mismo producto a distintos compradores y así sacar un mayor beneficio.
  • TippingPoint, una división de 3Com, ofrece sistemas de detección de intrusos para protegerse contra vulnerabilidades. Esta compañía aplica una política de seguridad de revelación responsable.
  • iDefense, una compañía de Verisign, se dedica a la venta de información sobre vulnerabilidades. Dispone de un servicio de suscripción en el cual los miembros pagan por recibir notificaciones sobre las vulnerabilidades y sobre soluciones o formas de mitigar el impacto de dichas vulnerabilidades hasta que el proveedor provea una solución. Esta compañía aplica una política de seguridad de revelación responsable.
  • Algunos proveedores de productos convocan Bug Bounty's que son convocatorias para que hackers e investigadores sobre seguridad investiguen sus productos y, si encuentran e informan sobre vulnerabilidades se les gratifica por ello. Algunas de las organizaciones que han convocado este tipo de concursos son Mozilla, Microsoft, Google o Facebook.
  • Muchos gobiernos tienen programas en los que vulnerabilidades que no son públicas pueden ser usados de forma defensiva u ofensiva con el objetivo de defender los intereses de los que detentan el poder. En 2001 ya se pensaba que más de 20 países tenían o estaban desarrollado capacidades para desarrollar ataques informáticos (netwar y ciberguerra).
  • Wabisabi Labi era un site que permitía la adquisición de vulnerabilidades. Permitía cuatro tipo de transacciones: Subastas tradicionales, subastas con más de un ganador, compras inmediatas y compras de un comprador exclusivo.
  • Argeniss, Inmunity y GLEG Ltd son pequeñas compañías que contratan a sus propios investigadores y venden suscripciones a sus servicios para proveer información sobre las vulnerabilidades que encuentran. Esta información no la comunican a los proveedores de los productos a que se refieren. De esta forma incrementan el valor y el tiempo de vida de las vulnerabilidades con las que comercian. Le dan a la información un carácter privado. Esto ha tenido importantes críticas desde el punto de vista ético.

Gestión de la información

Hay distintas iniciativas cuyo propósito es gestionar información sobre vulnerabilidades. Desde el gobierno de estados unidos destacan:

  • Security Content Automation Protocol.- Se ocupa de vulnerabilidades y debilidades en las configuraciones. Incluye el Common Vulnerabilities and Exposures, un catálogo de vulnerabilidades.
  • Common Weakness Enumerator
  • Common Malware Enumerator
  • Common Weakness Scoring System
  • Common Attack Pattern Enumeration and Classification

Casos famosos

  • En junio de 2005, un servidor de mantenimiento de tarjetas de crédito, fue crackeado por un grupo de personas, aprovechando un error en el código de verificación. Esto generó pérdidas por 10.000.000 de dólares estadounidenses.
  • El FBI, sufrió un ataque de un usuario que usó cuentas de correo, obtuvo contraseñas y otros datos de relevancia, a través de un puerto que estaba abierto en el código web.
  • En Windows 98, ciertas contraseñas de usuario se exponen en las carpetas, que pueden ser leídas en MS-DOS.

VOLVER

  • 3 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

¿Qué el correo no deseado (spam)?

Se llama Spam a los mensajes no solicitados, no deseados o de remitente no conocido (correo...

¿Qué es un dominio de Internet?

El dominio es sin duda lo más necesario y principal a la hora de montar cualquier servicio o...

¿Qué es una Red Social en Internet?

El concepto red social en el ámbito de internet: son páginas que permiten a las personas conectar...

¿Por qué recibo "spam" y como puedo evitarlo?

El "spam" (correo basura) es un problema continuo que cuesta a los negocios e individuos miles de...

¿Qué es el sistema DNS?

El Sistema de nombres de dominio (o Domain Name System. DNS, en inglés) ) es un sistema de...

Powered by WHMCompleteSolution