31.05.2016 Views

completely

Enough_Software_Guide_16thEdition_Web_spanish

Enough_Software_Guide_16thEdition_Web_spanish

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

el –f visibility conmutador del compilador 2 es una manera<br />

fácil de hacer que sea más complicado comprender el código.<br />

El código Objective-C compilado contiene código máquina<br />

y una gran cantidad de metadatos que pueden proveer a un<br />

atacante de información sobre nombres y la estructura de<br />

llamadas de la aplicación. Actualmente existen herramientas<br />

y scripts para leer estos metadatos y guiar a los hackers, pero<br />

no hay herramientas para ocultarlos. La manera más común de<br />

construir una interfaz gráfica para iOS es utilizando Objective-<br />

C, pero el método más seguro consiste en minimizar su uso y<br />

cambiar a C o C++ para todo lo que no sea la interfaz gráfica de<br />

usuario.<br />

Escondiendo el Control de Flujo<br />

Incluso si todos los nombres están ocultos, un hacker bueno<br />

todavía puede averiguar cómo funciona el software. Hay<br />

herramientas comerciales de protección de código administrado<br />

que pueden ocultar deliberadamente el camino a través del<br />

código recodificando las operaciones y rompiendo los bloques<br />

de instrucciones, lo que hace la decompilación mucho más<br />

difícil. Con una buena herramienta de protección, un intento de<br />

decompilar un binario protegido terminará o bien en un fallo<br />

del decompilador o en un código fuente no válido.<br />

Decompilar código nativo es mucho más difícil, pero se<br />

puede conseguir. Incluso sin una herramienta, no se necesita<br />

mucha práctica para ser capaz de seguir el control de flujo<br />

en el código ensamblador generado por un compilador. Las<br />

aplicaciones con un fuerte requisito de seguridad necesitarán<br />

una herramienta de ofuscación para el código nativo, así como<br />

para el código administrado.<br />

2 http://gcc.gnu.org/wiki/Visibility<br />

Seguridad<br />

186

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!