an innovative obfuscated code analysis algorithm - owasp · motivação • ausência de um modelo...
TRANSCRIPT
![Page 1: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/1.jpg)
An Innovative Obfuscated Code Analysis Algorithm
AppSec Latam 2011
![Page 2: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/2.jpg)
Sobre mim..
• Membro Trustwave SpiderLabs Research • Um dos criadores do Suricata IDS/IPS • Mantenedor Apache ModSecurity • Membro IEEE (pesquisas publicadas – China, Inglaterra,
EUA, Brasil, Portugal)
![Page 3: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/3.jpg)
Agenda
a. Motivação b. Objetivos c. O que é um código ofuscado ? d. Soluções atuais e. Algorítmo f. Resultados g. Conclusões
![Page 4: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/4.jpg)
Motivação
• Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre outros devices.
• Provedores de conteúdo, Hosting… não são capazes de julgar a intenção de códigos ofuscados de seus clientes.
![Page 5: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/5.jpg)
Copyright Trustwave 2010 Confidential
Objetivos
• A solução deve atender aos requisitos:
• Poder de classificação • Adaptabilidade • Generalização • Performance
![Page 6: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/6.jpg)
O Que é um código ofuscado ??
• Um código ofuscado é aquele que passou por um processo de transformação de forma que sua leitura seja de dificil entendimento.
Clear text javascript Obfuscated javascript
<script> alert('teste') </script>
eval(func5on(p,a,c,k,e,d){e=func5on(c){return c};if(!''.replace(/^/,String)){while(c-‐-‐){d[c]=k[c]||c}k=[func5on(e){return d[e]}];e=func5on(){return'\\w+'};c=1};while(c-‐-‐){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('<0>1(\'2\')</0>',3,3,'script|alert|teste'.split('|'),0,{}))
![Page 7: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/7.jpg)
Soluções atuais
• Análise sintática dos códigos:
• Geralmente baseadas em string search e pattern matching. • Quase nenhum poder de adaptação e generalização. • Boa performance.
• Análise semântica dos códigos:
• Geralmente necessita de emulação, execução, desofuscação do código.
• Bom poder de adaptação e generalização. • Baixa performance.
![Page 8: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/8.jpg)
Algorítmo
• Processo estocástico com estados discretos. • Cadeias de Markov
• Carecterísticas de algorítmos para aprendizagem de máquina. • Base de treinamento e validação • Supervisão e ajuste por correção de erro
![Page 9: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/9.jpg)
Algorítmo
• Definição dos estados • Aqueles comumente encontrados em códigos ofuscados
![Page 10: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/10.jpg)
Algorítmo
• Para cada estado (S), a ligação L(S) entre eles obedecendo a função
• Origina uma cadeia
• Onde cada probabilidade de transição é dada:
![Page 11: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/11.jpg)
Algorítmo
• Duas cadeias são criadas da base de treinamento, destas duas matrizes quadradas são criadas (modelos) :
• Dos modelos, temos duas definições: para códigos reconhecidamente benignos e para maliciosos, sendo :
![Page 12: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/12.jpg)
Algorítmo
• Em caso de erro de reconhecimento:
• E um ajuste na cadeia será feito:
![Page 13: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/13.jpg)
From the spider point of view…
![Page 14: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/14.jpg)
Algoritmo – pré-treinamento
Modelo -‐ Maliciosos Modelo -‐ Benignos
S1 S2 D
![Page 15: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/15.jpg)
Algoritmo - pós-treinamento
Modelo -‐ Maliciosos Modelo -‐ Benignos
S1
D
S2
![Page 16: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/16.jpg)
Resultados
• 90% de classificação correta
• 90% de classificação correta
![Page 17: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/17.jpg)
Conclusões
• O protótipo apresentou uma capacidade aceitável de classificar e de generalizar.
• Necessidade de aumento da base de treinamento e validação para deploy em ambiente real.
• Treinamento e validação ~95%
![Page 18: An Innovative Obfuscated Code Analysis Algorithm - OWASP · Motivação • Ausência de um modelo capaz de classificar a intenção do código ofuscado em IDS, IPS, WAFs, dentre](https://reader031.vdocuments.mx/reader031/viewer/2022021808/5c0318f109d3f2ab198c7cfd/html5/thumbnails/18.jpg)
Obrigado!