No mês de abril do ano de 2015 fomos contratados por uma das maiores empresas em hospedagem de websites e cloud computing do Brasil para a defesa de seus sistemas, aos quais vinham sofrendo diariamente diversos ataques sofisticados direcionados a sua infraestrutura de TI e sistemas próprios. O nome e informações do cliente serão omitidos por questões contratuais de sigilo.
Nossa resposta aos incidentes foi praticamente imediata, após o contato com a empresa cliente e contratos assinados, fomos diretamente para as análises que temos como praxe, análises básicas de segurança da infraestrutura do cliente, e de pronto encontramos diversas falhas e configurações inseguras em diversos serviços internos aos quais a empresa mantinha, analisamos a infraestrutura dos Data-Center’s que esta empresa mantém em São Paulo-SP e também identificamos algumas falhas, o cliente devidamente ciente da situação começou imediatamente as correções em seus sistemas.
Após as análises de segurança, começou-se então a auditoria de sistemas como regras de firewall’s e auditorias em ambientes de hospedagem e cloud. Identificou-se que algumas regras no firewall estavam duplicadas, outras funcionalidades essenciais para a segurança do negócio desabilitadas, após uma conversa com o Gerente de TI identificamos também que a empresa desconhecia a utilização de Web Application Firewall’s, o mesmo confundia as tecnologias de Next Generation Firewall como sendo a mesma tecnologia de um Web Application Firewall, confusão muito comum para gestores de TI e administradores de empresas, afinal, são diversos sistemas utilizados na segurança digital de uma empresa, gestores não tem o foco somente na segurança de seus sistemas, mas sim na qualidade de seus serviços/produtos e seus funcionários. [Dúvidas entre NGFW e WAF? clique aqui]
Após a identificação destes itens, obtivemos permissão do gestor de TI para administrarmos o firewall da Palo-Alto Networks de modelo PA-3020, firewall este que é de uma das empresas que estão no top 10 do Gartner em liderança de soluções em Next Generation Firewall’s, após obtermos a permissão para a administração do Firewall, durante este “meio tempo” a empresa começou a perceber a lentidão de um dos servidores que faz Application Request Routing (ARR da Microsoft), nosso consultor foi acionado devido a lentidão parecer algum tipo de ataque, ao analisarmos o firewall PA-3020, na feature de URL Filtering percebeu-se então a grande quantidade de requisições chegando ao ARR da empresa com uma assinatura estranha, todas as requisições baseavam-se em requisições “legítimas” tentando acesso a uma URL /*/ext onde * seria substituído por qualquer letra do alfabeto.
Baseando-se nestas informações o gestor de TI resolveu criar uma regra na feature do PA-3020 que toda a requisição contendo “/*/ext” fosse bloqueada pelo firewall, após o commit das regras, perceberam-se os serviços do ARR voltando a normalidade, o processamento do servidor baixou e pode-se navegar nos sistemas da empresa tranquilamente.
Abaixo podemos ver na imagem o Firewall Palo-Alto PA-3020 bloqueando todas as requisições ao endereço do servidor de ARR com a assinatura do ataque.
Após alguns minutos, perceberam-se instabilidades na rede do Data-Center inteiro, novamente nossa consultoria foi acionada, para analisarmos o que possa ter ocorrido no Data-Center do cliente, ao analisarmos o Firewall, percebemos que o mesmo havia caído, não suportando a grande quantidade de requisições geradas pelo ataque.
Podemos perceber esta afirmação no uptime do equipamento ao analisarmos, segue na imagem abaixo.
Percebemos também que o ataque conseguiu consumir o número máximo de sessões ao qual o Palo-Alto PA-3020 suporta, que é de 250 mil sessões simultâneas, como podemos perceber estes números na imagem abaixo.
Após certo período, o cliente nos informou que o Palo-Alto não estava reduzindo a quantidade de sessões e nem estava mais barrando o ataque, e sim estava se tornando mais uma vítima do ataque DDoS em camada de aplicação (Layer 7) que estava a ocorrer, o Palo-Alto já estava com suas sessões em 260 mil, bem acima do esperado de sessões do appliance, deixando a rede completamente lenta e correndo o risco de novamente cair e deixar o Data-Center por alguns minutos off-line, ocasionando cerca de 20 mil clientes offline no momento de reboot do firewall.
Ciente do problema que estávamos a encarar, decidimos então colocar nossa ferramenta até então em desenvolvimento para uma tentativa de barrar o ataque, informamos o cliente de nossa ferramenta, que estava em desenvolvimento e que poderia barrar certo ataque, por se tratar de um ataque em camada de aplicação, justamente ataques que nossa ferramenta foi programada para defender. O cliente ciente de todas as instabilidades que poderiam ocorrer, nos informou que não seria tão impactante se somente um sistema fosse afetado e não todo o Data-Center onde mais de 20 mil clientes mantém suas aplicações e sistemas online.
Ao sermos autorizados a efetuar a defesa do sistema atacado, começamos a trabalhar em conjunto com as equipes de infra-estrutura de TI da empresa cliente, solicitamos as equipes do cliente que fosse instalado nosso sistema de Web Application Firewall em um cloud server dentro de seu Data-Center, tarefa não muito complicada para os engenheiros da empresa cliente.
Após a criação do cloud-server com nosso sistema de web firewall, o cliente foi orientado por meio de nosso consultor in-loco a direcionar em seus DNS’s o CNAME do sistema que estava a ser afetado pelo ataque ao IP do cloud-server que hospedava nossa aplicação para a mitigação do ataque ser efetuada através de nosso sistema, nossos consultores localizados em nosso Centro de Operações em Segurança (SOC) obtiveram maiores informações do ataque, podendo assim desenvolver assinaturas dos padrões de detecção do ataque e começar a mitigação do mesmo, até então tínhamos informações de que poderia se tratar de apenas um ataque de DoS vindo somente de um IP e direcionado ao sistema de nosso cliente.
Após nossa ferramenta ser “alimentada” com a nova assinatura de ataque, começou-se então a mitigação do ataque através de nossa ferramenta, não afetando mais o Data-Center do cliente, nem mesmo o sistema alvo do ataque, apenas tráfego legítimo estava passando ao sistema do cliente.
Possuímos uma linha do tempo com a quantidade de requisições barradas por nosso Web Firewall, incluindo também as manutenções em nosso WebIPS ao qual foi aperfeiçoado para detectar e bloquear os IP’s que estavam cometendo o ataque, este bloqueio não se trata de um bloqueio definitivo, e sim um bloqueio temporário.
A seguir temos uma imagem de nosso sistema de Web Application Firewall em sua versão 1.0 Beta demonstrando a defesa de uma requisição do ataque,
Ao notarmos que as requisições não sessavam e vinham praticamente de diversas origens, resolvemos recolher informações do Web App Firewall para sabermos a quantidade de IP’s que estavam a atacar o sistema de nosso cliente, foi então que percebemos de se tratar de um grande ataque de DDoS em Layer 7 contra o sistema do cliente, o ataque persistiu por cerca de um mês, a seguir temos uma lista dos IP’s que formaram esta botnet que efetuou este ataque.
Pelos cálculos, se formos levar em consideração que cada máquina na melhor das hipóteses tenha gerado 1Mbps de tráfego ao servidor alvo, nossa ferramenta defendeu um ataque de aproximadamente 300Mbps, lembrando que isso na melhor das hipóteses, podendo na pior das hipóteses atingir um valor bem maior se tivermos máquinas com maior capacidade de gerar tráfego.
109.163.234.4 109.194.220.197 131.100.10.241 131.108.188.253 138.36.107.18 138.36.107.6 146.164.121.13 152.237.225.68 152.238.2.119 176.10.99.208 176.10.99.209 176.14.251.107 176.193.198.11 176.195.208.152 176.195.29.83 176.195.86.204 176.195.95.74 177.0.193.67 177.0.194.29 177.103.125.124 177.103.86.115 177.104.240.20 177.104.244.130 177.104.48.2 177.12.20.217 177.134.56.111 177.138.78.250 177.156.58.187 177.157.188.214 177.177.203.144 177.177.84.186 177.179.171.206 177.18.169.47 177.18.172.86 177.18.99.118 177.18.99.82 177.185.29.101 177.19.236.148 177.194.28.15 177.205.200.49 177.205.202.193 177.22.192.2 177.22.194.124 177.220.142.42 177.221.232.187 177.23.7.2 177.36.58.35 177.37.100.248 177.54.115.158 177.54.195.189 177.55.206.73 177.59.78.185 177.67.1.226 177.67.100.110 177.68.192.109 177.69.169.114 177.69.231.66 177.69.32.109 177.7.112.238 177.7.95.72 177.74.144.70 177.75.35.150 177.75.52.156 177.86.57.190 177.87.150.59 177.87.19.73 177.87.21.113 177.9.1.25 177.92.57.173 177.93.114.168 177.95.224.254 177.95.73.4 177.97.193.128 178.63.97.34 179.104.165.232 179.107.116.17 179.174.174.220 179.182.75.226 179.184.45.64 179.191.202.45 179.191.205.137 179.199.32.181 179.208.86.106 179.222.21.244 179.222.29.31 179.254.28.10 186.200.51.106 186.207.204.141 186.215.16.225 186.222.97.82 186.224.242.40 186.225.53.182 186.227.8.21 186.229.1.69 186.232.251.195 186.233.21.188 186.235.120.6 186.235.77.149 186.237.129.162 186.247.60.146 186.251.78.44 187.101.11.249 187.101.179.47 187.101.9.195 187.102.225.60 187.108.150.218 187.108.190.212 187.114.28.248 187.17.52.14 187.24.165.248 187.24.201.67 187.28.166.54 187.35.0.246 187.35.12.17 187.40.89.52 187.40.90.67 187.41.82.254 187.41.87.84 187.41.91.63 187.41.91.85 187.54.212.176 187.55.113.148 187.63.195.178 187.63.227.177 187.70.176.198 187.72.160.200 187.78.26.115 187.79.1.74 187.79.14.210 187.79.15.207 187.84.177.147 187.94.201.245 188.140.114.37 188.244.39.126 189.111.72.229 189.111.95.127 189.112.169.140 189.112.217.61 189.112.42.89 189.113.73.134 189.124.17.42 189.127.200.12 189.13.201.51 189.15.2.242 189.17.199.2 189.212.185.220 189.3.222.193 189.31.204.23 189.36.9.78 189.38.1.74 189.38.1.78 189.38.3.238 189.41.30.136 189.48.102.199 189.48.142.220 189.58.231.71 189.72.201.174 189.72.240.13 189.74.45.120 189.78.13.12 189.78.14.33 189.78.15.224 189.78.17.221 189.78.22.135 189.78.22.178 189.78.27.134 189.78.28.117 189.78.29.125 189.78.3.211 189.78.3.99 189.78.32.74 189.78.4.219 189.78.6.124 189.78.6.246 189.78.8.151 189.78.9.131 189.79.180.193 189.81.112.63 189.81.123.194 189.81.124.221 189.81.149.210 189.81.184.89 189.82.130.94 189.82.140.239 189.82.189.173 189.82.54.49 189.90.246.67 189.90.96.90 189.93.251.34 190.151.29.146 190.180.174.26 191.17.152.222 191.17.152.228 191.17.158.178 191.189.22.191 191.240.180.2 191.242.240.34 191.247.231.1 191.253.64.50 191.255.12.163 191.255.34.149 191.255.34.74 191.5.147.104 191.54.23.234 200.100.71.125 200.101.133.75 200.128.84.50 200.129.160.136 200.131.199.29 200.131.252.220 200.131.62.31 200.133.1.59 200.137.128.130 200.137.135.30 200.137.180.15 200.137.227.30 200.142.117.250 200.142.79.143 200.144.92.20 200.144.92.40 200.150.113.165 200.150.168.114 200.150.83.106 200.151.190.206 200.153.211.253 200.164.74.202 200.178.129.120 200.178.195.70 200.189.118.3 200.192.72.2 200.192.72.3 200.195.143.25 200.195.180.208 200.195.189.55 200.199.217.221 200.201.89.42 200.202.142.16 200.216.19.188 200.223.129.85 200.232.28.132 200.239.65.67 201.1.70.42 201.18.153.188 201.2.210.99 201.22.185.237 201.23.92.114 201.3.113.198 201.33.121.69 201.35.248.155 201.39.196.194 201.45.58.227 201.48.124.165 201.48.179.146 201.48.179.85 201.48.60.156 201.48.8.194 201.48.80.93 201.49.77.202 201.50.89.202 201.51.31.40 201.51.33.83 201.51.39.238 201.51.41.110 201.54.5.74 201.55.169.17 201.59.200.137 201.64.100.99 201.68.154.178 201.68.155.80 201.71.224.77 201.71.47.38 201.75.106.190 201.77.115.224 212.230.90.168 24.238.6.178 46.188.0.87 5.228.195.25 54.229.121.172 64.69.91.210 76.19.47.29 78.85.239.94 79.120.10.98 84.177.0.130 84.177.1.251 84.177.11.104 84.177.11.46 84.177.18.140 84.177.18.154 84.177.22.119 84.177.27.1 84.177.27.67 84.177.30.100 84.177.5.240 84.177.7.136 84.177.7.197 89.214.248.212 93.173.62.159 94.26.140.150 94.29.7.105 95.25.218.88 95.25.218.90 95.26.250.68 95.26.53.3 95.26.53.77 95.84.250.250