I am the founder and CEO of Apriorit, a software development company that provides engineering services globally to tech companies.

naispuolisten tietokonehakkerien koodaus creative Officessa

getty

nykyään kyberhyökkääjien aseistuksena on vaikuttava kirjo aseita yksinkertaisista haittaohjelmista hienostuneisiin reverse engineering-työkaluihin. Purkajat, dekompilaattorit ja muut työkalut mahdollistavat hakkereiden pääsyn ja analysoinnin sovelluksen lähdekoodiin. Näillä tiedoilla hakkerit voivat käyttää ohjelmistoasi väärin eri tavoin: poistamalla arkaluonteisia tietoja, lisäämällä haittaohjelmia ja jopa kloonaamalla sovelluksia.

tietoturvayhtiö Positive Technologiesin tuore tutkimus paljasti, että Suositut mobiilipankkisovellukset ovat alttiita hakkerointihyökkäyksille. Yleisimmät havaitut kyberturvallisuuskysymykset liittyivät siihen, että luokkien ja menetelmien nimet oli kirjoitettu yksiselitteisesti lähdekoodiin, koodinsyöttöä vastaan ei ollut suojaa eikä koodinsekaannusta ollut.

erityisesti koodien sekoittaminen on lupaava käytäntö ohjelmistojen turvaamisessa. Jos etsit tapoja suojata ohjelmiston tunkeutumista, voit aloittaa koventamalla sen puolustusta kautta obfuscating koodi.

miten koodin hämärtäminen vaikuttaa?

Hämäysmenetelmillä voidaan kovettaa sovelluskoodia muuntamalla sitä implisiittisten arvojen piilottamiseksi ja logiikan peittämiseksi. Nämä toimenpiteet vaikeuttavat luvattoman kolmannen osapuolen katsoa konepellin alle ohjelmiston.

useimmat hämäystekniikat muuntavat jonkin seuraavista koodin piirteistä:

• Data: tee koodielementit näyttämään joltain muulta kuin mitä ne ovat

• ohjausvirta: tee suoritettavasta logiikasta nondeterministinen, jos ohjelmisto on purettu

• Layout structure: Format data, rename identifiers and remove code comments

Obfuscation tools work with source code, machine or binary code, and bytecode. Voit määrittää, minkä tyyppinen koodi on paras hämärtää, sinun täytyy pitää mielessä rajoitukset kunkin valinnan.

kun hämärtät lähdekoodia, saatat kohdata haasteita epäselvän koodin käsittelyssä ja virheenkorjauksessa. Binäärinen obfuskaatio ei ole vain monimutkaisempaa kuin kaksi muuta vaihtoehtoa, vaan sitä on sovellettava jokaiseen järjestelmäarkkitehtuuriin.

yrityksessäni valitsemme usein bytecode obfuscationin, sillä tässä tapauksessa meidän ei tarvitse käsitellä lähdekoodia tai konekoodia. Kuitenkin, kun saamme muuttaa bytecode konekoodiksi, se on vaikea pitää kaikki obfuscated koodi injektiot täysin satunnainen.

yhdessä viimeaikaisista projekteistamme tiimini käytti LLVM-kääntäjää, joka auttoi meitä varmistamaan bytecode-suojauksen korkean tason, jolla ei ole juurikaan vaikutusta ohjelmiston suorituskykyyn. Lisäksi kovettuminen koodi, tämä kääntäjä voi satunnaisesti sijoittaa ohjelmistolisenssin todentajia, jotka tekevät lähes mahdotonta hakkerit murtaa ohjelmisto.

miten voit suojata sovelluksesi koodikielellä?

vaikka obfuscation on yksi OWASP: n suosittelemista turvallisista koodauskäytännöistä, se ei silti ole kovin suosittu monien kehittäjien keskuudessa. Pääsyy tähän on se, että ylikäytettynä koodin hämärtyminen voi vahingoittaa ohjelmiston suorituskykyä.

mutta jos puhutaan vaikkapa mobiilipankkisovelluksesta, käyttäjän pankkitilitietojen turvaamisen merkitys on niin suuri, että lisäaikaa ja vaivaa on syytä käyttää tasapainoiseen koodin koventamiseen.

jos haluat hämärtää koodin tehokkaimmalla tavalla, tässä muutamia harkittavia asioita:

• ennen koodin hämärtämistä kannattaa päättää, mitkä koodin osat voivat olla epäselviä. Vältä suorituskyvyn kannalta kriittistä koodia. Varmista myös, että obfuscation ei vaikuta ohjelmiston toiminnallisuuteen millään tavalla.

* kiinnitä huomiota epäselvän koodin kokoon ja suorituskykyyn. Kun kovetetaan suuri koodinpätkä, suoritusaika voi kasvaa jopa 1000-kertaiseksi.

* lisätään läpinäkymätön predikaatti epäselvään koodiin, jotta on mahdotonta ymmärtää, mihin koodin suoritus menee. Tee ohjausvirtakäyrä näyttämään valtion koneen suoritukselta lineaarisen koodin suorittamisen sijaan.

• kerrospuolustuksen luomiseksi yhdistellään useita muunnostekniikoita. Mitä enemmän sekaannustekniikoita käytät, sitä paremmin koodisi on suojattu.

* käytä koodin hämärtämistä vain lisäturvakerroksena, koska se ei voi korvata muita turvallisuuskäytäntöjä.

oikein toteutettuna koodin sekoittaminen on tehokas ratkaisu ohjelmiston suojaamiseen luvattomalta analysoinnilta. Se ei ole Hopealuoti, mutta se vaikeuttaa merkittävästi yrityksiä hyödyntää ja vaarantaa ohjelmiston.

Forbes Technology Council on kutsuvierasyhteisö maailmanluokan Tietojohtajille, Teknologiajohtajille ja teknologiajohtajille. Olenko Pätevä?

Seuraa minua Twitterissä tai LinkedInissä. Katso nettisivuiltani.

lastaus …

Vastaa

Sähköpostiosoitettasi ei julkaista.