jsem zakladatel a generální ŘEDITEL společnosti Apriorit, vývoj software společnost, která poskytuje inženýrské služby po celém světě na tech společností.

Zadní pohled na ženské počítačový hacker kódování na psací stůl v kreativní úřadu

getty

v Současné době, počítačoví útočníci jsou ozbrojeni s působivou škálu zbraní, od jednoduchých malware sofistikované reverzní inženýrství nástroje. Demontéry, dekompilátory a další nástroje umožňují hackerům přístup a analýzu zdrojového kódu aplikace. S těmito informacemi mohou hackeři zneužívat váš software různými způsoby: extrahováním citlivých informací, přidáním škodlivého kódu a dokonce klonováním aplikací.

nedávná studie bezpečnostní společnosti Positive Technologies odhalil, že populární mobilní bankovnictví aplikace jsou náchylné k útokům hackerů. Nejčastější kybernetické bezpečnosti zjištěné problémy měli co do činění s názvy tříd a metod je výslovně napsáno ve zdrojovém kódu, nedostatečná ochrana proti vložení kódu a nedostatek kód zmatek v pojmech.

obfuskace kódu je zejména slibnou praxí pro zabezpečení softwaru. Pokud hledáte způsoby, jak chránit váš software před vniknutím, možná budete chtít začít zpevněním jeho obrany zamlžením kódu.

jak funguje obfuskace kódu?

metody Obfuskace umožňují ztvrdnout kód aplikace jeho transformací tak, aby skryl implicitní hodnoty a skryl logiku. Tato opatření ztěžují neoprávněné třetí straně nahlédnout pod kapotu vašeho softwaru.

většina obfuskačních technik transformuje jeden z následujících aspektů kódu:

• Data: Aby kód prvky vypadají jako něco jiného, než to, co oni jsou

• Řízení toku: Aby spustitelný logika nedeterministické, pokud software je rozložit

• Rozložení struktury: Formát dat, přejmenovat identifikátory a odstranit komentáře kódu

Mlžení nástroje pro práci se zdrojovým kódem, stroj nebo binární kód, a bytecode. Chcete-li určit, který typ kódu je nejlepší zamlžit, musíte mít na paměti omezení každé volby.

při zmatení zdrojového kódu můžete čelit problémům při manipulaci a ladění zmateného kódu. Binární obfuskace je nejen složitější než ostatní dvě možnosti, ale musí být aplikována na každou architekturu systému.

V mé společnosti, často jsme si bytecode mlžení, jako v tomto případě nemusíme zvládnout zdrojový kód nebo strojový kód. Když se však dostaneme k transformaci bytekódu na strojový kód, je těžké udržet všechny zmatené injekce kódu zcela náhodné.

pro jeden z našich nedávných projektů můj tým použil kompilátor LLVM, který nám pomohl zajistit vysokou úroveň ochrany bytekódu s malým dopadem na výkon softwaru. Kromě zpevnění kódu může tento kompilátor náhodně umístit ověřovače softwarových licencí, které hackerům téměř znemožňují crackovat software.

jak můžete chránit svou aplikaci pomocí zmatení kódu?

zatímco obfuskace je jednou z bezpečných kódovacích postupů doporučených OWASP, stále není tak populární mezi mnoha vývojáři. Hlavním důvodem je to, že při nadužívání může zmatení kódu poškodit výkon softwaru.

Ale pokud mluvíme o, řekněme, mobilní bankovnictví app, význam zajištění bankovní účet uživatele dat je dostatečně vysoká, aby ospravedlnit výdaje více času a úsilí o vyvážený kód kalení.

Pokud chcete obfuscate kód v nejvíce efektivní způsob, zde jsou některé věci, aby zvážila:

• Před zamlžování váš kód, měli byste se rozhodnout, které části kódu mohou být zakódovány. Vyhněte se zamlžení kódu kritického pro výkon. Také se ujistěte, že zmatenost nijak neovlivňuje funkčnost softwaru.

• věnujte pozornost velikosti a výkonu zmateného kódu. Při vytvrzování velkého kusu kódu se doba provádění může zvýšit až 1 000krát.

* přidejte neprůhledné predikáty do zmateného kódu, aby nebylo možné pochopit, kam bude provádění kódu probíhat. Nechte graf řídicího toku vypadat spíše jako provedení stavového stroje než jako lineární provedení kódu.

• Chcete-li vytvořit vrstvenou obranu, zkombinujte několik transformačních technik. Čím více technik obfuskace používáte, tím lépe bude váš kód chráněn.

* obfuskaci kódu používejte pouze jako další vrstvu zabezpečení, protože nemůže nahradit jiné bezpečnostní postupy.

při správné implementaci je obfuskace kódu účinným řešením pro ochranu vašeho softwaru před neoprávněnou analýzou. Není to Stříbrná kulka, ale výrazně zkomplikuje pokusy o zneužití a ohrožení vašeho softwaru.

Forbes Technology Council je komunita pouze pro pozvání pro špičkové CIO, CTO a technologické manažery. Mám nárok?

Následujte mě na Twitteru nebo LinkedIn. Podívejte se na mé webové stránky.

načítání …

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.