Ogólne zagrożenia dla danych w chmurowym modelu przetwarzania Gerard Frankowski Zespół Bezpieczeństwa PCSS 36. Spotkanie Poznańskiej Grupy.NET Poznań, 13.10. 2011 1
Agenda Bardzo krótkie wprowadzenie Zagrożenia bezpieczeństwa w chmurze Zarys problemów prawnych Ryzyka (ale i korzyści!) bezpieczeństwa Chmura prywatna, współdzielona, publiczna Anonimizacja danych jako metoda ich ochrony Rozwiązania specyficzne dla Windows Azure Krótko: na ten temat jest cała prezentacja Pawła :) Kilka porad dla autorów usług Podsumowanie, pytania, dyskusja 2
Przywitanie z chmurą 3
Co to jest chmura? (Definicja NIST) Przetwarzanie w chmurze jest to model przetwarzania umożliwiający wygodny dostęp na żądanie do konfigurowalnej i współdzielonej puli zasobów obliczeniowych (np. sieci, serwerów, pamięci masowej, aplikacji i usług), które mogą być szybko dostarczane i wymagają minimalnego wysiłku w kwestii zarządzania i interakcji z usługodawcą. 4
Klasyfikacja techniczna chmur Model tradycyjny własna serwerownia lub kolokacja Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Software as a Service (SaaS) 5
6
Modele biznesowe chmury Chmura publiczna Chmura współdzielona Chmura prywatna Chmura hybrydowa PUBLICZNA WSPÓŁDZIELONA PRYWATNA 7
Najważniejsze cechy chmury Skalowalność Elastyczność Łatwość i intuicyjność zarządzania Optymalizacja wykorzystania zasobów Niezawodność Bezpieczeństwo (?) 8
Zagrożenia bezpieczeństwa w chmurze 9
Zagrożenia dla usług i danych w chmurze Ogólne zagrożenia usług IT Specyficzne zagrożenia związane z chmurowym modelem przetwarzania danych Najbardziej znaczące są zagrożenia dla danych, związane z przynajmniej częściową utratą kontroli nad nimi oraz sposobami ich zabezpieczenia Znaczenie barier prawnych i procedur wewnętrznych Problem tworzenia bezpiecznych usług w chmurze Jak autorzy usług powinni podejść do tego problemu? 10
Przykładowe problemy prawne (1) Prawu trudno nadążyć za rozwojem technologii Przykładowe regulacje ogólne: UoODO, KK, KC Przykładowe regulacje szczególne: Prawo Bankowe Dopiero w 2012 r. ma zostać przyjęta strategia UE dotycząca przetwarzania danych w chmurze Mogą zależeć od rodzaju chmury (I/P/SaaS) Gdzie działa administrator (sprawca)? Gdzie przetwarzane są dane? Przykładowy problem: eksport danych poza EOG co do zasady wymaga zgody GIODO Kwestie specyficzne dla użytkownika 11
Przykładowe problemy prawne (2) Powierzenie danych Zgodnie z UoODO nawet w przypadku powierzenia danych osobowych podmiotom trzecim, instytucja powierzająca nadal ponosi za nie odpowiedzialność! Kłopot z drugiej strony: USA Patriot Act Dyskwalifikacja amerykańskich dostawców chmury dla wielu zastosowań użytkowników z Polski/Europy Kwestie specyficzne dla użytkownika procedury wewnętrzne Np. uprawnienia dostępowe do danych tylko dla konkretnego wydziału/grupy pracowników 12
Zagrożenia dla danych w chmurze wg CSA Raport Top Threats to Cloud Computing Zagrożenie IaaS PaaS SaaS Nadużycie (złośliwe użycie) usługi!! Niebezpieczne interfejsy/api!!! Ataki od wewnątrz (u dostawcy)!!! Problemy współdzielenia technologii! Utrata lub wyciek danych!!! Kradzież konta!!! Nieznany profil ryzyka!!! 13
Oraz wg ENISA Większość ma największe znaczenie w konktekście chmury publicznej Utrata kontroli nad danymi Brak zgodności ze standardami, przenośności interfejsów Możliwość ataku na mechanizmy izolacji Publicznie dostępny interfejs zarządzający Niewystarczające zabezpieczenia danych Niewłaściwe lub niekompletne usunięcie danych Napastnik wewnętrzny po stronie dostawcy chmury lub skojarzonych usług 14
Najwyżej punktowane : R2 = Utrata kontroli nad danymi R3 = Brak przenośności standardów R22 = Problemy związane ze zmianami prawnymi Źródło: Cloud Computing - Benefits, risks and recommendations for information security 15
Korzyści dla bezpieczeństwa chmur wg ENISA Bezpieczeństwo jest tańsze dla większej skali Skalowalność zasobów na żądanie Korzyści związane z wirtualizacją Łatwiejsze zarządzanie np. aktualizacjami Lepsze możliwości logowania / śledztwa Łatwiejsze zarządzanie skoncentrowanymi zasobami Pamiętajmy, że model alternatywny do chmury także niesie zagrożenia trzeba je porównać! 16
Składniki bezpiecznej chmury Polityka bezpieczeństwa informacji wraz z opartymi na niej procedurami i politykami szczegółowymi Wymagania, normy Backupy i ciągłość działania Ochrona kanałów komunikacyjnych Ochrona brzegowa Bezpieczne aplikacje i środowisko Przeglądy i audyty bezpieczeństwa 17
Bezpieczeństwo w różnych modelach chmury Kategoria Chmura publiczna Chmura prywatna Zwiększenie dostępności Problemy prawne Ochrona dla danych wrażliwych Możliwośćśledztwa (forensics) Kontrola (personelu, technologii) Kontrola nad kodem i konfiguracją usług Bardzo duże Bardzo duże w części zastosowań Wyjątkowo niepewna Dyskusyjne (ew. wynika ze standardów) Dyskusyjna (ew. wynika ze standardów) Dyskusyjna lub niemożliwa Ograniczone możliwościami firmy Brak lub minimalne (wewnętrzne) Niemal jak w tradycyjnym modelu Jak w tradycyjnym modelu Jak w tradycyjnym modelu Jak w tradycyjnym modelu 18
Zakładany scenariusz do analizy Organizacja musi wysłać dane do chmury w celu szybkiego przeprowadzenia zasobożernych obliczeń Dane zostają wysłane na zewnątrz Wtedy w praktyce nie są one już tylko nasze dostęp do nich może mieć potencjalnie operator chmury (w chmurze współdzielonej/prywatnej inna usługa, użytkownik) Ryzyko wycieków danych jest realne W związku z tym, należy dokładnie przeanalizować: Które dane mogą trafić do chmury, a które muszą pozostać tajemnicą? Których danych potrzebuje chmura do obliczeń? Czy można je w jakiś sposób zaciemnić? 19
Anonimizacja danych jako metoda ich ochrony w chmurze 20
Podstawowe założenia Jeżeli zachodzi konieczność przesłania wrażliwych danych do chmury z uwagi na konieczność ich przetworzenia, można zastosować anonimizację Na początku należy wyodrębnić dane opisowe (np. w przypadku chorób: miażdżyca ) i kolumn w tabelach potencjalnie je opisujących (np. data urodzenia, płeć, itp.) Dąży się do tego, żeby żaden z zapisów nie wskazywał na konkretną osobę/przedmiot w sposób jednoznaczny (np. numer telefonu komórkowego) Ciekawostka: zestaw (data urodzenia, płeć, kod pocztowy) pozwala jednoznacznie zidentyfikować nie mniej niż 87% obywateli USA 21
Propozycja definicji anonimizacji W odniesieniu do danych osobowych, za Projektem ustawy o wymianie informacji z organami ścigania państw członkowskich Unii Europejskiej z 1.08.2011 Anonimizacja danych oznacza przekształcenie danych osobowych w sposób uniemożliwiający przyporządkowanie poszczególnych informacji do określonej lub możliwej do zidentyfikowania osoby fizycznej albo jeżeli przyporządkowanie takie wymagałoby niewspółmiernych kosztów, czasu lub działań 22
Dobór zakresu danych do anonimizacji Jaki charakter ma konkretna dana (kolumna) Dane niejawne, osobowe, wrażliwe, Często nie wiemy, jaka informacja może być użyteczna dla napastnika Możliwość wnioskowania istnieje przede wszystkim dla unikalnych danych: np. firma sprzedaje 1000 produktów, a jeden z nich kosztuje 10x więcej od innych Czy dana jest potrzebna do obliczeń Projektanci aplikacji muszą udostępnić użytkownikom możliwości konfiguracji, tak aby mogli sami decydować o klasyfikacji danych 23
Najprostsze techniki anonimizacji Zamiana danych losowymi wartościami z wcześniej wybranego zakresu Generalizacja (problem: utrata części informacji) Mieszanie zamiana danych (obejmujących kolumnę) wierszami, tak żeby każda zmieniła swoje położenie. Daty (np. urodzenia) można modyfikować, dodając losowy interwał np. +/- N dni. (Problem: dane rzadkie ) Szyfrowanie (problem: widać, że to chronione aktywa) Usunięcie (problem: odpowiednie mapowanie, potencjalne błędy/niemożność przetwarzania danych) 24
Przykładowe podejście formalne k-anonimizacja Dostępna jest baza danych z n rekordami Poprzez zastąpienie ( * ) lub generalizację doprowadzamy do sytuacji, w której każdy rekord jest identyczny co najmniej z k-1 innymi rekordami Przykład 2-anonimizacji: Źródło: R. Williams, M. Blum, K-Anonymity, REU Summer 2007 25
Jak wybrać metodę anonimizacji? Wykonalność obliczeń Nie można np. zaszyfrować wielkości, na których prowadzone są obliczenia Np. generalizacja umożliwi wykonanie obliczeń ze zmniejszoną (ale być może akceptowalną) dokładnością Wykonalność odwrócenia Dane trzeba z powrotem odnieść do informacji posiadanej lokalnie Koszt obliczeniowy zaciemniania i odwracania Nie może równoważyć korzyści z modelu obliczeniowego chmury Np. nie będziemy liczyć skrótów MD5 z nazwiska ;) 26
27
Ochrona specyficzna dla środowiska chmurowego 28
Jeden slajd więcej opowie Paweł De facto Azure nie wprowadza dodatkowych rozwiązań bezpieczeństwa, ale pozwala programistom korzystać z już dostępnych usług Zarządzanie tożsamością i kontrolą dostępu Szerokie wykorzystanie PKI oraz certyfikatów Szyfrowana komunikacja z endpointami aplikacji Wirtualne instancje maszyn obliczeniowych Zwiększenie dostępności poprzez mechanizmy detekcji awarii Wbudowane mechanizmy ochrony przed skanowaniem portów, DDoS itd. 29
Co mogą zrobić autorzy usług? 30
Wyzwania dla bezpiecznego projektu Bezpieczeństwo = problem kompleksowy (wielowarstwowy) Kto może popełnić błąd? Projektanci Programiści Wdrożeniowcy Użytkownicy Prawdziwa dogłębna ochrona (security-in-depth) ma miejsce, jeśli bezpieczeństwo zaadresują w odpowiedni sposób wszystkie te grupy 31
Projektanci (1) Modelowanie zagrożeń na etapie koncepcji 32
Projektanci (2) Zasady Privacy by Design Proaktywne, a nie reaktywne działania Domyślne ustawienia zapewniające prywatność Prywatność wbudowana od etapu projektowania i obecna na wszystkich etapach SDLC Prywatność i, a nie albo bezpieczeństwo Transparentność Poszanowanie prywatności użytkowników Microsoft Privacy Principles http://www.microsoft.com/privacy/principles.aspx 33
Programiści Dokładna realizacja rozsądnie napisanego projektu Tworzenie bezpiecznego kodu Aplikacje np. dla Azure są rozwijane pod Microsoft Visual Studio nie zastąpi ono programisty w myśleniu o bezpieczeństwie Źle napisany kod podatny jest na klasyczne podatności bezpieczeństwa (XSS, Injections itd.) Częściową pomocą mogą być rozwiązania takie, jak Microsoft Anti-Cross-Site-Scripting Library 34
Podsumowanie 35
Podsumowanie Model chmurowy będzie się rozpowszechniać głównie z uwagi na korzyści biznesowe (także dostępność!) W przypadku danych wrażliwych rekomendujemy uniezależnienie się od publicznych dostawców usług cloud computing Możliwe jest wykorzystanie w takich celach chmury prywatnej i współdzielonej Proponujemy tworzenie usług, dających możliwość anonimizacji danych dla obliczeń, które mogłyby być wykonane w chmurze publicznej zaufanego dostawcy Jednocześnie należy stosować ogólne zasady tworzenia bezpiecznych usług IT 36
Więcej informacji NIST Guidelines on Security and Privacy in Public Cloud Computing ENISA Cloud Computing Security Risk Assessment http://csrc.nist.gov/publications/drafts/800-144/draft-sp-800-144_cloud-computing.pdf http://www.enisa.europa.eu/act/rm/files/deliverables/cloudcomputing-risk-assessment/at_download/fullreport Zasady Privacy by Design http://www.ipc.on.ca/images/resources/pbd-nec-cloud.pdf CSA Top Threats to Cloud Computing https://cloudsecurityalliance.org/topthreats/csathreats.v1.0.pdf 37
Pytania i dyskusja Grafika: http://jonontech.com Dziękuję za uwagę! gerard.frankowski@man.poznan.pl 38