Ochrana binárek matematickou obfuskací

win

« Poslední změna: 17. 08. 2014, 19:49:58 od Petr Krčmář »


Jenda

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #1 kdy: 17. 08. 2014, 03:44:17 »
Nechápu, jak se odkazovaný článek týká opensource.

Kolemjdoucí

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #2 kdy: 17. 08. 2014, 08:23:59 »
Binárky nejdou chránit vůbec nijak, ať se stavějí klidně na hlavu stejně nakonec procesoru musejí předhodit dekryptovaný kód a dál je to jasné.

win

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #3 kdy: 17. 08. 2014, 08:29:20 »
Nechápu, jak se odkazovaný článek týká opensource.
to ti vysvetli vyzkumnik z microsoftu, v clanku odkazanem uvnitr clanku pod “Scrambled Code Keeps Software Safe” a k desifrovani binarky ne tak uplne pokud to bude v ramci neceho jako DMCA nebo ATCA povinne soucasti HW a bude se to odehravat mimo dosah OS.

Kolemjdoucí

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #4 kdy: 17. 08. 2014, 09:02:29 »
V HW by to samozřejmě fungovalo, ale jenom do té doby než se k tomu provalí klíče. Pokud k tomu žádné klíče nebudou a bude to jenom algoritmus zabudovaný do HW, tak je k ničemu.


pepak

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #5 kdy: 17. 08. 2014, 09:21:39 »
Binárky nejdou chránit vůbec nijak, ať se stavějí klidně na hlavu stejně nakonec procesoru musejí předhodit dekryptovaný kód a dál je to jasné.
Cílem není udělat kód, který nepůjde lousknout. Ale jde o to, jeho disassemblování natolik znepříjemnit, že to odradí všechny kromě těch nejvíc odhodlaných, a i těm to může prodloužit dobu disassemblování natolik, že to pro ně přestane být rentabilní. Například, pokud by kód vypadal tak, že je vždycky jedna instrukce a pak skok někam do háje, tak to je ručně jen obtížně dekódovatelné, protože nikdy nebude vidět tolik souvisejících instrukcí najednou, aby se dal pochopit smysl jednotlivých rutin. Tohle kódování by se samozřejmě dalo jednoduše strojově zase odstranit (prográmkem, který simuluje provádění kódu, loguje normální instrukce a ignoruje skoky), ale je zcela myslitelné, že složitější postupy budou na dekódování obtížnější, možná dokonce i jednosměrné.

L

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #6 kdy: 17. 08. 2014, 09:52:57 »
V pořádku, ať si kdo chce binárky chrání, ale stále mi uniká to ohrožení opensource. Leda by se našel někdo, kdo věří výkřikům Microsoftu, že ostatní vykrádají jejich kód.

adam

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #7 kdy: 17. 08. 2014, 09:54:02 »
To mi připomíná jistý "pseudofuzzy" algoritmus, který vypadal v kritické části nějak takto: naplň pole náhodně zamíchanými cílovými adresami, náhodně vyber index, přečti adresu a skoč tam. Index se stanovoval za pomoci generátoru a uživatelského vstupu (PINu). Zhruba v 98 % to perbektně fungovalo, v jednom případě z padesáti si uživatel myslel, že udělal chybu v PINu a zkusil to znova.
Aneb není nad šikovné Gaussovo rozdělení.

VK

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #8 kdy: 17. 08. 2014, 11:37:52 »
Je to jen další důvod, proč používat opensource.

Pokud binárky nepůjdou zkontrolovat ani reverzním inženýrstvím, tak to už je naprostá ztráta kontroly. A softwareovým firmám to přinese účinnější způsob, jak vydírat zákazníky pomocí vendor lock-in. Opensource software vznikl proto, aby takovým věcem zabránil, a toto ho ještě posílí.

Nicméně, jsem trochu skeptický, co se týče fungování té věci - pokud jde něco za pomoci nějakého algoritmu udělat složitější, většinou je i způsob, jak to za pomoci algoritmu udělat jednodušší...

Jenda

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #9 kdy: 17. 08. 2014, 11:44:22 »
Binárky nejdou chránit vůbec nijak, ať se stavějí klidně na hlavu stejně nakonec procesoru musejí předhodit dekryptovaný kód a dál je to jasné.

Vůbec tomu nerozumím, ale podle mě se to umí a říká se tomu Fully homomorphic encryption. Tady se tváří, že z toho umí vyrobit turingáč.

_diehard

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #10 kdy: 17. 08. 2014, 11:47:17 »
Obfuscatoru a nastroju, ktere znemoznuji (cti velmi zneprijemnuji) disassembling existuje cela rada uz ted, nedelal bych z toho halo (a uz vubec ne v souvislosti s open source).

Jenda

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #11 kdy: 17. 08. 2014, 11:51:40 »
Pokud binárky nepůjdou zkontrolovat ani reverzním inženýrstvím, tak to už je naprostá ztráta kontroly. A softwareovým firmám to přinese účinnější způsob, jak vydírat zákazníky pomocí vendor lock-in. Opensource software vznikl proto, aby takovým věcem zabránil, a toto ho ještě posílí.

Já bych řekl, že už dneska máme každý v počítači věci, u kterých je kontrola prakticky nemožná. Například procesor, jeho mikrokód a BIOS.

Nicméně, jsem trochu skeptický, co se týče fungování té věci - pokud jde něco za pomoci nějakého algoritmu udělat složitější, většinou je i způsob, jak to za pomoci algoritmu udělat jednodušší...

Někdy ale nikdo ten zjednodušující algoritmus ani po 20 letech nevymyslel. Mně by se například hodil algoritmus na zjednodušení dešifrování AES bez znalosti klíče.

Koukni se na ten paper. Není to obfuskace typu zpřeházení instrukcí, jdou na to pomocí silné kryptografie.

Kolemjdoucí

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #12 kdy: 17. 08. 2014, 12:31:08 »
Tohle kódování by se samozřejmě dalo jednoduše strojově zase odstranit (prográmkem, který simuluje provádění kódu, loguje normální instrukce a ignoruje skoky), ale je zcela myslitelné, že složitější postupy budou na dekódování obtížnější, možná dokonce i jednosměrné.

Přesně tak, šel by snadno sestavit emulátor.
Algoritmus musí být obousměrný z principu věci.

Vůbec tomu nerozumím, ale podle mě se to umí a říká se tomu Fully homomorphic encryption.
Není to obfuskace typu zpřeházení instrukcí, jdou na to pomocí silné kryptografie.

Patrně je to nepochopení věci. Tyto postupy existují zatím jenom teoreticky a to pro hypotetický účel že chci poslat druhé straně data tak aby se vlastní data nedozvěděla, ale zároveň aby na nich mohla provést nějaké operace, typicky full-text index nad PDF v cloudu. Dál je postup jak to provést i na triviálně jednoduchý program. V případě spouštění programu v PC, např. Office, se jedná o naprosto jinou záležitost.

Kolemjdoucí

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #13 kdy: 17. 08. 2014, 12:32:00 »
oprava, tak full-text index v clodu tím asi udělat nejde.

pepak

Re:konec opensource. novy druh ochrany binarek matematickou obfuskaci.
« Odpověď #14 kdy: 17. 08. 2014, 12:47:42 »
Přesně tak, šel by snadno sestavit emulátor.
Algoritmus musí být obousměrný z principu věci.
Nemusí. Například taková tradiční obfuskace kódů šířených v podobě zdrojáku, která spočívá v nahrazení všech jmen proměnných, funkcí a tříd anonymními názvy. Je to jednosměrné a přesto takový obfuskovaný program jde spustit. Na úrovni strojového kódu lze vytvořit něco podobného. (Jednosměrnost neznamená, že druhý směr je nemožný; stačí, že je výpočetně nezvladatelný.)

Je to jen další důvod, proč používat opensource.

Pokud binárky nepůjdou zkontrolovat ani reverzním inženýrstvím,
Backdoory lze zamontovat i do open source software, dokonce to ani není moc složité.

Citace
A softwareovým firmám to přinese účinnější způsob, jak vydírat zákazníky pomocí vendor lock-in.
Vendor lock-in lze bez problémů udělat i s OSS, respektive s otevřenou specifikací formátů. Stačí, když ta specifikace bude dostatečně rozsáhlá, aby bylo příliš složité a pracné ji implementovat. Už se tomuto stavu dost blížíme s HTML5 a CSS3, "úspěchu" už bylo dosaženo s xmldsig, xmlenc.