Download as pdf
Download as pdf
You are on page 1of 14
XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 Metodologia de Deteccao de Malware por Heuristicas Comportamentais Neriberto Prado’, U! isses Penteado', André Grégio? * Bluepex Security Solutions Limeira — SP — Brasil °Departamento de Informética (DInf) Universidade Federal do Parané (UFPR) Curitiba — PR - Brasil Abstract. Malicious programs have evolved either in sophistication as in com- plexity level, increasing the rate of successful attacks against computer systems and their users. Such as any benign program, malicious ones need to interact with the underlying operating system so as to perform their intendend activities. Thus, there is a need for understanding which of the performed actions are re- lated to infection procedures, These “suspicious” actions mold the malware’s execution behavior, whose identification is decisive for detection. In this paper, we propose a methodology to detect malware based on behavioral heuristics. We also present tests and results of its application in actual samples. Resumo. Programas maliciosos tém evoluido em sofisticagao e complexidade, aumentando a incidéncia de ataques bem sucedidos contra sistemas computaci- onais ¢ seus usudrios. Como qualquer programa benigno, os programas malici- osos precisam interagir com o sistema operacional de forma a realizar as ativi- dades pretendidas. Assim, faz-se necessdrio compreender quais das acaes efe tuadas estdo envolvidas em processos de infecedo. Tais agdes “suspeitas” com- dem 0 comportamento de execugao do malware e sua identificagdo é crucial na detecgao desses programas. Neste artigo, propée-se uma metodologia para detecedo de malware baseada em heuristicas comportamentais ¢ apresenta-se os testes e resultados obtidos de sua aplicacdo em exemplares reais. 1. Introdugao Programas maliciosos, também conhecidos como malware, sio programas de computador que atuam de forma a subverter o sistema operacional ou a executar ages que beneficiem © atacante (por exemplo, roubo de credenciais da vitima). Dado que malware, em essén- cia, 6 um tipo de programa como qualquer outro programa legitimo, é necessétio conhecer que tipos de agdes executadas por este podem estar envolvidas em processos de infec¢ao. Tais agdes, consideradas suspeitas, quando executadas de forma encadeada levam 20 com- prometimento da vitima, incorrendo em ataques contra a integridade, confidencialidade e/ou disponibilidade dos dados, do sistema ou do usudrio-alvo em questo. A identifica- ho de agGes suspeitas € sua atribuigdo a um processo de infecedo levam a detecgao de uma execucao, proceso ou programa malicioso. A detecgao de programas maliciosos pode ser feita de forma estética ou dinémica, isto &, por meio da andlise do arquivo binério que representa o exemplar do malware ou da 58 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 execugao de tal arquivo em um emulador (engine) ou ambiente controlado (sandbox). A anélise estatica é um procedimento que pode ser bastante custoso, devido ao uso de algo- ritmos de forga-bruta (abordagem greedy) que tentam seguir todos os ramos em um fluxo de programa, exaurindo as possibilidades presentes em saltos ¢ estruturas condicionais, presentes nas instrugdes. De maneira mais simples, a andlise estética pode prover infor mages importantes em uma pré-andlise, seja através de dados extraidos do cabegalho do malware (ofuscagio, nomes de segdes, entropia) ou por dados encontrados no conteiido do binério (chamadas de fungdes efetuadas, porgdes de texto, enderegos IP e de correio. eletrdnico, URLs, etc.). Entretanto, caso o malware sob andlise esteja ofuscado por um empacotador ou cifrador, esta nao terd sucesso a menos que o packer seja removido de antemao. No caso da anilise dinamica, o exemplar de malware é efetivamente executado, ou seja, suas instrugdes so “acionadas” em um emulador por um niimero finito de ciclos ou em uma sandbox por alguns minutos, permitindo que a infeceao ocorra. Dessa forma, © malware pode exibir seu comportamento ¢ 0 mecanismo de monitoragdo pode obter as agdes que sio realmente feitas, evitando 0 custo de se tentar seguir todos os ramos pre- sentes na andlise estética e tornando possfvel a desofuscacao do exemplar. A monitoracao via anélise dindmica consiste em interceptar chamadas de sistema e de API em busca de agdes suspeitas. Quando um certo conjunto de agdes suspeitas é observado, é possivel “marcar” o programa que originou essas agdes ¢ tomar alguma medida cabivel, que va- ria entre emitir um alerta, colocé-lo em quarentena, desinfectar o sistema, entre outras. A observagio das agdes suspeitas depende da definigio de heurfsticas que representem comportamentos a serem correspondidos. Neste artigo, introduz-se uma metodologia para deteccio de programas malicio- sos que se utiliza de heuristicas definidas com base em ages suspeitas, isto é aquelas que sio comumente executadas por malware ow tém o potencial de subverter os sistema alyo. No decorer do trabalho, apresenta-se 0 modelo heuristico criado, as heuristicas propriamente ditas, um estudo de caso envolvendo a andlise dinamica de malware para extracdo dos comportamentos ¢ os testes ¢ resultados da deteccao de programas malicio- sos por meio da aplicacao de aprendizado de méquina. Outras importantes contribuigdes deste trabalho incluem uma abordagem de detecgao bastante simples em relacdo as dis- poniveis, bem como uma extensa revisdo do estado da arte, O restante do artigo esta organizado como segue: na Seco 2, sio mostradas abordagens vistas na literatura para detecgio de malware através de seu comportamento; na Segao 3, € apresentado modelo heuristico proposto em detalhes, os comportamento definidos, suas descrigdes ¢ riscos associados, bem como o algoritmo para detecgao desses comportamentos em programas com base nas heuristicas propostas; na Se¢ao 4, s40 mostrados os testes realizados para verificar a capacidade de deteceao do modelo gerado ¢ a discussao dos resultados obtidos; na Segao 5, sao apresentadas as consideracdes finais deste trabalho. 2. Trabalhos Relacionados [Christodorescu et al. 2005] descreveram um modelo de detecgao de programas mali- ciosos baseado em templates. Estes sao definidos para os seguintes comportamentos: decryption-loop—programas que se desofuscam/decifram em memiéria apés execugio— € mass-mailing—funcionalidade de envio de spam comumente associada a worms. A detecgdo por templates foi feita pela comparagao dos grafos de controle de fluxo (CFG) 59 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 contendo as instrugdes obtidas do malware por disassembling via LDA Pro!. A abor- dagem almejou identificar principalmente malware polimérfico (capacidade de gerar mu- tantes), mas os testes foram limitados a trés familias de malware mutante da época e aos dois templates semanticos mencionados. [¥in et al. 2007] apresentaram Panorama, um sistema para deteccao automatizada de malware por meio de um processo de testes, monitoragdo e anélise de programas em execugio. A parte de testes foi feita pela insergdo no sistema de dados sensfveis “mar- cados” nao direcionados ao programa sob andlise; a monitoracao consistiu em identificar se 0 malware fez algum acesso a esses dados marcados ¢ qual sua ago sobre cles (por exemplo, envio desse dado pela rede visando roubo de informagées); a etapa de ané- lise foi realizada sobre os grafos gerados do fluxo de dados marcados, aos quais foram aplicadas politicas definidas para deteccao de comportamento malicioso. Bssas politicas pretendiam detectar malware especificamente envolvido em vazamento de informagdes da vitima, incluindo senhas, texto, documentos, paginas Web e protocolos de rede. [Ye et al. 2007] apresentaram o Intelligent Malware Detection System (IMDS), um sistema de classificagdo baseado em regras que age sobre as sequéncias de execu- 0 das APIs do Windows. © objetivo principal do IMDS foi o de detectar malware polimérfico ou desconhecido via associagGes encontradas em chamadas de API obtidas diretamente do bindrio em formato PE. Para tanto, calculou-se o suporte ¢ a confianga relacionados ao encadeamento das APIs, atribuindo o rétulo “maligno” ou “benigno” ao exemplar que realizou tais chamadas. A interpretacdo do comportamento executado pelo conjunto de chamadas de API careceu de interpretago adicional. Os autores compararam 08 resultados obtidos na detecedo via IMDS com alguns antivirus famosos e da técnica de classificagao por associagao a priori com outros algoritmos de aprendizado de maquina. [Jacob et al. 2008] apresentaram a deteceio comportamental de malware como um processo de inferéncia, uma vez que tentou-se identificar quais agdes de um pro- grama foram realizadas com intuito de atacar o sistema ou seus usuérios. Os autores discutiram os problemas deste tipo de detecg’io que, embora permitisse a identificagio de exemplares desconhecidos, requeria a definigao de comportamentos capazes de separar adequadamente os programas benignos dos maliciosos. O processo de definigio desses comportamentos foi complexo e envolveu a criagao de diversos perfis, ou heuristicas, que detectassem tipos distintos de malware. Para abordar o problema, os autores fizeram um levantamento da literatura sobre o tema e criaram uma taxonomia voltada para a detec fo de malware baseada em comportamento. A taxonomia proposta abrangeu a extracio de dados via andlise estética e dinamica, atuagao sobre instrugdes, fungdes, chamadas de sistemas, grafos de fluxo ¢ abstragdes algébricas, ¢ detecedo por algoritmos heuristi- cos, classificadores diversos, sistemas especialistas € verificagdio de modelos. Com isso, teve-se um panorama bastante completo do dominio entre 1994 e 2007 [Griffin et al, 2009] apresentaram Hancock, um sistema para geragdo automstica de assinaturas para detecgao de malware. Hancock usava cadeias de caracteres de 48 bytes para identificar sequéncias de cédigo maliciosas dentro de um arquivo, generalizando 0 processo de comparaco por hashes, o qual em geral requer uma assinatura por exemplar. A fim de minimizar a quantidade de falsos-positivos, Hancock comparava as potenciais, Theepa: //waw hex rays con/products/ida/index. shtml 60 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 assinaturas de 48 bytes com um modelo criado a partir de programas conhecidamente benignos, descartando aquelas que apresentam correspondéncia em tal modelo. Para gerar as assinaturas, o sistema dependia que o exemplar esteja desofuscado (2 fim de que nio fosse criada uma assinatura do packer) e que as instrugées tivessem sido obtidas por disassembling (via IDA Pro). Testes do sistema resultaram em taxa de falsos-positivos prdxima de zero, porém baixa cobertura de deteccio, dada a ofuscagao de exemplares ¢ a variedade de familias. Mostrou-se, com isso, que solugdes para a geracio automitica de assinaturas, sem a intervengao humana e sem a execugdo do exemplar (andlise dindmica) ainda nao so suficientemente maduras para lidar com o problema de detecgao de malware [Treadwell and Zhou 2009] propuseram uma abordagem para deteccao por heu- risticas cujo alvo é malware com packers. Esse tipo de exemplar, ao ser ofuscado, apre- senta certos padres em seu cabegalho que podem prover pistas para sua identificagao. Os autores se aproveitaram disto para criar detectores que atuavam antes do processo de desofuscacao, impedindo assim a execugao do programa malicioso. Com base em oito caracteristicas extraidas estaticamente do cabegalho PE de malware, foi calculado um nf- vel de risco inicial baseado na presenga dessas que, se alcangasse um determinado limiar, alertava o exemplar como suspeito. [Bazrafshan et al. 2013] discutiram as limitagGes da deteccao de malware por cor- respondéncia de padroes, isto 6, assinaturas, bem como abordagens da literatura baseadas, em heuristicas. ‘Tais heurfsticas podem ser baseadas em chamadas de fungdes de APIs, grafos de controle de fluxo, n-gramas, opcodes, ou apresentar caracterfsticas hfbridas. ssas caracteristicas foram utilizadas para se identificar 0 comportamento de programas maliciosos e benignos, aos quais so aplicados técnicas de aprendizado de maquina. Os autores expuseram as desvantagens das técnicas disponfveis na literatura, como grafos muito grandes, alto custo computacional, quantidade de regras criadas, conjuntos de trei- namento pequenos, entre outras. [Adkins et al. 2013] propuseram um algoritmo para detectar programas malicio- sos por meio da descoberta de trechos de cédigo reutilizados. Este algoritmo, denominado BBCP, opera em blocos basicos extrafdos de binarios, os quais sdo entao processados de forma a gerar uma “assinatura”. O objetivo foi o de se identificar variantes ou fungdes maliciosas compartilhadas entre executaveis. Os blocos basics foram obtidos pelo IDA Pro € as instrugdes foram normalizadas ¢ agrupadas em 4-gramas para a produgao de hashes, os quais foram utilizados na comparagao por similaridade (calculada pelo indice de Jaccard).. [Ahmadi et al. 2013] introduziram um método de detecgdo heuristico que se utili- zava de mineragao de padrdes iterativos de chamadas de API. Os exemplares de malware foram executados em maquina virtual ¢ as chamadas de API realizadas por estes foram monitoradas e armazenadas em tragos comportamentais. Cada API foi mapeada para um identificador numérico tinico a ser utilizado em uma sequéncia de deteceao. Cada sequén- cia foi entao representada por um conjunto de APIs chamadas em ordem e cuja frequéncia de ocorréncia obedecia a um limiar determinado. A classificagéo de um programa como malicioso envolveu associar a ele uma ou mais sequéncias rotuladas como tal. Esse pro- cesso foi feito por meio do algoritmo RandomForest. [Alazab 2015] se propds a diferenciar programas maliciosos de benignos por meio 61 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 de assinaturas baseadas em chamadas de API extraidas através de disassembling pelo 1DA Pro. Essa detecgao foi feita calculando-se a distancia entre sequéncias de chamadas de API a frequéncia em que elas ocorreram em ambas as classes. Assim, foi possivel obter a similaridade dos exemplares (maliciosos e benignos) avaliados, para os quais foi tam- bém aplicado o algoritmo KNN. Embora os testes, diferente de outros trabalhos, tenham sido feitos em Windows 7, a base de exemplares maliciosos era muito antiga para ser considerada relevante perante os exemplares atualmente observados. [Prelipcean et al. 2015] apresentaram um método estatistico para detecedo de comportamentos de execugao especificos em programas. Para gerar os tragos compor- tamentais, os autores executaram os exemplares (malware e programas “limpos”) em am- biente controlado e obtém suas chamadas de API. Conjuntos de chamadas presentes na sequéneia que compée um trago, as quais podem levar a um comportamento malicioso, foram denominados “contextos”. Verificou-se entao a ocorréncia dos contextos nos tra- os capturados e analisou-se a probabilidade de que tais contextos ocoressem em tragos advindos de programas limpos. Dependendo da frequéncia de apari¢ao dos contextos em exemplares desconhecidos ¢ da probabilidade deles em tragos limpos, tais exemplares puderam ser considerados benignos, suspeitos ou maliciosos. A taxa de deteceao obtida com a aplicagao do método foi préxima de 80%, com falsos-positivos menores que 2%. [Khodamoradi et al. 2015] propuseram uma técnica para detecgao de malware metamérfico baseada em assinaturas feitas a partir de estatfsticas sobre contagem de ins- trugGes do programa analisado. As instrugdes foram obtidas por andlise estitica, sua frequéncia foi calculada e os opcodes foram utilizados como caracterfsticas para classifi- cagao por meio de seis algoritmos de arvores de decisio. O treinamento e a classificagao feitos da maneira proposta foram répidos, mas o método utilizado poderia ser facilmente subvertido por programas maliciosos evasivos que se utilizassem de substituigao de ins- trugdes. Além disso, os exemplares utilizados na avaliagao corespondem em sua maioria a malware antigo, os quais nao s40 mais atuantes. [Feng et al. 2015] apresentaram HRS, uma plataforma hibrida que fazia uso de modelos baseados em hash, tegras ¢ Support Vector Machines para detecgao de malware. 0 primeiro modelo foi o tradicional utilizado, de comparar hashes com uma lista de exem- plates conhecidamente maliciosos ou benignos, enquanto que os dois tltimo pretendiam detectar exemplares desconhecidos por meio de heurfsticas ou treinamento de classifica- dores gerados a partir de n-gramas advindos de scanning do bindrio. Os resultados do teste com as regras mostraram uma taxa de verdadeiros-positivos de 76.10%. [Fan et al. 2016] introduziram uma plataforma para detecgio de malware que se utilizava de mineracio de dados para encontrar padrdes em sequéncias de instrugGes ex- trafdas de arquivos do tipo PE. O arquivo a ser analisado passava por um processo de disassembling seguido pelo mapeamento das instrugGes para um identificador numérico. Tais identificadores, na ordem em que aparecem, representavam um programa e foram filtrados de forma a se retirar instrugdes que nao cram titeis para a deteceao, De acordo com a frequéncia das instrugées, caleulou-se um peso para auxiliar na classificago entre maligno e benigno, Subsequéncias encontradas em malware foram utilizadas no processo de detecedo, que se utilizou de uma variagéo do algoritmo “k-vizinhos mais préximos” (KNN) denominada por ANN, onde o parimetro “k” foi escolhido automaticamente. Os resultados em comparagdo com outros classificadores baseados em distancia foram mar- 62 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 ginalmente melhores. Cabe ressaltar que quase a totalidade dos trabalhos relacionados € ou atrelado & anélise estitica com IDA Pro—dependente da qualidade do disassembling e prejudicados pela ofuscagao presente em malware modernos—ou executado em ambientes virtualiz: dos com o sistema operacional Windows XP, mesmo na literatura mais recente. O traba- Iho desenvolvido neste artigo se utiliza nao s6 de heuristicas mais genéricas para definir comportamentos suspeitos, como executa exemplares mais atuais em sistema operacional, Windows com kemel NT 6.x (Windows Vista até o atual 10). Por ser feito com base em andlise dinimica, evita-se que técnicas de ofuscagao atrapalhem a extragao de com- portamento, Entretanto, como qualquer abordagem baseada na execugio de malware, hi limitagdes para o caso de exemplares que aplicam técnicas evasivas (anti-andlise, anti- forense, sleep, etc.) 3. Modelo Heuristico ‘Uma heurfstica pode ser vista como um modelo, processo ou método composto por uma ou mais regras que visam encontrar a solugo para um dado problema com base em in- formagdes altamente especializadas. O resultado da aplicagdo de um conjunto de heu- risticas pode ser uma aproximag’o para um programa especffico, por exemplo, quais so as agdes executadas por um programa que determinam se este € malicioso ou nio. O modelo heurfstico proposto neste artigo visa agrupar caracterfsticas e informagoes que serdo utilizadas para descrever uma ago suspeita genérica, Esse modelo servird de base para a definigao das ages suspeitas que, por sua vez, serio usadas como insumo para um algoritmo de andlise comportamental de programas. O algoritmo recebe dados sobre a execucao de um determinado programa monitorado (também chamado de “trago") € aplica regras de comparagio a fim de identificar quais das heuristicas correspondem as agdes observadas. Com isso, ao fim da execucao do algoritmo de andlise comportamen- tal, obtém-se um vetor de comportamentos exibidos pelo programa monitorado, Tal vetor permite que se detecte se o programa é malicioso em um passo posterior. O modelo heuristico desenvolvido trata-se de uma estrutura de dados e pode ser fa- cilmente armazenado em um banco de dados para facilitar as atividades de gerenciamento (insergao, remogao ¢ edigdo) destas. Para representar tal estrutura de dados, modela-se um conjunto de campos com tipos espectficos (em forma de tabela) que possa especificar qualquer heuristica definida, isto &, agGes suspeitas genéricas. Assim, pode-se partir para © processo de detecgao de comportamentos suspeitos exibides por programas, visando idemtificar programas maliciosos ou programas que apresentam atividades que potencial- mente danosas a um sistema “alvo” (méquina da vitima). A estrutura que especifica as, caracterfsticas que uma dada heurfstica deve conter ¢ ilustrada na Tabela 1 3. . Descrigéo das caracteristicas As descrigies dadas a seguir detalham as caracteristicas elicitadas (vistas na Tabela 1) para a definigao geral de uma heuristica de detecgao comportamental * Identificador da heurfstica: mimero inteiro crescente que serve como identifica- dor da heuristica (¢ chave priméria de uma possivel tabela de heurfsticas em um. banco de dados); 70 estudo de caso aqui realizado utllizou-se do Windows 7. 63 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 Tabela 1. Modelagem dos campos (caracteristicas) que representam uma heuris- tica para identificacdo de comportamento suspeito. ‘Campo Tipo Tdentificador da heuristica | numero inteiro sequencial Nome da heuristica r6tulo composto separado por “_ Desctigao explicagao do comportamento exibido Risco associado niimero inteiro no intervalo [1..5] Categoria tipo geral do comportamento Padrao para detecgao expresso regular ‘+ Nome da heurfstica: 0 nome é composto pelo evento (ex.: modificagao, roubo, evasio, etc.) e/ou comportamento exibido (ex.: persisténcia, exfiltragao de cre- denciais, anti-debugging, etc.), alvo da agao do programa monitorado (ex.: Re- gistro, sistema de arquivos, processos, etc.) € variagdo, representada por um né- mero inteiro sequencial que indica variantes de comportamentos que podem ser enquadrados no mesmo nome. Esta caracteristica foi inspirada na taxonomia de comportamentos suspeitos definida por [Grégio et al. 2015]; * Descrigdo: indica que tipo de agao suspeita programa monitorado exibiu, per- mitindo que se tenha informagdes de mais alto nivel sobre o comportamento apre- sentado e a extensdo do dano causado por uma possfvel infec¢ao; * Risco associado: define o nivel do risco relacionado & atividade monitorada, po- dendo servir para identificar uma ameaga ou compor um fndice com 0 somaté- rio dos riscos atribuidos a um determinado proceso. Os valores de risco vao de 1 (menos grave) até 5 (mais critico) e foram inspirados na tabela apresen- tada por [Grégio et al. 2016], na experiéncia dos autores em anos de andlise de malware € na observagao de que determinados comportamentos aparecem mais frequentemente associados a programas maliciosos; ‘* Categoria: define uma classe para explicitar o tipo de comportamento observado, permitindo o agrupamento de exemplares similares ¢ a motivagao por trés da re- ferida agio; + Padrao para detecgo: consiste em uma string especialmente criada para servir como um meio répido para se detectar a ocorréncia de um comportamento sus- peito. E a regra que aciona a heuristica definida nos demais campos. 3.2. Detecgao Comportamental A detecedo comportamental € feita pela definicdo de comportamentos suspeitos associ- ados & execugio de programas maliciosos, os quais sio entio mapeados cada qual para um padrio (expresso regular ou cadeia de caracteres representativa). Este, por sua vez, € usado para se criar um remplate heuristico cujo conjunto produzido & comparado com © trago comportamental de programas analisados dinamicamente, A ocorréncia de um dado template ativa seu comportamento em um vetor associado ao programa em questio €, a0 final dessa andlise, tem-se todas as atividades suspeitas efetuadas por cada programa. Mais adiante, os vetores rotulados como associados a programas maliciosos ou benignos sio utilizados no treinamento de um classificador. Os comportamentos definidos inicial- mente, para os quais templates heuristicos foram gerados, so os seguintes: 64 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 10, 12, 13, 14. 16. 17. 19. 20. 21. 22. 23. 24. Evasao: modificagio da configuragao de notificagao das atualizagées do sistema. (Risco: 4) Evasao: modificagao da configuragao do firewall nativo do sistema. (Risco: 4) Evasio: chama o comando sc. exe para modificar configuragdes ou aplicagdes do sistema. (Risco: 3) Evasao: chama 0 comando net sh. exe para modificar configurag6es privilegi- adas do sistema, (Risco: 3) Evaso: chama um terminal para execugdo de comandos ou programas. (Risco d) Eyasao: remogao de evidéncias do comprometimento do sistema. (Risco: 2) Evasao: desabilita a inicializagao em modo de seguranga. (Risca: 3) Subversio do sistema operacional: altera chaves de Registro para modificar po- Iiticas de seguranga vigentes. (Risco: 5) Subversao do sistema operacional: altera chaves de Registro para instalar auto- maticamente novos controles ActiveX. (Risca: 5) Subversao do sistema operacional: altera chaves de Registro para abrir automa- ticamente certos tipos de arquivo. (Risco: 4) Subversio do sistema operacional: altera comandos ou opgdes nos menus de contexto de arquivos do Windows no Registro. (Risco: 3) Subversao do sistema operacional: carrega um driver na vitima, que pode ser um rootkit. (Risco: 5) Subversio do sistema operacional: tenta executar arquivo . exe, criando novo proceso. (Risca: 2) Subversio do navegador: altera configuragdes de zonas de seguranga do Internet Explorer no Registro. (Risco: 4) Subversio do navegador: insere barras de ferramentas ou Browser Helper Ob- jects no Internet Explorer. (Risco: 4) Subversio do navegador: altera configuragdes de servidor de proxy do Internet, Explorer no Registro, (Risco: 4) Subversio do navegador: altera o arquivo de hosts para evitar 0 acesso a sites legitimos ou redirecionar para sites maliciosos. (Risco: 5) Subversio do navegador: carrega um arquivo do tipo PAC (Proxy Auto Configu- ration) pata redirecionar a navegagao do usuétio, © que pode ser usado para roubar ctedenciais de Internet Banking, (Risco: 4) Subversio das configuracées de Internet: altera zonas de seguranga do Internet Explorer no Registro. (Risco: 4) Persisténcia: modifica o Registto ou sistema de arquivos para executar na inicia- lizagao do sistema. (Risco: 3) Persisténcia: altera chaves de Registros do WinLogon para iniciar automatica- mente com o Windows. (Risco: 4) Persisténcia: altera arquivos .INI ou Registros equivalentes para iniciar automa- ticamente com o Windows. (Risco: 4) Manutengao: verifica conectividade com a rede externa. (Risco: 1) Manutengao: cria um objeto de sincronizagao do tipo mutex. (Risco: 1) Disfarce: modifica arquivos legitimos para se disfargar e executar agdes suspeitas. (Risco: 5) 65 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 E importante notar que nenhuma dessas atividades sozinhas garante que o pro- grama em execugao € malicioso. Entretanto, quando analisadas sob a dtica da execugao de um programa sabidamente malicioso ou quando consideradas em conjunto, pode-se inferir um maior grau de suspeigdo a tal programa e observé-lo mais atentamente. Um exemplo de template criado seguindo 0 modelo proposto pode ser visto na Tabela 2. Essa heurfstica representa o comportamento da persisténcia, isto é, a capacidade de um programa executar apés reinicializagao ou desligamento da méquina. Programas maliciosos fazem uso desse comportamento para “‘sobreviverem” na vitima (em vez de residirem na meméria somente quando executados da primeira ver). Pode-se observar que a ativagio de uma dada heuristica é passivel de ocorrer por meio de mais de um padrao para detecgao. Tabela 2. Exemplo de aplicaco do modelo heuristico na criagao de um detector do comportamento de persisténcia via modificacao de chaves pré-definidas do Registro. ‘Campo Tipo Tdentificador da heuristica [ 004 Nome da heuristica persistencia_registro Descrigao modifica o Registro para executar na inicializagao do sistema Risco associado 3 Categoria persisténcia Padrao para deteceao ~ #\Software\Microsoft\Windows ND\ 3.3. Algoritmo de Identificagao de Comportamento Suspeito Uma vez criados, os templates sio utilizados para encontrar instancias desses comporta- mentos de acordo com um algoritmo definido, O Algoritmo 1 ilustra os passos efetuados com a finalidade de se identificar comportamentos suspeitos em programas monitorados por andlise dindmica. 4. Testes e Resultados Os testes foram realizados com 2.959 amostras divididas em 2.394 maliciosas e 565 be- nignas.rotuladas como maliciosas foram coletadas no decorrer de 2015 ¢ sdo provenientes do laboratério de andlise de malware da Bluepex. As amostras rotuladas como benig- nas incluem programas nativos do sistema operacional Windows, aplicagées disponiveis para download em sites Web e programas do SysInternals®. Todas os programas foram submetidos para andlise dindmica em ambiente de testes implantado para validagio dos templates heuristicos com base no sistema Cuckoo Sandbox [Guarnieri 2013]. A esco- tha desse sistema deve-se & facilidade de se customiz4-lo para que, dadas as heurfsticas implementadas, se verifique se tal comportamento € exibido pelo programa analisado. A configuragao do Cuckoo foi feita sobre o emulador QEMU [Bellard 2005] com sistema Sheps: //eechnet microsofe.com/en-us/sysinternals/bb545021.aspx 66 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 Algorithm I; Identificagio de comportamento suspeito 1 ENTRADA: Traco obtido da monitoragao da execugao de um programa ou chamadas de API capturadas em tempo real. 2 SAIDA: Comportamento encontrado e pontuagao de risco associada, 3 Seja A = {a1, a2,..., ayy} © conjunto de agdes presentes em um trago de anélise dinamica ou interceptadas por um monitor de chamadas de APL 4 Seja I = {hy, ha, ..., has} 0 conjunto de heuristicas definidas que representam ages suspeitas 5 risco— 0 6 comportamentos + vetor cujas posigdes representam cada h; € H ¢ sio inicializadas com 0 7 for a, ¢ Ado + for h, € Hdo ’ if h; Ca; then 10 comportamentos[hs] — 1 " risco ¢ risco +h,.risco 12 return comportamentos,risco operacional Windows 7. Cada exemplar permaneceu em execuco por no maximo quatro minutos ¢ gerou resultados que passaram por uma etapa de pés-processamento, a fim de se identificar os comportamentos exibidos. Os templates heuristicos aplicados aos tragos de andlise dindmica produziram os resultados mostrados na Tabela E interessante notar que as heuristicas so ativadas tanto em malware como be- nignos, Isso ja é esperado, pois um programa malicioso nada mais é do que um programa como outro qualquer, porém com intengao de efetivar um “ataque”. O que muda é 0 con- junto de comportamentos exibidos e sua frequéncia para ambos os tipos de programas, ‘© que fica bem explicito na tabela. As duas primeiras linhas da tabela, que possuem os valores mais altos para ambas as classes de programas, sdo importantes para a discus- sio da aplicagao de heuristicas comportamentais na detecgao de malware: nota-se que nao se pode afirmar que a criagio de um novo processo é uma atitude maliciosa, mas a maioria dos exemplares de malware o faz; os programas legitimos, por sua vez, ndo costumam criar novos processos diferentes dos seus préprios apés execugio inicial. Da mesma forma, enquanto que a criagao de um objeto de sincronizagao (mutex) nao é inco- mum, uma anélise mais detalhada, por exemplo, obtendo-se seu nome, pode revelar uma determinada familia de malware, pois estes geralmente fazem uso de mutexes para evitar reinfecgdes e crashes. Sete dos 25 comportamentos definidos nao foram identificados no conjunto de exemplares utilizado nos testes. Isso pode ser ocasionado por diversos fatores: nenhum programa realmente apresentou tal comportamento, o tempo de execugao foi insuficiente, ‘a monitoragao € limitada, entre outros. Porém, a auséncia de um dado comportamento nao afeta a proposta deste trabalho, uma vez que as heurfsticas podem ser implementadas em outros sistemas de andlise dindmica ou como um engine proprio. Para fins de valida- ao desta proposta, é suficiente mostrar que ha possibilidade de se diferenciar programas maliciosos de benignos por meio da detecgao de seu comportamento. Assim, calculou-se 67 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 Tabela 3. Porcentagem de exemplares maliciosos e benignos que ativaram heu- risticas comportamentais. © numero entre parénteses nas linhas da coluna Heuristica” representa o comportamento apresentado na lista da Secao 3.2. Heuristica Malware | Benigno Subversio do SO (13) 873% |_15,6% Manutengao 24) FI 2% |_175% Subversao do navegador (16) | _44,7% | _ 1.4% Evasio (1) 19.5% | __12% Persisténcia (20) 60% | _ 1.6% Subversio do SO (12) 46% [11% Evasio @ 45% | 02% Evasao (5) 2.3% | __O0A% ‘Subversao do navegador (15) 16% | 0.2% Evasio @) 16% |__0,2% Subversio do SO (10) 16% |__0.2% ‘Manutengao (23) 08% x Subversio do SO @) 02% Persisténcia (22) x Evasio (6) x ‘Subversao do navegador (17) x ‘Subversio do SO (IT) 04% Subversio do SO () 0.2% a média do valor de risco encontrado nos programas maliciosos ¢ benignos, obtendo-se 5,77 para os primeiros ¢ 0,75 para os titimos. Cabe ressaltar que os programas pertencen- tes ao Sysinternals (parte do subconjunto dos benignos) causaram aumento na ativacio das heurfsticas para este grupo, pois executam atividades privilegiadas (como carregar drivers) ou fazem muitas alteragdes em Registros e no sistema de arquivos que podem ser consideradas “administrativas” (pela prdpria natureza dessas ferramentas), mas que também so comumente observadas em malware. Conforme mencionado, a aplicagao do algoritmo de detecgao heuristica a cada um dos tragos de execugao dos programa monitorado foi utilizada para se gerar um vetor bi- nério de comportamentos, no qual os indices representam comportamentos ¢ seus valores (0” ou “1”) a auséncia ou presenga, respectivamente, do comportamento em questo. A Listagem | ilustra um vetor de comportamentos associado a um programa malicioso outro a um programa benigno*. Listagem 1. Exemplos de vetores comportamentais para exemplar malicioso (ré- tulo 'm’) na linha 1 e benigno (‘g') na linha 2. 0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,0, 0,0 ,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,g Os vetores rotulados servem de entrada para um classificador baseado no Teorema de Bayes, que por sua vez faz uso do conceito de probabilidade condicional: P(A | B) 0 arquivo CSV com os vetores utilizados neste artigo, bem como a lista de MDS dos exemplares est2o disponiveis em: http://www. int 68 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 6 a probabilidade de que um evento “A” ocorra dado que o evento “B” j4 ocorreu. possivel derivar o Teorema de Bayes a partir de probabilidade condicional e probabilidade conjunta, chegando & seguinte fSrmula [Downey 2012]: P(A| B) P(A) P(B | A) P(B) O classificador Bayesiano costuma unir rapidez na geragio do modelo com bom nivel de precisio, sendo capaz de atuar em casos nos quais hé alta dimensi- onalidade (John and Langley 1995]. Para os testes realizados, usou-se a implemen- tagdo do algoritmo Naive Bayes disponivel no framework de mineragio de dados WEKA [Hall et al. 2009]. O parametro passado para treinamento ¢ teste foi a validagao cruzada utilizando 10 pastas, resultando em 88.44% de exemplares corretamente cl ficados. Consequentemente, 11,56% deles foram incorretamente clasificados, em parte devido as j4 mencionadas ferramentas do Sys/nternals. A Tabela 4 mostra os resultados da classificagio de maneira mais detalhada, considerando as duas classes de programas presentes no conjunto de dados. Tabela 4. Resultados da classificagéo dos programas em malware ou benigno, onde TP corresponde aos verdadeiros-positivos e FP aos falsos-positivos. TP | FP | Precisao | Recall | F-Measure | Area ROC | Classe 90,1% | 18.4% | 95.4% [90.1% | __0,927 0,933 _| Malware 316% | 99% | 660% [81.6% | 0,729 0,933 | Benigno A avaliagio dos resultados da tabela mostram que, enquanto 90,1% dos progra- mas maliciosos foram corretamente classificados como tal, 18,4% dos programas benig- nos foram considerados malware. Esse resultado pode ter um impacto grande no uso de um sistema de detecgdo automatizado por usuérios. No entanto, deve-se considerar que os vetores usados para classificagao foram gerados com base na execugao do programa em uma sandbox, 0 que traz. diversas implicagoes (como a taxa de interagdes com os pro- gramas benignos, bem diferente do uso legitimo feito por um ser humano) que podem no se tomar um problema na vida real. Mesmo assim, é um ponto importante a se levar em conta na implementagao deste tipo de abordagem para detectores em tempo real, 0 que est4 fora do escopo do presente artigo. Se considerarmos exclusivamente as habilidades de detecgdo de programas maliciosos, a qualidade (calculada através da F-Measure) do classificador foi boa: 92,7%. Esse resultado também & corroborado pela érea sob a curva ROC, onde quanto mais préximo de 1 for o valor, mais exatidao se tem. 5. Conclusao Neste artigo apresentou-se o estado da arte em detecgdo de malware baseada em heuristi- cas comportamentais, discutindo-se as limitagdes das abordagens existentes na literatura. Foi proposto um modelo de deteccao heurfstica dependente de comportamentos de alto nivel, os quais descrevem agdes feitas por um programa durante o proceso de infeceao da vitima, Foram definidos comportamentos comumente exibidos pot malware em execu- fo, aos quais foram atribuidos valores de risco. O célculo do risco associado a programas maliciosos e legitimos mostrou que hé uma diferenga considerdvel entre ambos, podendo 69 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 servir no futuro para o estabelecimento de limiares dinamicos que auxiliem na emissio de alertas quanto a execugao de programas suspeitos. Introduziu-se também um algoritmo que faz. uso de templates heuristicos a fim de identificar comportamentos pré-definidos durante a execugdo de programas. A avaliagio de programas reais, rotulados como ma- liciosos ou benignos, serviu para a geragao de vetores bindrios explicitando a presenga ou auséncia da observagio de cada um dos comportamentos definidos. Tais velores fo- ram utilizados como entrada em um algoritmo de classificagao Bayesiana, que obteve taxa de acertos da ordem de 88,4% no conjunto de dados disponivel (exemplares coleta- dos em 2015). Os resultados mostram que é vidvel aplicar heurfsticas comportamentais, de alto nivel para a deteceao de malware em tempo real, seja em um engine de moni- toragao stand-alone ou como complementagao de antivirus por assinaturas, Trabalhos futuros incluem o desenvolvimento de um protstipo que atue em tempo real, de forma a se medir 0 impacto no desempenho—atenuado pelo fato de que, uma vez que 0 mo- delo esta treinado, a classificagao Bayesiana é praticamente instantanea e que os antivirus 4 realizam a monitoragao das chamadas de sistema e/ou de APIs em nivel privilegiado, bastando-se implementar algum tipo de dicionério de comportamentos que gere os vetores em meméria—e a consideragdo de outros “niveis” de avaliagdo de comportamento, como nomes de arquivos, valores de chaves de Registro e objetos do tipo mut ex pré-definidos, bem como o encadeamento de comportamentos. Vale ressaltar que a abordagem proposta, embora simples ¢ efetiva, necessita ser trabalhada de forma a minimizar drasticamente a quantidade de falsos-positivos de malware, isto é, a detecgao incorreta de programas be- nignos como maliciosos, a fim de que possa ser utilizada em modo stand-alone e sem a supervisdo de uma terceira parte (usuério, mecanismo de seguranga ou profissional). Referéncias Adkins, F, Jones, L., Carlisle, M., and Upchurch, J. (2013). Heuristic malware detec- tion via basic block comparison. In Malicious and Unwanted Software: "The Ameri- cas"(MALWARE), 2013 8th International Conference on, pages 11-18. Ahmadi, M., Sami, A., Rahimi, H., and Yadegari, B. (2013). Feature. Computer Fraud & Security, 2013(8):11-19, Alazab, M. (2015). Profiling and classifying the behavior of malicious codes. J. Syst. Softw., 100(C):91-102. Bazrafshan, Z., Hashemi, H., Fard, S. M. H., and Hamzeh, A. (2013). A survey on heuristic malware detection techniques. In Information and Knowledge Technology (IKT), 2013 5th Conference on, pages 113-120. Bellard, F. (2005). Qemu, a fast and portable dynamic translator. In Proceedings of the Annual Conference on USENIX Annual Technical Conference, ATEC "05, pages 41-41, Berkeley, CA, USA. USENIX Association. Christodorescu, M., Jha, S., Seshia, S. A., Song, D., and Bryant, R. E. (2005). Semantics- aware malware detection. In Proceedings of the 2005 IEEE Symposium on Security and Privacy, SP "05, pages 32-46, Washington, DC, USA. IEEE Computer Society. Downey, A. B. (2012). Think Bayes: Bayesian Statistics Made Simple. Green Tea Press. Fan, Y., Ye, Y., and Chen, L. (2016). Malicious sequential pattern mining for automatic malware detection. Expert Syst. Appl., 52(C): 16-25 70 (©2016 SBC — Soe. Bras, de Compuragao XVI Simpésio Brasileiro em Seguranga da Informago e de Sistemas Computacionais — SBSeg 2016 Feng, Z., Xiong, S., Cao, D., Deng, X., Wang, X., Yang, ¥., Zhou, X., Huang, Y., and Wo, G. (2015). Hrs: A hybrid framework for malware detection. In Proceedings of the 2015 ACM International Workshop on International Workshop on Security and Privacy Analytics, IWSPA "15, pages 19-26, New York, NY, USA. ACM. Grégio, A., Bonacin, R., de Marchi, A. C., Nabuco, O. F, and de Geus, P. L. (2016). An ontology of suspicious software behavior. Applied Ontology, 11(1):29-49. Griffin, K., Schneider, S., Hu, X., and Chiueh, T-C. (2009). Automatic generation of string signatures for malware detection. In Proceedings of the 12th International Sym- posium on Recent Advances in Intrusion Detection, RAID ’09, pages 101-120, Berlin, Heidelberg. Springer-Verlag. Grégio, A.R. A., Afonso, V. M., Filho, D. S. F, Geus, P. L. d., and Jino, M. (2015). Toward a taxonomy of malware behaviors. The Computer Journal, 58(10):2758-2777. Guarnieri, C. (2013). Cuckoo sandbox, hetp: //www.cuckoosandbox.org/. Acesso em junho/2016, Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., and Witten, I. (2009). The weka data mining software: an update. ACM SIGKDD Explorations Newsletter, 11(1):10-18, Jacob, G., Debar, H., and Filiol, E, (2008). Behavioral detection of malware: from a survey towards an established taxonomy. Journal in Computer Virology, 4(3):251— 266. John, G. H. and Langley, P. (1995). Estimating continuous distributions in bayesian clas- sifiers. In 11° Conference on Uncertainty in Artificial Intelligence, pages 338-345. Khodamoradi, P, Fazlali, M., Mardukhi, F, and Nosrati, M. (2015). Heuristic meta- morphic malware detection based on statistics of assembly instructions using classifi- cation algorithms. In Computer Architecture and Digital Systems (CADS), 2015 18th CSI International Symposium on, pages 1-6. Prelipcean, D. B., Popescu, A. S., and Gavrilut, D. T. (2015). Improving malware detec- tion response time with behavior-based statistical analysis techniques. In 2015 17th International Symposium on Symbolic and Numeric Algorithms for Scientific Compu- ting (SYNASC), pages 232-239. Treadwell, S. and Zhou, M. (2009). A heuristic approach for detection of obfuscated malware. In Proceedings of the 2009 IEEE International Conference on Intelligence and Security Informatics, IS'09, pages 291-299, Piscataway, NJ, USA. IEEE Press. Ye, ¥., Wang, D., Li, T., and Ye, D. (2007). Imds: Intelligent malware detection system. In Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD '07, pages 1043-1047, New York, NY, USA. ACM. Yin, H., Song, D., Egele, M., Kruegel, C., and Kirda, E. (2007). Panorama: Capturing system-wide information flow for malware detection and analysis. In Proceedings of the 14th ACM Conference on Computer and Communications Security, CCS "07, pages 116-127, New York, NY, USA. ACM. n (©2016 SBC — Soe. Bras, de Compuragao

You might also like