“Nie musisz biec szybciej od niedźwiedzia. Wystarczy, jeśli biegniesz szybciej od najwolniejszej osoby w grupie”
Pamiętacie to stwierdzenie? Chodziło o to, że nie trzeba dążyć do bezpieczeństwa absolutnego (zresztą jest to niemożliwe), wystarczy jeśli atakujący mają do dyspozycji łatwiejsze cele. To podejście nie działa wtedy, gdy atakujący ma konkretny cel i w jego osiągnięcie może zaangażować spore środki. Ale to już zupełnie inna historia.
Trzymajmy się tej metafory z niedźwiedziem. Goni on naszą grupę i kolejni jej członkowie stają się jego ofiarami. Albo giną, albo czując na plecach jego oddech, biegną szybciej. I w pewnej chwili dochodzimy do sytuacji, gdy to właśnie my jesteśmy tą najwolniejszą osobą z grupy...
Tak, zainstalowałem sobie dla testu Windows 8.1. Głównie po to, by zobaczyć jak będzie wyglądał powrót przycisku start (ja akurat za nim nie tęsknię). W trakcie tej testowej instalacji zobaczyłem, że dość trudno jest teraz założyć konto “lokalne”, preferowanym podejściem jest użycie “konta w chmurze”. I tutaj mam pytanie – dlaczego “konto z chmury” na różnych komputerach ma różny SID?
Łatwiej byłoby mi przekonać się do tego pomysłu, gdyby ten typ konta dawał mi “namiastkę” domeny. Powiedzmy na przykład, że mam dwa laptopy, do których na zmianę podłączam dysk. Na dysku jest NTFS. Oczywiście jeden komputer nie rozumie użytkowników drugiego (chodzi mi tu głównie o ownera obiektu), w związku z czym czasami trzeba się nagimnastykować by takie przepięcie było bezproblemowe (nie, ustawienie praw Everyone: Full Control to nie jest rozwiązanie). Z tego co sprawdziłem (na szybko) konto “chmurowe” tego problemu też nie rozwiązuje (i nie, nie uważam, by ewentualne wykorzystanie SkyDrive można uznać za jego rozwiązanie).
Rozumiem, że raczej nie mam co liczyć, by mój jakże nietypowy przypadek doczekał się rozwiązania? Tak Mariusz, poniekąd Ciebie wywołuje do tablicy :)
Informacyjnie: ostatecznie przeniosłem się na The Old Reader. Nie jest doskonały, ale jest wystarczająco dobry i wystarczająco podobny, by ta migracja nie była bardzo bolesna.
Trochę brakuje mi możliwości tagowania określonych postów i feedów dla określonych tagów, ale chyba się nauczę żyć jakoś z tym brakiem. Po prostu to, co do tej pory robiłem w Readerze, będę robił w BeyondPod (tak, tagowałem sobie podcasty, które chciałem posłuchać).
Do zrealizowania został mi jeszcze jeden pomysł – muszę napisać sobie malutką aplikację, do której będę wrzucał linki do podcastów, które chcę posłuchać, a która wystawi mi RSS dla BeyondPod. Chodzi o te sporadyczne przypadki, kiedy w normalnie “tekstowych” feedach pojawia się link do jakiegoś podcastu. Jest to jednak tak rzadka sytuacja, że jeszcze nie chciało mi się poświęcić jakiegokolwiek czasu na realizację tego pomysłu...
Oryginał tego wpisu dostępny jest pod adresem Riderolipsa
Temat z gatunku tych prostszych, natomiast ponieważ czasami coś, co wydaje się oczywiste (pewnej grupie ludzi) wcale takie oczywiste nie jest (dla innej grupy ludzi), postanowiłem o tym napisać. Bezpośrednia motywacja to ostatnia rozmowa ze znajomymi na ten temat.
Jak wiecie do testów aplikacji webowych używam głównie Fiddlera. Oczywiście korzystam też z innych narzędzi, choćby Burpa, ale jakoś Fiddler wciąż wydaje mi się najwygodniejszy przy analizie/porównywaniu/wyszukiwaniu w zapisanych sesjach. Nawet gdy korzystam z Burpa, to często puszczam go przez Fiddlera (lub przez FiddlerCap do późniejszej analizy), bo tak mi wygodniej.
Od pewnego czasu, czyli od kiedy korzystam z Windows 8, Fiddler przestał mi się prawidłowo zamykać. GUI znikało, ale proces wisiał sobie w najlepsze i oczywiście zajmował również port, w związku z czym ponowne uruchomienie kończyło się błędem (informacja o zajętości portu).
Przez długi czas ignorowałem ten problem i po prostu dobijałem proces, ale w końcu postanowiłem zobaczyć w czym rzecz. Podejrzewałem, że problemem jest jakieś rozszerzenie, typowałem na winnego swój plugin. Okazało się jednak, że winny jest ktoś inny, konkretnie plugin x5s. Problemem są takie dwie linie:
TextWriter w = new StreamWriter(myDoc + @”\My Documents\Fiddler2\Scripts\” + fileName);
TextReader r = new StreamReader(myDoc + @”\My Documents\Fiddler2\Scripts\” + fileName);
W Windows 8 nie ma katalogu My Documents, został zastąpiony przez Documents, więc zapisanie ustawień przy wyjściu kończy się niepowodzeniem i całość wisi. Zastosowałem szybką poprawkę polegającą na stworzeniu hardlinku z My Documents do Documents (narzędzie mklink) i irytujący problem ustąpił.
Vaadin to dość ciekawy framework. Nie miałem z nim zbyt wiele razy do czynienia w sensie projektów polegających na testowaniu aplikacji napisanych z jego wykorzystaniem. Przyznam, że pierwsze zetknięcie (z Vaadin 6.x) było pewnego rodzaju wyzwaniem, głównie z uwagi na jego wyraźnie inną filozofię i mocno ograniczoną powierzchnię ataku.
Jeśli ktoś chce się zapoznać z Vaadin, proponuję przyjrzeć się tej demonstracyjnej aplikacji: http://demo.vaadin.com/sampler/. Wspomniane XSS można poćwiczyć w następujących kontrolkach:
Ja tylko chciałem przypomnieć, że już dawno, dawno temu zwracałem uwagę, że wpuszczanie zewnętrznego kodu do swojego serwisu to potencjalny problem. W tym kontekście “zewnętrzny kod” to kod serwowany z zewnętrznych serwisów.
Czasami można doszukać się rozwiązań technicznych, które odseparują “naszą” treść od tej “obcej” i ograniczą skutki zdarzenia, w którym ten “obcy” kod nagle zacznie robić dziwne rzeczy. Tu warto wspominać o iframe z atrybutem sandbox, może w końcu ta możliwość zacznie być szerzej wykorzystywana. Oczywiście nie w każdym przypadku iframe nadaje się do wykorzystania.
Mam nadzieję, że to zdarzenie (wcale nie wyjątkowe, ale z uwagi na pozycję Niebezpiecznika – dość medialne) zaowocuje podniesieniem świadomości odnośnie tego, że bezpieczeństwo serwisu to nie tylko “jego” kod, ale również kod wszystkich przyległości, z których ten serwis korzysta. Wszelkie reklamy, gadżety społecznościowe, biblioteki programistyczne serwowane z CDN mają/mogą mieć taki sam wpływ na bezpieczeństwo, a atak na nie może okazać się łatwiejszy.
Oryginał tego wpisu dostępny jest pod adresem Się porobiło