SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
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
Przykład motywujący
Jak rozumiem kwestie
bezpieczeństwa?
Trzy perspektywy
Klient
Dostawca
Twórca
Jako Klient, chcę mieć
pewność, że wiem z
czyjego rozwiązania
korzystam.
Podpis cyfrowy
Jako Dostawca, chcę
móc kontrolować sposób
używania mojego kodu.
Licencjonowanie
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.
protectoR – bezpieczny R
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
Obfustykacja
przed
void (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("%dt", i);
}
}
int main() {
primes(100);
}
po
_(__,___,____){___/__<=1?_(__,___+1,____):!(___%__)?_(__,___+1,0):___%__==___/
__&&!____?(printf("%dt",___/__),_(__,___+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: Wit.Jakuczun@wlogsolutions.com
Mobile: +48 601 820 620
Skype: jakuczun
WWW: http://www.wlogsolutions.com/en
Dziękuję!

Más contenido relacionado

Similar a 20150521 ser protecto_r_final

Modelowanie zagrożeń - Na przykladzie platności mobilnych
Modelowanie zagrożeń - Na przykladzie platności mobilnychModelowanie zagrożeń - Na przykladzie platności mobilnych
Modelowanie zagrożeń - Na przykladzie platności mobilnychSecuRing
 
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...SecuRing
 
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?PROIDEA
 
PLNOG 13: Piotr Wojciechowski: Security and Control Policy
PLNOG 13: Piotr Wojciechowski: Security and Control PolicyPLNOG 13: Piotr Wojciechowski: Security and Control Policy
PLNOG 13: Piotr Wojciechowski: Security and Control PolicyPROIDEA
 
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...The Software House
 
Dobre i złe praktyki ochrony przed technikami hackingu ukierunkowanymi na uży...
Dobre i złe praktyki ochrony przed technikami hackingu ukierunkowanymi na uży...Dobre i złe praktyki ochrony przed technikami hackingu ukierunkowanymi na uży...
Dobre i złe praktyki ochrony przed technikami hackingu ukierunkowanymi na uży...studenckifestiwalinformatyczny
 
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzykaZagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzykaSecuRing
 
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...SecuRing
 
Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i  ocena jakości współczesnych systemów operacyjnychAnaliza i  ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnychguest84f9115
 
Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnych Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnych guest84f9115
 
Konferencja #e-biznes - Produkt dla realnego świata
Konferencja #e-biznes - Produkt dla realnego świataKonferencja #e-biznes - Produkt dla realnego świata
Konferencja #e-biznes - Produkt dla realnego świataCogision
 
Lean hardware startup. Czy jest to możliwe?
Lean hardware startup. Czy jest to możliwe?Lean hardware startup. Czy jest to możliwe?
Lean hardware startup. Czy jest to możliwe?Piotr Durlej
 
Bezpieczeństwo e-commerce.
Bezpieczeństwo e-commerce.Bezpieczeństwo e-commerce.
Bezpieczeństwo e-commerce.Maciej Sowa
 
(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnychSecuRing
 
Szpiegowanie w internecie
Szpiegowanie w internecieSzpiegowanie w internecie
Szpiegowanie w internecieDorota Ręba
 
Michał Sajdak, Testy bezpieczeństwa -­‐ teoria a praktyka
Michał Sajdak, Testy bezpieczeństwa -­‐ teoria a praktykaMichał Sajdak, Testy bezpieczeństwa -­‐ teoria a praktyka
Michał Sajdak, Testy bezpieczeństwa -­‐ teoria a praktykaFuture Processing
 
Jak budujemy inteligentnego asystenta biznesowego
Jak budujemy inteligentnego asystenta biznesowegoJak budujemy inteligentnego asystenta biznesowego
Jak budujemy inteligentnego asystenta biznesowego2040.io
 
(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnychSlawomir Jasek
 
Rodzaje Licencji na Oprogramowanie
Rodzaje Licencji na OprogramowanieRodzaje Licencji na Oprogramowanie
Rodzaje Licencji na OprogramowanieOlafArchiwum
 

Similar a 20150521 ser protecto_r_final (20)

Modelowanie zagrożeń - Na przykladzie platności mobilnych
Modelowanie zagrożeń - Na przykladzie platności mobilnychModelowanie zagrożeń - Na przykladzie platności mobilnych
Modelowanie zagrożeń - Na przykladzie platności mobilnych
 
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
Wyzwania dla bezpieczeństwa związane z nowymi technologiami w aplikacjach ban...
 
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
 
PLNOG 13: Piotr Wojciechowski: Security and Control Policy
PLNOG 13: Piotr Wojciechowski: Security and Control PolicyPLNOG 13: Piotr Wojciechowski: Security and Control Policy
PLNOG 13: Piotr Wojciechowski: Security and Control Policy
 
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
 
Dobre i złe praktyki ochrony przed technikami hackingu ukierunkowanymi na uży...
Dobre i złe praktyki ochrony przed technikami hackingu ukierunkowanymi na uży...Dobre i złe praktyki ochrony przed technikami hackingu ukierunkowanymi na uży...
Dobre i złe praktyki ochrony przed technikami hackingu ukierunkowanymi na uży...
 
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzykaZagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
Zagrożenia dla aplikacji bankowych i sposoby zmniejszania ryzyka
 
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
 
Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i  ocena jakości współczesnych systemów operacyjnychAnaliza i  ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnych
 
Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnych Analiza i ocena jakości współczesnych systemów operacyjnych
Analiza i ocena jakości współczesnych systemów operacyjnych
 
Konferencja #e-biznes - Produkt dla realnego świata
Konferencja #e-biznes - Produkt dla realnego świataKonferencja #e-biznes - Produkt dla realnego świata
Konferencja #e-biznes - Produkt dla realnego świata
 
Internet rzeczy w przemyśle 4.0
Internet rzeczy w przemyśle 4.0Internet rzeczy w przemyśle 4.0
Internet rzeczy w przemyśle 4.0
 
Lean hardware startup. Czy jest to możliwe?
Lean hardware startup. Czy jest to możliwe?Lean hardware startup. Czy jest to możliwe?
Lean hardware startup. Czy jest to możliwe?
 
Bezpieczeństwo e-commerce.
Bezpieczeństwo e-commerce.Bezpieczeństwo e-commerce.
Bezpieczeństwo e-commerce.
 
(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych
 
Szpiegowanie w internecie
Szpiegowanie w internecieSzpiegowanie w internecie
Szpiegowanie w internecie
 
Michał Sajdak, Testy bezpieczeństwa -­‐ teoria a praktyka
Michał Sajdak, Testy bezpieczeństwa -­‐ teoria a praktykaMichał Sajdak, Testy bezpieczeństwa -­‐ teoria a praktyka
Michał Sajdak, Testy bezpieczeństwa -­‐ teoria a praktyka
 
Jak budujemy inteligentnego asystenta biznesowego
Jak budujemy inteligentnego asystenta biznesowegoJak budujemy inteligentnego asystenta biznesowego
Jak budujemy inteligentnego asystenta biznesowego
 
(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych
 
Rodzaje Licencji na Oprogramowanie
Rodzaje Licencji na OprogramowanieRodzaje Licencji na Oprogramowanie
Rodzaje Licencji na Oprogramowanie
 

Más de Wit Jakuczun

recommendation = optimization(prediction)
recommendation = optimization(prediction)recommendation = optimization(prediction)
recommendation = optimization(prediction)Wit Jakuczun
 
Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Wit Jakuczun
 
Driving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real timeDriving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real timeWit Jakuczun
 
Know your R usage workflow to handle reproducibility challenges
Know your R usage workflow to handle reproducibility challengesKnow your R usage workflow to handle reproducibility challenges
Know your R usage workflow to handle reproducibility challengesWit Jakuczun
 
Large scale machine learning projects with r suite
Large scale machine learning projects with r suiteLarge scale machine learning projects with r suite
Large scale machine learning projects with r suiteWit Jakuczun
 
Managing large (and small) R based solutions with R Suite
Managing large (and small) R based solutions with R SuiteManaging large (and small) R based solutions with R Suite
Managing large (and small) R based solutions with R SuiteWit Jakuczun
 
20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise
20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise
20170928 why r_r jako główna platforma do zaawansowanej analityki w enterpriseWit Jakuczun
 
Wit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterprise
Wit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterpriseWit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterprise
Wit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterpriseWit Jakuczun
 
Case Studies in advanced analytics with R
Case Studies in advanced analytics with RCase Studies in advanced analytics with R
Case Studies in advanced analytics with RWit Jakuczun
 
Bringing the Power of LocalSolver to R: a Real-Life Case-Study
Bringing the Power of LocalSolver to R: a Real-Life Case-StudyBringing the Power of LocalSolver to R: a Real-Life Case-Study
Bringing the Power of LocalSolver to R: a Real-Life Case-StudyWit Jakuczun
 
ANALYTICS WITHOUT LOSS OF GENERALITY
ANALYTICS WITHOUT LOSS OF GENERALITYANALYTICS WITHOUT LOSS OF GENERALITY
ANALYTICS WITHOUT LOSS OF GENERALITYWit Jakuczun
 
Showcase: on segmentation importance for marketing campaign in retail using R...
Showcase: on segmentation importance for marketing campaign in retail using R...Showcase: on segmentation importance for marketing campaign in retail using R...
Showcase: on segmentation importance for marketing campaign in retail using R...Wit Jakuczun
 
Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)
Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)
Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)Wit Jakuczun
 
R+H2O - idealny tandem do analityki predykcyjnej?
R+H2O - idealny tandem do analityki predykcyjnej?R+H2O - idealny tandem do analityki predykcyjnej?
R+H2O - idealny tandem do analityki predykcyjnej?Wit Jakuczun
 

Más de Wit Jakuczun (14)

recommendation = optimization(prediction)
recommendation = optimization(prediction)recommendation = optimization(prediction)
recommendation = optimization(prediction)
 
Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...
 
Driving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real timeDriving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real time
 
Know your R usage workflow to handle reproducibility challenges
Know your R usage workflow to handle reproducibility challengesKnow your R usage workflow to handle reproducibility challenges
Know your R usage workflow to handle reproducibility challenges
 
Large scale machine learning projects with r suite
Large scale machine learning projects with r suiteLarge scale machine learning projects with r suite
Large scale machine learning projects with r suite
 
Managing large (and small) R based solutions with R Suite
Managing large (and small) R based solutions with R SuiteManaging large (and small) R based solutions with R Suite
Managing large (and small) R based solutions with R Suite
 
20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise
20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise
20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise
 
Wit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterprise
Wit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterpriseWit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterprise
Wit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterprise
 
Case Studies in advanced analytics with R
Case Studies in advanced analytics with RCase Studies in advanced analytics with R
Case Studies in advanced analytics with R
 
Bringing the Power of LocalSolver to R: a Real-Life Case-Study
Bringing the Power of LocalSolver to R: a Real-Life Case-StudyBringing the Power of LocalSolver to R: a Real-Life Case-Study
Bringing the Power of LocalSolver to R: a Real-Life Case-Study
 
ANALYTICS WITHOUT LOSS OF GENERALITY
ANALYTICS WITHOUT LOSS OF GENERALITYANALYTICS WITHOUT LOSS OF GENERALITY
ANALYTICS WITHOUT LOSS OF GENERALITY
 
Showcase: on segmentation importance for marketing campaign in retail using R...
Showcase: on segmentation importance for marketing campaign in retail using R...Showcase: on segmentation importance for marketing campaign in retail using R...
Showcase: on segmentation importance for marketing campaign in retail using R...
 
Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)
Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)
Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)
 
R+H2O - idealny tandem do analityki predykcyjnej?
R+H2O - idealny tandem do analityki predykcyjnej?R+H2O - idealny tandem do analityki predykcyjnej?
R+H2O - idealny tandem do analityki predykcyjnej?
 

20150521 ser protecto_r_final