6 research outputs found

    Understanding the behaviour of hackers while performing attack tasks in a professional setting and in a public challenge

    Get PDF
    When critical assets or functionalities are included in a piece of software accessible to the end users, code protections are used to hinder or delay the extraction or manipulation of such critical assets. The process and strategy followed by hackers to understand and tamper with protected software might differ from program understanding for benign purposes. Knowledge of the actual hacker behaviours while performing real attack tasks can inform better ways to protect the software and can provide more realistic assumptions to the developers, evaluators, and users of software protections. Within Aspire, a software protection research project funded by the EU under framework programme FP7, we have conducted three industrial case studies with the involvement of professional penetration testers and a public challenge consisting of eight attack tasks with open participation. We have applied a systematic qualitative analysis methodology to the hackers’ reports relative to the industrial case studies and the public challenge. The qualitative analysis resulted in 459 and 265 annotations added respectively to the industrial and to the public challenge reports. Based on these annotations we built a taxonomy consisting of 169 concepts. They address the hacker activities related to (i) understanding code; (ii) defining the attack strategy; (iii) selecting and customizing the tools; and (iv) defeating the protections. While there are many commonalities between professional hackers and practitioners, we could spot many fundamental differences. For instance, while industrial professional hackers aim at elaborating automated and reproducible deterministic attacks, practitioners prefer to minimize the effort and try many different manual tasks. This analysis allowed us to distill a number of new research directions and potential improvements for protection techniques. In particular, considering the critical role of analysis tools, protection techniques should explicitly attack them, by exploiting analysis problems and complexity aspects that available automated techniques are bad at addressing

    Resilient self-debugging software protection

    Get PDF
    Debuggers are a popular reverse engineering and tampering tool. Self-debugging is an effective technique for applications to defend themselves against hostile debuggers. In penetration tests on state-of-the-art self-debugging, we observed several opportunities through which it could be attacked, however. We therefore improved upon the existing technique, making it more resilient by introducing reciprocal debugging and making the transfers of control between protected application and self-debugger more stealthy. This paper presents the improved self-debugging design, and details our research efforts into realizing reciprocal debugging. In our evaluation we show that the improved design is significantly harder for attackers to defeat

    Hakkeriajattelutapa : Hakkerointiprosesseja ja taustatekijöitä

    Get PDF
    Tähän mennessä suurin osa kyberturvallisuuden tutkimuksesta on keskittynyt teknologisiin näkökohtiin, mutta vähemmän huomiota on kiinnitetty tietoverkkorikosten taustalla oleviin inhimillisiin tekijöihin. Kuitenkin vahva ymmärrys hakkeriajattelutavasta eli hakkereiden aikeiden ja toimien taustalla olevista motiiveista sekä strategioista on tärkeää, jotta kyberturvateknologioita voitaisiin kehittää, ja yritykset ja organisaatiot voisivat paremmin suojautua hakkereiden tietojärjestelmiin kohdistuvilta hyökkäyksiltä. Tässä tutkielmassa tutkitaan hakkeriajattelutapaa eli millaisia toimintaprosesseja hakkerit käyttävät ja millaiset tekijät ohjaavat hakkerien toimintaa. Samalla tehdään katsaus hakkeri-termin vuosikymmenten saatossa muuttuneeseen merkitykseen ja etenkin nykyaikaiseen käsitykseen hakkerista. Hakkeriajattelutapaa tarkastellaan hakkerityypittelyjen, hakkerointiprosessien sekä hakkerointiin vaikuttavia taustatekijöiden näkökulmasta. Tutkielma toteutettiin kirjallisuuskatsauksena, jossa aineistona oli kahdeksantoista aihetta käsittelevää tutkimusartikkelia. Tutkimusmenetelmänä toimi systemaattisen kirjallisuuskatsauksen prosessimalli tämän tutkielman laajuuteen nähden typistettynä ja yksinkertaistettuna. Tutkielman tuloksena tarkasteltiin kahta erilaista hakkeriprosessimallia. Huolimatta eroavaisuuksista kumpikin prosessimalli johtaa samaan eli tiedonkeruun ja asioiden selvittelyiden kautta haavoittuvuuden löytämiseen ja siitä raportoimiseen. Prosessimaisen toiminnan lisäksi hakkereiden toimintaa ohjaa erilaiset tekijät kuten ekonomiset, poliittiset tai ajalliset motiivit, rahalliset palkkiot sekä moraalinen käsitys hyvän tekemisestä yhteiskunnan eduksi. Tarkastelussa nousi esiin myös hakkeri-termin muuttunut merkitys. Aikaisempi käsitys hakkerista rikollisena nuorukaisena on muuttunut ja tänä päivänä hakkeri-termillä on monimuotoisempi merkitys, johon vaikuttaa hakkerin omat ominaisuudet, tavoitteet ja strategiat. Tutkielman tulokset osoittavat, että hakkerin motiivina ja tavoitteena voi olla uuden oppiminen, kohteen hyväksi käyttäminen tai hyödyn tuottaminen yhteiskunnalle. Hakkerit ovat tänä päivänä yhtä paljon tuhon kuin toivon hahmoja, ja heillä on tärkeä rooli tietoturvallisuuden valvonnassa

    Empirical assessment of the effort needed to attack programs protected with client/server code splitting

    Get PDF
    Context. Code hardening is meant to fight malicious tampering with sensitive code executed on client hosts. Code splitting is a hardening technique that moves selected chunks of code from client to server. Although widely adopted, the effective benefits of code splitting are not fully understood and thoroughly assessed. Objective. The objective of this work is to compare non protected code vs. code splitting protected code, considering two levels of the chunk size parameter, in order to assess the effectiveness of the protection - in terms of both attack time and success rate - and to understand the attack strategy and process used to overcome the protection. Method. We conducted an experiment with master students performing attack tasks on a small application hardened with different levels of protection. Students carried out their task working at the source code level. Results. We observed a statistically significant effect of code splitting on the attack success rate that, on the average, was reduced from 89% with unprotected clear code to 52% with the most effective protection. The protection variant that moved some small-sized code chunks turned out to be more effective than the alternative moving fewer but larger chunks. Different strategies were identified yielding different success rates. Moreover, we discovered that successful attacks exhibited different process w.r.t. failed ones.Conclusions We found empirical evidence of the effect of code splitting, assessed the relative magnitude, and evaluated the influence of the chunk size parameter. Moreover, we extracted the process used to overcome such obfuscation technique
    corecore