dodany: 06.12.2012 | tagi: , ,

Autor:

(Nie)bezpieczne aplikacje biznesowe – część 3

9

Jak chronić aplikacje biznesowe?

Redukowanie ryzyka zagrożeń aplikacji biznesowych ma na celu zmniejszenie go do poziomu akceptowalnego. Zadaniem środków ochrony jest zapewnienie poufności, integralności i dostępności informacji przetwarzanych za pomocą aplikacji biznesowych.

Budując system ochrony informacji dla aplikacji biznesowej istotne znaczenie stanowią zabezpieczenia programowe, które powinny obejmować: odpowiednią ochronę dostępu na poziomie logicznym, odpowiedni poziom ochrony kryptograficznej oraz integralności informacji oraz podpis elektroniczny dla uwierzytelniania i niezaprzeczalności.

Ochrona dostępu na poziomie logicznym

Ochrona dostępu na poziomie logicznym realizowana jest przez uwierzytelnianie. Uwierzytelnianie użytkowników można zdefiniować jako proces weryfikacji czy dany użytkownik jest tą osobą, za którą się podaje.

Bezpieczne hasła

Kluczową rolę odgrywa tutaj stopień skomplikowania haseł przechowywanych w systemie. Dlatego też jednym ze sposób ochrony jest wymuszanie na użytkownikach wybierania haseł trudnych do odgadnięcia. Hasła, aby uznać je za bezpieczne, powinny przestrzegać następujących wymogów:

  • hasło nie powinno składać się z imienia, nazwiska, adresu, daty urodzenia, nazwy użytkownika lub jego znajomego albo członka rodziny,
  • hasło nie powinno być wyrazem jakiegokolwiek języka (zwiększa to podatność na atak słownikowy),
  • hasło powinno mieć odpowiednią długość oraz być przynajmniej 8-12 znakowe – mniejsza długość może powodować podatność na atak brute force.
  • hasło powinno być kombinacją różnych znaków, tj. wielkich i małych liter alfabetu, cyfr oraz znaków specjalnych,

Aby wygenerować silne hasło, można posłużyć się jednym z wielu programów do ich generowania. Można skorzystać na przykład z programów Wireless Key Generator, Password Generator, Advanced Password Generator czy generatora zawartego w KeePass.

Bezpieczne przechowywanie haseł

Hasła powinny być także składowane przez system w sposób bezpieczny, uniemożliwiający ich wykradnięcie i poznanie przez osoby trzecie. Mechanizmy, które przechowują hasła w postaci jawnej lub zaszyfrowanej odwracalnie, w znacznym stopniu obniżają poziom bezpieczeństwa aplikacji biznesowej.

Naturalnym wyborem na bezpieczne przechowywanie haseł jest użycie jednokierunkowych funkcji skrótu. Spośród dostępnych rozwiązań alternatywą jest funkcja haszująca SHA-2 z kluczem 512 bitowym, czyli SHA-512. Należy jednak pamiętać, że nie można mówić o niezawodnej funkcji skrótu np. SHA-1 jest dużo szybsza niż konstrukcje stosujące szyfry blokowe i daje dłuższy skrót niż MD5 (obecnie nie jest już zalecany do stosowania), dzięki czemu jest bardziej odporna na ataki siłowe, jednakże jest możliwa do złamania.. Jest to możliwe przy wykorzystaniu tęczowych tablic (ang. rainbow tables) – bazy skrótów wykorzystywanej w łamaniu haseł szyfrowanych jednokierunkową funkcją skrótu. Dlatego też, jako dodatkowe zabezpieczenie należy, przed haszowaniem, hasło połączyć z dowolnym, wcześniej ustalonym ciągiem znaków, czyli losowo generowaną wartością dodawaną jako argument funkcji skrótu i zapisywaną obok wartości skrótu.

W Internecie są dostępne bazy haszów MD5 wraz z jawnymi odpowiednikami i odgadnięcie „czystego” haszu jest dzięki nim o wiele prostsze. Przechowywanie haseł w takiej postaci gwarantuje nam, że w przypadku włamania do naszej bazy danych, hasła użytkowników będą bezpieczne. Cracker posiadając hasła w postaci zahaszowanej nie będzie w stanie odtworzyć na ich postawie haseł, a co za tym idzie, nie będzie w stanie uwierzytelnić się hasłem. Zaleca się stosowania poszczególnych funkcji skrótu w zależności od pożądanego czasu ochrony informacji.

Odpowiedni poziom ochrony kryptograficznej oraz integralności informacji

Zagrożeniem związanym z hasłami jest możliwość ich podsłuchania (ang. sniffing) w momencie logowania się użytkownika do systemu. Najskuteczniejszą ochroną jest tutaj zastosowanie połączenia szyfrowanego SSL (ang. Secure Socket Layer). Używanie połączenia szyfrowanego zapewnia zwiększoną ochronę danych przesyłanych na serwer i z niego pobieranych. Jeżeli zależy nam na prywatności, powinniśmy używać tej funkcji. SSL realizuje szyfrowanie, uwierzytelnienie serwera i zapewnienie integralności oraz poufności przesyłanych informacji. W momencie nawiązania połączenia z bezpieczną stroną WWW, następuje ustalenie algorytmów oraz kluczy szyfrujących, stosowanych następnie przy przekazywaniu danych między przeglądarką a serwerem WWW.

SSL pozwala na zestawianie szyfrowanych połączeń internetowych wykorzystujących takie protokoły jak: http, ftp, smtp.

SSL zapewnia trzy rzeczy:

  • Prywatność – połączenie jest szyfrowane,
  • Autoryzację – klient i serwer określa swoją tożsamość,
  • Integralność przesyłanych danych – przez sumy kontrolne.

Normalnie strony z serwerów oraz formularze do serwera są przesyłane przez sieć otwartym tekstem, który stosunkowo łatwo przechwycić (szczególnie w sieci lokalnej). Jeśli serwer używa protokołu SSL do komunikacji z przeglądarką, wówczas informacja w obie strony (między serwerem WWW i przeglądarką) jest przesyłana przez sieć w sposób zaszyfrowany, co stosunkowo trudno jest odszyfrować.

Innym sposobem ochrony jest stosowanie szyfrowania w celu ochrony informacji. Szyfrowanie to procedura przekształcania informacji niezaszyfrowanej w informację zaszyfrowaną za pomocą odpowiedniego klucza, czyli algorytmu szyfrującego.

Szyfrowanie

 

Istnieją różne metody szyfrowania przesyłanych danych elektronicznych: symetryczna i asymetryczna.

W przypadku metody symetrycznej wykorzystywany jest ten sam klucz wspólny, zarówno do szyfrowania informacji, jak i do odszyfrowywania. Informacja niezaszyfrowana jest przekształcana w informację zaszyfrowaną przy pomocy tego samego klucza szyfrująco – deszyfrującego.

Bezpieczeństwo w szyfrowaniu symetrycznym jest tym wyższe, im dłuższy jest klucz kryptograficzny (ciąg znaków wchodzących w skład klucza wyrażona w bitach).

Przykładem takiego zastosowania jest np. transakcja w bankomacie. W tym przypadku bank i klient banku dysponują tym samym kluczem, którym jest numer PIN, uzgodniony wcześniej pomiędzy klientem a bankiem.

Symetryczne szyfrowanie

Źródło: Schneier „Kryptografia w praktyce”

Metoda symetryczna jest szybka i wydajna, ale występuje w niej problem ze znalezieniem efektywnego i bezpiecznego sposobu dystrybucji kluczy – odbiorca oprócz zaszyfrowanej informacji musi otrzymać również klucz, za pomocą którego będzie ją mógł rozszyfrować.

Kłopot z dystrybucją kluczy rozwiązuje szyfrowanie asymetryczne. W tej metodzie wykorzystuje się pary kluczy tj. klucza publicznego i klucza prywatnego.

Klucz publiczny jest ogólnie dostępny po to, aby nadawca wiadomości mógł pobrać certyfikat cyfrowy odbiorcy do którego chce wysłać zaszyfrowaną wiadomość a następnie zaszyfrować wiadomość przy użyciu tego klucza.

Odszyfrowanie wiadomości jest możliwe jedynie przy użyciu odpowiadającego mu klucza prywatnego, który znajduje się u odbiorcy, do którego kierujemy zaszyfrowaną wiadomość.
Klucz prywatny jest unikatowy i jest znany jedynie odbiorcy wiadomości, za pomocą którego może odszyfrować wiadomość zaszyfrowaną wcześniej jego kluczem publicznym.

Asymetryczne szyfrowanie

Rys. Źródło: Schneier „Kryptografia w praktyce”

Podpis elektroniczny dla uwierzytelniania i niezaprzeczalności

Podpis elektroniczny dzieli od podpisu odręcznego bardziej istotna różnica niż ta, która występuje między listem elektronicznym a listem papierowym. W przypadku listów treść jest taka sama, zmienia się jedynie forma przekazu. Podpis elektroniczny nie jest tylko zmianą formy podpisu odręcznego i użycie tego słowa – podpis – nie jest do końca uzasadnione.
Z podpisem klasycznym ma tylko podobieństwo funkcjonalne – jest formą oświadczenia woli podpisującego.

Podpis elektroniczny jest ciągiem bitów (krótszym od przesyłanej informacji) będącym funkcją podpisywanej informacji oraz klucza prywatnego nadawcy. W odróżnieniu od podpisu ręcznego zależy od zawartości dokumentu (od skompresowanej próbki dokumentu). Odwzorowanie informacji z dokumentu na jej skompresowaną próbkę dokonuje się za pomocą jednokierunkowej funkcji szyfrującej, tzw. funkcji haszującej. Podpis elektroniczny identyfikuje osobę podpisującą oraz stanowi dowód akceptacji podpisywanego dokumentu, gwarantuje uwierzytelnienie, niezaprzeczalność nadania oraz integralność przesyłanych informacji.

W przypadku klasycznego podpisu łącznikiem między dokumentem a podpisem jest papier, na którym znajdują się zarówno treść dokumentu, jak i podpis. Wystarczy podrobić czyjś podpis, żeby sfałszować dokument.

Do oceny autentyczności klasycznego podpisu odręcznego potrzeba grafologów i znajomości „wzorcowego podpisu”. W przypadku podpisu elektronicznego weryfikacją zajmuje się program komputerowy. Przy podpisie elektronicznym liczy się całą treść dokumentu. Nie wystarczy go skopiować, aby go podrobić. Jest on różny dla różnych dokumentów lub nawet ich fragmentów. Jego podrobienie jest właściwie niemożliwe. Znane metody „złamania” podpisu elektronicznego wymagają tak wielu obliczeń, że obecnie istniejące komputery nie potrafiłyby się z problemem uporać przez lata. Jeśli nawet założymy, że komputery będą dużo szybsze, to zawsze można wydłużyć długość kluczy stosowanych do stworzenia podpisu elektronicznego.

Podstawowe właściwości podpisów cyfrowych oraz ich podobieństwa i różnice w stosunku do tradycyjnych podpisów ręcznych przedstawione zostały w tabeli.

Warto przeczytać także inne artykuły o tej tematyce: (Nie)bezpieczne aplikacje biznesowe oraz Identyfikacja zagrożeń dla aplikacji biznesowych.

Tabela 2. Właściwości podpisów: ręcznego i elektronicznego

Schematy podpisów elektronicznych realizują trzy podstawowe usługi:

  • integralność danych – jest usługą, która zabezpiecza dane przed nieautoryzowaną modyfikacją, zarówno w trakcie ich przechowywania, jak i przesyłania. Aby zapewnić integralność danych musi istnieć metoda detekcji każdej nieuprawnionej modyfikacji, która obejmuje: wstawianie, kasowanie, podstawianie, przetrzymywanie oraz zmianę sekwencji. Usługę tę można określić jako uwierzytelnianie źródła wiadomości;
  • uwierzytelnienie – usługa ta pozwala sprawdzić wiarygodność podpisującego dane. Jest to uwierzytelnienie podmiotu, do którego należy podpis elektroniczny pod dokumentem;
  • niezaprzeczalność – zapewnia dowód na autorstwo podpisu pod dokumentem na wypadek wyparcia się przez autora faktu złożenia pod nim swojego podpisu.

Chroń informacje na wiele sposobów

Informacja jest najcenniejszym towarem. Aby go dobrze strzec, ludzie wymyślili zaawansowane mechanizmy ochronne, takie jak: szyfrowanie, uwierzytelnianie, czy podpis elektroniczny.
Należy się zastanowić nad bezpieczeństwem danych oraz przepływem informacji, ponieważ z jednej strony zmiany technologiczne ułatwiają i przyśpieszają pracę, z drugiej wywołują dodatkowe ryzyko i możliwości ataku cybernetycznego. Dzisiejsi informatycy, zajmujący się nielegalnym pozyskiwaniem danych, posiadają wielkie możliwości zarówno techniczne, jak i programowe. Można przytaczać wiele przykładów opisujących działanie snifferów, czy też innych narzędzi do wyłudzania danych. Nowoczesne przedsiębiorstwo powinno stosować cały zestaw uzupełniających się produktów, aby chronić się przed zagrożeniami. Pojedyncze rozwiązania nie mogą zapewnić pełnej ochrony przed wszystkimi możliwymi zagrożeniami.

avatar
Szef Działu Bezpieczeństwa, Ochrony Informacji i Audytu w Unizeto Technologies S.A.
Quality Manager, IT Security Manager, Audytor bezpieczeństwa informacji/ danych osobowych, ABI, Pełnomocnik Systemów Zarządzania, Menedżer zarządzający pracą grupy podległych mu osób.

9 odpowiedzi na “(Nie)bezpieczne aplikacje biznesowe – część 3”

  1. It is actually perfect time and energy to complete a couple of ideas for future years and it’s really time for it to be at liberty. We’ve master this specific offered if I could truthfully I’m going to give you advice few attention-grabbing problems or maybe suggestions. You may might generate future content in regards to this content. I would like to read through even more reasons for having the idea!

  2. Wonderful elements right here. I’m just really thankful to peer your own write-up. Thanks a lot a great deal exactly what writing about forward to make contact with you. Would you like to be sure to decline me a mail?

  3. Hello There. I found your blog the usage of msn. That is a really neatly written article.

    I’ll make sure to bookmark it and return to read more of your helpful information. Thank you
    for the post. I’ll certainly comeback.

  4. Hello There. I found your blog using msn. This is a really well written article.
    I’ll make sure to bookmark it and return to read more of your useful
    info. Thanks for the post. I’ll certainly return.

    My website – website design software microsoft

  5. Heya! I realize this is sort of off-topic but I had to ask.
    Does operating a well-established blog like yours take a
    lot of work? I’m completely new to operating a blog however I do write in my diary daily.

    I’d like to start a blog so I will be able to share my personal experience and thoughts online.
    Please let me know if you have any kind of suggestions or tips for new aspiring blog owners.
    Appreciate it!

    My blog post … dating advice for women (toshamosley.wordpress.com)

  6. Hey! I understand this is somewhat off-topic however I had to ask.
    Does running a well-established website like yours take a large
    amount of work? I am brand new to blogging however
    I do write in my journal everyday. I’d like to start a blog
    so I can share my experience and thoughts online.
    Please let me know if you have any kind of suggestions or tips for brand new aspiring blog owners.

    Appreciate it!

    Here is my webpage; relationship advice

  7. Pretty component of content. I simply stumbled upon your website and in accession capital to claim that I get actually loved
    account your blog posts. Anyway I’ll be subscribing to
    your augment and even I achievement you access constantly fast.

    my blog website design companies denver

  8. The increase in financial investment in offline marketing, then, from web business isn’t really since these channels have actually ended
    up being more efficient; rather, they have actually just become more trackable.

  9. avatar michael pisze:

    Do you mind if I quote a few of your posts as long as I
    provide credit and sources back to your blog? My blog is in the very same niche as yours and
    my users would definitely benefit from some of the information you present here.
    Please let me know if this okay with you. Many thanks!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *