Seguridade Activa e Lóxica: Diferenzas entre revisións

De Wiki do Ciclo ASIR do IES de Rodeira
Saltar á navegación Saltar á procura
 
(Non se amosan 20 revisións do historial feitas polo mesmo usuario.)
Liña 25: Liña 25:
Para dificultar o éxito deste tipo de ataques se debe aumentar a complexidade das password elexidas, facendo uso de símbolos especiais, letras e números. Os sistemas operativos teñen normalmente medios para forzar a usuario a elexir contrasinais dunha complexidade mínima mediante as políticas de contrasinais.
Para dificultar o éxito deste tipo de ataques se debe aumentar a complexidade das password elexidas, facendo uso de símbolos especiais, letras e números. Os sistemas operativos teñen normalmente medios para forzar a usuario a elexir contrasinais dunha complexidade mínima mediante as políticas de contrasinais.


PAM
==PAM==
A autenticación en Linux hoxe en día fai uso de módulos denominados PAM (Pluggable Authetication Module) que permiten configurar o sistema de autenticación a empregar polos distintos servicios e aplicacións do sistema, o que facilita a integración de diversos métodos como sistemas biométricos, smartcards, etc. Un exemplo é pam_cracklib, que permite forzar a complexidade das contrasinais utilizadas no sistema, ou pam_tally, que permite bloquear o acceso ao sistema cando se fallan varias veces na autenticación.
A autenticación en Linux hoxe en día fai uso de uns módulos denominados '''PAM (Pluggable Authetication Module)''' que permiten configurar o sistema de autenticación a empregar polos distintos servicios e aplicacións do sistema, o que facilita a integración de diversos métodos como sistemas biométricos, smartcards, etc.
''
Control de Acceso aos Datos
Exemplos son ''pam_cracklib'', que permite forzar a complexidade das contrasinais utilizadas no sistema ou ''pam_tally'', que permite bloquear o acceso ao sistema cando se fallan varias veces na autenticación.

==Control de Acceso aos Datos==
Ademáis de garantir que únicamente os usuarios autorizados teñan acceso ao sistema, é necesario tamén establecer unhas políticas de acceso aos datos e ás aplicacións, de xeito que os distintos usuarios do sistema únicamente podan acceder a información á que están autorizados nos xeitos indicados (lectura, escritura, execución...). Este tipo de control de acceso aos datos pode establecerse de varias maneiras:
Ademáis de garantir que únicamente os usuarios autorizados teñan acceso ao sistema, é necesario tamén establecer unhas políticas de acceso aos datos e ás aplicacións, de xeito que os distintos usuarios do sistema únicamente podan acceder a información á que están autorizados nos xeitos indicados (lectura, escritura, execución...). Este tipo de control de acceso aos datos pode establecerse de varias maneiras:

Permisos de acceso a arquivos e ACL.
===Permisos de acceso a arquivos e ACL.===
Os permisos de acceso son o medio máis simple para controlar o acceso a datos e aplicacións. O sistema de arquivos FAT únicamente soporta atributos de arquivo, de xeito que un arquivo pode ser de so lectura, de lectura/escritura, oculto ou “non borrable”, estes atributos tamén están presentes nos sistemas UNIX mediante o comando chattr, e lsattr. Os sistemas de arquivos modernos, e os sistemas operativos modernos soportan un conxunto de permisos máis flexibles e complexos, vexamos os distintos modelos:
Os permisos de acceso son o medio máis simple para controlar o acceso a datos e aplicacións. O sistema de arquivos FAT únicamente soporta atributos de arquivo, de xeito que un arquivo pode ser de so lectura, de lectura/escritura, oculto ou “non borrable”, estes atributos tamén están presentes nos sistemas UNIX mediante os comandos '''chattr''', e '''lsattr'''. Os sistemas de arquivos e sistemas operativos modernos soportan un conxunto de permisos máis flexibles e complexos.
Permisos de acceso.

Os sistemas UNIX tradicionalmente manteñen un conxunto de permisos sobre cada arquivo do seguinte xeito:
Os sistemas UNIX tradicionalmente manteñen un conxunto de permisos sobre cada arquivo do seguinte xeito:

a) Cada arquivo pertence a un usuario e a un grupo
a) Cada arquivo pertence a un usuario e a un grupo
b) É posible habilitar/deshabilitar os permisos de lectura, escritura e execución ao usuario propietario do arquivo, ao grupo propietario do arquivo e ao resto do mundo.
b) É posible habilitar/deshabilitar os permisos de lectura, escritura e execución ao usuario propietario do arquivo, ao grupo propietario do arquivo e ao resto do mundo.
c) Estos permisos otórganse en formato Octal, cos tres primeiros bits representando os permisos otorgados ao usuario, os seguintes tres os permisos para os usuarios perntencente ao grupo e os últimos os permisos para o resto de usuarios (rwxrwxrwx)
c) Estos permisos otórganse en formato Octal, cos tres primeiros bits representando os permisos otorgados ao usuario, os seguintes tres os permisos para os usuarios perntencente ao grupo e os últimos os permisos para o resto de usuarios (rwxrwxrwx)
d) O comando para otorgar permisos é chmod, e para cambiar propietarios e grupos chown e chgrp.
d) O comando para otorgar permisos é '''chmod''', e para cambiar propietarios e grupos '''chown''' e '''chgrp'''.

Este tipo de permisos proporcionan un control simple, que é suficiente na maioría dos casos, en situacións nas que é necesario un control máis axustado dos permisos de acceso a datos e aplicacións é necesario recurrir ás listas de control de acceso (ACL). Os sistemas Windows utilizan listas de control de acceso mediante o sistema de permisos de NTFS, e os sistemas UNIX empregan sistemas de control dependentes do sistema de arquivos empregado. O sistema de arquivos máis empregado en Linux, ext2/3/4 e capaz de empregar ACL que siguen o estándar POSIX mediante os comandos getfacl e setfacl.
Este tipo de permisos proporcionan un control simple, que é suficiente na maioría dos casos. En situacións nas que é necesario un control máis axustado dos permisos de acceso a datos e aplicacións é necesario recurrir ás ''listas de control de acceso (ACL)''.

Os sistemas Windows utilizan listas de control de acceso mediante o sistema de permisos de NTFS, e os sistemas UNIX empregan sistemas de control dependentes do sistema de arquivos empregado. O sistema de arquivos máis empregado en Linux, ext2/3/4 e capaz de empregar ACL que siguen o estándar POSIX mediante os comandos '''getfacl''' e '''setfacl'''.

Aínda que as posibilidades que brindan as ACL de NTFS dos sistemas Windows son maiores que as ofrecidas polas ACL POSIX, estas son suficientes para unha xestión efectiva dos permisos de acceso.
Aínda que as posibilidades que brindan as ACL de NTFS dos sistemas Windows son maiores que as ofrecidas polas ACL POSIX, estas son suficientes para unha xestión efectiva dos permisos de acceso.

Outra posibilidade de control sobre o acceso en UNIX a ofrecen as operacións de montaxe dos sistemas de arquivos, sendo posible montar un sistema sen posibilidade de facer modificacións e/ou executar aplicacións dende o mesmo.
Outra posibilidade de control sobre o acceso en UNIX a ofrecen as operacións de montaxe dos sistemas de arquivos, sendo posible montar un sistema sen posibilidade de facer modificacións e/ou executar aplicacións dende o mesmo.

Modelos de Control de Acceso.
===Modelos de Control de Acceso.===
Habitualmente os controis de acceso clasifícanse como discreccionais e non discreccionais. Os tres modelos máis utilizados son o Control de Acceso Discreccional ou DAC (Discrectional Access Control), o control de acceso obrigatorio ou MAC (Mandatory Access Control) e o control de acceso baseado en roles ou RBAC (Role Based Access Control). Tanto MAC como RBAC son non discreccionais.
Habitualmente os controis de acceso clasifícanse como <u>discreccionais</u> e <u>non discreccionais</u>. Os tres modelos máis utilizados son o ''Control de Acceso Discreccional ou DAC (Discrectional Access Control)''', o ''control de acceso obrigatorio ou MAC (Mandatory Access Control)'' e o ''control de acceso baseado en roles ou RBAC (Role Based Access Control)''. Tanto MAC como RBAC son non discreccionais.

Os sistemas operativos poden implementar un único modelo de control de acceso, ou varios ao mesmo tempo.
Os sistemas operativos poden implementar un único modelo de control de acceso, ou varios ao mesmo tempo.

DAC (Discrectional Access Control).
====DAC (Discrectional Access Control).====
Se trata de restrinxir o acceso aos obxectos protexidos (como datos e aplicacións) basandose na identidade do usuario e dos grupos aos que pertence. Este tipo de control é discreccional no senso que é posible cambiar a propiedade/grupo dun obxecto a calqueira outro usuario.
Se trata de restrinxir o acceso aos obxectos protexidos (como datos e aplicacións) basandose na identidade do usuario e dos grupos aos que pertence. Este tipo de control é discreccional no senso que é posible cambiar a propiedade/grupo dun obxecto a calqueira outro usuario.

MAC (Mandatory Access Control)
====MAC (Mandatory Access Control)====
Mediante este tipo de control de acceso, o sistema operativo limita o acceso sobre os distintos obxectos (ficheiros, carpetas, sockets, memoria compartida... etc) por parte dos actores (normalmente procesos ou fíos). Os actores e os obxectos teñen un conxunto de atributos de seguridade que son examinados polo sistema para permitir ou denegar o acceso utilizando un conxunto de regras de autorización (chamadas políticas).
Mediante este tipo de control de acceso, o sistema operativo limita o acceso sobre os distintos obxectos (ficheiros, carpetas, sockets, memoria compartida... etc) por parte dos actores (normalmente procesos ou fíos). Os actores e os obxectos teñen un conxunto de atributos de seguridade que son examinados polo sistema para permitir ou denegar o acceso utilizando un conxunto de regras de autorización (chamadas políticas).

As políticas de seguridade están centralizadas e controladas por un administrador de políticas, os usuarios non teñen a posibilidade de ignorar esas políticas (a diferencia do DAC na que un usuario pode alterar os permisos de acceso e incluso o propietario dun obxecto). Os sistemas que dispoñen de sistemas MAC dan aos administradores das políticas de sistema a posibilidade de implementar políticas de seguridade a nivel de organización de maneira que os usuarios non poderán modificar os permisos nin intencionada nin accidentalmente.
As políticas de seguridade están centralizadas e controladas por un administrador de políticas e os usuarios non teñen a posibilidade de ignorar esas políticas (a diferencia do DAC, na que un usuario pode alterar os permisos de acceso e incluso o propietario dun obxecto). Os sistemas que dispoñen de sistemas MAC dan aos administradores das políticas de sistema a posibilidade de implementar políticas de seguridade a nivel de organización de maneira que os usuarios non poderán modificar os permisos nin intencionada nin accidentalmente.
Actualmente, os sistemas Linux implementan MAC mediante varios sistemas sendo os máis coñecidos SELinux, AppArmor ou GrSecurity, sendo quizáis a máis empregada SELinux por formar parte do kernel dende a versión 2.6. Os sistemas Windows incorporan Mandatory Integrity Control dende Windows Vista.

SELinux (Security Enhanced Linux)
Actualmente, en Linux existen varias implementacións de MAC sendo as máis coñecidas ''SELinux'', ''AppArmor'' ou ''GrSecurity'', sendo quizáis a máis empregada SELinux por formar parte do kernel dende a versión 2.6.

Os sistemas Windows incorporan ''Mandatory Integrity Control'' dende Windows Vista.

=====SELinux (Security Enhanced Linux)=====
A súa orixe é a NSA (United States National Security Agency) e forma parte do kernel Linux dende a versión 2.6.0 (ano 2003).
A súa orixe é a NSA (United States National Security Agency) e forma parte do kernel Linux dende a versión 2.6.0 (ano 2003).

Un sistema Linux utilizando SELinux, forza políticas de control de acceso obrigatorias (MAC) que fan que os programas de usuario e servidores do sistema dispoñan dos mínimos privilexios necesarios para realizar o seu traballo. Esto reduce ou elimina a posibilidade de que estes programas e demonios causen perxuicios ao resto do sistema si a súa seguridade se ve comprometida. Este mecanismo de aillamento traballa de xeito independente dos mecanismos de control de acceso tradicionais, non existe o concepto de super-usuario “root” nin sigue os mecanismos DAC comúns nos sistemas UNIX como podan ser os arquivos SUID e GID.
Un sistema Linux utilizando SELinux, forza políticas de control de acceso obrigatorias (MAC) que fan que os programas de usuario e servidores do sistema dispoñan dos mínimos privilexios necesarios para realizar o seu traballo. Esto reduce ou elimina a posibilidade de que estes programas e demonios causen perxuicios ao resto do sistema si a súa seguridade se ve comprometida.

Este mecanismo de aillamento traballa de xeito independente dos mecanismos de control de acceso tradicionais, non existe o concepto de super-usuario “root” nin sigue os mecanismos DAC comúns nos sistemas UNIX como podan ser os arquivos SUID e GID.

O sistema SELinux utiliza políticas de seguridade. Cando se realiza unha acción que implica a necesidade de algún nivel de seguridade, como abrir un ficheiro, a chamada é interceptada polo driver SELinux no Kernel. Si existe unha política SELinux que permite a operación, ésta continúa, sendo bloqueada noutro caso.
O sistema SELinux utiliza políticas de seguridade. Cando se realiza unha acción que implica a necesidade de algún nivel de seguridade, como abrir un ficheiro, a chamada é interceptada polo driver SELinux no Kernel. Si existe unha política SELinux que permite a operación, ésta continúa, sendo bloqueada noutro caso.

Normalmente nas distribucións Linux se suministran tres tipos de políticas de seguridade: Strict, Targeted e MLS (Multi Level Security). Tanto as políticas Strict como MLS proporcionan seguridade baseada en roles (RBAC).
Normalmente nas distribucións Linux se suministran tres tipos de políticas de seguridade: ''Strict'', ''Targeted'' e ''MLS (Multi Level Security)''. Tanto as políticas ''Strict'' como ''MLS'' proporcionan seguridade baseada en roles (RBAC).
Comandos para manexar SELinux son chcon, setfiles, restorecon, load_policy, check_policy, check_module, semodule, semanage, setenforce, getenforce, setsebool, getsebool..

MIC (Mandatory Integrity Control)
Comandos para manexar SELinux son '''chcon''', '''setfiles''', '''restorecon''', '''load_policy''', '''check_policy''', '''check_module''', '''semodule''', '''semanage''', '''setenforce''', '''getenforce''', '''setsebool''', '''getsebool'''.
O propósito do MIC é protexer os obxectos do sistema (ficheiros, dispositivos, aplicacións...) de ataques, malware ou incluso erros do usuario. A idea e establecer a priori unhas políticas de confianza sobre cada obxecto e controlar a interacción entre eles basándose no seu nivel de confianza ou integridade (IL).

=====MIC (Mandatory Integrity Control)=====
O propósito do MIC é protexer os obxectos do sistema (ficheiros, dispositivos, aplicacións...) de ataques, malware ou incluso erros do usuario.

A idea e establecer a priori unhas políticas de confianza sobre cada obxecto e controlar a interacción entre eles basándose no seu nivel de confianza ou integridade (IL).

Os niveis de integridade (ILs) son obrigatorias (MAC) e prevalecen sobre os controis discreccionais (DAC) como os permisos NTFS comúns. O principal obxectivo é asegurarse de que os obxectos con un nivel de integridade (ou de confianza) determiñado únicamente podan interactuar con obxectos con nivel igual ou inferior.
Os niveis de integridade (ILs) son obrigatorias (MAC) e prevalecen sobre os controis discreccionais (DAC) como os permisos NTFS comúns. O principal obxectivo é asegurarse de que os obxectos con un nivel de integridade (ou de confianza) determiñado únicamente podan interactuar con obxectos con nivel igual ou inferior.
Sobre cada obxecto se poden establecer os seguintes niveis IL: Untrusted, Low, Medium, High, System e Installer. Os usuarios anónimos e aplicacións lanzadas por estes reciven un IL de Untrusted, Low utilízase no acceso a Internet (Explorer, por exemplo), Medium é o nivel IL habitual, High corresponde ao administrador, mentras que System e para os procesos de sistema e Installer para as aplicacións con capacidade de instalar e desinstalar elementos no sistema.
Para xestionar os niveis IL, Windows dispón da utilidade ICACLS, por exemplo podemos escribir: icacls c:\windows\explorer.exe para ver o nivel MAC do internet explorer. Para poder cambiar o nivel de IL un usuario precisa ter o privilexio SeRelabelPrivilege, ademáis de dispoñer dos privilexios de cambio de permisos e de tomar a propiedade do obxecto. Un usuario nunca poderá elevar o privilexio dun obxecto por enriba do seu propio nivel. O comando para cambiar o IL é: icacls /setintegritylevel H|M|L.
Seguridade nos servicios de rede.
Fases dun ataque informático.
Un ataque informático consiste en aproveitar algunha debilidade ou falla (vulnerabilidade) no software, no hardware, e incluso, nas personas que forman parte dun ambiente informático; a fin de obter un beneficio, por lo xeral de índole económico, causando un efecto negativo na seguridade do sistema. Os ataques informáticos normalmente pasan por cinco fases:
Recoñecemento do Sistema
O atacante recopila toda a información que pode sobre o sistema obxectivo, normalmente recurrindo a diversas fontes, como Google, a Enxeñería Social ou a busca nas papeleiras (Dumpster diving).
Exploración do Sistema (Busca de vulnerabilidades)
Utilizando a información obtida no paso anterior, se procura obter máis información do sistema obxectivo, como IP e estructura da rede, nomes de hosts, usuarios e sistemas de autenticación, servicios activos, versións de aplicacións e sistemas, etc.
Esta fase normalmente se leva a cabo mediante diversas ferramentas como os sniffers, escáneres de portos e redes (nmap,netdiscover), mapeadores de redes (netcrunch) e escáneres de vulnerabilidades (openvas), ou recurrindo a enxeñería social.
A enxeñería social consiste en persuadir a os usuarios coas credenciais axeitadas que tome decisións que permitan romper a seguiridade do sitio atacado de xeito inconsciente. Por exemplo facéndose pasar por outras persoas para obter información confidencial (persoal da empresa de telecomunicacións, policía...), ata ofrecer algo desexado polo usuario (premios, recompensas económicas).
Explotación das Vulnerabilidades
Nesta fase, o atacante intenta gañar acceso explotando as vulnerabilidades detectadas na fase anterior. Algunhas das vulnerabilidades típicas son o buffer overflow, DoS, DDos, roubo de sesións (session hijacking) ou de filtrado de contrasinal. Moitas veces é posible que o atacante aproveite exploits dispoñibles xa sexa na rede ou incluso comercialmente (mercado negro). A enxeñería social, ademáis de servir para a busca de vulnerabilidades no sistema tamén é unha forma de explotar as debilidades dos usuarios do mesmo, por exemplo, o gusano ILoveYou.
Compromiso do Sistema
En esta fase, unha vez obtido o acceso mediante a explotación dunha vulnerabilidade o atacante procede a realizar o seu cometido, como o roubo de información. Habitualmente o atacante instala software que lle permite o acceso posterior ao sistema e/ou facer que forme parte dunha botnet para a realización de novos ataques (como DDOS). As ferramentas típicas nesta fase son os rootkits, backdoors e troianos.
Eliminación de probas
Por último o atacante procederá a eliminar os posibles rastros da intrusión eliminando as entradas correspondentes dos logs do sistema e as alarmas dos sistemas IDS instalados.
Tipos de Ataques
Os tipos de ataque son moi variados e persiguen obxectivos diversos, algúns dos máis comúns son os seguintes:
Actividades de recoñecemento e detección de vulnerabilidades.
Aínda que un análise de detección de vulnerabilidades non constitúe un ataque en sí mismo, si que pode causar problemas momentáneos de conectividade nun sitio, ademáis de outros problemas non desexados. Ademáis a detección de vulnerabilidades e recoñecemento de servicios en funcionamento dun sitio sen autorización dos responsables constitúe un acto hostil cando non ilegal.
A prevención típica deste ataque é a correcta implantación dun firewall.
Roubo de información mediante a intercepción de mensaxes (man in the middle).
Mediante ataque man-in-the-middle (MiM) o atacante pode adquirir a capacidade de ler, insertar e modificar á vontade as mensaxes entre dúas partes dunha comunicación sin que ningunha das partes se de conta.
Este ataque persigue normalmente interceptar as mensaxes de inicio de canal seguro entre as partes da comunicación co obxecto de facerse coas chaves de cifrado durante o seu intercambio inicial. A solución consiste en realizar este intercambio de chaves dun xeito seguro recurrindo a sistemas biométricos ou a autoridades de certificación.
Entre as ferramentas para realizar este tipo de ataques están os sniffers de tráfico, ou os ataques de suplantación de identidade.
Ferramentas que axudan a impedir este tipo de ataques son os sistemas de detección de intrusións (IDS) e os firewalls.
Suplantación de identidade (spoofing)
Os ataques de suplantación de identidade buscan a recepción de mensaxes dirixidos a outro destiño. Buscan a obtención de información para a realización posterior de outros ataques ou a captura de datos sensibles, aínda que tamén se empregan para ataques de denegación de servizo distribuido (DDoS). Algúns tipos son:
IP Spoofing: Suplantación de IP. Consiste básicamente na sustitución da dirección IP orixe dun paquete TCP/IP por unha dirección IP distinta. Esto se consigue xeralmente gracias a programas específicos e funciona con todos os protocolos TCP/IP (ICMP,UDP,TCP). As respostas do host destiño irán dirixidas a IP sustituída. Un tipo de ataque que emprega esta técnica é o Smurf, que consiste en enviar pings á dirección broadcast da rede cunha IP fonte falsa.
Envenenamento ARP (ARP Spooffing): Esta técnica se pode utilizarse para infiltrarse nunha rede Ethernet conmutada (baseada en switch), que pode permitirlle ao atacante acceder a paquetes de datos da LAN, modifica-lo tráfico, ou incluso detelo, provocando un DoS. Consiste no envío de mensaxes ARP falsos a rede coa finalidade de asociar a MAC do atacante coa dirección IP que se quere suplantar (como pode ser o gateway) co obxecto de espiar o tráfico (sniffing). Tamén é posible provocar un DoS asociando a porta de enlace cunha dirección MAC inexistente. Unha posible defensa contra este ataque é o uso de táboas ARP estáticas, o rexistro das direccións asignadas por DHCP (DCHP snooping) ou a detección mediante ferramentas como arpwatch ou o uso periódico de rarp.
Envenenamento DNS (DNS Spoofing ou Pharming): Consiste en sustituir a fonte DNS autorizada dun dominio. Deste xeito o atacante pode suministrar as súas propias IP como correspondentes aos hosts do domini, suplantando así a súa identidade. Unha vez que un DNS recibe os datos falsos, os propagará hacia todos os seus clientes. Esta situación normalmente está provocada por malas configuracións nos servidores DNS ou por erros no propio software. A solución pasa polo uso de servidores DNS seguros, por exemplo, mediante o uso de firmas criptográficas.
E-mail Spoofing: É utilizado habitualmente como xeito de forzar aos servidores de correo a aceptar mensaxes normalmente de spam, e realízanse falsificando as cabeceiras do protocolo SMTP e falseando os datos da dirección de envío. Son moi sinxelos de realizar xa que o protocolo emprega cabeceiras sen codificar, e complexos de evitar. Este xeito é empregado para sortear as medidas de seguridade dos filtros de correo mediante blacklists (listas de direccións orixe de spam ás que se lles nega a recepción do seu correo). Unha medida paliativa é a configuración no servidor de correo de filtros que verifiquen de varios xeitos a dirección de orixe do correo (cotexando que a IP de orixe coincida co dominio de orixe, verificando a existencia do dominio de orixe.....). En canto ao receptor do correo, pode verificar a autenticidade da mensaxe recurrindo á firma dixital.
Web Spoofing e Phising: Consiste na sustitución dunha páxina web por unha falsa, co obxecto de obter ou manipular información. A continuación a víctima é redirixida ao sitio orixinal de xeito que a intrusión pase desapercibida. As técnicas para conseguir esto son múltiples, dende a enxeñería social mediante correos electrónicos ata o arp spoofing. O phising e máis xeral que o web spoofing, e consiste na suplantación dunha persoa o empresa co obxecto de obter información (como números de conta e chaves bancarias) , xa sexa por medio de enxeñería social (chamadas de teléfono, correos electrónicos, mensaxería instantánea...) ou o disfraz de direccións web mediante javascript. A solución pasa por utilizar páxinas cifradas con certificados de confianza, pola verificación da IP real da páxina visitada e o uso de correo cifrado, e sobre todo, moito sentido común.
En resumo, para evitar este tipo de ataques é imprescindible un firewall configurado de xeito que verifique a procedencia correcta dos paquetes de datos, programas de filtraxe de correo e un sistema de autenticación ben configurado (TLS, SSL...).
Denegacións de Servizo (DoS) e Denegación de Servizo Distribuído (DDoS).
Os ataques de denegación de servicio consisten provocar a caida temporal dun sistema mediante diversos mecanismos. Un dos máis comúns e aproveitarse de vulnerabilidades de deseño para provocar caídas (por exemplo no sistema TC/IP, o envío de paquetes mal formados). En ocasións se recurre a un conxunto de ordenadores comprometidos (botnet) para provocar un ataque masivo (flood) que provoca o DoS por simple saturación de tráfico (DDos).
Para provocar estos ataques de flood tamén é posible recurrir a ataques previos de suplantación de identidade como o envenenamento ARP ou IP.
Ataques deste tipo son Ping of Death(), Teardrop (), SynFlood (), Smurf (), UdpFlood() ou LandAttack().
Para evitar este tipo de ataques é imprescindible a instalación de un sistema especialmente configurado (Host Bastión) cun firewall e software de xestión da rede que limite o ritmo das conexións.
Introducción de Malware no sistema.
O malware normalmente ten obxectivos como a obtención de información, xeración de beneficios económicos (dialers, envío de spam...) ou a simple denegación de servicio. Os ataques que permiten a súa penetración no sistema son sobre todo a enxeñería social, e as aplicacións troianizadas.
A prevención deste tipo de ataques pasa por unha resposta xuiciosa ás distintas situacións e a instalación únicamente de software provinte de fontes fiables, preferiblemente firmado.
Ataques aos contrasinais.
A obtención dun usuario e contrasinal dun sistema permite ao atacante o acceso a un sistema e, polo tanto, a realización de outros tipos de ataques como a escalada de privilexios (obter credenciais de un usuario con máis posibildades de acción nun sistema, normalmente aproveitando erros no sistema ou nas aplicacións mediante un exploit.). Os contrasinais son obtidos normalmente a través de ataques de forza Bruta (Brute Force), que consisten na realización de múltiples intentos de acceso probando con combinacións de usuario/contrasinal plausibles, normalmente facendo uso dun diccionario. A exeñería social e un recurso habitual para a elaboración destes diccionarios. Existen estudos que afirman que existen un conxunto de usuarios/contrasinais ampliamente utilizados en determiñados ámbitos ou países.
Si por algún tipo de ataque se logra o acceso ao ficheiro que almacena as contrasinais é posible atacalo mediante software de rotura de cifrado ou de forza bruta (john the ripper, ophrack, fcrackzip...).
Para evitar este tipo de ataque, a mellor solución é o uso de contrasinais fortes e a instalación de software que limite o número de intentos de acceso nun espazo de tempo, ademáis da correcta protección dos ficheiros sensibles, recurrindo ao cifrado dos datos do disco.
Ferramentas Utilizadas.
As ferramentas utilizadas para a realización deste tipo de ataques son variadas e fácilmente accesibles en internet. Moitas delas son utilidades de xestión e diagnóstico de rede ampliamente utilizadas (nmap, tcpdump, ettercap, arp), keyloggers, password-crackers (john the ripper, ophrack, fcrackzip), xeradores de paquetes IP (scapy), sniffers e arp-poisoners (dsniff, arpspoof, arpoison, cain&abel,...), etc.
Por outra banda as utilidades máis comúns para prever este tipo de ataques son os firewalls (iptables), antivirus e anti-spyware, o cifrado, os detectores de rootkits e sniffers (tripwire), os detectores de cambio na taboa arp (arpwatch)


Sobre cada obxecto se poden establecer os seguintes niveis IL: ''Untrusted'', ''Low'', ''Medium'', ''High'', ''System'' e ''Installer''. Os usuarios anónimos e aplicacións lanzadas por estes reciven un IL de ''Untrusted'', ''Low'' utilízase no acceso a Internet (Explorer, por exemplo), ''Medium'' é o nivel IL habitual, ''High'' corresponde ao administrador, mentras que ''System'' é para os procesos de sistema e ''Installer'' para as aplicacións con capacidade de instalar e desinstalar elementos no sistema.


Para xestionar os niveis IL, Windows dispón da utilidade ''ICACLS'', por exemplo podemos escribir:
Kerberos
<source lang='text'>
Kerberos é un protocolo de autenticación que permite a dous ordenadores nunha rede insegura demostrar a súa identidade mutuamente nunha rede segura. Tanto o cliente como o servidor verifican a identidade do opoñente.
icacls c:\windows\explorer.exe
O funcionamento do protocolo é o seguinte:
</source>
Se dispon dun Servidor de Autenticación Kerberos (AS), e de un Servidor de Tickets Kerberos (TGS), que habitualmente residen no mesmo ordenador.
para ver o nivel MAC do internet explorer.
O cliente que desexa acceder a un servicio que fai uso de kerberos, necesita autenticarse contra o servidor de autenticación (AS). Para facer esto, envía unha solicitude de servicio ao AS.

O AS dispon dunha base de datos coas credenciais dos sistemas que precisan do uso de Kerberos, como poden ser o cliente, o TGS ou o servidor ao que se quere acceder (SS). Cando recibe a solicitude de servicio, xenera unha chave de servicio (TGS key), e un Ticket de Petición de Servicio (TGT) que contén a ID do cliente, a dirección de rede do cliente, o periodo de validez e o TGS key. Consulta na base de datos as credenciais do cliente e do TGT. A TGS key a codifica coas credenciais do cliente, e o TGT coas credenciais do TGS, de xeito que únicamente éste poderá acceder á información. Estes dous tickets se envían como resposta ao cliente.
Para poder cambiar o nivel de IL un usuario precisa ter o privilexio ''SeRelabelPrivilege'', ademáis de dispoñer dos privilexios de cambio de permisos e de tomar a propiedade do obxecto. Un usuario nunca poderá elevar o privilexio dun obxecto por enriba do seu propio nivel. O comando para cambiar o IL é:
O Cliente, obten a TGS key decodificandoa coas súas credenciais, e envía ao TGS (Servidor de Tickets Kerberos) dúas mensaxes;
<source lang='text'>
A) TGT e o ID do servicio solicitado
icacls /setintegritylevel H|M|L.
B) ID do cliente e unha marca de tempo codificada usando o TGS key.
</source>
O TGS cando recibe as mensaxes, decodifica a mensaxe B para comprobar a identidade do cliente, e lle envía a súa vez outras dúas mensaxes:
== Seguridade nos Servicios de Rede ==
A) Client To Server Ticket (CTST) que inclúe a ID do cliente, a dirección de rede do cliente, o período de validez e una chave de acceso de Cliente/Servidor cifrado usando a chave secreta do servicio obtida da base de datos.
Ademáis da identificación e autorización, e necesario asegurarse de que a información non está accesible por outros métodos non previstos. Para conseguir esto e necesario securizar os distintos servizos que se ofrecen mediante o uso de devasas (''firewalls'') e de políticas de seguridade así como a actualización periódica das aplicacións para evitar vulnerabilidades.
B) A chave de acceso de Cliente/Servidor cifrada co TGS key

O Cliente obten a chave de acceso Cliente/Servidor, que poderá utilizar para acceder ao servicio, enviando:
Tamén é necesario a realización de auditorías de rede mediante escáneres de vulnerabilidades e o uso de sistemas de detección de intrusos (''IDS'') no equipamento crítico.
A) CTST

B) Unha marca de tempo e o ID de cliente cifrado coa chave de acceso de Cliente/Servidor
Cando se produce un intento de acceso non autorizado, normalmente o proceso sigue unha serie de fases:
O Servidor, parar indicarlle a súa identidade ao cliente, responderá coa marca de tempo recibida+1 cifrada coa chave de acceso Cliente/Servidor. O cliente comprobará a información e se procederá a acceder ao servicio.

CIFRADO DE DISCO
===Fases dun ataque informático.===
{{boxinfo|Un ataque informático consiste en aproveitar algunha debilidade ou falla (vulnerabilidade) no software, no hardware, e incluso, nas personas que forman parte dun ambiente informático; a fin de obter un beneficio, por lo xeral de índole económico, causando un efecto negativo na seguridade do sistema.}}

Os ataques informáticos normalmente pasan por cinco fases:

;Recoñecemento do Sistema: O atacante recopila toda a información que pode sobre o sistema obxectivo, normalmente recurrindo a diversas fontes, como ''Google'', a ''Enxeñería Social'' ou a busca nas papeleiras (''Dumpster diving''). A información de máis relevancia poden ser a configuración da rede e servicios ofrecidos, dominios, direccións de correo, posibles nomes de usuarios e información sobre os sistemas de seguridade.

;Exploración do Sistema (Busca de vulnerabilidades): Utilizando a información obtida no paso anterior, se procura obter máis información do sistema obxectivo, como IP e estructura da rede, nomes de hosts, usuarios e sistemas de autenticación, servicios activos, versións de aplicacións e sistemas, etc. Esta fase normalmente se leva a cabo mediante diversas ferramentas como ''sniffers'' (como ''wireshark'') , escáneres de portos e redes (como ''nmap'' ou ''netdiscover''), mapeadores de redes (como ''netcrunch'') e escáneres de vulnerabilidades (''nessus'', ''openvas''), ou recurrindo a enxeñería social. Todas estas ferramentas deixan grandes rastros nos ''log'' do sistema, polo que cunha administración axeitada dos equipos (como o uso de ''IDS'') poden ser detectadas. '''O escaneo de portos sen autorización é unha ''actividade hostil'' que en España non é legal, e que podería dar lugar a denuncias ante a xustiza'''.

{{boxinfo|A enxeñería social consiste en persuadir a os usuarios coas credenciais axeitadas que tomen decisións que permitan romper a seguiridade do sitio atacado de xeito inconsciente. Por exemplo facéndose pasar por outras persoas para obter información confidencial (persoal da empresa de telecomunicacións, policía...), ata ofrecer algo desexado polo usuario (premios, recompensas económicas).}}

{{boxinfo|A exploración de sistemas é unha actividade imprescindible na realización de auditorías de seguridade, xa que permite detectar os puntos febles da nosa rede. As mesmas utilidades que se utilizan para penetrar sistemas, se utilizan tamén na súa protección}}

;Explotación das Vulnerabilidades: Nesta fase, o atacante intenta gañar acceso explotando as vulnerabilidades detectadas na fase anterior. Algunhas das vulnerabilidades típicas son o [[wikipedia:Buffer Overflow|Buffer Overflow]]'', a posibilidade de roubo de sesións en internet ([[wikipedia:Session Hijacking|Session Hijacking]]), vulnerabilidades de [[wikipedia:SQL Injection|SQL Injection]] ou [[wikipedia:Cross-site_scripting|Cross Site Scripting]]. Para o aproveitamento das vulnerabilidades atopadas e común o uso de [[wikipedia:Exploit_(computer_security)|exploits]] que se poden atopar na rede (moitos deles como proba de concepto da existencia do fallo), ou mercados no mercado negro. Probablemente o medio máis utilizado hoxe en día para os fraudes en Internet é a ''enxeñería social'', na que o punto de vulnerabilidade reside no usuario lexítimo do sistema.

{{boxinfo|No mercado negro poden atoparse exploits para vulnerabilidades pouco coñecidas por unha cantidade importante de cartos. Especialmente de vulnerabilidades [[wikipedia:0 day|0 day]] para as que os sistemas non teñen aínda solución}}

;Compromiso do Sistema: En esta fase, unha vez obtido o acceso mediante a explotación dunha vulnerabilidade o atacante procede a realizar o seu cometido, como o roubo de información. Habitualmente o atacante instala software que lle permite o acceso posterior ao sistema e/ou facer que forme parte dunha [[wikipedia:botnet|BotNet]] para a realización de novos ataques (como ataques ''DDOS'') ou para garantizarse o acceso futuro. As ferramentas típicas utilizadas nesta fase son os [[wikipedia:rootkit|Rootkits]], [[wikipedia:Backdoor_(computing)|Backdoors]] e os [[wikipedia:Trojan_horse_(computing)|Troianos]].

;Eliminación de probas: Por último o atacante procederá a eliminar os posibles rastros da intrusión eliminando as entradas correspondentes dos ''log'' do sistema e as alarmas dos sistemas IDS instalados.


=== Tipos de Ataque ===
As vulnerabilidades poden ser aproveitadas mediante varios tipos de ataque con diversos obxectivos, incluso existen ataques que non precisan de ningunha vulnerabilidade para ter éxito. Os máis comúns son:

;Actividades de recoñecemento e detección de vulnerabilidades: Aínda que un análise de detección de vulnerabilidades non constitúe un ataque en sí mesmo, si que pode causar problemas momentáneos de conectividade nun sitio, ademáis de outros problemas non desexados. Ademáis a detección de vulnerabilidades e recoñecemento de servicios en funcionamento dun sitio sen autorización dos responsables constitúe un acto hostil cando non ilegal. '''A prevención típica deste ataque é a correcta implantación dun firewall que impida examinar os servizos a protexer'''.

;Ataques [[wikipedia:Man In The Middle|Man In The Middle (MiM)]]: Mediante este tipo de ataque atacante pode adquirir a capacidade de ler, insertar e modificar á vontade as mensaxes entre dúas partes dunha comunicación sin que ningunha das partes se de conta, permitindo a intercepción de información como contrasinais, ou suplantación de identidades e insercións de ''Cross Site Scripting (XSS)''. '''A prevención consiste no uso de sistemas de conexión segura que certifiquen a identidade das partes mediante autoridades de certificación (certificados de chave pública)'''.

;Ataques de suplantación de identidade ([[wikipedia:Spoofing_attack|Spoofing]]): O ''Spoofing'' consiste en suplantar a identidade de outra parte de modo que podamos interceptar información dirixida a ela, ou enviar información no seu nome. Existen varios tipos de ''spoofing'' segundo o que estemos suplantando:
:::[[wikipedia:IP_address_spoofing|IP Spoofing]]: Se trata de falsear a IP nos paquetes TCP/IP. Deste xeito se poden lanzar ataques de denegación de servizo (Denial Of Service - DoS) redirixindo tráfico da rede hacia a víctima (como o [[wikipedia:Smurf_attack|Ataque Smurf]]). Outro uso de este ataque é tamen o sorteo de medidas de seguridade que empregan a IP para establecer autorizacións. '''A prevención consiste na correcta configuración dos firewall para realizar unha correcta filtraxe de paquetes (como non permitir IP's da rede interna acceder a través das interfaces conectadas á rede externa).'''

:::[[wikipedia:ARP Spoofing|Envenenamento ARP]]: Esta técnica se pode utilizarse para infiltrarse nunha rede Ethernet conmutada (baseada en switch), e pode permitirlle ao atacante acceder a paquetes de datos da LAN, modifica-lo tráfico, ou incluso detelo provocando un ''DoS''. Consiste no envío de mensaxes ARP falsos á rede coa finalidade de asociar a MAC do atacante coa dirección IP que se quere suplantar (como pode ser o gateway) co obxecto de espiar o tráfico (''sniffing''). Tamén é posible provocar un ''DoS'' asociando a porta de enlace cunha dirección ''MAC'' inexistente. ''' A prevención contra este ataque é o uso de táboas ARP estáticas, sobre todo para o equipamento importante como os ''gateways'', o rexistro das direccións asignadas por ''DHCP'' (''DCHP snooping'') ou a detección de cambio de IP mediante ferramentas como '''arpwatch''' ou o uso periódico de ''rarp'''''.

:::[[wikipedia:DNS_spoofing|Envenenamento DNS]] ou [[wikipedia:Pharming|Pharming]]: Estes ataques pretenden falsear a resolución de nomes de xeito que é posible redirixir ás víctimas a sistemas falsos. ''' A prevención deste tipo de ataques pasa polo uso de servidores DNS seguros, preferiblemente protexidos mediante firmas criptográficas'''.

:::[[wikipedia: E-mail_spoofing|E-mail Spoofing]]: É utilizado habitualmente como xeito de forzar aos servidores de correo a aceptar mensaxes normalmente de spam, e realízanse falsificando as cabeceiras do protocolo SMTP e cambiando os datos da dirección de envío. Son moi sinxelos de realizar, xa que o protocolo emprega cabeceiras sen codificar, e complexos de evitar. Este sistema se emprega para sortear as medidas de seguridade dos filtros de correo mediante ''blacklists'' (listas de direccións orixe de spam ás que se lles nega a recepción do seu correo).''' Unha medida paliativa é a configuración no servidor de correo de filtros que verifiquen de varios xeitos a dirección de orixe do correo (cotexando que a IP de orixe coincida co dominio de orixe, verificando a existencia do dominio de orixe.....). Tamén é boa idea que o receptor do correo verifique a autenticidade da mensaxe recurrindo á firma dixital.'''

:::[[wikipedia:Website_spoofing|Web Spoofing]] e [[wikipedia:Phising|Phising]]: Consiste na sustitución dunha páxina web por unha falsa, co obxecto de obter ou manipular información. A continuación a víctima é redirixida ao sitio orixinal de xeito que a intrusión pase desapercibida. Esta técnica utilízase para o roubo de contrasinais e outra información sensible como números de tarxetas de créditio (''Phising''). As técnicas para conseguir esto son múltiples, dende a enxeñería social mediante correos electrónicos ata o ''arp spoofing''. O ''Phising'' e máis xeral que o ''web spoofing'', xa que consiste na suplantación dunha persoa o empresa co obxecto de obter información (como números de conta e chaves bancarias) , xa sexa por medio de enxeñería social (chamadas de teléfono, correos electrónicos, mensaxería instantánea...) ou o disfraz de direccións web mediante javascript. '''A prevención contra este tipo de ataques pasa por utilizar páxinas cifradas con certificados de confianza, pola verificación da IP real da páxina visitada e polo uso de correo cifrado. E sobre todo, moito sentido común'''.

:En resumo, para evitar ataques é imprescindible un ''firewall'' configurado de xeito que verifique a procedencia correcta dos paquetes de datos, programas de filtraxe de correo e un sistema de autenticación ben configurado (TLS, SSL...).

;Ataques de Denegacións de Servizo ([[wikipedia:Denial-of-service_attack|DoS]]) e Denegación de Servizo Distribuído (DDoS): Os ataques de denegación de servicio consisten provocar a caida temporal dun sistema mediante diversos mecanismos. Un dos máis comúns e aproveitarse de vulnerabilidades de deseño para provocar caídas (por exemplo no sistema TC/IP, o envío de paquetes mal formados). En ocasións se recurre a un conxunto de ordenadores comprometidos (''BotNet'') para provocar un ataque masivo (''Flood'') que provoca a caída por simple saturación de tráfico (DDos). Para provocar estos ataques se recurre habitualmente a ataques previos de suplantación de identidade como o envenenamento ARP ou IP. Ataques deste tipo son [[wikipedia:Ping_of_death|Ping of Death]], [http://www.techopedia.com/definition/4136/teardrop-attack|Teardrop]], [[wikipedia:SYN Flood|SynFlood]], [[wikipedia:Smurf_attack|Smurf]], [[wikipedia:UDP_flood_attack|Udp Flood]] ou [[wikipedia:LAND|Land Attack]].'''Para evitar este tipo de ataques é imprescindible a instalación de un sistema especialmente configurado (Host Bastión) cun firewall e software de xestión da rede que limite o ritmo das conexións'''.

;Introducción de Malware no sistema: O ''malware'' normalmente ten obxectivos como a obtención de información, xeración de beneficios económicos (dialers, envío de spam...) ou a simple denegación de servicio. Os ataques que permiten a súa penetración no sistema son sobre todo a enxeñería social, e as aplicacións troianizadas. '''A prevención deste tipo de ataques pasa por unha resposta xuiciosa ás distintas situacións e a instalación únicamente de software provinte de fontes fiables, preferiblemente firmado dixitalmente'''.

;Ataques aos contrasinais: A obtención dun usuario e contrasinal dun sistema permite ao atacante o acceso ao mesmo e, polo tanto, a realización de outros tipos de ataques como a escalada de privilexios (obter credenciais de un usuario con máis posibildades de acción nun sistema, normalmente aproveitando erros no sistema ou nas aplicacións mediante un exploit.). Os contrasinais son obtidos normalmente a través de ataques de forza Bruta (''Brute Force'') mediante ferramentas especializadas. Estes ataques consisten na realización de múltiples intentos de acceso probando con combinacións de usuario/contrasinal plausibles, habitualmente facendo uso dun diccionario. A enxeñería social é un recurso habitual para a elaboración destes diccionarios. Existen estudos que afirman que existen un conxunto de usuarios/contrasinais ampliamente utilizados en determiñados ámbitos ou países. Algunhas das ferramentas máis utilizadas son ''john the ripper'', ''ophrack'', ''fcrackzip'', ''Backtrack Linux'' ou ''Kali Linux'' (sucesor de backtrack). '''Para evitar o éxito de este tipo de ataques o mellor uso é a elección de contrasinais fortes e a instalación de software que limite o número de intentos de acceso nun espazo de tempo, ademáis da correcta protección dos ficheiros sensibles, recurrindo ao cifrado dos datos do disco.'''

As ferramentas utilizadas para a realización de todo este tipo de ataques son variadas e fácilmente accesibles en internet. Moitas delas son utilidades de xestión e diagnóstico de rede ampliamente utilizadas (''nmap'', ''tcpdump'', ''ettercap'', ''arp''), keyloggers, password-crackers (''john the ripper'', ''ophrack'', ''fcrackzip''), xeradores de paquetes IP (''scapy''), sniffers e arp-poisoners (''wireshark'',''dsniff'', ''arpspoof'', ''arpoison'', ''cain&abel'',...), etc.

Por outra banda as utilidades máis comúns para prever este tipo de ataques son os firewalls (como ''netfilter/iptables''), antivirus e anti-spyware, o cifrado, os detectores de rootkits e sniffers (coma ''tripwire''), os detectores de cambio na taboa arp (''arpwatch'') ou limitadores de intentos de acceso (''fail2ban'').

== Cifrado ==
En caso de que un atacante teña acceso físico ao equipamento informático, por exemplo, en caso roubo ou extravío, a información almacenada estará comprometida xa que os distintos controis de acceso e identificación deixan de ser efectivos. O “atacante” sempre poderá utilizar o dispositivo de almacenamento nun equipamento no que dispoña de credenciais de acceso.
En caso de que un atacante teña acceso físico ao equipamento informático, por exemplo, en caso roubo ou extravío, a información almacenada estará comprometida xa que os distintos controis de acceso e identificación deixan de ser efectivos. O “atacante” sempre poderá utilizar o dispositivo de almacenamento nun equipamento no que dispoña de credenciais de acceso.

Para evitar este problema, a solución máis común é o cifrado de disco. O cifrado de disco consiste en codificar a información almacenada utilizando unha chave de codificación so coñecida polo propietario, de xeito que para acceder a esa información sexa necesario suministrar previamente a chave. Este proceso de codificación realízase de xeito transparente ao usuario, de modo que este traballa exactamente igual que nun dispositivo sen codificación (coa excepción de suministrar a chave inicialmente).
Para evitar este problema, a solución máis común é o cifrado de disco. O cifrado de disco consiste en codificar a información almacenada utilizando unha chave de codificación so coñecida polo propietario, de xeito que para acceder a esa información sexa necesario suministrar previamente a chave. Este proceso de codificación realízase de xeito transparente ao usuario, de modo que este traballa exactamente igual que nun dispositivo sen codificación (coa excepción de suministrar a chave inicialmente).

O cifrado de disco pode realizarse a nivel de dispositivo (cifrado dunha partición ou volume lóxico) ou de carpeta (cifrado da información almacenada nun lugar determiñado do sistema de arquivos) e existen múltiples implementacións dispoñibles. En Linux, a ferramenta máis común é cryptsetup, mentras que en Windows existen múltiples ferramentas de distintos fabricantes, incluíndose no sistema BitLocker.
O cifrado de disco pode realizarse a nivel de dispositivo (cifrado dunha partición ou volume lóxico) ou de carpeta (cifrado da información almacenada nun lugar determiñado do sistema de arquivos) e existen múltiples implementacións dispoñibles. En Linux, a ferramenta máis común é '''cryptsetup''', mentras que en Windows existen múltiples ferramentas de distintos fabricantes, incluíndose no sistema '''BitLocker''' e a posibilidade de cifrar o contido das carpetas elexidas.
En este [[Almacenamento_Cifrado|documento]] podes ver distintos métodos de cifrar a información.

Revisión actual feita o 4 de marzo de 2014 ás 17:52

Introducción.

Podemos definir a seguridade lóxica como a aplicación de barreiras e procedementos que protexen o acceso aos datos, permitindoo únicamente ás persoas autorizadas.

As principais ameazas á seguridade lóxica ás que terán que facer frente os administradores de sistemas son o acceso non autorizado e a modificación de datos e aplicacións sen permiso. Para reducir estas ameazas é imprescindible unha correcta administración dos permisos e realizar un control de acceso aos recursos axeitado mediante a identificación, autenticación e autorización de acceso.

Control de Acceso ao Sistema

O control de acceso aos sistemas utiliza dous pasos: Identificación e Autenticación. A Identificación consiste en que un usuario se da a coñecer ao sistema, e a Autenticación son os medios de verificación de identidade do usuario identificado.

O ideal, é que o usuario únicamente precise identificarse unha vez, de xeito que sucesivos accesos se realicen sen necesidade de facilitar de novo as credenciais, tanto no sistema no que se realizou a identificación e autenticación como nos sistemas asociados. Esto denomínase Single Login ou Single Sign On (SSO).

As ventaxas dos sistemas SSO radican en que como o usuario non ten que autenticarse tan a miudo non e non precisa recordar múltiples contrasinais se reduce a posibilidade de que o usuario introduza o seu contrasinal onde non debe, e se aforra o tempo perdido nas diversas autenticacións. Ademáis, dende o punto de vista da administración do sistema, como SSO utiliza servidores de autenticación, se reduce o traballo xa que so e necesario configurar e asegurar un único equipo.

O principal inconvinte é que si se comprometen unhas credenciais de autenticación, se facilita o acceso a múltiples servicios e máquinas, o que fai necesario que para sistemas críticos se combine este tipo de control con outras medidas, como poden ser o uso de smartcards ou passwords de un so uso (OTP Tokens).

Probablemente o servicio máis común para SSO é Kerberos. O servidor Kerberos, unha vez que o usuario facilita as súas credenciais, facilita un “ticket kerberos” (TGT). Cando calqueira outra aplicación precisa autenticar ao usuario, utilizará o TGT para obter un “ticket de servicio” que asegurará a identidade do usuario. Active Directory de Windows é un sistema que emprega Kerberos para facilitar SSO.

Outro sistema cun obxectivo similar é OpenID, que consiste no uso de Servidores de Identidade. Os servidores de identidade facilitan unha chave de identificación correspondente cun usuario previamente rexistrado e autenticado no Servidor de Identidade. Esto elimina a necesidade de rexistrarse en múltiples sites o que redunda nunha maior comodidade e seguridade.

Políticas de Contrasinais

Os sistemas de control de acceso protexidos con contrasinal son un punto crítico na seguridade, recibindo a miudo ataques . Os máis comúns son:

Ataques de forza bruta
Probando combinacións ata que se atopa a chave.
Ataques de diccionario
Utilízase un diccionario cun conxunto de chaves de uso común.

Para dificultar o éxito deste tipo de ataques se debe aumentar a complexidade das password elexidas, facendo uso de símbolos especiais, letras e números. Os sistemas operativos teñen normalmente medios para forzar a usuario a elexir contrasinais dunha complexidade mínima mediante as políticas de contrasinais.

PAM

A autenticación en Linux hoxe en día fai uso de uns módulos denominados PAM (Pluggable Authetication Module) que permiten configurar o sistema de autenticación a empregar polos distintos servicios e aplicacións do sistema, o que facilita a integración de diversos métodos como sistemas biométricos, smartcards, etc. Exemplos son pam_cracklib, que permite forzar a complexidade das contrasinais utilizadas no sistema ou pam_tally, que permite bloquear o acceso ao sistema cando se fallan varias veces na autenticación.

Control de Acceso aos Datos

Ademáis de garantir que únicamente os usuarios autorizados teñan acceso ao sistema, é necesario tamén establecer unhas políticas de acceso aos datos e ás aplicacións, de xeito que os distintos usuarios do sistema únicamente podan acceder a información á que están autorizados nos xeitos indicados (lectura, escritura, execución...). Este tipo de control de acceso aos datos pode establecerse de varias maneiras:

Permisos de acceso a arquivos e ACL.

Os permisos de acceso son o medio máis simple para controlar o acceso a datos e aplicacións. O sistema de arquivos FAT únicamente soporta atributos de arquivo, de xeito que un arquivo pode ser de so lectura, de lectura/escritura, oculto ou “non borrable”, estes atributos tamén están presentes nos sistemas UNIX mediante os comandos chattr, e lsattr. Os sistemas de arquivos e sistemas operativos modernos soportan un conxunto de permisos máis flexibles e complexos.

Os sistemas UNIX tradicionalmente manteñen un conxunto de permisos sobre cada arquivo do seguinte xeito:

a) Cada arquivo pertence a un usuario e a un grupo b) É posible habilitar/deshabilitar os permisos de lectura, escritura e execución ao usuario propietario do arquivo, ao grupo propietario do arquivo e ao resto do mundo. c) Estos permisos otórganse en formato Octal, cos tres primeiros bits representando os permisos otorgados ao usuario, os seguintes tres os permisos para os usuarios perntencente ao grupo e os últimos os permisos para o resto de usuarios (rwxrwxrwx) d) O comando para otorgar permisos é chmod, e para cambiar propietarios e grupos chown e chgrp.

Este tipo de permisos proporcionan un control simple, que é suficiente na maioría dos casos. En situacións nas que é necesario un control máis axustado dos permisos de acceso a datos e aplicacións é necesario recurrir ás listas de control de acceso (ACL).

Os sistemas Windows utilizan listas de control de acceso mediante o sistema de permisos de NTFS, e os sistemas UNIX empregan sistemas de control dependentes do sistema de arquivos empregado. O sistema de arquivos máis empregado en Linux, ext2/3/4 e capaz de empregar ACL que siguen o estándar POSIX mediante os comandos getfacl e setfacl.

Aínda que as posibilidades que brindan as ACL de NTFS dos sistemas Windows son maiores que as ofrecidas polas ACL POSIX, estas son suficientes para unha xestión efectiva dos permisos de acceso.

Outra posibilidade de control sobre o acceso en UNIX a ofrecen as operacións de montaxe dos sistemas de arquivos, sendo posible montar un sistema sen posibilidade de facer modificacións e/ou executar aplicacións dende o mesmo.

Modelos de Control de Acceso.

Habitualmente os controis de acceso clasifícanse como discreccionais e non discreccionais. Os tres modelos máis utilizados son o Control de Acceso Discreccional ou DAC (Discrectional Access Control)', o control de acceso obrigatorio ou MAC (Mandatory Access Control) e o control de acceso baseado en roles ou RBAC (Role Based Access Control). Tanto MAC como RBAC son non discreccionais.

Os sistemas operativos poden implementar un único modelo de control de acceso, ou varios ao mesmo tempo.

DAC (Discrectional Access Control).

Se trata de restrinxir o acceso aos obxectos protexidos (como datos e aplicacións) basandose na identidade do usuario e dos grupos aos que pertence. Este tipo de control é discreccional no senso que é posible cambiar a propiedade/grupo dun obxecto a calqueira outro usuario.

MAC (Mandatory Access Control)

Mediante este tipo de control de acceso, o sistema operativo limita o acceso sobre os distintos obxectos (ficheiros, carpetas, sockets, memoria compartida... etc) por parte dos actores (normalmente procesos ou fíos). Os actores e os obxectos teñen un conxunto de atributos de seguridade que son examinados polo sistema para permitir ou denegar o acceso utilizando un conxunto de regras de autorización (chamadas políticas).

As políticas de seguridade están centralizadas e controladas por un administrador de políticas e os usuarios non teñen a posibilidade de ignorar esas políticas (a diferencia do DAC, na que un usuario pode alterar os permisos de acceso e incluso o propietario dun obxecto). Os sistemas que dispoñen de sistemas MAC dan aos administradores das políticas de sistema a posibilidade de implementar políticas de seguridade a nivel de organización de maneira que os usuarios non poderán modificar os permisos nin intencionada nin accidentalmente.

Actualmente, en Linux existen varias implementacións de MAC sendo as máis coñecidas SELinux, AppArmor ou GrSecurity, sendo quizáis a máis empregada SELinux por formar parte do kernel dende a versión 2.6.

Os sistemas Windows incorporan Mandatory Integrity Control dende Windows Vista.

SELinux (Security Enhanced Linux)

A súa orixe é a NSA (United States National Security Agency) e forma parte do kernel Linux dende a versión 2.6.0 (ano 2003).

Un sistema Linux utilizando SELinux, forza políticas de control de acceso obrigatorias (MAC) que fan que os programas de usuario e servidores do sistema dispoñan dos mínimos privilexios necesarios para realizar o seu traballo. Esto reduce ou elimina a posibilidade de que estes programas e demonios causen perxuicios ao resto do sistema si a súa seguridade se ve comprometida.

Este mecanismo de aillamento traballa de xeito independente dos mecanismos de control de acceso tradicionais, non existe o concepto de super-usuario “root” nin sigue os mecanismos DAC comúns nos sistemas UNIX como podan ser os arquivos SUID e GID.

O sistema SELinux utiliza políticas de seguridade. Cando se realiza unha acción que implica a necesidade de algún nivel de seguridade, como abrir un ficheiro, a chamada é interceptada polo driver SELinux no Kernel. Si existe unha política SELinux que permite a operación, ésta continúa, sendo bloqueada noutro caso.

Normalmente nas distribucións Linux se suministran tres tipos de políticas de seguridade: Strict, Targeted e MLS (Multi Level Security). Tanto as políticas Strict como MLS proporcionan seguridade baseada en roles (RBAC).

Comandos para manexar SELinux son chcon, setfiles, restorecon, load_policy, check_policy, check_module, semodule, semanage, setenforce, getenforce, setsebool, getsebool.

MIC (Mandatory Integrity Control)

O propósito do MIC é protexer os obxectos do sistema (ficheiros, dispositivos, aplicacións...) de ataques, malware ou incluso erros do usuario.

A idea e establecer a priori unhas políticas de confianza sobre cada obxecto e controlar a interacción entre eles basándose no seu nivel de confianza ou integridade (IL).

Os niveis de integridade (ILs) son obrigatorias (MAC) e prevalecen sobre os controis discreccionais (DAC) como os permisos NTFS comúns. O principal obxectivo é asegurarse de que os obxectos con un nivel de integridade (ou de confianza) determiñado únicamente podan interactuar con obxectos con nivel igual ou inferior.

Sobre cada obxecto se poden establecer os seguintes niveis IL: Untrusted, Low, Medium, High, System e Installer. Os usuarios anónimos e aplicacións lanzadas por estes reciven un IL de Untrusted, Low utilízase no acceso a Internet (Explorer, por exemplo), Medium é o nivel IL habitual, High corresponde ao administrador, mentras que System é para os procesos de sistema e Installer para as aplicacións con capacidade de instalar e desinstalar elementos no sistema.

Para xestionar os niveis IL, Windows dispón da utilidade ICACLS, por exemplo podemos escribir:

  icacls c:\windows\explorer.exe

para ver o nivel MAC do internet explorer.

Para poder cambiar o nivel de IL un usuario precisa ter o privilexio SeRelabelPrivilege, ademáis de dispoñer dos privilexios de cambio de permisos e de tomar a propiedade do obxecto. Un usuario nunca poderá elevar o privilexio dun obxecto por enriba do seu propio nivel. O comando para cambiar o IL é:

  icacls  /setintegritylevel H|M|L.

Seguridade nos Servicios de Rede

Ademáis da identificación e autorización, e necesario asegurarse de que a información non está accesible por outros métodos non previstos. Para conseguir esto e necesario securizar os distintos servizos que se ofrecen mediante o uso de devasas (firewalls) e de políticas de seguridade así como a actualización periódica das aplicacións para evitar vulnerabilidades.

Tamén é necesario a realización de auditorías de rede mediante escáneres de vulnerabilidades e o uso de sistemas de detección de intrusos (IDS) no equipamento crítico.

Cando se produce un intento de acceso non autorizado, normalmente o proceso sigue unha serie de fases:

Fases dun ataque informático.

Boxinfo info.png
Un ataque informático consiste en aproveitar algunha debilidade ou falla (vulnerabilidade) no software, no hardware, e incluso, nas personas que forman parte dun ambiente informático; a fin de obter un beneficio, por lo xeral de índole económico, causando un efecto negativo na seguridade do sistema.

Os ataques informáticos normalmente pasan por cinco fases:

Recoñecemento do Sistema
O atacante recopila toda a información que pode sobre o sistema obxectivo, normalmente recurrindo a diversas fontes, como Google, a Enxeñería Social ou a busca nas papeleiras (Dumpster diving). A información de máis relevancia poden ser a configuración da rede e servicios ofrecidos, dominios, direccións de correo, posibles nomes de usuarios e información sobre os sistemas de seguridade.
Exploración do Sistema (Busca de vulnerabilidades)
Utilizando a información obtida no paso anterior, se procura obter máis información do sistema obxectivo, como IP e estructura da rede, nomes de hosts, usuarios e sistemas de autenticación, servicios activos, versións de aplicacións e sistemas, etc. Esta fase normalmente se leva a cabo mediante diversas ferramentas como sniffers (como wireshark) , escáneres de portos e redes (como nmap ou netdiscover), mapeadores de redes (como netcrunch) e escáneres de vulnerabilidades (nessus, openvas), ou recurrindo a enxeñería social. Todas estas ferramentas deixan grandes rastros nos log do sistema, polo que cunha administración axeitada dos equipos (como o uso de IDS) poden ser detectadas. O escaneo de portos sen autorización é unha actividade hostil que en España non é legal, e que podería dar lugar a denuncias ante a xustiza.
Boxinfo info.png
A enxeñería social consiste en persuadir a os usuarios coas credenciais axeitadas que tomen decisións que permitan romper a seguiridade do sitio atacado de xeito inconsciente. Por exemplo facéndose pasar por outras persoas para obter información confidencial (persoal da empresa de telecomunicacións, policía...), ata ofrecer algo desexado polo usuario (premios, recompensas económicas).
Boxinfo info.png
A exploración de sistemas é unha actividade imprescindible na realización de auditorías de seguridade, xa que permite detectar os puntos febles da nosa rede. As mesmas utilidades que se utilizan para penetrar sistemas, se utilizan tamén na súa protección
Explotación das Vulnerabilidades
Nesta fase, o atacante intenta gañar acceso explotando as vulnerabilidades detectadas na fase anterior. Algunhas das vulnerabilidades típicas son o Buffer Overflow, a posibilidade de roubo de sesións en internet (Session Hijacking), vulnerabilidades de SQL Injection ou Cross Site Scripting. Para o aproveitamento das vulnerabilidades atopadas e común o uso de exploits que se poden atopar na rede (moitos deles como proba de concepto da existencia do fallo), ou mercados no mercado negro. Probablemente o medio máis utilizado hoxe en día para os fraudes en Internet é a enxeñería social, na que o punto de vulnerabilidade reside no usuario lexítimo do sistema.
Boxinfo info.png
No mercado negro poden atoparse exploits para vulnerabilidades pouco coñecidas por unha cantidade importante de cartos. Especialmente de vulnerabilidades 0 day para as que os sistemas non teñen aínda solución
Compromiso do Sistema
En esta fase, unha vez obtido o acceso mediante a explotación dunha vulnerabilidade o atacante procede a realizar o seu cometido, como o roubo de información. Habitualmente o atacante instala software que lle permite o acceso posterior ao sistema e/ou facer que forme parte dunha BotNet para a realización de novos ataques (como ataques DDOS) ou para garantizarse o acceso futuro. As ferramentas típicas utilizadas nesta fase son os Rootkits, Backdoors e os Troianos.
Eliminación de probas
Por último o atacante procederá a eliminar os posibles rastros da intrusión eliminando as entradas correspondentes dos log do sistema e as alarmas dos sistemas IDS instalados.


Tipos de Ataque

As vulnerabilidades poden ser aproveitadas mediante varios tipos de ataque con diversos obxectivos, incluso existen ataques que non precisan de ningunha vulnerabilidade para ter éxito. Os máis comúns son:

Actividades de recoñecemento e detección de vulnerabilidades
Aínda que un análise de detección de vulnerabilidades non constitúe un ataque en sí mesmo, si que pode causar problemas momentáneos de conectividade nun sitio, ademáis de outros problemas non desexados. Ademáis a detección de vulnerabilidades e recoñecemento de servicios en funcionamento dun sitio sen autorización dos responsables constitúe un acto hostil cando non ilegal. A prevención típica deste ataque é a correcta implantación dun firewall que impida examinar os servizos a protexer.
Ataques Man In The Middle (MiM)
Mediante este tipo de ataque atacante pode adquirir a capacidade de ler, insertar e modificar á vontade as mensaxes entre dúas partes dunha comunicación sin que ningunha das partes se de conta, permitindo a intercepción de información como contrasinais, ou suplantación de identidades e insercións de Cross Site Scripting (XSS). A prevención consiste no uso de sistemas de conexión segura que certifiquen a identidade das partes mediante autoridades de certificación (certificados de chave pública).
Ataques de suplantación de identidade (Spoofing)
O Spoofing consiste en suplantar a identidade de outra parte de modo que podamos interceptar información dirixida a ela, ou enviar información no seu nome. Existen varios tipos de spoofing segundo o que estemos suplantando:
IP Spoofing: Se trata de falsear a IP nos paquetes TCP/IP. Deste xeito se poden lanzar ataques de denegación de servizo (Denial Of Service - DoS) redirixindo tráfico da rede hacia a víctima (como o Ataque Smurf). Outro uso de este ataque é tamen o sorteo de medidas de seguridade que empregan a IP para establecer autorizacións. A prevención consiste na correcta configuración dos firewall para realizar unha correcta filtraxe de paquetes (como non permitir IP's da rede interna acceder a través das interfaces conectadas á rede externa).
Envenenamento ARP: Esta técnica se pode utilizarse para infiltrarse nunha rede Ethernet conmutada (baseada en switch), e pode permitirlle ao atacante acceder a paquetes de datos da LAN, modifica-lo tráfico, ou incluso detelo provocando un DoS. Consiste no envío de mensaxes ARP falsos á rede coa finalidade de asociar a MAC do atacante coa dirección IP que se quere suplantar (como pode ser o gateway) co obxecto de espiar o tráfico (sniffing). Tamén é posible provocar un DoS asociando a porta de enlace cunha dirección MAC inexistente. A prevención contra este ataque é o uso de táboas ARP estáticas, sobre todo para o equipamento importante como os gateways, o rexistro das direccións asignadas por DHCP (DCHP snooping) ou a detección de cambio de IP mediante ferramentas como arpwatch ou o uso periódico de rarp.
Envenenamento DNS ou Pharming: Estes ataques pretenden falsear a resolución de nomes de xeito que é posible redirixir ás víctimas a sistemas falsos. A prevención deste tipo de ataques pasa polo uso de servidores DNS seguros, preferiblemente protexidos mediante firmas criptográficas.
E-mail Spoofing: É utilizado habitualmente como xeito de forzar aos servidores de correo a aceptar mensaxes normalmente de spam, e realízanse falsificando as cabeceiras do protocolo SMTP e cambiando os datos da dirección de envío. Son moi sinxelos de realizar, xa que o protocolo emprega cabeceiras sen codificar, e complexos de evitar. Este sistema se emprega para sortear as medidas de seguridade dos filtros de correo mediante blacklists (listas de direccións orixe de spam ás que se lles nega a recepción do seu correo). Unha medida paliativa é a configuración no servidor de correo de filtros que verifiquen de varios xeitos a dirección de orixe do correo (cotexando que a IP de orixe coincida co dominio de orixe, verificando a existencia do dominio de orixe.....). Tamén é boa idea que o receptor do correo verifique a autenticidade da mensaxe recurrindo á firma dixital.
Web Spoofing e Phising: Consiste na sustitución dunha páxina web por unha falsa, co obxecto de obter ou manipular información. A continuación a víctima é redirixida ao sitio orixinal de xeito que a intrusión pase desapercibida. Esta técnica utilízase para o roubo de contrasinais e outra información sensible como números de tarxetas de créditio (Phising). As técnicas para conseguir esto son múltiples, dende a enxeñería social mediante correos electrónicos ata o arp spoofing. O Phising e máis xeral que o web spoofing, xa que consiste na suplantación dunha persoa o empresa co obxecto de obter información (como números de conta e chaves bancarias) , xa sexa por medio de enxeñería social (chamadas de teléfono, correos electrónicos, mensaxería instantánea...) ou o disfraz de direccións web mediante javascript. A prevención contra este tipo de ataques pasa por utilizar páxinas cifradas con certificados de confianza, pola verificación da IP real da páxina visitada e polo uso de correo cifrado. E sobre todo, moito sentido común.
En resumo, para evitar ataques é imprescindible un firewall configurado de xeito que verifique a procedencia correcta dos paquetes de datos, programas de filtraxe de correo e un sistema de autenticación ben configurado (TLS, SSL...).
Ataques de Denegacións de Servizo (DoS) e Denegación de Servizo Distribuído (DDoS)
Os ataques de denegación de servicio consisten provocar a caida temporal dun sistema mediante diversos mecanismos. Un dos máis comúns e aproveitarse de vulnerabilidades de deseño para provocar caídas (por exemplo no sistema TC/IP, o envío de paquetes mal formados). En ocasións se recurre a un conxunto de ordenadores comprometidos (BotNet) para provocar un ataque masivo (Flood) que provoca a caída por simple saturación de tráfico (DDos). Para provocar estos ataques se recurre habitualmente a ataques previos de suplantación de identidade como o envenenamento ARP ou IP. Ataques deste tipo son Ping of Death, [1]], SynFlood, Smurf, Udp Flood ou Land Attack.Para evitar este tipo de ataques é imprescindible a instalación de un sistema especialmente configurado (Host Bastión) cun firewall e software de xestión da rede que limite o ritmo das conexións.
Introducción de Malware no sistema
O malware normalmente ten obxectivos como a obtención de información, xeración de beneficios económicos (dialers, envío de spam...) ou a simple denegación de servicio. Os ataques que permiten a súa penetración no sistema son sobre todo a enxeñería social, e as aplicacións troianizadas. A prevención deste tipo de ataques pasa por unha resposta xuiciosa ás distintas situacións e a instalación únicamente de software provinte de fontes fiables, preferiblemente firmado dixitalmente.
Ataques aos contrasinais
A obtención dun usuario e contrasinal dun sistema permite ao atacante o acceso ao mesmo e, polo tanto, a realización de outros tipos de ataques como a escalada de privilexios (obter credenciais de un usuario con máis posibildades de acción nun sistema, normalmente aproveitando erros no sistema ou nas aplicacións mediante un exploit.). Os contrasinais son obtidos normalmente a través de ataques de forza Bruta (Brute Force) mediante ferramentas especializadas. Estes ataques consisten na realización de múltiples intentos de acceso probando con combinacións de usuario/contrasinal plausibles, habitualmente facendo uso dun diccionario. A enxeñería social é un recurso habitual para a elaboración destes diccionarios. Existen estudos que afirman que existen un conxunto de usuarios/contrasinais ampliamente utilizados en determiñados ámbitos ou países. Algunhas das ferramentas máis utilizadas son john the ripper, ophrack, fcrackzip, Backtrack Linux ou Kali Linux (sucesor de backtrack). Para evitar o éxito de este tipo de ataques o mellor uso é a elección de contrasinais fortes e a instalación de software que limite o número de intentos de acceso nun espazo de tempo, ademáis da correcta protección dos ficheiros sensibles, recurrindo ao cifrado dos datos do disco.

As ferramentas utilizadas para a realización de todo este tipo de ataques son variadas e fácilmente accesibles en internet. Moitas delas son utilidades de xestión e diagnóstico de rede ampliamente utilizadas (nmap, tcpdump, ettercap, arp), keyloggers, password-crackers (john the ripper, ophrack, fcrackzip), xeradores de paquetes IP (scapy), sniffers e arp-poisoners (wireshark,dsniff, arpspoof, arpoison, cain&abel,...), etc.

Por outra banda as utilidades máis comúns para prever este tipo de ataques son os firewalls (como netfilter/iptables), antivirus e anti-spyware, o cifrado, os detectores de rootkits e sniffers (coma tripwire), os detectores de cambio na taboa arp (arpwatch) ou limitadores de intentos de acceso (fail2ban).

Cifrado

En caso de que un atacante teña acceso físico ao equipamento informático, por exemplo, en caso roubo ou extravío, a información almacenada estará comprometida xa que os distintos controis de acceso e identificación deixan de ser efectivos. O “atacante” sempre poderá utilizar o dispositivo de almacenamento nun equipamento no que dispoña de credenciais de acceso.

Para evitar este problema, a solución máis común é o cifrado de disco. O cifrado de disco consiste en codificar a información almacenada utilizando unha chave de codificación so coñecida polo propietario, de xeito que para acceder a esa información sexa necesario suministrar previamente a chave. Este proceso de codificación realízase de xeito transparente ao usuario, de modo que este traballa exactamente igual que nun dispositivo sen codificación (coa excepción de suministrar a chave inicialmente).

O cifrado de disco pode realizarse a nivel de dispositivo (cifrado dunha partición ou volume lóxico) ou de carpeta (cifrado da información almacenada nun lugar determiñado do sistema de arquivos) e existen múltiples implementacións dispoñibles. En Linux, a ferramenta máis común é cryptsetup, mentras que en Windows existen múltiples ferramentas de distintos fabricantes, incluíndose no sistema BitLocker e a posibilidade de cifrar o contido das carpetas elexidas. En este documento podes ver distintos métodos de cifrar a información.