Moja emigracja powoli dobiega końca. Z jednej strony to dobrze, z drugiej – trochę szkoda. Dobrze, bo chyba jeszcze nigdy nie miałem tak bardzo intensywnego wejścia w nową rolę. Szkoda, bo w Londynie zostało jeszcze tyle rzeczy do zrobienia i tyle miejsc do zobaczenia...
Drogi (pen)testerze! Jeśli chcesz odnaleźć się w większej organizacji potrzebujesz szerszej perspektywy. Testy nie są celem samym w sobie. By to zrozumieć, powinieneś mieć przynajmniej oględne wyobrażenie o zarządzaniu ryzykiem i rozumieć pojęcia takie jak risk , impact oraz likelihood.
Gdy pierwszy raz usłyszałem, że Google pracuje nad czymś nowym (Inbox), niespecjalnie mnie to ekscytowało. Gmail był dla mnie wystarczająco dobry. Zresztą używam poczty w specyficzny (specyficzny , nie unikalny) sposób:
w skrzynce odbiorczej mam nową pocztę;
rzeczy zrobione mam w archiwum;
rzeczy, które przeczytałem, ale pozostają do zrobienia są...
No dobra, przesadzam, jeszcze nie tydzień, ale prawie. I ta obczyzna nawet nie taka bardzo obca jest. Przecież taki Millennium Bridge to nic innego jak przerośnięta Kładka Ojca Bernatka :)
Ponieważ nie mam pod ręką (swojego) zdjęcia Millennium Bridge, poratuję się innym mostem:
P.S. W ramach zabijania czasu kupiłem sobie książkę pod wiele mówiącym tytułem Marsjanin. Bardzo musiałem się powstrzymywać, by nie skończyć jej przed wylotem. Na szczęście było kilka innych ciekawych rzeczy do przeczytania w ostatnim czasie, na przykład:
Jazda na rolkach dawno nie sprawiła mi tyle przyjemności. Było prawie jak za starych, dobrych czasów. Te czasy teraz nie są złe, ale jakoś czasu mniej i więcej pośpiechu. Wczoraj czasu też było niewiele, ale jednak jakoś tak zupełnie na luzie udało mi się pojeździć, bez spieszenia się i ciągłego spoglądania na zegarek.
17 kilometrów w 1:11 nie jest największym wyczynem, ale chyba właśnie dlatego było tak fajnie :)
Ale żeby nie było tak kompletnie bez narzekania, kilka rzeczy jednak jest mniej fajnych:
bardzo dużo ludzi zamiast patrzeć gdzie idzie, patrzy w swój telefon;
nawierzchnia w niektórych miejscach jest coraz gorsza (jeździ się coraz wolniej).
Dzisiaj się wykazałem. Wyjątkowo. Przez dość długi czas szukałem sprytnej funkcji robiącej jailbreak detection. Funkcji tej nie było widać w żaden oczywisty sposób, mimo to aplikacja zamykała się chwilę po uruchomieniu...
Ciekawy temat? No jednak nie bardzo. To nie był jailbreak detection , tylko zwykły crash, który powodował xCon i Snoop-it (każde z osobna, niekoniecznie w połączeniu). Tak to jest, jak się założy, że coś jest, a tego nie ma.
Po zakodowaniu ta przykładowa wiadomość ma następujący format (z pominięciem paddingu):
U2FsdGVkX19TQUxUU0FMVDAxMjM0NTY3ODlBQkNERUY
By utrudnić łatwe zidentyfikowanie pakietu zawierającego payload (wiadomość) SPA usuwany jest ten “nagłówek”:
U2FsdGVkX1
Jest tylko mały problem – całe Salted__ po zakodowaniu do base64 wygląda tak (ponownie, z pominięciem paddingu):
U2FsdGVkX18
Coś jakby dłużej, prawda? A z czego to wynika czytelnik ustali sam (mam nadzieję).
Pytania:
W jaki sposób sprawdzić, czy dany string base64 jest zakodowaną wiadomością SPA?
Jakie jest prawdopodobieństwo false positive w tym przypadku (błędnego zidentyfikowania losowych danych jako SPA)?
Tak, wiem:
Traffic analysis is a powerful technique that is used to extract information from network communications, and the fwknop project is not designed to try and thwart a sophisticated traffic analysis effort.
Ale technika, o której piszę, wcale nie łapie się na sophisticated traffic analysis effort.
Przez wiele lat unikałem produktów Apple jak tylko mogłem, a spotkania z nimi były dla mnie dość traumatyczne. Czułem się jak w obcym kraju o zupełnie innej kulturze.
Skąd ta zmiana? Zapotrzebowanie na ludzi, którzy potrafią zrobić krzywdę aplikacji na iOS jest coraz większe, a okazuje się, że wcale nie jest prosto takich znaleźć, Android jest jednak dużo popularniejszy. Od dłuższego czasu zastanawiałem się nad poćwiczeniem czegoś nowego, tak więc to jest pierwsza część motywacji – iOS. W kolejce stał jeszcze Windows Phone (czy jak to się tam teraz nazywa), ale jednak iOS wygrał.
Druga decyzja – jakie urządzenie. Na początku myślałem o kupnie iPhone 4s, ale po dłuższych rozważaniach doszedłem do wniosku, że to nie jest najbardziej racjonalny pomysł. Po prostu do niczego więcej niż eksperymentów bym go nie wykorzystał. W związku z tym wybór padł na iPad, konkretnie na iPad Air jako na rozsądny1 kompromis między ceną i możliwościami wykorzystania.
[1] Dla pewnych konkretnych wartości pojęcia “rozsądny” :)
W takich przypadkach staram się zrozumieć co (i jak) się dzieje, nie tylko dlatego, że to ciekawe, ale również dlatego, że pozwala mi to zachować “zdrowy rozsądek” i dystans. A z tym drugim w wielu przypadkach bywa problem. Ostatni przykład – POODLE.
W przypadku FREAK problem w tym, że sama sekwencja komunikatów prowadząca do RSA-EXPORT nie była opisana. Być może dlatego, że były to różne sekwencje dla różnych bibliotek. Na szczęście jest strona, na której można sprawdzić, czy dana przeglądarka jest podatna, a to oznacza tylko jedno – gołe pakiety :)
Dla IE 11 na Windows 8.1 sekwencja prowadząca do błędu wygląda następująco:
Client –> Server: Client Hello
Server –> Client: Server Hello –> TLSRSAWITHAES-128CBC_SHA
Server –> Client: Certificate
Server –> Client: Server Key Exchange –> RSA-EXPORT
Server –> Client: Server Hello Done
Client –> Server: Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message
(...)
I w efekcie mamy:
TLS 1.1, AES with 128 bit encryption (High); RSA with 512 bit exchange
Oryginał tego wpisu dostępny jest pod adresem FREAK