Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
GitHub wprowadza dwuskładnikowe uwierzytelnianie
GitHub, popularny serwis stworzony z myślą o hostowaniu projektów programistycznych, poinformował właśnie o wprowadzeniu obsługi dwuskładnikowego uwierzytelniania.
W oficjalnym komunikacie możemy przeczytać, że z 2FA (ang. two-factor authentication) będzie można korzystać za pośrednictwem:
- wiadomości SMS
- lub specjalnej mobilnej aplikacji.
— WS
Siedzę sobie i myślę, miliony programistów, miliony informatyków, miliony siecowców i administratorów, geniusze i średniacy – nikt nie wpadł na nic lepszego niż 2FA? Owszem, 2FA gwarantuje zwiększenie bezpieczeństwa, ale czy udostępnianie numeru swojego telefonu jakiemukolwiek serwisowi internetowemu, którego baza danych może zostać przejęta przez osoby niepowołane w kilka minut – ma logiczny sens?
Za niedługo będziemy musieli przykładać palec do czytnika linii papilarnych, policja dostanie od fejsa bazę odcisków połączoną z imionami + nazwiskami wszystkich ludzi na ziemi. W takim kierunku mają iść zabezpieczenia? Daj nam swoje dane, my zabezpieczymy twoją sesję logowania, ups. wczoraj cracker wykradł wszystko, prosimy zmienić?
józek,
Jest oczywiście sporo nowych pomysłów uwierzytelniania użytkowników. Ciągle jednak klasyczne hasła i typowe 2FA nie mają realnych konkurentów.
@Wojciech Smol
Link, który wysłałeś, zawiera właśnie pomysły typu linie papilarne, prześwietlanie siatkówki oka, monitor twarzy, uderzenia serca (lol?) i inne pierdoły, które za wszelką cenę mają powiązać konkretnego człowieka z konkretnym kontem, co w efekcie pozwala na dowolną personalizację i szpiegostwo.
Tylko dlaczego to ma być MANUALNE? Dlaczego fizycznie chcemy uwierzytelniać ludzi? 2FA niby nie ma wad? Bo przechwytywanie sygnału komórkowego jest trudne? Bo wirusów na Androida nie ma? Prawda jest taka, że wystarczy komuś podpieprzyć telefon i dostajemy dostęp do konta, w gratisie (socjotechnika FTW).
Najlepszy PRowy sposób to taki, który wmówi ludziom, że gwarantuje im to bezpieczeństwo – nie ważne czy działania takie są logiczne czy nie, czy mają sens, są przemyślane. Liczy się względny zysk, nie do końca wiadomo jaki.
Najbardziej logiczne sposoby uwierzytelniania to te, które skupiają się na ludzkiej psychice – każdy człowiek pod względem umysłowym jest inny, dlaczego nikt nie potrafi tego wykorzystać? Nie muszę znać twojego IP, numeru twojego domu, nie muszę znać imion twoich rodziców, daty urodzenia, twojego numeru telefonu, twojego e-maila – wystarczy stworzyć oprogramowanie, które będzie perfekcyjnie porównywać grafikę, którą odręcznie musisz narysować przykładowo za pomocą myszki albo ekranu dotykowego. To może być twój podpis, ptaszek na wierzbie – cokolwiek. Z tego co pamiętam, porównywanie np. podpisów/pisma, to osobna dziedzina nauki, która ma wielu specjalistów i swoje prawa.
Wymyśliłem to w coś koło 2-3 sekund. Najlepsze, że sposób zwykłego rysowania hasła – jest chyba najbezpieczniejszym sposobem, jaki wymyślono ever. Pole, w którym użytkownik miałby wpisywać swoje hasło może być po prostu czarne, tak jak linia, którą rysuje. Odpowiedzią z serwera było by tylko tak lub nie. Nie grożą nam żadne trojany, wirusy, keyloggery, ani nawet robienie screenów naszego pulpitu nie dało by efektu. Przechwycenie zakodowanych plików graficznych, zawierających hasła – również nic nie daje. Wystarczy je XORować, a klucz mieć tylko w pamięci i na papierze w firmie. Każde zdjęcie, każdy JPG, to zwykły ciąg bitów, który po XORowaniu kluczem dłuższym niż 12 znaków, jest problemem nawet dla komputera kwantowego.
józek,
2FA ma oczywiście swoje wady.
Co do rysowania za pomocą myszki lub ekranu graficznego, to nie jestem pewien, czy byłbym w stanie w powtarzalny sposób cokolwiek tak rysować lub się podpisywać. Gdyby zaś to miało być odręczne, to jest już kwestia znowu nietypowego urządzenia wejściowego…
Z przechwyceniem takich danych uwierzytelniających (np. poprzez śledzenie i odtworzenie położenia i specyficznego ruchu kursora lub po prostu kradzież samej zapisanej „próbki” takiego podpisu?) przez malware również nie byłoby raczej większych problemów niż w przypadku obecnie znanych metod (np. hasła wprowadzanego z klawiatury).
Zrób sobie prosty test – narysuj w Paintcie litery odpowiednio Kw (duże K małe w razem) – powtórz czynność kilka razy. Następnie porównaj sobie zapisane obrazki. Ważne, żebyś miał to zapisane w plikach, abyś nie widział poprzednich prób. Zauważysz, że niektóre elementy, na wszystkich obrazkach będą ze sobą zgodne, chodzi o konkretne szczegóły – np. podobne będą za każdym razem połączenia V i V, albo ). Każde oprogramowanie każdego serwera, można dodatkowo modyfikować, zmieniać czułość, zwiększać, skupiać się na innych elementach np. końcach prostej, bądź na łączeniach itd. Dodatkowo, jeżeli wykryjemy inne IP, nazwę komputera, GUID przeglądarki etc. znowu zwracamy błąd i blokujemy konto, a podstawowych informacji mogą nam dostarczyć flashcookies.
Mój sposób całkowicie eliminuje hurtowe sprawdzanie danych, nie wystarczy bruteforce, nie wystarczy zainfekować komputerów keyloggerem, by wszystkiego się dowiedzieć. Trzeba będzie pokombinować i się solidnie namęczyć, a jak wszyscy wiemy, crackerom się nie chce męczyć, jeżeli nie ma po co.
Tak jak w 2FA wystarczy ukraść telefon, tak tutaj trzeba poświęcić sporo czasu na analizy. Obie możliwości łączy jedna wspólna cecha – jak ktoś chce, to i tak się dostanie gdzie chce. Nie ma wyjątków. Mój sposób jednak jest zdecydowanie bardziej logiczny, efektywny i nie wymaga od ciebie jakichkolwiek danych – ani numeru telefonu, ani imienia, ani nazwiska, ani hasła, ani emaila itd. itd. i w końcowym wyniku jest tańszy :)
Zauważ też, że wymyśliłem to w kilka sekund, to nie ma być dopracowane od A do Z. Sam siebie zapytałem, jak rozwiązał bym taki problem i sam sobie zaproponowałem rozwiązanie. Wszystko można ulepszyć, wszystko można zaszyfrować, wszystko można utrudnić. To tylko pomysł, nawet nie ma być dokładny, ma tylko zobrazować, że taki człowiek jak ja (bez specjalnych osiągów ^^), wymyśla coś w kilka sekund – a miliony innych jełopów, wymyślają 2FA przez kilka lat, a to nic innego, jak uwierzytelnienie za pomocą czegoś innego niż internet. Czarujące.
woooow, panie moderatorze, zgłaszam sprzeciw – gdzieś zniknęła caaaała środkowa część postu, gdzie objaśniałem wiele, wiele rzeczy (np. poproszenie żony, aby wykonała ćwiczenie z samego początku i porównanie z twoim wynikiem (u mnie, wyniki żony były zupełnie różne), cała lista rzeczy, dlaczego to jest bezpieczne i co musi zrobić programista by sobie poradzić z wieloma technicznymi kwestiami). Zasmuciłem się wielce…
józek,
Backup przed wysyłaniem zrobiłeś ;)?
no właśnie nie :/ postaram się znaleźć czas, żeby to znowu napisać
@józek: swietna uwaga co do tematu uwierzytelniania. No przecież „to wszystko w trosce o nasze bezpieczeństwo”.
@Wojciech Smol: a propo – swietna strona, swietne artykuły. Tak trzymać.
Cieszę się bardzo, właśnie takie głosy nas napędzają ;) i oczywiście zachęcam do regularnego czytania.
Józek problem w tym, że wymyślasz swoje argumenty na poczekaniu – jak sam powiedziałeś 2-3 sec. Rozumiem, że każdy pomysł wydaje się na początku prosty, skuteczny wręcz genialny, ale… jest bardzo prosty argument obalający wszystkie twoje pomysły – kasa. Weźmy na przykład pomysł z rozpoznawaniem kształtu jakiegoś tam rysunku. Operacje jakie muszą wykonać serwery są dużo bardziej zasoborzerne niż zwykłe porównywanie tekstu, przemnażając to przez liczbę logowań kilkutysięcy urzytkowników okaże się, że serwery zajęte tymi obliczeniami nie będą mogły robić nic innego, co za tym idzie firma będzie musiała zainwestować w spro mocniejszy sprzęt. Nie mówię już, że takie rozwiązania mają również swoje wady nie tylko związane z bezpieczeństwem, ale chociażby związane z wygodą użytkowania. Pomyśl jak bardo denerwujące jest szukanie capcha, które możnaby rozszyfrować i bezbłędnie przepisać. Urzytkownik, który nie będzie mógł powtórzyć jakiegoś kształtu np z powodu braku myszki, lub tabletu (bo jest np u znajomego, a on ma tylko touchpada) , będzie znacznie bardziej poirytowany tym faktem. Argument dotyczący pisma też jest średni. Ostatnio zgubiłęm dowód co wiązało się z wyrobieniem nowego. Już po wyrobieniu odzyskałem stary dokument (ktoś odniósł na komisariat) i porównując swój podpis z teraz a sprzed 3 lat są one znacząco różne. Tak więc, zbyt czułe ustawienie sprawdzania spowoduje nie tylko wyczerpanie zasobów serwera, ale również frustracje użytkowników, zbyt słabe nie da nam wystarczającego poziomu bezpieczeństwa. Sam powiedziałeś, że programistów jest wielu, pozwól nam pracować – wiemy co robimy:)
@Hatcher
Nie rzucaj wyzwania nerdowi od C z kilkunastoletnim stażem, bo podniesie rękawicę i udowodni, że mylisz się w kilku kwestiach ;)
Zakup jednego serwera do obsługi specjalnego oprogramowania jest niczym, w porównaniu do opłat ogromnej liczbie operatorów na świecie, za połączenia krajowe jak i roamingowe (chodzi o wysyłanie SMSów, przykład googla). Zwłaszcza, że koszt takiej maszynki to jednorazowo hmm… patrząc na moje doświadczenie? 35 000zł spec serwer do przeliczeń, 15 000zł spec serwer do przechowywania i kompresji danych – na każde 50 000 000 użytkowników. Także wszelkie koszta nie dotyczą inwestycji jednorazowych. Zrób sobie test. Wyślij SMSa do 50 000 000 użytkowników w USA, przy założeniu, że jeden sms kosztuje 0,001$. 50 000$, niezły wynik.
To oczywiste, że takie rozwiązanie jakie zaproponowałem nie znajdzie zastosowania, nie z powodu kosztów, nie z powodu braku bezpieczeństwa, czy powodów technicznych. Nie znajdzie zastosowania, bo:
a) ludzie są przyzwyczajeni do wklepywania danych
b) nie zmieniają się ludzie sami w sobie (i też nie piernicz, że zmienił ci się podpis w 3 lata nie do poznania, ja od 27 lat używam tego samego podpisu i zmieniła się tylko ostrość kursywy), ale zmienia się ich otoczenie – wystarczy kupić myszkę z mniejszą/większą rozdzielczością i mamy problem
c) bo tysiące crackerów i hackerów, straciło by swoją robotę :))
Zauważ też, że ten pomysł jest po prostu rzucony. Zaproponuj własny sposób. Mi przez głowę przebiegają jeszcze na szybko pomysły związane z technologią SWYPE od Samsunga i tyle, jeśli chodzi o zwiększenie bezpieczeństwa wpisywanych haseł. A wiesz czemu? BO KAŻDE ROZWIĄZANIE WPISYWANIA HASEŁ, NIE JEST BEZPIECZNE. Co najprościej szpiegować? Tekst i klawiaturę.
Może i nie mam tyle doświadczenia co Ty, ale zdążyłem się już nauczyć, że software wytwarzamy pod użytkownika i często okazuje się, że innowacyjne rozwiązania przegrywają ze starymi sprawdzonymi mechanizmami – przykładów chociażby z gier komputeroych można mnożyć – w tym momencie został obalony podpunkt a.
Co do punktu b to zapewniam Cię, że bardzo mi się zmienił, gdyż w tym okresie uczyłem się stenograficznego systemu Polińskiego co odbiło się na moim normalnym piśmie bardzo:)
Wątpie również w to by crakerzy stracili z tego powodu swoja prace:) Przechwycenie zdarzeń z klawiatury jest możliwe, z myszki – również:) Program do odtworzenia tego ruchu można w kilka linijek napisać chociażby w basicu:) Z tego też powodu uważam, że twój sposób nie jest wcale lepszy od starego dobrego hasła, a nawet z uwagi na niewygode z jaką spotyka się użytkownik – gorszy.
Na koniec kwestia kosztów:) Być może koszt serwera nie jest taki duży, ale pamiętaj że dane na serwerze musisz jakoś zaszyfrować na wypadek kradzieży danych. Aby, porównać dwa wzorce musisz go jednak rozszyfrować lub wykorzystać algorytmy homomorficzne (dodajmy do tego rozpoznawanie obrazu i sprawa się komplikuje:)). Może doświadczony programista powie mi ile może kosztować opracowanie takiej technologii – ja nie wiem:)
Walka z wiatrakami :)
Odpowiem tylko na to, że napisałem, chyba nawet w pierwszym komentarzu, używałbym XORowania samych bitów obrazków (najprostszy, najskuteczniejszy, najszybszy sposób szyfrowania ever), a klucz przechowywał bym w pamięci. Problem solved.
Opowiem jednym słowem – skalowanie. Wystarczy że ktoś narysuje mniejszą kopie rysunku i już ci się % zgodność nie zgodzi. Powiem więcej. Zgodność musi być na poziome powiedzmy minumum 50% – a to i tak zamało – i zapewniam Cię, że nigdy nie uzyskasz takiej dokładności dla 2 rysunków. Wystarczy, że ktoś zmieni trochę pozycje rysunku na bardziej z prawej i jeszcze zrobi mniejszy lub nieco większy i po frytkach. Gdyby to było takie proste to OCR’y nie zaprzęgały, by do pracy sztucznych sieci neurnowych. Ja wiem, pomysł rzucony ot tak – żeby pokazać że się da. A jedynie udowodniłeś, że wymyśleć prosty i skuteczny sposób autentykacji użytkownika jest diabelnie trudno. Niestety, lub stety 2FA jest na tę chwilę najlepszym na to sposobem – pogódz się z tym:)
PS. Nadal pozostaje problem szyfrowania wzorca na serverze;) Jeśli miałbyś szyfrować to odwracalnym szyfrem, to może porzućmy MD5 i szyfrujmy wszystko szyfrem cezara:)
@Hatcher
Ehhh… skalowanie nie jest problemem, bo nie skupiasz się na dokładnym odwzorowaniu obrazka. Czym się różni podpis od podpisu hm? Zakończeniami, łączeniami, stylem pisania konkretnych liter (bardzo różny dla p,b,d,h,L,4,1,9,6 (przykładowo u mnie – cyfra 6 nie różni się zbytnio od litery b, a jednak widać niewielką różnicę), kursywą, wielkościami. Poczytaj o tym trochę. Skalowanie to jest chyba najmniejszy problem dla takiego programu. Majstrze, kilka lat temu na zlecenie ZAiKS mieliśmy stworzyć algorytm pozwalający porównywać ze sobą grafiki/filmy oparty na metodzie wykrywania krawędzi. Było to w okresie jakiejś afery filmowej, chyba z napi-projekt.pl. Chcieli mieć narzędzie, które przed sądem pozwalało by ustalić stopień zgodności. Jednak dali zaliczkę, a potem się rozmyślili i koniec. W dwa miesiące, dwa różne 3gb filmy analizowaliśmy w 30 sekund (średnia 63fps, 6gb łącznie danych) i kolejne 10-20 sekund zajmowało ustalenie podobieństwa (pierwsze testy wskazywały na 83.7 – 86.1% skuteczności podobieństwa). Jeden film był z napisami, drugi bez.
Nie ma rzeczy, których nie da się zrobić w informatyce. Życie mnie tego nauczyło. OCR’y zatrudniają sieci neuronowe i płacą za to grubą kasę, bo nie chce im się myśleć nad własnymi rozwiązaniami, tylko stosują to co ktoś inny rekomenduje i daje względne bezpieczeństwo. Lenistwo i partactwo. 2FA jest najlepsze? Nie zgadzam się. 2FA jest bardzo proste do obejścia, ale tutaj chętnie pewnie podzielą się swoją wiedzą chłopaki z sekuraka (zróbcie mały wykład o socjotechnice, wirusach androidowych, podszyciach pod sesję itd.)
SSL? NSA backdoor. Windows 8? Microsoft backdoor. SSH? NSA backdoor. Itd. itp. http://sekurak.pl/nowy-atak-na-ssl-tls-nie-panikuj/
PS.
MD5? Czy kolega wie, że MD5 dzięki coraz większym botnetom i OGROMNYM bazom tablic tęczowych, nie stanowi już większego problemu? Nawet jego solenie jest coraz mniej efektywne? Popularność jaką zdobył MD5 gotuje mu los upadającego kodowania. Za niedługo MD5 przejdzie do lamusa, a wszystko przejdzie na Scrypt’a.
Co więcej, zdecydowanie bardziej polecił bym jakiemukolwiek mojemu klientowi, używanie chociażby XORa, jeśli jego klucz jest przechowywany bezpośrednio w pamięci. Czemu? Bo pamięć jest tak zwanym „zone-zero”, nigdy, nikomu z pośrednim dostępem do komputera nie uda się zgrać obrazu pamięci lub dostać do niej dostępu. Prawa linuxa są nie do przeskoczenia, a XORowanie jest oficjalnie nie do złamania ;)
*z napisami osiągaliśmy medianę 85% zgodności
z efektami rozmycia, zmiany koloru, kafelki etc. uzyskiwaliśmy średnio 71%
A właściwie, to podsunąłeś mi znowu kilka pomysłów:
1. pendrive-klucz jak przy TrueCrypcie, nie wsadzisz bootloadera nic się nie uruchomi. Wymagane: aplikacja + szyfrowanie, po stronie użytkownika, deszyfracja po stronie serwera. Dalej nie potrzebuję żadnych twoich danych personalnych.
2. Ściąganie danych od użytkownika – nazwa komputera, IP, GUID systemu, nazwa hosta, wystarczy do tego flashcookies (od wielu lat taką metodę stosuje allegro.pl do wyłapywania oszustów i mają całkiem dobrą skuteczność), chociaż tutaj dalej wspieramy szpiegostwo
3. Aplikacja po stronie użytkownika, która przesyła już zakodowane za pomocą scrypta hasło i dodatkowo wymaga wpisania hasła tylko raz (np. z klawiatury ekranowej). Aplikacja może działać z wieloma serwisami, szyfrowanie połączenia np. po SSL, baza danych szyfrowana (coś takiego jak keepass, tylko działamy na samym połączeniu)
trzy takie na szybko, idę pod prysznic, jak wrócę będzie pewnie więcej
Lubie takie ciekawe dyskusje:)
Co do algorytmów opartych na wykrywaniu krawędzi, za bardzo w tym temacie nie mogę się wypowiedzieć, być może są ona szybsze i lepsze od algorytmów opartych na SSN, należało by sprawdzić jak taki algorytm sprawdza się w tym konkretnym zastosowaniu już na jakimś małym przykładowym serwerku:)
Oczywiście znany jest mi fakt, że SHA-1 czy MD5 nie są nie do złamania, ale miej również na uwadze to, że wiele serwisów nadal przechowuje hasła jawnym tekstem i tu jest kolejna ważna kwestia, o której powiem za chwile.
Pomysł z pendrive nie jest zły, co więcej takie rozwiązania były już stosowane, ale argument przeciw jest bardzo prosty i sam go podałeś, jeśli ktoś mi go skradnie to podobnie jak w przypadku telefonu ma w gratisie dostęp do moich kont. Inna rzecz to kwestia dystrybucji tych kluczy? Serwis wysyła Ci klucz specjalnie spreparowany pod ich strone? Czy jest możliwość „doinstalowania” na swoim urządzeniu uprawnień do danej strony. W obu przypadkach nie jest to wygodne i bezpieczne rozwiązanie.
Mam nadzieje, że ten drugi sposób to żart? A to ze względu na to, że wystarczy zmienić miejsce pobytu (zmienia się IP), lub przeinstalować system i już nie mam dostępu do konta, co więcej u znajomego również nie będę mógł się zalogować na swoje konto, gdyż jego maszyna jest inna.
Aplikacja jest iekawym rozwiązaniem. Mogę ją zainstalować również u znajomych i korzystać z mojego konta. Problem w tym, że atakujący też może, a jak się okazuje SSL też nie jest super bezpiecznym rozwiązaniem. Zwyczajnie powstaną nowe techniki kradzierzy danych. Inna rzecz, że to jednokrotne wpisanie hasła, może być wystarczające by keylogger je wyłapał(nie uda ci się przekonać wszystkich by korzystali z klawiatury ekranowej).
Kwestią ostatecznie kończącą dyskusję jest świadomość innych w sprawach bezpieczeństwa. Jako programiści długo możemy spierać się który sposób jest bezpieczny, wygodny czy optymalny. Dopóki jednak będą istniały serwery z hasłami w jawnym tekscie, a użytkownicy do każdego serwisu będą mieli te same hasło, dopóki nie zmieni się podejscie ludzi do bezpieczeństwa własnej maszyny, nasze starania pójdą na marne.
Ps. Chętnie dowiedziałbym się więcej o tych algorytmach rozpoznawania krawędzi. Mój mail dracoborg@gmail.com.
@Hatcher
Pomysł pierwszy – plugin do przeglądarki, najlepiej uniwersalny, odpowiadający za przygotowanie pendriva do użytkowania z konkretną stroną (z pendriva może korzystać wiele serwisów, oczywiście, nie musi to być pendrive – jakikolwiek nośnik danych). Mój pomysł eliminuje skutki kradzieży klucza – wystarczy powiązać plugin użytkownika z konkretnym perndivem. Wtedy nawet w momencie kradzieży, dane będą nie kompatybilne z pluginem oraz zaszyfrowane – pełne bezpieczeństwo. Tak jak pendrive działa jako bootloader dla systemu logowania na stronie, tak plugin może działać jako bootloader dla perndriva.
Pomysł drugi – nie jest on w cale taki zły. Sprawdzanie chociażby geolokalizacji skutecznie wykorzystuje się aktualnie np. w Guild Wars 2. Kwestia jest taka, że w momencie logowania z innego IP itd. można wprowadzić coś takiego jak „ograniczony dostęp”. Z niektórych materiałów chcesz korzystać wszędzie, z niektórych, super wrażliwych – korzystasz tylko prywatnie. Dodatkowo blokujesz opcje zmiany ustawień personalnych/zabezpieczeń i już. Jeżeli chcesz na stałe korzystać z urządzenia kumpla, dodaj jego dane (logowałeś się z innej maszyny, więc te dane już są, trzeba je tylko potwierdzić). Nie takie głupie co?
Pomysł numer trzy – przy 2FA musisz wpisać hasło i też każdy keylogger może je przejąć. Jeśli na potrzeby aplikacji stworzymy wewnętrzną klawiaturę ekranową i odpowiednio ją zabezpieczymy (wstawić w wewnętrzną warstwę programu i powodzenia), to jedyny keylogger który nam grozi to taki, który robi jednocześnie screenshooty on click. Aplikację możesz przenieść na dowolnym nośniku pamięci, jest szyfrowana, więc nie ważne czy ci ją ktoś ukradnie czy nie, może być portable, bez hasła się nie rozszyfruje.
Proste, nie wymagające sposoby od użytkownika. Widzę, że ty nie wiesz, do czego służy tak na prawdę 2FA. Dodatkowe uwierzytelnianie nie ma chronić wszystkich danych, ani wszystkich kont. Ma chronić konta, które np. zarabiają na swojej działalności (np. konta partnerskie youtube), są niezmiernie popularne (Mark Zuckenberg, kilka milionów fanów i śledzących) czy z jakiegoś powodu ważne (grupy zamknięte) – i mogę cię zapewnić, że z tych kont nie korzysta się wszędzie. Standardowego, szarego usera, nic nie obchodzi 2FA, bo standardowy user swoje ważne dane etc. przechowuje na swoim własnym komputerze, z awaryjną listwą zasilania, W8, wirtualną maszyną na Linuxie z podwójnym szyfrowaniem (maszyna + linux) i 55 znakowym hasłem do BIOSu, 72 znakowym do Linuxa, 34 znakowym do wirtualnej maszyny i ponad 120 znakowym do TrueCrypta, a po drodze do drzwi ma zamrażarkę, co by wrzucić do niej dyski i wykasować dane w razie „interwencji” – no i nie zapominajmy o systemie kamer za monitorem, widzących dosłownie wszystko.
Tyle pomysłów, tak dopracowane, zajęło mi ich wymyślenie koło 2 minut, a z bezpieczeństwem sieciowym to ja mam tyle wspólnego, co ananas z marchewką. Ponowię pytanie – gdzie są te miliony speców od bezpieczeństwa? Gdzie te miliony architektów sieciowych? Gdzie ci wszyscy programiści od PHP, phytona, perla, ruby? Gdzie są ci geniusze, którzy pewnie w teście na IQ prześcignęli by mnie jak Husain Bolt pandę? Gdzie są ludzie, którzy wymyślili by coś lepszego nawet niż moje propozycje? Bo na razie, patrząc na 2FA jestem rozczarowany, zażenowany i z miłą chęcią oddał bym swoja magisterkę z programowania, żeby się z tymi kretynami nie utożsamiać.
„wystarczy powiązać plugin użytkownika z konkretnym perndivem.”
Słabosc twojego rozwiązania polaga na tym że to są dane które mogą być przechwycone na tym samym komputerze co wpisywane haslo.
Przy zainfekowanym komputerze takie zabezpieczenie nic nie zmieni.
Zdecydowanie nie zgodzę się, że 2FA jest tylko dla wybranych. Przykłąd kuzyna chociażby. Korzysta z 2FA na swoim koncie pocztowym, a nie ma nawet internetowego konta bankowego. Najcenniejsze co chroni to konto facebook i do gry Legue of Legends, a mimo wszystko zdecydował się na dodatkową ochrnonę. Z tego powodu zwrócę Twoją uwagę na jeden aspekt dotyczący wszystkich twoich metod. Znam wielu ludzi – i ty pewnie też – którym wyzstarczy zmienić przeglądarke z firefox na chrome, a nie będą oni w stanie normalnie funkcjonować w sieci przez tydzień. Może to się wydać nie do pomyślenia, ale są ludzie którzy korzystają z komputera na pamięć. Są firmy które korzystają jeszcze w windows 98, bo Panie księgowe znają tylko te stare programy i zanim połapały by się w nowych technologiach firma zapewne by upadła (przykład z życia, prawdziwy). Nie wymagaj, więc od tych ludzi, którzy są notabene „technologicznie niepełnosprawni”, aby potrafili posługiwać się twoimi metodami swobodnie. I ja nie mówię tu o ludziach starszych po 40, 50 czy 70, ale również o młodych ludziach, którzy poza obsługą facebooka nie wiedzą jak zainstalować aplikację pod windowsem. Jeśli wyłączasz zwykłego szarego Jana Kowalskiego ze swojej grupy potencjalnych odbiorców to tworzysz rozwiązanie do konkretnego systemu, i takie rozwiązania jak sam powiedziałeś istnieją, są zaimplementowane i działają, ale nie są one powszechne. Prawdopodobnie dlatego, że ich upowszechnienie nie zwiększy bezpieczeństwa w sieci, gdyż tylko nieliczni będą na tyle zdeterminowani, by nauczyć się z tych systemów korzystać. Chcesz stworzyć system, z którego w większości będą korzystać spece od bezpieczeństwa i hakerzy? Moim zdaniem mija się to z celem.
PS. Kolega widzę lubi się chwalić swoimi osiągnięciami, wieloletni programista C, magister, gratz;)
Automatyzacja specjalnie dla laików nie jest problemem.
Pozdrów kumpla, nie ma to jak chronić konto na fejsie i w LoLu ;)
Dziś laik automatycznie skonfiguruje twój system na pendrivie, jutro go sformatuje i będzie zły, że nie działa:) Jak myślisz kto będzie winny zaistniałej sytuacji?
Dla Ciebie to śmieci, dla niego skarby (choć utrata konta na fb może przysporzyć problemów). Jeśli jest mu to potrzebne, by czuć się bezpiecznie, to wybierze usługodawce, który zapewnia mu prosty i skuteczny system zabezpieczenia poczty.
Moim zdaniem należy skończyć ta dyskusję. Jak widać każdy ma swoje zdanie. Ja uważam, że ludzie od bezpieczeństwa robią naprawdę dobrą robotę, a 2FA spełnia powierzone mu zadanie. Jednocześnie opracowanie równie dobrego i uniwersalnego rozwiązania nie należy do prostych zadań.
I rada na koniec. Staraj się nie wspominać jak MAŁO czasu zajęło Ci opracowanie jakiegoś nowego, skutecznego rozwiązania, gdyż wydajesz się wtedy mało wiarygodny i nikt nie będzie brał Cię poważnie. Podobnie chwalenie się tytułami i osiągnięciami (podkreślając przy tym, że nie ma się doświadczenia w omawianej dziedzinie) nie wygrywa dyskusji:) Nie mniej jednak dzięki za ciekawą rozmowę.
Pozdrawiam.
PS. Ciekaw jestem co w tym temacie ma do powiedzenia ekipa sekuraka:D
PS 2: A tak poza tym dobra robota chłopaki (i być może panie), bardzo dobry serwis poświęcony bezpieczeństwu:)
Hatcher,
Ad. PS 2FA jest oczywiście krokiem w dobrą stronę. Na chwilę obecną nie widać sensownych alternatyw, które mogłyby zostać powszechnie przyjęte. 2FA nie jest doskonałe i trzeba również pamiętać że mamy całą masę różnych implementacji, które są mniej i bardziej bezpieczne. Znane są również skuteczne ataki na 2FA, chociażby opisywany już kiedyś przeze mnie Man-in-the-Browser spokojnie sobie poradzi. Jednak, czy kiedykolwiek spodziewamy się metod w pełni bezpiecznych?
Ad. PS 2 Dziękujemy!