A family of experiments to assess the effectiveness and efficiency of source code obfuscation techniques

Tipo di pubblicazione: Articolo su rivista
Tipologia MIUR: Contributo su Rivista > Articolo in rivista
Titolo: A family of experiments to assess the effectiveness and efficiency of source code obfuscation techniques
Autori: Mariano Ceccato; Massimiliano Di Penta; Paolo Falcarin; Filippo Ricca; Marco Torchiano; Paolo Tonella
Autori di ateneo:
Titolo del periodico: EMPIRICAL SOFTWARE ENGINEERING
Tipo di referee: Esperti anonimi
Editore: Springer US
Volume: 19
Numero: 4
Intervallo pagine: pp. 1040-1074
Numero di pagine: 35
ISSN: 1382-3256
Abstract: Context: code obfuscation is intended to obstruct code understanding and, eventually, to delay malicious code changes and ultimately render it uneconomical. Although code understanding cannot be completely impeded, code obfuscation makes it more laborious and troublesome, so as to discourage or retard code tampering. Despite the extensive adoption of obfuscation, its assessment has been addressed indirectly either by using internal metrics or taking the point of view of code analysis, e.g., considering the associated computational complexity. To the best of our knowledge, there is no publicly available user study that measures the cost of understanding obfuscated code from the point of view of a human attacker. Aim: this paper experimentally assesses the impact of code obfuscation on the capability of human subjects to understand and change source code. In particular, it considers code protected with two well-known code obfuscation techniques, i.e., identifier renaming and opaque predicates. Method: We have conducted a family of five controlled experiments, involving undergraduate and graduate students from four Universities. During the experiments, subjects had to perform comprehension or attack tasks on decompiled clients of two Java network-based applications, either obfuscated using one of the two techniques, or not. To assess and compare the obfuscation techniques, we measured the correctness and the efficiency of the performed task. Results: —at least for the tasks we considered—simpler techniques (i.e., identifier renaming) prove to be more effective than more complex ones (i.e., opaque predicates) in impeding subjects to complete attack tasks
Data: 2014
Status: Pubblicato
Lingua della pubblicazione: Inglese
Parole chiave: empirical studies, software obfuscation, program comprehension
Dipartimenti (originale): DAUIN - Dipartimento di Automatica Informatica
Dipartimenti: DAUIN - Dipartimento di Automatica e Informatica
URL correlate:
    Area disciplinare: Area 09 - Ingegneria industriale e dell'informazione > SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
    Data di deposito: 19 Feb 2016 11:54
    Data ultima modifica (IRIS): 19 Feb 2016 10:54:47
    Data inserimento (PORTO): 21 Feb 2016 03:41
    Numero Identificativo (DOI): 10.1007/s10664-013-9248-x
    Permalink: http://porto.polito.it/id/eprint/2506201
    Link resolver URL: Link resolver link
    Citazioni:

    Il campo presenta il numero di citazioni presenti sulle banche dati Scopus e Web of Science e permette di accedere ai relativi record. Visualizza inoltre il link al record presente su Google Scholar.

    Possono verificarsi discrepanze rispetto ai dati presenti sulle banche dati per i seguenti motivi:

    • Differenze tra i dati riportati su IRIS e quelli presenti nelle banche dati.
    • Il numero di citazioni riportate su PORTO viene estratto mensilmente. Il dato citazionale presente sulle singole banche dati è aggiornato in tempo reale
    • Il numero di citazioni per WoS viene calcolato sulla base delle collezioni in abbonamento (Science citation index Expanded e Conference Proceedings Citation Index)

    Per informazioni o segnalazioni contattare scrivia/porto

    +
    -

    Allegati

    [img] PDF (Final_published.pdf) - Postprint
    Accesso al documento: Non visibile (accessibile solo al proprietario del dato)
    Licenza: Non pubblico - Accesso privato / Ristretto.

    Download (1157Kb (1184910 bytes)) | Spedisci una richiesta all'autore per una copia del documento

    Azioni (richiesto il login)

    Visualizza il documento (riservato amministratori) Visualizza il documento (riservato amministratori)