Mostrar o rexistro simple do ítem

dc.contributor.advisorAndrade Canosa, Diego
dc.contributor.advisorFraguela Rodríguez, Basilio
dc.contributor.authorFernández-Arruti Gallego, Pedro
dc.contributor.otherEnxeñaría informática, Grao enes_ES
dc.date.accessioned2021-02-17T15:21:56Z
dc.date.available2021-02-17T15:21:56Z
dc.date.issued2020-08
dc.identifier.urihttp://hdl.handle.net/2183/27336
dc.description.abstract[Resumen] Los algoritmos de hashing se utilizan habitualmente en el ámbito de la ciberseguridad para encriptar información secreta, por ejemplo, se usan para la encriptación de todo tipo de contraseñas. Por este motivo, los atacantes de sistemas informáticos suelen idear y poner en práctica medios para desencriptar códigos hash. En todos ellos es necesario utilizar recursos computacionales de altas prestaciones, pues una forma habitual de ataque consiste en encriptar varias contraseñas candidatas obteniendo su código hash correspondiente, para compararlo con el código hash objeto del ataque. Hashcat es una herramienta de código abierto que implementa una gran variedad de estos ataques. Para hacer un uso eficiente de los recursos computacionales disponibles en una plataforma dada, Hashcat utiliza principalmente la plataforma de paralelización OpenCL. Esta plataforma es un estándar que permite explotar las capacidades paralelas de todo tipo de procesadores multinúcleo y de tarjetas gráficas. Sin embargo, el soporte de OpenCL por parte de muchos candidatos ha decaído en los últimos años, siendo en algunos casos inexistente y en otros deficiente. Esta falta de soporte de OpenCL es especialmente relevante en las tarjetas gráficas Nvidia, donde el propio fabricante ofrece una alternativa propietaria llamada CUDA. En este trabajo exploraremos las posibilidades de reemplazar el uso de OpenCL por el uso de CUDA en hashcat. Estudiaremos hasta qué punto podemos mejorar el rendimiento de la herramienta utilizando CUDA. Para ello deberemos realizar tres tareas fundamentales: (1) Una tarea de ingeniería inversa para entender cómo funciona Hashcat internamente y el grado de soporte que existe para la tecnología CUDA. Esta tarea es necesaria debido a la escasa documentación que la aplicación aporta para sus desarrolladores. (2) Una tarea de análisis de rendimiento de la herramienta Hashcat, y (3) efectuar una propuesta de mejora del soporte de CUDA dentro de la aplicación, estudiando el efecto que esta mejora puede tener en el rendimiento.es_ES
dc.description.abstract[Abstract] Hashing algorithms are commonly used in the field of cybersecurity to encrypt secret information, for example, they are used to encrypt all kinds of passwords. For this reason, computer system attackers often devise and implement means to decrypt hash codes. In all of them it is necessary to use high-performance computing resources, since a common form of attack is to encrypt several candidate passwords obtaining their corresponding hash code, to compare it with the hash code that is the object of the attack. Hashcat is an open source tool that implements a wide variety of these attacks. To make efficient use of the computational resources available on a given platform, Hashcat primarily uses the OpenCL parallelization platform. This platform is a standard that allows you to exploit the parallel capabilities of all types of multi-core processors and graphics cards. However, the support of OpenCL by many candidates has declined in recent years, being in some cases non-existent and in others poor. This lack of OpenCL support is especially relevant on Nvidia graphics cards, where the manufacturer itself offers a proprietary alternative called CUDA. In this work we will explore the possibilities of replacing the use of OpenCL with the use of CUDA in hashcat. We will study how we can improve the performance of the tool using CUDA. For this we will have to carry out three fundamental tasks: (1) A reverse engineering task to understand how Hashcat works internally and the degree of support that exists for CUDA technology. This task is necessary due to the scarce documentation that the application provides for its developers. (2) A performance analysis task of the Hashcat tool, and (3) make a proposal to improve CUDA support within the application, studying the effect that this improvement may have on performance.es_ES
dc.language.isospaes_ES
dc.rightsOs titulares dos dereitos de propiedade intelectual autorizan a visualización do contido deste traballo a través de Internet, así como a súa reproducción, gravación en soporte informático ou impresión para o seu uso privado e/ou con fins de estudo e de investigación. En nengún caso se permite o uso lucrativo deste documento. Estos dereitos afectan tanto ao resumo do traballo como ao seu contido. Los titulares de los derechos de propiedad intelectual autorizan la visualización del contenido de este trabajo a través de Internet, así como su reproducción, grabación en soporte informático o impresión para su uso privado y/o con fines de estudio e investigación. En ningún caso se permite el uso lucrativo de este documento. Estos derechos afectan tanto al resumen del trabajo como a su contenido.
dc.subjectCPUes_ES
dc.subjectGPUes_ES
dc.subjectHashes_ES
dc.subjectCUDAes_ES
dc.subjectOpenCLes_ES
dc.titleParalelización en CUDA de varios modos de ataque a algoritmos de hashinges_ES
dc.typeinfo:eu-repo/semantics/bachelorThesises_ES
dc.rights.accessinfo:eu-repo/semantics/openAccesses_ES
dc.description.traballosTraballo fin de grao (UDC.FIC). Enxeñaría informática. Curso 2019/2020es_ES


Ficheiros no ítem

Thumbnail

Este ítem aparece na(s) seguinte(s) colección(s)

Mostrar o rexistro simple do ítem