Hola hacketones! Bienvenidos a un nuevo CTF para la Certificación SEC1 de la ruta Cyber Security 101 de TryHackMe – Security Principles
Introducción
La seguridad se ha convertido en una palabra de moda; todas las empresas quieren afirmar que su producto o servicio es seguro. ¿Pero lo es?
Antes de empezar a analizar los diferentes principios de seguridad, es fundamental conocer al adversario contra el que protegemos nuestros activos. ¿Intenta impedir que un niño pequeño acceda a su portátil? ¿O intenta proteger un portátil con diseños técnicos que valen millones de dólares? Utilizar los mismos mecanismos de protección contra niños pequeños y espionaje industrial sería absurdo. Por lo tanto, conocer a nuestro adversario es fundamental para comprender sus ataques y empezar a implementar los controles de seguridad adecuados. Es imposible lograr una seguridad perfecta; ninguna solución es 100 % segura. Por lo tanto, nos esforzamos por mejorar nuestra estrategia de seguridad para dificultar el acceso de nuestros adversarios.
CIA

Antes de poder describir algo como seguro , debemos considerar mejor qué constituye la seguridad. Al evaluar la seguridad de un sistema, es necesario considerar la tríada de seguridad: confidencialidad, integridad y disponibilidad ( CIA ).
- La confidencialidad garantiza que sólo las personas o destinatarios previstos puedan acceder a los datos.
- La integridad tiene como objetivo garantizar que los datos no puedan ser alterados; además, podemos detectar cualquier alteración si se produce.
- La disponibilidad tiene como objetivo garantizar que el sistema o servicio esté disponible cuando sea necesario.

Consideremos la tríada de seguridad de la CIA en el caso de realizar un pedido de compras en línea:
- Confidencialidad : Al comprar en línea, usted espera que su número de tarjeta de crédito se divulgue únicamente a la entidad que procesa el pago. Si duda de que la información de su tarjeta de crédito se divulgue a alguien no confiable, lo más probable es que no continúe con la transacción. Además, si una filtración de datos resulta en la divulgación de información personal identificable, incluidas las tarjetas de crédito, la empresa sufrirá enormes pérdidas a múltiples niveles.
- Integridad : Tras completar su pedido, si un intruso modifica la dirección de envío proporcionada, el paquete se enviará a otra persona. Sin integridad de datos, podría ser muy reacio a realizar un pedido a este vendedor.
- Disponibilidad : Para realizar su pedido en línea, deberá navegar por el sitio web de la tienda o usar su aplicación oficial. Si el servicio no está disponible, no podrá explorar los productos ni realizar un pedido. Si persisten estos problemas técnicos, podría desistir y buscar otra tienda en línea.
Consideremos la CIA en relación con los registros de pacientes y los sistemas relacionados:
- Confidencialidad : Según diversas leyes en los países modernos, los profesionales de la salud deben garantizar y mantener la confidencialidad de los historiales médicos. Por consiguiente, pueden ser considerados legalmente responsables si divulgan ilegalmente los historiales médicos de sus pacientes.
- Integridad : Si el historial de un paciente se altera accidental o maliciosamente, puede dar lugar a la administración de un tratamiento incorrecto, lo que, a su vez, puede poner en peligro la vida. Por lo tanto, el sistema sería inútil y potencialmente perjudicial si no se garantiza la integridad de los historiales médicos.
- Disponibilidad : Cuando un paciente acude a una clínica para el seguimiento de su estado de salud, el sistema debe estar disponible. Si el sistema no está disponible, el médico no podrá acceder a su historial clínico y, por lo tanto, no sabrá si los síntomas actuales están relacionados con su historial médico. Esta situación puede dificultar el diagnóstico médico y hacerlo más propenso a errores.
No es necesario que el énfasis sea el mismo en las tres funciones de seguridad. Un ejemplo sería un anuncio universitario; aunque no suele ser confidencial, la integridad del documento es crucial.
Más allá de la CIA

Yendo un paso más allá de la tríada de seguridad de la CIA , podemos pensar en:
- Autenticidad : Auténtico significa que no es fraudulento ni falsificado. La autenticidad consiste en garantizar que el documento, archivo o dato proviene de la fuente declarada.
- No repudio : Repudiar significa negarse a reconocer la validez de algo. El no repudio garantiza que la fuente original no pueda negar ser la fuente de un documento, archivo o dato en particular. Esta característica es indispensable en diversos ámbitos, como las compras, el diagnóstico de pacientes y la banca.
Estos dos requisitos están estrechamente relacionados. Es indispensable distinguir entre archivos o pedidos auténticos y falsos. Además, garantizar que la otra parte no pueda negar ser la fuente es vital para la operatividad de muchos sistemas.
En las compras en línea, dependiendo de su negocio, podría tolerar intentar entregar una camiseta contra reembolso y luego descubrir que el destinatario nunca realizó dicho pedido. Sin embargo, ninguna empresa puede tolerar enviar 1000 coches para descubrir que el pedido es falso. En el ejemplo de un pedido de compras, desea confirmar que el cliente efectivamente realizó el pedido; eso es autenticidad. Además, desea asegurarse de que no pueda negar haber realizado el pedido; eso es no repudio.
Como empresa, si recibe un pedido de 1000 vehículos, debe garantizar su autenticidad; además, la fuente no debe poder negar la realización del pedido. Sin autenticidad ni repudio, la empresa no puede operar.
Héxada Parkeriana
En 1998, Donn Parker propuso la Hexada Parkeriana, un conjunto de seis elementos de seguridad. Estos son:
- Disponibilidad
- Utilidad
- Integridad
- Autenticidad
- Confidencialidad
- Posesión
Ya hemos abordado cuatro de los seis elementos anteriores. Analicemos los dos restantes:
- Utilidad : La utilidad se centra en la utilidad de la información. Por ejemplo, un usuario podría haber perdido la clave de descifrado para acceder a una computadora portátil con almacenamiento cifrado. Aunque aún conserva la computadora portátil con sus discos intactos, no puede acceder a ellos. En otras palabras, aunque aún está disponible, la información se encuentra en un formato inservible, es decir, sin utilidad.
- Posesión : Este elemento de seguridad requiere que protejamos la información contra la apropiación, copia o control no autorizados. Por ejemplo, un adversario podría robar una unidad de respaldo, lo que significa que perderíamos la posesión de la información mientras la tenga. Por otro lado, el adversario podría cifrar nuestros datos mediante ransomware; esto también conlleva la pérdida de la posesión de los datos.
Responda las siguientes preguntas
Haz clic en «Ver sitio» y responde las cinco preguntas. ¿Cuál es la bandera que obtuviste al final?
THM{CIA_TRIAD}
DAD

La seguridad de un sistema se ve atacada por diversos medios, como la divulgación, alteración o destrucción de datos secretos.
- La divulgación es lo opuesto a la confidencialidad. En otras palabras, la divulgación de datos confidenciales constituiría un atentado contra la confidencialidad.
- La alteración es lo opuesto a la integridad. Por ejemplo, la integridad de un cheque es indispensable.
- Destrucción/Negación es lo opuesto a Disponibilidad.
El opuesto de la Tríada CIA sería la Tríada DAD : Divulgación, Alteración y Destrucción.
Consideremos el ejemplo anterior de registros de pacientes y sistemas relacionados:
- Divulgación: Como en la mayoría de los países modernos, los profesionales sanitarios deben mantener la confidencialidad de sus historiales médicos. Por lo tanto, si un atacante logra robar algunos de estos historiales médicos y publicarlos en línea para su consulta pública, el profesional sanitario sufrirá pérdidas debido a este ataque de divulgación de datos.
- Alteración: Considere la gravedad de la situación si el atacante logra modificar el historial médico del paciente. Este ataque de alteración podría resultar en la administración de un tratamiento incorrecto y, en consecuencia, podría poner en peligro la vida.
- Destrucción/Denegación: Consideremos el caso de un centro médico que ha perdido por completo el papel. Si un atacante logra inhabilitar los sistemas de bases de datos, el centro no podrá funcionar correctamente. Podrían volver al papel temporalmente; sin embargo, los historiales clínicos de los pacientes no estarían disponibles. Este ataque de denegación paralizaría todo el centro.
La protección contra la divulgación, alteración y destrucción/denegación es fundamental. Esta protección equivale a trabajar para mantener la confidencialidad, la integridad y la disponibilidad.
Proteger la confidencialidad y la integridad al extremo puede restringir la disponibilidad, y aumentarla al extremo puede resultar en su pérdida. La correcta implementación de los principios de seguridad requiere un equilibrio entre estos tres factores.
Responda las siguientes preguntas
El atacante logró acceder a los registros de los clientes y los publicó en línea. ¿En qué consiste este ataque?
Disclosure
Un grupo de atacantes logró localizar tanto el sistema de alimentación principal como el de respaldo y desconectarlos. Como resultado, toda la red quedó inoperativa. ¿En qué consiste este ataque?
Destruction/Denial
Conceptos fundamentales de los modelos de seguridad
Hemos aprendido que la tríada de seguridad está representada por Confidencialidad, Integridad y Disponibilidad ( CIA ). Cabe preguntarse: ¿cómo podemos crear un sistema que garantice una o más funciones de seguridad? La respuesta estaría en el uso de modelos de seguridad. En esta tarea, presentaremos tres modelos de seguridad fundamentales:
- Modelo Bell-LaPadula
- El modelo de integridad de Biba
- El modelo Clark-Wilson
Modelo Bell-LaPadula
El modelo Bell-LaPadula busca lograr la confidencialidad especificando tres reglas:
- Propiedad de seguridad simple : Esta propiedad, conocida como «no lectura», indica que un sujeto con un nivel de seguridad inferior no puede leer un objeto con un nivel de seguridad superior. Esta regla impide el acceso a información confidencial por encima del nivel autorizado.
- Propiedad de seguridad de estrella : Esta propiedad, conocida como «sin escritura», establece que un sujeto con un nivel de seguridad más alto no puede escribir en un objeto con un nivel de seguridad más bajo. Esta regla impide la divulgación de información confidencial a un sujeto con un nivel de seguridad más bajo.
- Propiedad de seguridad discrecional : Esta propiedad utiliza una matriz de acceso para permitir operaciones de lectura y escritura. En la tabla a continuación se muestra un ejemplo de matriz de acceso, que se utiliza junto con las dos primeras propiedades.
| Temas | Objeto A | Objeto B |
| Tema 1 | Escribir | Sin acceso |
| Tema 2 | Leer/Escribir | Leer |
Las dos primeras propiedades se pueden resumir como «escribir, leer». Puede compartir información confidencial con personas con mayor autorización de seguridad (escribir) y recibir información confidencial de personas con menor autorización de seguridad (leer).
El modelo Bell-LaPadula presenta ciertas limitaciones. Por ejemplo, no fue diseñado para gestionar el intercambio de archivos.
Modelo Biba
El modelo Biba pretende lograr la integridad especificando dos reglas principales:
- Propiedad de integridad simple : esta propiedad se conoce como “sin lectura descendente”; un sujeto de mayor integridad no debe leer desde un objeto de menor integridad.
- Propiedad de integridad de estrella : esta propiedad se conoce como “sin escritura”; un sujeto de menor integridad no debe escribir en un objeto de mayor integridad.
Estas dos propiedades se pueden resumir como «leer, anotar». Esta regla contrasta con el modelo de Bell-LaPadula, lo cual no debería sorprender, ya que uno se centra en la confidencialidad, mientras que el otro en la integridad.
El Modelo Biba presenta diversas limitaciones. Por ejemplo, no gestiona las amenazas internas (amenazas internas).
Modelo de Clark-Wilson
El modelo Clark-Wilson también pretende lograr la integridad mediante el uso de los siguientes conceptos:
- Elemento de datos restringido (CDI) : se refiere al tipo de datos cuya integridad queremos preservar.
- Elemento de datos sin restricciones (UDI) : esto se refiere a todos los tipos de datos más allá de CDI, como la entrada del usuario y del sistema.
- Procedimientos de transformación (TP) : estos procedimientos son operaciones programadas, como lectura y escritura, y deben mantener la integridad de los CDI.
- Procedimientos de verificación de integridad (IVP) : estos procedimientos verifican y garantizan la validez de los CDI.
Solo cubrimos tres modelos de seguridad. El lector puede explorar muchos otros modelos de seguridad. Algunos ejemplos incluyen:
- Modelo de Brewer y Nash
- Modelo de Goguen-Meseguer
- Modelo Sutherland
- Modelo de Graham-Denning
- Modelo de Harrison-Ruzzo-Ullman
Responda las siguientes preguntas
Haz clic en «Ver sitio» y responde las cuatro preguntas. ¿Cuál es la bandera que obtuviste al final?
THM{SECURITY_MODELS}
Defensa en profundidad

La defensa en profundidad se refiere a la creación de un sistema de seguridad de múltiples niveles; por lo tanto, también se llama seguridad multinivel.
Considere la siguiente analogía: tiene un cajón cerrado con llave donde guarda sus documentos importantes y objetos de valor. El cajón está cerrado con llave; sin embargo, ¿quiere que esta cerradura sea lo único que se interponga entre un ladrón y sus objetos de valor? Si pensamos en la seguridad multinivel, preferiríamos que el cajón estuviera cerrado con llave, la habitación correspondiente, la puerta principal del apartamento, la verja del edificio, e incluso podría incluir algunas cámaras de seguridad. Aunque estos múltiples niveles de seguridad no pueden detener a todos los ladrones, bloquearían a la mayoría y ralentizarían a los demás.
ISO/IEC 19249
La Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC) crearon la norma ISO/IEC 19249. En esta tarea, repasaremos brevemente la norma ISO/IEC 19249:2017 Tecnologías de la información – Técnicas de seguridad – Catálogo de principios de arquitectura y diseño para productos, sistemas y aplicaciones seguros . El objetivo es comprender mejor lo que las organizaciones internacionales enseñarían sobre los principios de seguridad.
La norma ISO/IEC 19249 enumera cinco principios arquitectónicos :
- Separación de Dominios : Cada conjunto de componentes relacionados se agrupa como una sola entidad; los componentes pueden ser aplicaciones, datos u otros recursos. Cada entidad tendrá su propio dominio y se le asignará un conjunto común de atributos de seguridad. Por ejemplo, considere los niveles de privilegio del procesador x86: el núcleo del sistema operativo puede ejecutarse en el anillo 0 (el nivel más privilegiado). En cambio, las aplicaciones en modo usuario pueden ejecutarse en el anillo 3 (el nivel menos privilegiado). La separación de dominios está incluida en el Modelo de Goguen-Meseguer.
- Capas : Cuando un sistema se estructura en muchos niveles abstractos, es posible imponer políticas de seguridad a diferentes niveles; además, sería factible validar el funcionamiento. Consideremos el modelo OSI (Interconexión de Sistemas Abiertos) con sus siete capas en redes. Cada capa del modelo OSI proporciona servicios específicos a la capa superior. Esta estratificación permite imponer políticas de seguridad y validar fácilmente que el sistema funciona según lo previsto. Otro ejemplo en el mundo de la programación son las operaciones de disco; un programador suele utilizar las funciones de lectura y escritura de disco proporcionadas por el lenguaje de programación de alto nivel elegido. El lenguaje de programación oculta las llamadas al sistema de bajo nivel y las presenta como métodos más intuitivos. La estratificación se relaciona con la defensa en profundidad.
- Encapsulación : En la programación orientada a objetos (POO), ocultamos las implementaciones de bajo nivel y evitamos la manipulación directa de los datos de un objeto proporcionando métodos específicos para tal fin. Por ejemplo, si se tiene un objeto de reloj, se proporcionaría un método increment()en lugar de dar al usuario acceso directo a la secondsvariable. El objetivo es evitar valores inválidos en las variables. De igual forma, en sistemas más grandes, se usaría (o incluso se diseñaría) una interfaz de programación de aplicaciones ( API ) adecuada que la aplicación utilizaría para acceder a la base de datos.
- Redundancia : Este principio garantiza la disponibilidad y la integridad. Existen numerosos ejemplos relacionados con la redundancia. Consideremos el caso de un servidor de hardware con dos fuentes de alimentación integradas: si una falla, el sistema continúa funcionando. Consideremos una configuración RAID 5 con tres unidades: si una falla, los datos permanecen disponibles en las dos unidades restantes. Además, si se modifican incorrectamente los datos en uno de los discos, se detectará mediante la paridad, lo que garantiza su integridad.
- Virtualización : Con la llegada de los servicios en la nube, la virtualización se ha vuelto más común y popular. El concepto de virtualización consiste en compartir un único conjunto de hardware entre múltiples sistemas operativos. La virtualización proporciona capacidades de sandboxing que mejoran los límites de seguridad, la detonación segura y la vigilancia de programas maliciosos.
La norma ISO/IEC 19249 enseña cinco principios de diseño :
- Privilegio mínimo : También se puede expresar informalmente como «según la necesidad» o «según la necesidad de saber» al responder a la pregunta «¿quién puede acceder a qué?». El principio del privilegio mínimo enseña que se debe otorgar la menor cantidad de permisos posible a cada usuario para realizar su tarea, y nada más. Por ejemplo, si un usuario necesita ver un documento, se le deben otorgar permisos de lectura sin permisos de escritura.
- Minimización de la superficie de ataque : Todo sistema tiene vulnerabilidades que un atacante podría aprovechar para comprometerlo. Algunas vulnerabilidades son conocidas, mientras que otras aún no se han descubierto. Estas vulnerabilidades representan riesgos que debemos intentar minimizar. Por ejemplo, en uno de los pasos para reforzar un sistema Linux , deshabilitaríamos cualquier servicio innecesario.
- Validación centralizada de parámetros : Muchas amenazas se deben a que el sistema recibe información, especialmente de los usuarios. Las entradas no válidas pueden utilizarse para explotar vulnerabilidades del sistema, como la denegación de servicio y la ejecución remota de código. Por lo tanto, la validación de parámetros es un paso necesario para garantizar el correcto estado del sistema. Considerando la cantidad de parámetros que maneja un sistema, la validación de parámetros debe centralizarse en una biblioteca o sistema.
- Servicios de Seguridad General Centralizados : Como principio de seguridad, debemos aspirar a centralizar todos los servicios de seguridad. Por ejemplo, crearíamos un servidor centralizado para la autenticación. Por supuesto, se podrían tomar las medidas necesarias para garantizar la disponibilidad y evitar la creación de un punto único de fallo.
- Preparación para la gestión de errores y excepciones : Al crear un sistema, debemos tener en cuenta que los errores y las excepciones ocurren y ocurrirán. Por ejemplo, en una aplicación de compras, un cliente podría intentar realizar un pedido de un artículo agotado. Una base de datos podría sobrecargarse y dejar de responder a una aplicación web. Este principio enseña que los sistemas deben diseñarse a prueba de fallos; por ejemplo, si un firewall falla, debería bloquear todo el tráfico en lugar de permitirlo. Además, debemos tener cuidado de que los mensajes de error no filtren información que consideramos confidencial, como volcar contenido de memoria con información relacionada con otros clientes.
Responda las siguientes preguntas
¿Qué principio aplicas al apagar un servidor inseguro que no es crítico para el negocio?
2
Su empresa ha contratado a un nuevo representante de ventas. ¿Qué principio está aplicando cuando le pide que le dé acceso únicamente a los productos y precios de la empresa?
1
Al leer el código de un cajero automático, notaste una gran cantidad de código para manejar situaciones inesperadas como la desconexión de la red y los cortes de energía. ¿Qué principio están aplicando?
5
Confianza cero versus confianza pero verificación
La confianza es un tema muy complejo; en realidad, no podemos funcionar sin ella. Si uno pensara que el fabricante de la computadora portátil ha instalado software espía en ella, lo más probable es que terminara reconstruyendo el sistema. Si desconfiara del fabricante del hardware, dejaría de usarlo por completo. Si consideramos la confianza a nivel empresarial, la situación se vuelve aún más sofisticada; sin embargo, necesitamos algunos principios rectores de seguridad. Dos principios de seguridad que nos interesan en relación con la confianza:
- Confía pero verifica
- Confianza cero
Confiar pero verificar : Este principio enseña que siempre debemos verificar, incluso cuando confiamos en una entidad y su comportamiento. Una entidad puede ser un usuario o un sistema. Verificar suele requerir la configuración de mecanismos de registro adecuados; verificar implica revisar los registros para garantizar que todo funcione correctamente. En realidad, no es posible verificarlo todo; basta con pensar en el trabajo que supone revisar todas las acciones realizadas por una sola entidad, como las páginas de internet visitadas por un solo usuario. Esto requiere mecanismos de seguridad automatizados, como proxy , detección de intrusiones y sistemas de prevención de intrusiones.
Confianza Cero : Este principio considera la confianza como una vulnerabilidad y, en consecuencia, atiende las amenazas internas. Tras considerar la confianza como una vulnerabilidad, la confianza cero intenta eliminarla. Implica indirectamente la enseñanza de «nunca confíes, verifica siempre». En otras palabras, toda entidad se considera adversaria hasta que se demuestre lo contrario. La confianza cero no otorga confianza a un dispositivo en función de su ubicación o propiedad. Este enfoque contrasta con los modelos anteriores que confiaban en redes internas o dispositivos empresariales. Se requiere autenticación y autorización antes de acceder a cualquier recurso. Por lo tanto, si se produce una brecha de seguridad, el daño estaría más contenido si se hubiera implementado una arquitectura de confianza cero .
La microsegmentación es una de las implementaciones utilizadas para la Confianza Cero. Se refiere al diseño donde un segmento de red puede ser tan pequeño como un solo host. Además, la comunicación entre segmentos requiere autenticación, verificación de listas de control de acceso y otros requisitos de seguridad.
Existe un límite en cuanto a cuánto podemos aplicar la confianza cero sin afectar negativamente a un negocio; sin embargo, esto no significa que no debamos aplicarla siempre que sea posible.
Amenaza versus Riesgo
Hay tres términos que debemos tener en cuenta para evitar cualquier confusión.
- Vulnerabilidad : Vulnerable significa susceptible a ataques o daños. En seguridad de la información, una vulnerabilidad es una debilidad.
- Amenaza : Una amenaza es un peligro potencial asociado a esta debilidad o vulnerabilidad.
- Riesgo : El riesgo se relaciona con la probabilidad de que un actor de amenazas explote una vulnerabilidad y el consiguiente impacto en el negocio.
Sin acceso a los sistemas de información, una sala de exposición con puertas y ventanas de vidrio estándar presenta una vulnerabilidad debido a la naturaleza del vidrio. Por consiguiente, existe el riesgo de que las puertas y ventanas de vidrio se rompan. Los propietarios de la sala de exposición deben considerar este riesgo , es decir, la probabilidad de que una puerta o ventana de vidrio se rompa y el consiguiente impacto en el negocio.
Considere otro ejemplo directamente relacionado con los sistemas de información. Trabaja en un hospital que utiliza un sistema de base de datos específico para almacenar todos los historiales médicos. Un día, al estar al tanto de las últimas noticias de seguridad, descubre que el sistema de base de datos utilizado no solo es vulnerable, sino que también se ha publicado un código de explotación de prueba de concepto; este código indica que la amenaza es real. Con esta información, debe considerar el riesgo resultante y decidir los siguientes pasos.
Cubriremos las amenazas y los riesgos en detalle en una sala separada.
Conclusión
En esta sala se abordaron diversos principios y conceptos relacionados con la seguridad. A estas alturas, ya debería estar familiarizado con la CIA y la DAD , así como con otros términos como autenticidad, repudio, vulnerabilidad, amenaza y riesgo. Visitamos tres modelos de seguridad y la norma ISO/IEC 19249. Abordamos diferentes principios de seguridad, como defensa en profundidad, confianza pero verificación y confianza cero.
Finalmente, cabe mencionar el Modelo de Responsabilidad Compartida, especialmente con la creciente dependencia de los servicios en la nube. Se requieren diversos aspectos para garantizar una seguridad adecuada, como el hardware, la infraestructura de red, los sistemas operativos, las aplicaciones, etc. Sin embargo, los clientes que utilizan servicios en la nube tienen diferentes niveles de acceso según el servicio que utilicen. Por ejemplo, un usuario de Infraestructura como Servicio (IaaS) tiene control (y responsabilidad) total sobre el sistema operativo.
Por otro lado, un usuario de Software como Servicio ( SaaS ) no tiene acceso directo al sistema operativo subyacente. Por lo tanto, lograr la seguridad en un entorno de nube requiere que tanto el proveedor de servicios en la nube como el usuario cumplan con su parte. El Modelo de Responsabilidad Compartida es un marco de seguridad en la nube que garantiza que cada parte sea consciente de su responsabilidad.
Una vez finalizada la sala de Principios de Seguridad, puedes pasar a la sala de Introducción a la Criptografía.
Sigan entrenando, Hacketones, Nos vemos en el próximo laboratorio!!!