eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plFinanseGrupypl.biznes.banki › mBank - zablokowany dostęp
Ilość wypowiedzi w tym wątku: 122

  • 81. Data: 2020-06-08 16:20:18
    Temat: Re: mBank - zablokowany dostęp
    Od: Krzysztof Halasa <k...@p...waw.pl>

    Piotr Gałka <p...@c...pl> writes:

    > Ale ten hash jest dobry tylko dla tego jednego serwera. Skoro ten
    > serwer został tak zaatakowany, że ktoś wydobył te hashe to ten serwer
    > już i tak jest stracony.

    Eee, wcale nie ma takiej gwarancji. Istnieje klasa ataków, np. pasywny
    podsłuch, gdzie taki atak dawałby atakującemu dostęp do naszego konta,
    natomiast klasyczny mechanizm challenge-response jest bezpieczny.
    --
    Krzysztof Hałasa


  • 82. Data: 2020-06-08 16:23:36
    Temat: Re: mBank - zablokowany dostęp
    Od: Krzysztof Halasa <k...@p...waw.pl>

    Piotr Gałka <p...@c...pl> writes:

    > Jednak są pewne, kluczowe różnice:
    > - hash jest znacznie dłuższy od hasła użytkownika (nie da się
    > zaatakować ani siłowo, ani słownikowo),

    Ale dlaczego nie? Przecież możemy dokleić salt i przelecieć słownikiem
    tak samo. Jedynie trudniej zrobić rainbow tables (może nawet nie da
    się).

    > - jest inny w każdym serwisie nawet jak użytkownik używa tego samego hasła.

    No tak. Ale w praktyce tego nie można wykorzystać.
    --
    Krzysztof Hałasa


  • 83. Data: 2020-06-08 16:33:11
    Temat: Re: mBank - zablokowany dostęp
    Od: Krzysztof Halasa <k...@p...waw.pl>

    Piotr Gałka <p...@c...pl> writes:

    > W tej gałęzi wątku twierdzę, że powinniśmy móc używać tych samych haseł.
    > Jeśli komputery mogą nam to załatwić to powinno to (dla ogólnego
    > bezpieczeństwa) być tak zrobione. Najlepiej 'od zawsze'.
    > Nie widzę uzasadnienia dlaczego nie jest.

    Napisałem - dlatego, że HTTPS nie przewiduje takiego mechanizmu.
    Dlatego, że obecnie musiałoby to być zrobione w JS, a do tego nie można
    mieć zaufania. Poza tym, gdyby ktoś chciał to zrobić (w ogóle takie
    rzeczy występują, tylko że nie w HTTPS), to należałoby to zrobić lepiej.

    > Moje założenie, że hasło jest hashowane w komputerze użytkownika,
    > chyba wzięło się z lektury tej jednej książki. Z niej chyba wynikało,
    > że tak to musi być i ja to przyjąłem jako pewnik.

    Czy ja dobrze kojarzę, że ta książka to "Applied Crypto" Schneiera?
    Naprawdę coś takiego tam napisał? W którym miejscu?

    > Pamiętam opisywany tam przykład błędu w oprogramowaniu. Ktoś
    > prawidłowo wydłużył i posolił hasło, ale aby użytkownik nie musiał
    > czekać około 1s aby się dowiedzieć, że się pomylił w haśle to
    > programista zrobił sobie tabelkę CRC32 haseł użytkowników i najpierw
    > sprawdzał to CRC.
    > W ciągu sekundy (na zwykłym PC) daje się wydłużyć hasło o około 20
    > bitów, a tym zabiegiem skrócił je o 32 bity.

    "Wydłużyć" to IMHO nie jest najszczęśliwsze sformułowania. Dodatkowo, ta
    np. "1s" jest korzystna, by trudniej było złamać słabe hasło - zobacz
    np. PBKDF2.
    --
    Krzysztof Hałasa


  • 84. Data: 2020-06-08 16:51:14
    Temat: Re: mBank - zablokowany dostęp
    Od: Piotr Gałka <p...@c...pl>

    W dniu 2020-06-08 o 16:23, Krzysztof Halasa pisze:
    > Piotr Gałka <p...@c...pl> writes:
    >
    >> Jednak są pewne, kluczowe różnice:
    >> - hash jest znacznie dłuższy od hasła użytkownika (nie da się
    >> zaatakować ani siłowo, ani słownikowo),
    >
    > Ale dlaczego nie? Przecież możemy dokleić salt i przelecieć słownikiem
    > tak samo.

    Jako oczywistą oczywistość przyjąłem stosowne wydłużenie hasła.
    Wydłużając proces logowania o 1s można wydłużyć atak siłowy/słownikowy
    milion razy (atak dający się przeprowadzić w godzinę będzie wymagał 114
    lat.

    > Jedynie trudniej zrobić rainbow tables (może nawet nie da się).

    Nie znam pojęcia.
    P.G.


  • 85. Data: 2020-06-08 17:13:22
    Temat: Re: mBank - zablokowany dostęp
    Od: Piotr Gałka <p...@c...pl>

    W dniu 2020-06-08 o 16:33, Krzysztof Halasa pisze:
    > Piotr Gałka <p...@c...pl> writes:
    >
    >> W tej gałęzi wątku twierdzę, że powinniśmy móc używać tych samych haseł.
    >> Jeśli komputery mogą nam to załatwić to powinno to (dla ogólnego
    >> bezpieczeństwa) być tak zrobione. Najlepiej 'od zawsze'.
    >> Nie widzę uzasadnienia dlaczego nie jest.
    >
    > Napisałem - dlatego, że HTTPS nie przewiduje takiego mechanizmu.
    > Dlatego, że obecnie musiałoby to być zrobione w JS, a do tego nie można
    > mieć zaufania. Poza tym, gdyby ktoś chciał to zrobić (w ogóle takie
    > rzeczy występują, tylko że nie w HTTPS), to należałoby to zrobić lepiej.

    To są argumenty dlaczego nie zrobiono.
    Mi chodzi o to czy są jakieś argumenty mówiące dlaczego 'nie da się zrobić'.

    >
    >> Moje założenie, że hasło jest hashowane w komputerze użytkownika,
    >> chyba wzięło się z lektury tej jednej książki. Z niej chyba wynikało,
    >> że tak to musi być i ja to przyjąłem jako pewnik.
    >
    > Czy ja dobrze kojarzę, że ta książka to "Applied Crypto" Schneiera?

    Nie to 'Practical Cryptography' Ferguson, Schneier.

    > Naprawdę coś takiego tam napisał? W którym miejscu?

    Jestem prawie pewien (ale nie mam czasu szukać), że gdy omawiali
    potrzebny na wydłużenie czas to właśnie pojawiła się kwestia wydajności
    komputera użytkownika a nie serwera. I była chyba mowa o przyjęciu
    rozwiązania skalowalnego w tym sensie, że wraz z przyspieszaniem
    komputerów użytkowników należy zwiększać wydłużenie tak, aby czas był
    zawsze maksymalny akceptowalny przez użytkownika.

    >> W ciągu sekundy (na zwykłym PC) daje się wydłużyć hasło o około 20
    >> bitów, a tym zabiegiem skrócił je o 32 bity.
    >
    > "Wydłużyć" to IMHO nie jest najszczęśliwsze sformułowania.

    Mi to się z niczym nie kłóci. Trzeba tylko rozumieć, że 8 znakowe hasło
    przeliczone przez SHA512 nie jest wydłużone do 512 bitów a zostało tylko
    wydłużone o 1 bit. A przeliczone milion razy jest wydłużone o około 20
    bitów.

    Dodatkowo, ta
    > np. "1s" jest korzystna, by trudniej było złamać słabe hasło - zobacz
    > np. PBKDF2.

    Na pierwszy rzut oka wygląda mi to po prostu na wydłużenie hasła.
    P.G.


  • 86. Data: 2020-06-08 19:47:24
    Temat: Re: mBank - zablokowany dostęp
    Od: "Zbynek Ltd." <s...@p...onet.pl>

    Krzysztof Halasa napisał(a) :
    > Zasadniczo, w życiu musimy komuś ufać - w sensie nie możemy zakładać, że
    > wszyscy nas chcą zgodnie oszukać.

    Zgodnie nie. Każdy z osobna ;-)

    --
    Pozdrawiam
    Zbyszek
    PGP key: 0xDCEF4E65


  • 87. Data: 2020-06-08 20:41:21
    Temat: Re: mBank - zablokowany dostęp
    Od: Krzysztof Halasa <k...@p...waw.pl>

    "Zbynek Ltd." <s...@p...onet.pl> writes:

    >> Zasadniczo, w życiu musimy komuś ufać - w sensie nie możemy zakładać, że
    >> wszyscy nas chcą zgodnie oszukać.
    >
    > Zgodnie nie. Każdy z osobna ;-)

    Aaa, to wtedy asym crypto nas zabezpiecza (może zabezpieczyć) :-)
    --
    Krzysztof Hałasa


  • 88. Data: 2020-06-08 21:12:36
    Temat: Re: mBank - zablokowany dostęp
    Od: Krzysztof Halasa <k...@p...waw.pl>

    Piotr Gałka <p...@c...pl> writes:

    > To są argumenty dlaczego nie zrobiono.
    > Mi chodzi o to czy są jakieś argumenty mówiące dlaczego 'nie da się zrobić'.

    Różne rzeczy da się zrobić, ale jeśli nie wystarcza nam TLS, to zamiast
    robić takie solone skróty, lepiej użyć zwykłego podpisu asymetrycznego.
    Wymagamy wtedy mniej-więcej tyle samo wiedzy od klienta (no niestety),
    ale uzyskujemy dużo więcej - np. niezaprzeczalność złożenia zlecenia.

    > Jestem prawie pewien (ale nie mam czasu szukać), że gdy omawiali
    > potrzebny na wydłużenie czas to właśnie pojawiła się kwestia
    > wydajności komputera użytkownika a nie serwera. I była chyba mowa o
    > przyjęciu rozwiązania skalowalnego w tym sensie, że wraz z
    > przyspieszaniem komputerów użytkowników należy zwiększać wydłużenie
    > tak, aby czas był zawsze maksymalny akceptowalny przez użytkownika.

    A więc chodzi o coś w stylu PBKDF2. Stosuje się to głównie tam, gdzie
    w ogóle nie ma żadnych serwerów, a musimy mieć klucz o znacznej
    długości. Standardowy przykład to szyfrowanie dysków. To jest kompromis.
    Każde "prawdziwe" rozwiązanie kryptograficzne będzie lepsze.

    W przypadku serwerów wcale nie zależy nam na tym, by policzenie takiej
    funkcji trwało długo. Przeciwnie, serwer ma obsłużyć jak najwięcej zadań
    (w tym także jak najwięcej sprawdzań hasła). Owszem, możemy sztucznie
    zwiększyć czas wykonania procedury, by trudniej było nas atakować - ale
    to nie ma pochłaniać czasu CPU. Jeśli włamywacz uzyskał dostęp do haseł
    (nawet zaszyfrowanych) - to jest to klęska.

    > Mi to się z niczym nie kłóci. Trzeba tylko rozumieć, że 8 znakowe
    > hasło przeliczone przez SHA512 nie jest wydłużone do 512 bitów a
    > zostało tylko wydłużone o 1 bit. A przeliczone milion razy jest
    > wydłużone o około 20 bitów.

    W moim przekonaniu ono nie zostało w ogóle wydłużone, bo liczba
    możliwych kombinacji się nie zmieniła. Tylko policzenie tego trwa
    dłużej, ale na zbyt słabe hasła żadne takie wydłużanie nie pomoże.
    Różnica między sprzętem usera i atakującego (być może w przyszłości)
    definiuje jakie to są te "zbyt słabe" hasła.
    --
    Krzysztof Hałasa


  • 89. Data: 2020-06-09 11:42:00
    Temat: Re: mBank - zablokowany dostęp
    Od: Piotr Gałka <p...@c...pl>

    W dniu 2020-06-08 o 21:12, Krzysztof Halasa pisze:

    > Różne rzeczy da się zrobić, ale jeśli nie wystarcza nam TLS, to zamiast
    > robić takie solone skróty, lepiej użyć zwykłego podpisu asymetrycznego.
    > Wymagamy wtedy mniej-więcej tyle samo wiedzy od klienta (no niestety),
    > ale uzyskujemy dużo więcej - np. niezaprzeczalność złożenia zlecenia.

    Osobiście uważam, że kiedyś się okaże że z tą niezaprzeczalnością to
    może nie tak do końca. Skoro zdarzają się kradzieże danych z na prawdę
    dobrze chronionych miejsc w sieci (nie mam na myśli sklepów w pl, tylko
    jakieś projekty militarne) to skąd pewność, że użytkownik faktycznie
    dobrze zabezpieczył swój klucz prywatny służący mu do podpisu.

    > A więc chodzi o coś w stylu PBKDF2. Stosuje się to głównie tam, gdzie
    > w ogóle nie ma żadnych serwerów, a musimy mieć klucz o znacznej
    > długości. Standardowy przykład to szyfrowanie dysków. To jest kompromis.
    > Każde "prawdziwe" rozwiązanie kryptograficzne będzie lepsze.

    Jeśli to jest po prostu wydłużanie hasła to według autorów tej książki
    nie ma żadnego usprawiedliwienia dla nie stosowania tego wszędzie.

    > W przypadku serwerów wcale nie zależy nam na tym, by policzenie takiej
    > funkcji trwało długo. Przeciwnie, serwer ma obsłużyć jak najwięcej zadań
    > (w tym także jak najwięcej sprawdzań hasła). Owszem, możemy sztucznie
    > zwiększyć czas wykonania procedury, by trudniej było nas atakować - ale
    > to nie ma pochłaniać czasu CPU. Jeśli włamywacz uzyskał dostęp do haseł
    > (nawet zaszyfrowanych) - to jest to klęska.

    Między innymi dlatego wydłużanie hasła powinno być robione na komputerze
    użytkownika - nie zabiera czasu CPU serwera.

    >> Mi to się z niczym nie kłóci. Trzeba tylko rozumieć, że 8 znakowe
    >> hasło przeliczone przez SHA512 nie jest wydłużone do 512 bitów a
    >> zostało tylko wydłużone o 1 bit. A przeliczone milion razy jest
    >> wydłużone o około 20 bitów.
    >
    > W moim przekonaniu ono nie zostało w ogóle wydłużone, bo liczba
    > możliwych kombinacji się nie zmieniła. Tylko policzenie tego trwa
    > dłużej, ale na zbyt słabe hasła żadne takie wydłużanie nie pomoże.

    Kluczem jest definicja długości hasła. Ich definicją długości hasła (i
    ja to po prostu przyjąłem bo tylko to jedno źródło znam i myślałem, że
    to jest powszechnie stosowana definicja) jest liczba operacji
    kryptograficznych które musi wykonać atakujący aby sprawdzić całą
    przestrzeń haseł (z uwzględnieniem wiedzy słownikowej o hasłach).
    Sprawdzenie pojedynczej hipotezy dotyczącej hasła (nie przeliczonego) to
    jedna operacja. Sprawdzenie tego samego hasła ale przeliczonego milion
    razy to milion operacji przeliczania + jedna operacja porównania.
    Hasło 8 znakowe, mimo, że znaki są kodowane na 8 bitach nie ma długości
    64 bitów. Ma ono długość około 40 bitów (5 bitów na znak).
    Wydaje się mało, bo przecież same duże, małe litery i cyfry to więcej
    jak 32 znaki, ale w hasłach występują korelacje między kolejnymi znakami
    (zależne też od tego jakim językiem posługuje się autor hasła). Na
    przykład - jak hasło składa się z dużych liter i cyfr to znacznie
    bardziej prawdopodobne jest, że cyfry wystąpią w zwartej grupie a nie
    rozstrzelone losowo między literami (przy takim założeniu kilka
    kolejnych bajtów ma tylko jedną z 10 wartości).
    Dlatego hasło 8 znakowe wymaga około 2^40 sprawdzeń - czyli ma 40 bitów
    długości. Oczywiście to jest tylko szacunek.
    Przeliczenie milion razy SHA256 na moim 10 letnim komputerze zajmowało
    poniżej 1s. Milion to około 2^20. Po takim zabiegu atakujący to samo
    hasło musi wykonać 2^60 operacji. Czyli długość hasła (przy przyjętej
    definicji długości) zwiększyliśmy o 20 bitów.

    > Różnica między sprzętem usera i atakującego (być może w przyszłości)
    > definiuje jakie to są te "zbyt słabe" hasła.

    Jakakolwiek by nie była przewaga sprzętu atakującego, jeśli poświęcimy
    1s czasu usera przy każdym logowaniu to zwiększymy ilość pracy
    atakującego milion razy. Czy to wystarczy aby odechciało mu się ataku.
    Zapewne zależy, ale na pewno zwiększy koszt ataku.

    Solenie ma na celu uniemożliwienie jednoczesnego ataku na wiele
    systemów. Bez soli atakujący musiałby wykonać ten milion przeliczeń
    tylko raz dla danego hasła (lub + user) i potem mógłby sprawdzać wynik w
    wielu systemach, a z solą (jawną) musi to przeliczenie wykonać dla
    każdego systemu osobno.

    Ja za autorami tej książki przyjąłem, że nie ma żadnego
    usprawiedliwienia dla nie stosowania solenia i wydłużania we wszystkich
    aplikacjach. A że czytałem to w 2004r, gdy pewnie nie zrobiłem jeszcze
    żadnego zakupu przez internet więc jak zetknąłem się pierwszy raz z
    tworzeniem sobie konta to byłem pewien, że tak to jest wszędzie. Po
    prostu nie wyobraziłem sobie, że ktoś mógł nie zastosować czegoś, co
    jest proste i nie ma usprawiedliwienia na nie stosowanie tego.
    P.G.


  • 90. Data: 2020-06-09 16:49:36
    Temat: Re: mBank - zablokowany dostęp
    Od: Krzysztof Halasa <k...@p...waw.pl>

    Piotr Gałka <p...@c...pl> writes:

    > Osobiście uważam, że kiedyś się okaże że z tą niezaprzeczalnością to
    > może nie tak do końca. Skoro zdarzają się kradzieże danych z na prawdę
    > dobrze chronionych miejsc w sieci (nie mam na myśli sklepów w pl,
    > tylko jakieś projekty militarne) to skąd pewność, że użytkownik
    > faktycznie dobrze zabezpieczył swój klucz prywatny służący mu do
    > podpisu.

    To bez znaczenia - chodzi o to, że piłeczka jest wtedy po stronie
    klienta. Równie dobrze mógłby podpisać dokument po pijaku.

    > Jeśli to jest po prostu wydłużanie hasła to według autorów tej książki
    > nie ma żadnego usprawiedliwienia dla nie stosowania tego wszędzie.

    I tam naprawdę coś takiego napisali? Przyznaję, że nie czytałem tej
    książki (ani pewnie nawet nie miałem jej w ręku), ale to brzmi
    przynajmniej kontrowersyjnie.

    Może napisali to tylko w tym konkretnym kontekście (np. szyfrowania
    dysków lokalnych)? Wtedy mogę się z tym zgodzić.
    Albo tylko tak teoretycznie, co by było gdyby user koniecznie chciał
    stosować to samo hasło wszędzie i jak to zrobić? Normalnie jednak
    korzyści wynikające z zastosowania tego lub podobnego algorytmu byłyby
    niewspółmiernie niskie w porównaniu do zagrożeń, jakie niesie ze sobą
    jedno hasło.

    > Sprawdzenie pojedynczej hipotezy dotyczącej hasła (nie przeliczonego)
    > to jedna operacja. Sprawdzenie tego samego hasła ale przeliczonego
    > milion razy to milion operacji przeliczania + jedna operacja
    > porównania.

    Zakładam, że seed jest odpowiednio silny, bo jeśli nie, to tęczowe
    tablice mogą nam ten problem sprowadzić do prostego lookupu.
    Ale nawet z dobrym seedem, wszystko zależy od siły oryginalnego hasła.

    > Przeliczenie milion razy SHA256 na moim 10 letnim komputerze zajmowało
    > poniżej 1s. Milion to około 2^20. Po takim zabiegu atakujący to samo
    > hasło musi wykonać 2^60 operacji. Czyli długość hasła (przy przyjętej
    > definicji długości) zwiększyliśmy o 20 bitów.

    Ale atakujący może sobie postawić (dość tanim kosztem - są zdjęcia
    w sieci) 200 konsoli. Są też inne możliwości, moc obliczeniowa nie jest
    droga. Zauważ, że postęp techniczny powoduje, że jeśli nie uda się tego
    złamać dziś, to może uda się jutro.

    > Ja za autorami tej książki przyjąłem, że nie ma żadnego
    > usprawiedliwienia dla nie stosowania solenia i wydłużania we
    > wszystkich aplikacjach. A że czytałem to w 2004r, gdy pewnie nie
    > zrobiłem jeszcze żadnego zakupu przez internet więc jak zetknąłem się
    > pierwszy raz z tworzeniem sobie konta to byłem pewien, że tak to jest
    > wszędzie. Po prostu nie wyobraziłem sobie, że ktoś mógł nie zastosować
    > czegoś, co jest proste i nie ma usprawiedliwienia na nie stosowanie
    > tego.

    Nie wystarczy brak wad :-)
    Przede wszystkim, by zastosować jakieś rozwiązanie, musi być ku temu
    jakiś racjonalny powód. Często jest - i tam się takie rzeczy stosuje.
    Natomiast w przypadku serwerów w Internecie - co jest, Twoim zdaniem,
    takim racjonalnym powodem?

    Nie żeby "wydłużanie hasła" nie miało wad. Co powiesz o takiej
    psychologicznej - "skoro hasło jest wydłużane, to oryginalnie wystarczy
    byle co"?

    No i tak, jak napisałem - może lepiej po prostu zastosować podpis
    elektroniczny (niekoniecznie dokładnie w obecnej "kwalifikowanej"
    postaci)? To załatwia dużo więcej, można też naprawdę mieć to samo hasło
    (albo w ogóle żadne, zależnie od warunków). Czymś pośrednim są wszelkie
    "notatniki haseł".
    --
    Krzysztof Hałasa

strony : 1 ... 8 . [ 9 ] . 10 ... 13


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1