20150521 ser protecto_r_final
-
Upload
wit-jakuczun -
Category
Data & Analytics
-
view
209 -
download
1
Transcript of 20150521 ser protecto_r_final
protectoR – bezpieczny R
Wit Jakuczun, WLOG Solutions
http://wlogsolutions.com/en/
Krótko o mnie
Edukacja
• Absolwent wydziału MIM UW
• Doktorat w IPI PAN
Zawodowo
• Właściciel firmy WLOG Solutions
R
• W 2006 pierwszy projekt komercyjny
• Od tej pory jest to narzędzie #1 w codziennej pracy analitycznej
Ukrycie kodu
Jako Twórca, chcę móc chronić swoją wiedzę, która stanowi o mojej przewadze konkurencyjnej.
Prawda z dziennika hakera
Każde zabezpieczenie można złamać. To co można zrobić to
maksymalnie utrudnić ten proces.
Przyjęte założenia
Możliwość ochrony na poziomie:
•Klienta
•Dostawcy
•Twórcy
Rozwiązanie działające lokalnie
•ale też zdalnie…
Wygodne w użyciu
Jak to działa?
protectoR
> protectoR::protect(...)
foo <- function(…) {
#Tajna funkcja
}
> protectoR::secLoad(...)
> foo
function (…) .Call("protectoR_secEval",
PACKAGE = "protectoR", 0, „foo", …) <environment: base>
protectoR
Klucze/hasła
Dla „bezpieczeństwa” kod
zabezpieczony
hasłem(kluczem).
Nic nie stoi na przeszkodzie,
by to hasło(klucz)
upublicznić
Równie dobrze może być
zabezpieczone kluczem
publicznie dostępnym!
ergo
Ewaluacja
W R kod źródłowy jest częścią
drzewa wyrażeń używanego do
ewaluacji
protectoR
Przedefiniowanie funkcje Rf_eval daje
dostęp do drzewa wyrażeń w
wykonywalnej postaci, więc można
wygenerować źródła
Co robić?• Weryfikacja środowiska uruchomieniowego
• Obfustykacja kodu przed zabezpieczeniem
Obfustykacjaprzedvoid (int cap) {
int i, j, composite;for(i = 2; i < cap; i++) {
composite = 0;for(j = 2; j < i; j++)
composite += !(i % j);if(!composite)
printf("%d\t", i);}
}int main() {
primes(100);}
po
_(__,___,____){___/__<=1?_(__,___+1,____):!(___%__)?_(__,___+1,0):___%__==___/
__&&!____?(printf("%d\t",___/__),_(__,___+1,0)):___%__>1&&___%__<___/__?_(__,1+
___,____+!(___/__%(___%__))):___<__*__?_(__,___+1,____):0;}main(){_(100,0,0);}
Podsumowanie
Niedługo wydamy pierwszą wersję pakietu protectoR!
Zainteresowanych zachęcam do kontaktu.
Wit Jakuczun, PhD
CEO
Email: [email protected]
Mobile: +48 601 820 620
Skype: jakuczun
WWW: http://www.wlogsolutions.com/en
Dziękuję!