<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3085327742962068300</id><updated>2011-10-30T02:37:30.959+02:00</updated><title type='text'>Przemyslaw Skowron BLOG</title><subtitle type='html'>Lustro otaczającego mnie świata.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>54</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-1458694517068019841</id><published>2011-08-17T21:37:00.000+02:00</published><updated>2011-08-17T21:37:46.895+02:00</updated><title type='text'>Zacieranie śladów</title><content type='html'>Temat wpisu celowo ma sprawić, że z większą ciekawością ktoś zajrzy do tego krótkiego wpisu.&lt;br /&gt;&lt;br /&gt;Do rzeczy. Mniej więcej od roku 2004 mniej lub bardziej etatowo jestem trenerem. Miałem okazję prowadzenia różnych szkoleń z zakresu szeroko pojętego bezpieczeństwa informacji. Może powinienem napisać, że z pentestów, DDoSów, obchodzenia DEP'a czy innych fajnych słów kluczowych dla wyszukiwarek, ale nie ;)&lt;br /&gt;&lt;br /&gt;Co mnie ciekawi?&lt;br /&gt;Część firm organizujących szkolenia z "testów bezpieczeństwa" kieruje swoje usługi do szeroko pojętych pracowników działów IT. Pytanie brzmi, po co tam taki rozdział jak "Zacieranie śladów"? - jedyny przychodzący mi do głowy powód to pokazać jak ktoś może po sobie zacierać ślady i co po sobie pozostawi by go złapać. Z drugiej strony czy to jest potrzebne na tym szkoleniu?&lt;br /&gt;&lt;br /&gt;Jak często w ramach usługi "testu bezpieczeństwa" ktoś zamówił "zacieranie śladów" po sobie? Do czego innego się to przyda?&lt;br /&gt;&lt;br /&gt;Co z tym można zrobić?&lt;br /&gt;Szczerze pisząc jeśli otrzymuję materiały szkoleniowe po innym trenerze i mam na to wpływ to staram się omówić taki punkt z zamawiającym/organizującym szkolenie, a jeśli nie znajdziemy uzasadnienia dla życia takiego rozdziału szkolenia usuwamy go lub zamieniamy na inny.&lt;br /&gt;&lt;br /&gt;Inne pytanie: Czy developer piszący kod, którego zadaniem jest tworzenie możliwie bezpiecznych aplikacji musi znać bardzo wysublimowane sposoby wykorzystywania podatności czy przede wszystkim znać ogólne zasady ataków, a świetnie poruszać się w mechanizmach obronnych, które zaimplementuje/wykorzysta?&lt;br /&gt;&lt;br /&gt;Moim zdaniem to drugie, które od pewnego[1] czasu wprowadzam na szkoleniach, które prowadzę[2] i to się sprawdza.&lt;br /&gt;&lt;br /&gt;[1] - sorry, tajemnica zawodowa.&lt;br /&gt;[2] - j/w, jeśli już prowadzę to głównie szkolenia zamknięte, których nie mogę/muszę promować.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-1458694517068019841?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/1458694517068019841/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=1458694517068019841&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1458694517068019841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1458694517068019841'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2011/08/zacieranie-sladow.html' title='Zacieranie śladów'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-2683766584367346309</id><published>2011-06-07T00:42:00.003+02:00</published><updated>2011-06-07T01:05:49.453+02:00</updated><title type='text'>Komentarz do panelu David vs. Goliat</title><content type='html'>Od ponad roku staram się inaczej podchodzić do otaczającej mnie rzeczywistości. Jednak jak rymuje Eldo: "&lt;i&gt;Czasem nie wolno odpuścić i stanąć z boku. Bo w życiu są sprawy dużo ważniejsze niż spokój.&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;Do dzieła.&lt;br /&gt;&lt;br /&gt;Ostatni &lt;a href="http://2011.confidence.org.pl/"&gt;CONFidence 2011&lt;/a&gt; (edycja w Krakowie) był pierwszym od ładnych kilku lat, który musiałem odpuścić - jak to mawiają "&lt;i&gt;służba nie drużba&lt;/i&gt;". "&lt;i&gt;Konferencja&lt;/i&gt;", a raczej wydarzenie, które kreuje Andrzej bardzo przypomina już imprezy z za zachodniej granicy (CCC Conference) niż klasyczne dwa dni prelekcji i networking przy lunchu - mnie się to podoba, tak dalej!&lt;br /&gt;&lt;br /&gt;Z nowych propozycji pojawił się panel dyskusyjny: "&lt;a href="http://2011.confidence.org.pl/discussion-panel"&gt;David vs Goliat – jak zgłosić podatność i nie zrobić sobie przy tym krzywdy.&lt;/a&gt;", do którego zaproszenia przyjąć nie mogłem z uwagi na brak możliwości pojawienia się na miejscu. Na szczęście zasięgnąłem opinii na jego temat wśród znajomych a także jeden z moderatorów - Mirek Maj, opublikował &lt;a href="http://www.cybsecurity.org/index.php?option=com_content&amp;view=article&amp;id=31:david-vs-goliat-podsumowanie-dyskusji-na-temat-zgaszania-saboci-systemowych&amp;catid=3:news&amp;Itemid=7"&gt;podsumowanie&lt;/a&gt;, do którego chciałem się odnieść. &lt;b&gt;Jest to blog prywatny więc uprzedzę, że poniższy komentarz to tylko i wyłącznie moje prywatne zdanie w tym temacie&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;AD "&lt;i&gt;WNIOSEK PIERWSZY – ZGŁASZANIE SŁABOŚCI TO TAKŻE POLSKI PROBLEM&lt;/i&gt;"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Nie wiem jaki kontekst miało stwierdzenie: "&lt;i&gt;To, że nie mamy wielkich fabryk software-owych nie znaczy, że nie ma co zgłaszać..&lt;/i&gt;" - chodziło o potencjalne zgłaszanie podatności do PSIRT[1]'ów? Natomiast z mojego doświadczenia i obserwacji wynika, że rzadko zgłaszane są błędy w konkretnych produktach (pominę przypadki zgłaszania podatności polegającej na tym, że serwis przetrzymuje hasła w postaci nieszyfrowanej, bez odpowiedniego salta, itp.). Powinienem napisać "&lt;i&gt;nagłaśniane&lt;/i&gt;", a nie zgłaszane, ale o tym później. Najczęściej błędy zgłaszane do firm lub szeroko pojętych mediów są w konkretnych przypadkach instalacji/konfiguracji danego rozwiązania. Najczęściej są to aplikacje webowe gdyż żyjemy w dobie Web (2.0) lub w starych wersjach usług (problem, że tutaj trudniej o spektakularne screenshoty), ewentualnie pracujących z uprawnieniami użytkownika o wysokich uprawnieniach w systemie operacyjnym.&lt;br /&gt;&lt;br /&gt;Nie znam prawdziwego powodu dlaczego nie pojawił się nikt z sektora finansowego, mogę jedynie przypuszczać dlaczego tak się stało. Uważam, że w utrzymaniu dialogu pomiędzy potencjalnymi, już Klientami banków a sektorem finansowym powinna pośredniczyć jakaś organizacja. W naszym kraju taką rolę może mogłoby objąć Forum Abuse, które zrzesza zespoły CERT/CSIRT największych dostarczycieli treści, operatorów telekomunikacyjnych, także banków i co najważniejsze innych, strategicznych dla bezpieczeństwa kraju jednostek. Jeśli nie Forum Abuse to może Związek Banków Polskich? - to ZBP odpowiada za wizerunek, komunikację ze społeczeństwem w imieniu zrzeszonych banków. Dialogu bezpośredniego na dzień dzisiejszy sobie nie wyobrażam. Jeśli ktoś chce coś zgłosić to każdy bank ma ogólny formularz kontaktowy na swojej stronie. Uważam, że tutaj szybko nic się nie zmieni, bo nie ma takiego trendu.&lt;br /&gt;&lt;br /&gt;Słowo odnośnie "&lt;i&gt;nagłaśniania&lt;/i&gt;" podatności. O podatnościach zgłoszonych w ramach "&lt;i&gt;gentlemen’s agreement&lt;/i&gt;" zazwyczaj się nigdzie nie słyszy, nie można o nich przeczytać. Myślę, że jest to jeden ze sposobów utrzymania potencjalnie zdrowych relacji między zgłaszającym, a adresatem. Zwróćmy uwagę na to co pojawi się w kolejnych punktach, najczęściej podatności odnajdywane są podczas niezamówionej usługi badania podatności lub już daleko idącego pentestu. Uważam, że znacznie łatwiej rozjuszyć adresata podatności w sytuacji gdy opublikujemy informację o niej publicznie równo z mailem na przypadkowy adres hakunamatata@company.com by poinformować o nieszczęściu, które zaraz ich spotka (dzisiątki, setki, ... prób wykorzystania opublikowanej podatności, poszukiwanie podobnych gdzieś "&lt;i&gt;obok&lt;/i&gt;"). Temat rzeka.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;AD "&lt;i&gt;WNIOSEK DRUGI – BRAK REGUŁ POSTĘPOWANIA&lt;/i&gt;"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Jeśli chcę zgłosić podatność polegającą na tym, że po wprowadzeniu w parametrze &lt;i&gt;X&lt;/i&gt; wartości: &lt;i&gt;2 and (select 1 where length(database()&gt;8))&lt;/i&gt; dowiemy się czy nazwa aktualnie używanej bazy danych ma więcej niż 8 znaków to muszę mieć świadomość co robię i co zrobiłem. Jeśli nie działamy zgodnie z prawem (czyt. nie posiadamy odpowiedniej umowy na usługę, adresat nie ma jasnych reguł postępowania w takich przypadkach) to nie próbujmy naginać czyichś zasad i liczyć, że będą dla nas korzystne. To ingerencja w czyjeś podwórko, a my wchodzimy tam bez zaproszenia. Nie każdy ma czas, ochotę, pieniądze i potrzebę regulowania sposobu postępowania przy zgłoszeniach podatności, a już na pewno będzie z tym trudno jeśli mamy się tymi zasadami podzielić publicznie. To, że niektórzy tak robią nie stanowi to od razu reguły. Bolesny przykład firmy Sony, nie mieli nawet CISO. Kto miał się tym zająć? - np. zarządzaniem podatnościami. Kto z "&lt;i&gt;nagłaśniających&lt;/i&gt;" podatności by chciał by do jego drzwi mieszkania lub samochodu wg. ogólnie przyjętych zasad lub stworzonych przez niego, próbowano się włamać? - nawet nie żeby coś ukraść, ale żeby spróbować zajrzeć do środka. Chcemy oglądać porysowane drzwi, zniszczone zamki? Za każdym razem będziecie pobłażliwi dla "&lt;i&gt;napastnika&lt;/i&gt;"?&lt;br /&gt;&lt;br /&gt;Jestem za prowadzeniem badań/wykrywaniem podatności, natomiast zdrowy rozsądek podpowiada by odpowiednio dobierać miejsce, w których je prowadzimy - &lt;b&gt;NIE na obcych instalacjach.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;AD "&lt;i&gt;WNIOSEK TRZECI  – GRATYFIKACJE SĄ POTRZEBNE, TYLKO TRZEBA USTALIĆ CO TO JEST&lt;/i&gt;"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;O ile rozumiem gratyfikacje za podatności w rozwiązaniach, to w konkretnych, wdrożonych produktach już mniej. Na swoim labie nie ma ryzyka przełamania bezpieczeństwa firmy, utraty poufności/integralności informacji, zachwiania dostępnością. Wystawianie środowisk testowych to śliska sprawa: można popełnić błąd w konfiguracji takiego środowiska i przypadkiem zbudować interfejs do produkcyjnych systemów. Przykładów jest cała masa, doświadczeni administratorzy doskonale wiedzą co mam na myśli. To są koszty, czas, który będzie trudno uzasadnić w kosztach IT, a zarazem stanowić spore ryzyko reputacyjne. W moim odczuciu temat środowisk testowych jest i będzie mało popularny.&lt;br /&gt;&lt;br /&gt;Podsumowując: moim zdaniem na przestrzeni ostatnich lat sporo się zmienia w temacie sposobów zgłaszania podatności, nie wiem czy na lepsze, na pewno dobrze, że zaczęliśmy o tym rozmawiać w szerszym gronie. Nie miejmy pretensji do adresatów podatności o to, że się denerwują, czas nie gra na ich korzyść. Nie stawiajmy z definicji każdego zgłaszającego w najgorszym świetle, może to młodsza siostra zostawiła przypadkiem uruchomiony skaner podatności... i wystrzelił w najmniej oczekiwanym momencie. Zachowujmy zdrowy rozsądek, a na pewno wszyscy będą docelowo zadowoleni z efektów współpracy.&lt;br /&gt;&lt;br /&gt;A co Ty o tym myślisz?&lt;br /&gt;&lt;br /&gt;[1] - Product Security Incident Response Team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-2683766584367346309?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/2683766584367346309/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=2683766584367346309&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2683766584367346309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2683766584367346309'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2011/06/komentarz-do-panelu-david-vs-goliat.html' title='Komentarz do panelu David vs. Goliat'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-6726869097725443780</id><published>2010-03-23T21:43:00.000+01:00</published><updated>2010-03-23T21:43:11.523+01:00</updated><title type='text'>Co dalej?</title><content type='html'>&lt;a href="http://guzik.net.pl/blog/2010/03/jak-wygospodarowac-sobie-troche-wolnego-czasu/"&gt;Guzik&lt;/a&gt; mniej lub bardziej świadomie prowokuje mnie do wznowienia prowadzenia bloga. Ponieważ blog prowadzony jest przede wszystkim dla mnie, nie czułem potrzeby pisać o tym, że na czas nieokreślony zawieszam pisanie. Dlaczego?&lt;br /&gt; - bo prowadzenie &lt;a href="http://www.owasp.org/index.php/Poland"&gt;OWASP Poland&lt;/a&gt; zabiera mi dużo czasu, w mojej opinii dobrze przygotowane spotkania są dużo bardziej wartościowe niż moje wpisy&lt;br /&gt; - bo jestem całkowicie pochłonięty nowym projektem w pracy, resztki energii wolę wykorzystać inaczej niż przy komputerze&lt;br /&gt; - bo zmieniłem front i nie chcę udawadniać, że bezpieczeństwo jest ważne, jeżeli dla Ciebie jest to wiesz gdzie mnie szukać&lt;br /&gt; - bo ... przyszła wiosna :)&lt;br /&gt;&lt;br /&gt;Jeżeli nadal jest ktoś zainteresowana/zainteresowany moim punktem widzenia w temacie bezpieczeństwa aplikacji to polecam spotkania &lt;a href="http://www.owasp.org/index.php/Poland"&gt;OWASP Poland&lt;/a&gt; oraz &lt;a href="http://lists.owasp.org/mailman/listinfo/owasp-poland"&gt;listę dyskusyjną&lt;/a&gt;, na której zapisanych jest wielu specjalistów w tej dziedzinie.&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;W kwietniu pojawię się na konferencji &lt;a href="http://www.2k10.seconference.pl/presentations/#Obsługa incydentów: Ataki na aplikacje webowe."&gt;SEConference&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-6726869097725443780?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/6726869097725443780/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=6726869097725443780&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/6726869097725443780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/6726869097725443780'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2010/03/co-dalej.html' title='Co dalej?'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-1199209883943772356</id><published>2009-12-26T23:21:00.000+01:00</published><updated>2009-12-26T23:21:33.199+01:00</updated><title type='text'>Psychoza w bezpieczeństwie</title><content type='html'>Kończy się przerwa świąteczna, a ja natchniony kilkoma wypowiedziami na &lt;a href="http://www.goldenline.pl/forum/teoria-bezpieczenstwa/1363432"&gt;forum GoldenLine&lt;/a&gt; chciałbym coś z siebie wyrzucić. Dodatkowo mój serdeczny kolega zauważył, że stał się bohaterem jednego z wpisów - &lt;a href="http://blog.codeninja.pl/2009/09/najtrudniejsze-podstawy-bezpieczenstwa.html"&gt;(Najtrudniejsze) Podstawy bezpieczeństwa aplikacji...&lt;/a&gt;. Zastanawiam się jak bardzo unikalni w naszym kraju są programiści, których ciekawią problemy związane z bezpieczeństwem aplikacji, &lt;b&gt;które tworzą&lt;/b&gt;. Przyznam szczerze, że znam ich dosłownie kilku, a pozostali... no cóż, bezpieczeństwo dla nich to: przymus, kara, opóźnienia, niechciane marzenia, niepotrzebne gadżety, killerzy biznesu - nadal często z takimi określeniami spotykam się od ładnych paru lat, głównie na początku współpracy. Są też wyjątki &lt;i&gt;"nawróconych"&lt;/i&gt; :-)&lt;br /&gt;&lt;br /&gt;Prawda jest taka, że jeżeli wymagam od programisty by aplikacja była wolna od znanych błędów/podatności, a w żaden sposób mu w tym nie pomagam to nie przesadzę napisząc, że to jak wymaganie od początkującego kierowcy bez uprawnień na prowadzenie pojazdów, by jeździł bezpiecznie. Niby już wie gdzie gaz, hamulec, sprzęgło, skrzynia biegów, po osiedlu jeździ, ale co z ze skomplikowanymi skrzyżowaniami kiedy w dodatku światła zostały wyłączone? Staje prawie na środku, inni trąbią, wyzywają, pomagają by stres zrobił swoje - pomagają popełnić błąd. Wcześniej nie przerabiał takiego scenariusza. Nie oczekujmy, że ten przyszły kierowca na pewno zachowa się w tej sytuacji dobrze.&lt;br /&gt;&lt;br /&gt;Wiecie już co mam na myśli? :)&lt;br /&gt;&lt;br /&gt;Zadałem takie pytanie na forum, ale może ktoś trafi na mojego bloga: Czy widziałaś/widziałeś oferty pracy dla programistów, gdzie jednym z wymagań była choćby podstawowa znajomość zagadnienień związanych z bezpieczeństwem? - technologii z jaką miałaby taka osoba pracować albo chociaż ogólnie: bezpieczeństwa aplikacji.&lt;br /&gt;&lt;br /&gt;Pomijam oferty z firmy Google, oni prawdopodobnie potwierdzają regułę.&lt;br /&gt;&lt;br /&gt;Krótkie zastanowienie i może trochę przedwczesne wnioski, "Nie ma takich ofert pracy bo":&lt;br /&gt;1) nie ma takich programistów - moim zdaniem są, chociaż nie ma ich zbyt wielu, dlaczego? kto zna szkolenia w Polsce, na których programista może poznać zagrożenia związane z atakami na aplikacje i nauczyć się jak z nimi walczyć?&lt;br /&gt;2) pracodawcy nie myślą o tym, nie czują problemu - bo przecież taki programista ma inne zadania, bezpieczeństwo to &lt;i&gt;"ficzer"&lt;/i&gt;&lt;br /&gt;3) bezpieczeństwo to temat dla kogoś z bezpieczeństwa, jak znajdą jakieś błędy to programista usunie je - kiedyś na takie teksty otwierał mi się scyzoryk w kieszeni, teraz potrafię spokojnie przedstawić ten temat w taki sposób by dał do myślenia&lt;br /&gt;4) w Javie pisze się tylko bezpieczne aplikacje - za krótko obracam się w środowisku programistów języku Java by to dobrze wytłumaczyć dlaczego jest takie myślenie, ale przykro mi, że muszę to zrobić: aplikacje w Javie nie są bezpieczne &lt;i&gt;&lt;b&gt;"by default"&lt;/b&gt;&lt;/i&gt;. Nie są, przykro mi.  &lt;br /&gt;5) nie ma dostatecznie dobrego dialogu pomiędzy samym IT, a osobami z bezpieczeństwa. Za krótko żyję na tym świecie by mieć kilkanaście i więcej lat doświadczenia na styku IT &lt;-&gt; Bezpieczeństwo -&gt; wymierną próbkę, ale dlaczego tak mało rozmawiamy? Jeśli już to bardzo oficjalnie i głównie o nakazach/zakazach. Tuż przed świętami sporo rozmawiałem ze znajomym, który szukał podstaw uzasadniających kilka punktów w umowie dla pracownika IT. Jak dla mnie były to punkty ze świata absurdu co też mu powiedziałem. Zacznijmy od pracy u podstaw!&lt;br /&gt;6) i w konsekwencji z 5) - nie ma programu/pomysłu w firmie zapewniającego bezpieczeństwo aplikacji. J/w. Praca u podstaw. Tomasz Kopacz z firmy Microsoft, na którego prezentacji podczas CONFidence 2009 2.0 miałem okazję być, powiedział, że wprowadzenie Secure SDLC w takiej firmie jak gigant z Redmond było i jest bardzo kosztowne. Musiało wyniknąć z samej góry (Bill Gates) i tylko z jej błogosławieństwem miało/ma szansę powodzenia. MS to bardzo duża firma i może nie być najlepszym przykładem w naszych warunkach, ale chciałbym powiedzieć, że da się to zrobić bez bardzo dużych kosztów. Ba, one się nawet zwrócą. Przynajmniej do czasu zanim nie trafi się na firmę, która będzie chciała na tym duuuużo zarobić.&lt;br /&gt;&lt;br /&gt;Całkiem możliwe, że znajdzie się sporo osób o odmiennym zdaniu, jeżeli tak to bardzo serdecznie zapraszam do komentowania tego wpisu - w ten sposób mam nadzieję uda się zrobić coś dobrego dla nas wszystkich, którzy korzystają później z takich aplikacji.&lt;br /&gt;&lt;br /&gt;Podsumowując, nie chcę i nie obarczam programistów winą za błędy bezpieczeństwa w aplikacji. Uważam, że w większości przypadków nie ma odpowiedniej organizacji ich pracy co skutkuje często mniejszymi/większymi katastofami. Nie zwalniam z odpowiedzialności za tą sytuację osoby zajmujące się bezpieczeństwem, chociaż i oni czasami nie są przygotowani do tematu bezpieczeństwa aplikacji. Natomiast od kogoś musi to wyjść.&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Tak się stało, że od grudnia 2009 jestem nowym liderem &lt;a href="http://www.owasp.org/index.php/Poland"&gt;OWASP Poland Local Chapter&lt;/a&gt;. Kilka miesięcy temu, aktualny wtedy lider - Andrzej Targosz, poinformował mnie, że nie będzie miał czasu na aktywne prowadzenie Chapteru i czy nie jestem zainteresowany przejęciem go. Ku mojej uciesze, drugi ze współzałożycieli OWASP Poland - Robert Pająk, wskazał mnie jako osobę, do której mógłby trafić oddział. Chociaż początkowo odmówiłem to po kilku miesiącach stwierdziłem, że warto spróbować. Serdecznie zapraszam na spotkania OWASP Poland! Tam dowiecie się tego jak nie być koniem i jak tworzyć bezpieczne aplikacje webowe!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-1199209883943772356?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/1199209883943772356/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=1199209883943772356&amp;isPopup=true' title='Komentarze (6)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1199209883943772356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1199209883943772356'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/12/psychoza-w-bezpieczenstwie.html' title='Psychoza w bezpieczeństwie'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-2389054239688980468</id><published>2009-11-01T19:03:00.000+01:00</published><updated>2009-11-01T19:03:37.656+01:00</updated><title type='text'>Threat Modeling in The End</title><content type='html'>Odrabiając zaległości RSS'owe przeczytałem ciekawy wpis firmy &lt;a href="http://chargen.matasano.com/"&gt;Matasano&lt;/a&gt; - &lt;a href="http://chargen.matasano.com/chargen/2009/10/20/ninja-threat-modeling.html"&gt;Ninja Threat Modeling&lt;/a&gt;. Szkoda czasu na dłuższe streszczenie tego wpisu, obrazuje on podejście do modelowania zagrożeń w sytuacji kiedy aplikacja już istnieje. Czy kogoś to jeszcze dziwi? Powtórzę, &lt;i&gt;"kiedy aplikacja już istnieje"&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Żyjemy w części planety, w której jeszcze moim skromnym zdaniem bardzo słabo rozwinięty jest cykl powstawania i rozwoju aplikacji, szczególnie jeśli chodzi o aspekt bezpieczeństwa - mam na myśli głównie kraj, w którym żyję, czyli Polskę. Jednym z elementów takiego cyklu życia aplikacji jest modelowanie zagrożeń. W pierwotnym zamyśle powinno ono być przeprowadzane jak najwcześniej, zanim programiści zaczną implementować założenia aplikacji.&lt;br /&gt;&lt;br /&gt;Niestety często bardzo ciężko o to z kilku powodów:&lt;br /&gt;&lt;br /&gt; - niska świadomość osób pracujących przy tworzeniu i rozwoju aplikacji (nie czują potrzeby przeprowadzenia modelowania, nie widzą wartości dodanej - w tym przygotowanie stosownej dokumentacji, która właściwie im samym jest _potrzebna_ stanowi problem, jeszcze nikt nigdy im o tym nie wspomniał)&lt;br /&gt;&lt;br /&gt; - opór związany z naciskami po stronie biznesu by system/aplikacja była gotowa na zadany termin - mam w tym temacie różne doświadczenia, widziałem sytuacje kiedy stosowny zespół nie chciał współpracować przy modelowaniu, bo był &lt;i&gt;"zajęty"&lt;/i&gt;, bo oni nie wiedzą jak to działa, realizują to co chce &lt;i&gt;"biznes"&lt;/i&gt; (zaraz, zaraz... ale chyba bez scenariuszów testów akceptacyjnych nie można iść do testowania danego procesu?)&lt;br /&gt;&lt;br /&gt; - brak stosownych zapisów w umowie zlecający-wykonawca... i kilka innych.&lt;br /&gt;&lt;br /&gt;Aby jakość testów penetracyjnych była możliwie wysoka, ale też adekwatna do ustaleń pomiędzy zlecającym pentest, a wykonującym, moim skromnym zdaniem powinno być przeprowadzone modelowanie zagrożeń na koniec, szczególnie jeżeli nie zostało przeprowadzone wcześniej. Przykładowe podejście do tematu można znaleźć w podanym na samym początku poście firmy Matasano. Jeżeli kogoś zniechęciły problemy na jakie można się natknąć przy modelowaniu zagrożeń na początku projektu aplikacji to mam nienajlepsze wiadomości ;) Jeżeli nie udało się przeprowadzić modelowania na początku to tym bardziej jest duże prawdopodobieństwo, że na koniec będzie z tym kłopot. Mimo tych przeciwności, nazwę to roboczo &lt;i&gt;"losu"&lt;/i&gt;, WARTO przeprowadzać takie modelowanie na koniec - przed testami bezpieczeństwa.&lt;br /&gt;&lt;br /&gt;Dlaczego tytułowy &lt;i&gt;"Threat Modeling in The End"&lt;/i&gt; jest warty świeczki?&lt;br /&gt;&lt;br /&gt;Bo mam obawę, że bez niego testy penetracyjne to &lt;i&gt;klasyczne&lt;/i&gt;, próby przełamania aplikacji w rozumieniu całej rodziny wstrzyknięć (słowo klucze to m.in.: XSS, SQL Injection), testy kontroli dostępu na &lt;i&gt;"chybił trafił"&lt;/i&gt; (czyt. bez wiedzy o rolach w aplikacji) czy wytknięcie używania SSL'a w wersji 2. Bez odpowiedniego przygotowania do testów bezpieczeństwa w części przypadków, szczególnie kiedy pentester nie ma doświadczenia z obranym w aplikacji modelem biznesowym, trudno jest mi sobie wyobrazić dobrze opracowane scenariusze testów. Częściowo zahaczyłem o temat we wpisie: &lt;a href="http://blog.codeninja.pl/2009/10/testowanie-logiki-biznesowej.html"&gt;Testowanie logiki biznesowej&lt;/a&gt;. Moim zdaniem pentest bez uwzględnienia innych aspektów systemu niż tylko (nie)użyte mechanizmy bezpieczeństwa dla przykładowo, podatności wymienionych w &lt;a href="http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project"&gt;OWASP Top 10&lt;/a&gt;, jest niepełny[1].&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Na blipie zauważyłem &lt;a href="http://blip.pl/s/18785957"&gt;zainteresowanie tematem modelowania&lt;/a&gt; :-) Dla dobra Nas wszystkich.&lt;br /&gt;&lt;br /&gt;[1] - wyjątkiem będą testy, które mają sprawdzić aplikację właśnie _tylko_ pod tym kątem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-2389054239688980468?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/2389054239688980468/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=2389054239688980468&amp;isPopup=true' title='Komentarze (6)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2389054239688980468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2389054239688980468'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/11/threat-modeling-in-end.html' title='Threat Modeling in The End'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-8568408586752482017</id><published>2009-10-20T22:46:00.000+02:00</published><updated>2009-10-20T22:46:28.853+02:00</updated><title type='text'>Bezpieczeństwo w bankowości internetowej</title><content type='html'>O tak dobrze brzmiącym tytule pojawił się dzisiaj artykuł na stronie &lt;a href="http://prnews.pl/"&gt;prnews&lt;/a&gt;. Abstrahując od samej treści &lt;a href="http://prnews.pl/analizy/najbezpieczniejsze-banki-internetowe-w-polsce-raport-bankierpl-45046.html"&gt;raportu o bezpieczeństwie w bankowości internetowej&lt;/a&gt;, który na pierwszy rzut mojego śpiącego oka wygląda nawet rzetelnie przypomniałem sobie o swoich ambitnych pomysłach wykonania podobnego porównania bezpieczeństwa, ale trochę w innych warstwach.&lt;br /&gt;&lt;br /&gt;Z jednej strony wręcz standardem jest potwierdzanie większości transakcji jednorazowym kodem (bez względu jak został on wygenerowany, dostarczony i jak jest powiązany z parametrami transakcji), ale moim zdaniem w dzisiejszych czasach ważna jest sama informacja, że ktoś posiada takie, a nie inne saldo, lokaty, akcje. Spłaca kochanki czy wydaje dużo pieniędzy na drogie hotele w centrum dużego miasta. Bez instalowania trojanów, przejmowania  (fragmentów) (jednorazowych) haseł dla części e-bankowości można łatwo pozyskać takie informacje w lekko sprzyjających warunkach.&lt;br /&gt;&lt;br /&gt;Czy bankowość, z której korzystasz ustawia dla najważniejszych ciasteczek atrybut &lt;i&gt;Secure&lt;/i&gt;? Jeżeli nie to pomyśl: z jakiej sieci łączysz się do bankowości? czy to 34-zakładka w Twojej przeglądarce? czy możesz ufać środowisku w jakim pracujesz? czy na pewno po zakończeniu pracy udało się poprawnie wylogować zanim otworzysz dowolny link z Internetu/Intranetu?&lt;br /&gt;&lt;br /&gt;To tylko jeden prosty przykład do badań :) Nie wspomnę o braku autocomplete=off dla pola login w formularzu logowania...&lt;br /&gt;&lt;br /&gt;A żeby wzniecić zainteresowanie i sprowokować do głebszych przemyśleń to może ktoś zna banki, które aktywnie walczą/walczyły z trojanami próbując np. losować nazwy parametrów, które są przesyłane podczas zlecania np. przelewu - w ten sposób wypadając z szablonów nazw zmiennych, które dany trojan podmienia?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-8568408586752482017?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/8568408586752482017/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=8568408586752482017&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8568408586752482017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8568408586752482017'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/10/bezpieczenstwo-w-bankowosci.html' title='Bezpieczeństwo w bankowości internetowej'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-6491087965586359050</id><published>2009-10-13T23:43:00.000+02:00</published><updated>2009-10-13T23:43:57.698+02:00</updated><title type='text'>White Hat Hacker Man - song</title><content type='html'>Planowałem dzisiaj dłuższy wpis, ale zmęczenie po trasie Warszawa-dom jest zbyt duże. Dla relaksu polecam najnowszy hit jaki wpadł w moje sidła... ;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cigital.com/justiceleague/2009/10/13/white-hat-hacker-man/"&gt;White Hat Hacker Man&lt;/a&gt; - videoclip + tekst.&lt;br /&gt;Sam videoclip na youtube - &lt;a href="http://www.youtube.com/watch?v=Luy3P9-UVeI"&gt;link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Miłego!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-6491087965586359050?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/6491087965586359050/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=6491087965586359050&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/6491087965586359050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/6491087965586359050'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/10/white-hat-hacker-man-song.html' title='White Hat Hacker Man - song'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-3529069264511873139</id><published>2009-10-09T22:28:00.002+02:00</published><updated>2009-10-09T22:48:20.077+02:00</updated><title type='text'>Nomenklatura: Zarządzanie ryzykiem</title><content type='html'>Zakładając, że Michał Wiczyński na swoim &lt;a href="http://thinklikeninja.blogspot.com/2009/10/ryzyko-podatnosc-skutek-zagrozenie-bad.html"&gt;blogu&lt;/a&gt; ma racje to wygląda na to, że zmienia się optyka ludzi zainteresowanych bezpieczeństwem lub trafił na taką próbkę populacji, która miała potrzebę usystematyzowania nomenklatury związanej z zarządzaniem ryzykiem. Co ciekawe wyszukiwarka Google'a skierowała kilka osób na mój blog z hasłem: "roznica miedzy podatnoscia a zagrozeniem". Odpowiadając na pytanie wheelq'a napiszę co moim zdaniem oznaczają następujące słowa na przykładzie XSS'a.&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="background-color: white; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="background-color: white; font-size: 13px;"&gt;Podatność - np. brak walidacji danych wejściowych, brak &lt;i&gt;encodingu&lt;/i&gt;&lt;/span&gt;&lt;/span&gt; danych wyjściowych&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="background-color: white; font-size: 13px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="background-color: white; font-size: 13px;"&gt;Zagrożenie - np. przejęcie tożsamości użytkownika aplikacji&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="background-color: white; font-size: 13px;"&gt;Skutek - np. zapoznanie się z historią transakcji użytkownika, któremu skradziono ciastko sesyjne&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="background-color: white; font-size: 13px;"&gt;Ryzyko - prawdopodobieństwo, że ktoś stworzy zagrożenie wykorzystując podatność o mniej lub bardziej dokładnie określonych skutkach&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="background-color: white; font-size: 13px;"&gt;Jak można zauważyć zarządzanie ryzykiem operując na takich parametrach może być dość trudne. Na pomoc przychodzą inne metody wyliczania ryzyka. Ich spis można zobaczyć na wiki OWASP - &lt;a href="http://www.owasp.org/index.php/Threat_Risk_Modeling"&gt;Threat Risk Modeling&lt;/a&gt;. Żeby nie duplikować dobrego wpisu Pawła Golenia polecam jego analizę metodyki DREAD - &lt;a href="http://wampir.mroczna-zaloga.org/archives/148-jak-nie-popasc-w-paranoje-czyli-o-szacowaniu-ryzyka-slow-kilka.html"&gt;DREAD by wampir&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="background-color: white; font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-3529069264511873139?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/3529069264511873139/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=3529069264511873139&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3529069264511873139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3529069264511873139'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/10/nomenklatura-zarzadzanie-ryzykiem.html' title='Nomenklatura: Zarządzanie ryzykiem'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-3835488608158604144</id><published>2009-10-08T20:57:00.000+02:00</published><updated>2009-10-08T20:57:30.748+02:00</updated><title type='text'>Testowanie logiki biznesowej</title><content type='html'>Jednych bardziej cieszą XSSy, innych SQLi, a jeszcze kogoś innego błędy w logice biznesowej, które najtrudniej wykryć przez systemy bezpieczeństwa jak Web Application Firewall, IDS/IPS czy analizę logów serwerów www. Od jakiegoś czasu właśnie one zyskują w moich oczach najwięcej. Może dlatego, że każda aplikacja to co najmniej lekko zmieniona logika, a najczęściej zdecydowanie inna. To niestandardowe wyzwanie, które sprawia, że pentest nie jest taki &lt;i&gt;nudny&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Dlaczego wspominam o tego rodzaju testach? Bo nadal często spotykam ludzi, którzy dziwią się po co pentesterowi założenia biznesowe jaki ma realizować aplikacja. Czy one naprawdę są potrzebne aby wykonać &lt;b&gt;dobry&lt;/b&gt; pentest? Może nie są potrzebne, ale mogą dużo pomóc. Szczególnie jeśli testowana jest aplikacja o słabo zrozumiałej logice działania.&lt;br /&gt;&lt;br /&gt;Dla zainteresowanych tematem: Na niedawno zakończonej konferencji &lt;a href="http://www.frhack.org/"&gt;FRHACK 2009&lt;/a&gt; miała miejsce nawet ciekawa prezentacja: &lt;i&gt;&lt;a href="http://www.frhack.org/frhack-conference.php#business-flaws"&gt;&lt;b&gt;Identification &amp;amp; Exploitation of Business Logic Flaws in Web Applications&lt;/b&gt;&lt;/a&gt;&lt;/i&gt;, do której udostępniono już &lt;a href="http://www.frhack.org/slides/FRHACK2009_Business-Logic-Flaws_Georgiadis.ppt"&gt;slajdy&lt;/a&gt;. Może komuś się to przyda.&lt;br /&gt;&lt;br /&gt;BTW: Czy ktoś próbował lub musiał na podstawie logów z serwerów WWW, ruchu do/z aplikacji webowej sprawdzić czy nie doszło do udanej próby wykorzystania nieznanej luki, może w logice biznesowej aplikacji? Od takie przykładowe zadanie na CTF w kategorii &lt;i&gt;Forensic&lt;/i&gt;. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-3835488608158604144?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/3835488608158604144/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=3835488608158604144&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3835488608158604144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3835488608158604144'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/10/testowanie-logiki-biznesowej.html' title='Testowanie logiki biznesowej'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-3165620135578803094</id><published>2009-10-07T22:43:00.001+02:00</published><updated>2009-10-07T22:44:07.475+02:00</updated><title type='text'>Hardening aplikacji webowych</title><content type='html'>Aplikacje systemowe można kompilować kompilatorem, który dołoży kanarka, zlinkować z biblioteką, która podmieni funkcje z definicji niebezpieczne na ich bezpieczniejsze odpowiedniki, kernel ma lepiej albo gorzej zaimplementowaną ochronę stosu. Po co to wszystko? Poza marnowaniem kolejnych cykli procesora ;) chodzi o minimalizację ryzyka skutecznego wykorzystania podatności, które nas otaczają.&lt;br /&gt;&lt;br /&gt;Co można zrobić dla poprawienia bezpieczeństwa aplikacji webowych bez względu na podatności związane z błędną walidacją danych wejściowych czy iluzorycznym bezpieczeństwie korzystania z szyfrowanych kanałów transmisji? Jak pokazuje świat przeglądarek, można zrobić całkiem dużo. Pytanie tylko co? Jaki da to efekt? Ile to będzie kosztowało? I czy ktoś z tego (s)korzysta?&lt;br /&gt;&lt;br /&gt;Atrybuty cookie&lt;br /&gt;Poza takimi jak &lt;i&gt;site&lt;/i&gt;, &lt;i&gt;path&lt;/i&gt;, &lt;i&gt;expire&lt;/i&gt; mamy jeszcze dwa: &lt;i&gt;secure&lt;/i&gt; oraz &lt;i&gt;httponly&lt;/i&gt;. &lt;i&gt;Secure&lt;/i&gt; przyda się w sytuacji kiedy przez cały czas pracujemy z aplikacją webową z wykorzystaniem szyfrowanej transmisji (https) i chcemy obronić się przed atakami typy &lt;i&gt;surfjacking&lt;/i&gt;. &lt;i&gt;HttpOnly&lt;/i&gt; spróbuje uniemożliwić XSS'om (Javascriptowi) ukraść ciastka.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;X-FRAME-OPTIONS&lt;/i&gt;&lt;br /&gt;O którym już kiedyś&lt;a href="http://blog.codeninja.pl/2009/03/clickjackfilter.html"&gt;[1]&lt;/a&gt; pisałem[&lt;a href="http://blog.codeninja.pl/2009/03/x-frame-options-na-f5.html"&gt;2&lt;/a&gt;]. Niestety chyba nie zdobył on (nagłówek) popularności[&lt;a href="http://twitter.com/jeremiahg/status/4658924325"&gt;3&lt;/a&gt;].&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Frame breaker&lt;/i&gt;&lt;br /&gt;Nikt nie lubi być w czyjejś ramce. W stosunku do rozwiązania &lt;i&gt;X-FRAME-OPTIONS&lt;/i&gt; wspierany jest przez większą rzeszę przeglądarek. Niestety napisanie kawałka kodu w JS, który tak samo zachowa się w każdej przeglądarce aktualnie nie jest takie proste i oczywiste.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://people.mozilla.org/%7Ebsterne/content-security-policy/index.html"&gt;&lt;i&gt;Content Security Policy&lt;/i&gt;&lt;/a&gt;&lt;br /&gt;&lt;i&gt;Stary&lt;/i&gt; temat w nowej wersji - narazie w wersji beta. (zapowiada się całkiem ciekawie :-))&lt;br /&gt;&lt;br /&gt;Aby powyższe zabezpieczenia zadziałały potrzebna jest odrobina dobrej woli po stronie programisty i/lub administratora. To wszystko dlatego, że wprowadzenie odpowiednich atrybutów dla ciastek czy dodanie nagłówków HTTP można wykonać przez modyfikację kodu aplikacji lub zmiany w konfiguracji serwerów www/load-balancerów.&lt;br /&gt;&lt;br /&gt;Jak często rekomendujecie wybrane z powyższych zabezpieczeń?&lt;br /&gt;Jak często się z nimi spotykacie podczas testów bezpieczeństwa?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-3165620135578803094?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/3165620135578803094/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=3165620135578803094&amp;isPopup=true' title='Komentarze (6)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3165620135578803094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3165620135578803094'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/10/hardening-aplikacji-webowych.html' title='Hardening aplikacji webowych'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-4734727052085945811</id><published>2009-10-06T23:09:00.000+02:00</published><updated>2009-10-06T23:09:06.181+02:00</updated><title type='text'>Testy DoS - potrzebne?</title><content type='html'>Zanim dojdę do głównego tematu kilka nowinek:&lt;br /&gt;&amp;nbsp;- na blogu pojawiła się dodatkowa adnotacja odnośnie charakteru mojego bloga - w moim profilu&lt;br /&gt;&amp;nbsp;- jestem świeżo po kolejnej (dla mnie już trzeciej) edycji &lt;a href="http://akademia.linux-magazine.pl/?m=o&amp;amp;id=3"&gt;warsztatów &lt;/a&gt;z testów penetracyjnych aplikacji webowych, wkrótce zapraszam na kolejną!&lt;br /&gt;&amp;nbsp;- nadal gdy do znajomych mówię "do zobaczenia na CONFidence" część z nich smutno pyta dlaczego zobaczymy się dopiero w przyszłym roku, przypominam, że najbliższa edycja &lt;a href="http://200902.confidence.org.pl/"&gt;CONFidence&lt;/a&gt; już w listopadzie 2009 :-)&lt;br /&gt;&lt;br /&gt;Wracając do tematu... atak typu Denial of Service dla aplikacji webowych to ciut inne zagadnienie od tych występujących w pozostałych warstwach szeroko pojętych usług. W pierwszym rzucie można przyglądnąć się stosownej kategorii na wiki OWASPa&amp;nbsp; - &lt;a href="http://www.owasp.org/index.php/Category:Denial_of_Service_Attack"&gt;Denial of Service Attack&lt;/a&gt; , która naświetla problem na konkretnych przykładach. Pozostaje jednak pytanie jak często pentesterzy sprawdzają czy można przeprowadzić skuteczny atak DoS i czy są o to proszeni? Spotkałem się z różnymi opiniami - niestety większość osób, z którymi poruszałem ten temat sądziła, że DoS zawsze się uda, kwestia przyłożonej siły. W związku z powyższym dość rzadko przeprowadza się takie testy.&lt;br /&gt;&lt;br /&gt;Moim zdaniem testy DoS warto przeprowadzać zawsze, ale nie za wszelką cene. Co to oznacza? Że nie ma potrzeby zawsze wykupować botnetu żeby sprawdzić ile dana infrastruktura wytrzyma SYNów/sec czy równoległych slowlorisów tylko zobaczyć jak zachowuje się aplikacja i środowisko, w której pracuje przy podstawowych testach, o których mówi choćby OWASP Testing Guide. Dobrze jest przeprowadzić testy DoS z jednej maszyny/jednego adresu IP aby sprawdzić jak bardzo odporni jesteśmy na jednego napastnika. Wstyd jeśli się okaże, że jeden wystarczy by osiągnąć niedostępność usługi dla pozostałych, prawda? :-)&lt;br /&gt;&lt;br /&gt;Poza testami wymienionymi w &lt;a href="http://www.owasp.org/index.php/Testing_for_Denial_of_Service"&gt;OWASP Testing Guide&lt;/a&gt; proponuję testy wydajnościowe aplikacji. Mogą one pomóc w określeniu miejsc, w których aplikacji odwołuje się do bazy danych i wykonuje na niej kosztowne z punktu widzenia czasu operacje. Szczególnie niebezpieczne będą to miejsca jeśli dostęp do nich jest przed zalogowaniem się do aplikacji - napastnik pozostaje wtedy bardziej anonimowy i nie musi w ogóle posiadać konta. Zwróciłbym jeszcze szczególną uwagę na cache'owanie. Jeżeli wydaje się nam, że zapewniliśmy odpowiedni poziom cache'owania obiektów np. na reverse-proxy i aplikacja nie będzie zawsze odpytywała bazy danych to trzeba się zastanowić czy zmieniając/dodając dodatkowe, unikalne parametry w zapytaniu HTTP odpowiedź będzie nadal z cache'a czy za każdym razem generowana na nowo. Jeszcze innym przykładem, który czasami jest ignorowany to posiadanie ciasteczek. Automat próbujący wykonać DoS aplikacji nie będzie przejmował się ciasteczkami ustawianymi przez nagłówek Set-Cookie, a nawet może próbować go wykorzystać jako wektor ataku. W końcu identyfikatory sesji też są w jakiejś bazie :-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A jakie doświadczenia z testami typu DoS mają inni?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-4734727052085945811?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/4734727052085945811/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=4734727052085945811&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4734727052085945811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4734727052085945811'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/10/testy-dos-potrzebne.html' title='Testy DoS - potrzebne?'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-2394052849581705631</id><published>2009-09-26T19:34:00.002+02:00</published><updated>2009-09-26T20:10:44.739+02:00</updated><title type='text'>Low-level hacking</title><content type='html'>Jakiś czas temu niefortunnie przypiąłem sobie plakietkę - "&lt;span style="font-style:italic;"&gt;Przemek od OWASPa&lt;/span&gt;". Stało się to pewnie za pomocą udziału w grancie i aktywności na spotkaniach OWASP Poland Local Chapter. Zapewne ten i poprzedni blog, który w dużej części zawiera wpisy dotyczące bezpieczeństwa aplikacji webowych nie pomaga mi pokazać tego co naprawdę lubię i od zawsze szanuję. Nawet praca dyplomowa była o WAF'ach..., a przez 3 lata pracowałem dla jednego z największych portali w Polsce - pozdrowienia dla całej ekipy z tych lat! :) Ja rozumiem, że jest taki trend. XSS'y to dzisiaj współczesny shellcode, który kiedyś był pisany w staranności co do bajta. Właśnie o tych bajtach, rejestrach i językach niskiego poziomu zapomnieć nie mogę.&lt;br /&gt;&lt;br /&gt;Dzisiaj Adam podesłał mi URL'a do swojego bloga i materiałów z konferencji, na których był prelegentem - &lt;a href="http://blog.pi3.com.pl/"&gt;tu&lt;/a&gt; i &lt;a href="http://site.pi3.com.pl/conference.htm"&gt;tu&lt;/a&gt;. Część prezentacji znałem, bo widzieliśmy się na tym imprezach (choćby ostatnio na FIŚ'ie), ale dały mi one do myślenia. Czy większość swojego czasu poświęcam zagadnieniom, które dają mi prawdziwą radość i satysfakcję? Przecież na początku mojej kariery zawodowej (umowa o pracę - pełny etat) prowadziłem podobną prezentację. Pamiętny rok 2004, pawilon konferencyjno-wystawowy "&lt;span style="font-style:italic;"&gt;Kotłownia&lt;/span&gt;" i temat "&lt;span style="font-style:italic;"&gt;&lt;a href="http://f.codeninja.pl/p/2004_10-secure_programming.pdf"&gt;Bezpieczne programowanie - zagrożenia i ochrona&lt;/a&gt;&lt;/span&gt;". W prezentacji na dość wysokiem poziomie abstrakcji podszedłem do opisywach podatności przez co wydaje mi się, że nie straciła bardzo na czasie. Wiadomo, trochę inaczej organizowany jest kod przez kompilatory, struktury danych wyglądają nieco odmiennie choćby z uwagi na architekturę, wykorzystuje się teraz podatności, które wtedy były uznawane za odporne na kontrolę przez piszącego exploita, ale nadal spotykam wiele osób, które o &lt;span style="font-style:italic;"&gt;format string&lt;/span&gt; czy &lt;span style="font-style:italic;"&gt;signal race&lt;/span&gt; nie słyszeli... w ogóle.&lt;br /&gt;&lt;br /&gt;Co będzie ze mną dalej? \x90\x90 ;) Będzie dobrze.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-2394052849581705631?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/2394052849581705631/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=2394052849581705631&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2394052849581705631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2394052849581705631'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/09/low-level-hacking.html' title='Low-level hacking'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-1404065807863719061</id><published>2009-09-22T23:45:00.004+02:00</published><updated>2009-09-23T00:01:51.129+02:00</updated><title type='text'>Tips&amp;Tricks: Standard bezpiecznych aplikacji</title><content type='html'>Od jakiegoś czasu zastanawiam się jak napisać dobry standard bezpieczeństwa dla programistów aplikacji webowych. Z tego powodu &lt;a href="http://blip.pl/s/16627093"&gt;zapytałem&lt;/a&gt; na &lt;a href="http://rezos.blip.pl/"&gt;blipie&lt;/a&gt; o dobre praktyki przy tworzeniu takiego dokumentu. Niestety nikt nie odpisał, ale z racji kończącego się dzisiaj SecDay'a wierzę, że np. w komentarzach do tego posta ktoś podzieli się ze mną swoim doświadczeniem i pomysłami.&lt;br /&gt;&lt;br /&gt;Dlaczego w ogóle chcę napisać dobry standard?&lt;br /&gt;&lt;br /&gt;Po pierwsze... chcę napisać dobry, bo napisałem już kilka (każda wersja mam nadzieję lepsza od poprzedniej), ale nadal nie jestem zadowolony z tego jak to wygląda. Po drugie... OWASP Top 10 jako spis najczęściej wykorzystywanych podatności, OWASP Development Guide jako przewodnik tworzenia bezpiecznych aplikacji webowych moim zdaniem nie do końca nadają się na zestaw rekomendacji i wymagań dla programisty, który powinien wiedzieć jak napisać bezpieczną aplikację webową. Dlaczego tak uważam? OWASP Top 10 to co najmniej 10 kategorii podatności, którymi m.in. powinni zajmować się ludzie od bezpieczeństwa aplikacji. Moim zdaniem to nie spis podatności powinien być bazą dla standardu, a ogólne i szczegółowe propozycje zastosowania środków/rozwiązań, dzięki którym podatności nie występują albo są trudne do wykorzystania. Niestety podobnie ma się sytuacja z projektem OWASP Development Guide. Ostatnia aktualizacja dokumentu miała miejsce w roku 2005. Od tego czasu w świecie bezpieczeństwa aplikacji webowych sporo się zmieniło, a niestety nikt nie zadbał o świeżość dokumentu. Może jestem zbyt wybredny, ale moim zdaniem przewodnik nie proponuje rozwiązań w sposób pozwalający łatwo zaadoptować je w dowolnej aplikacji. Każdy programista jest inny, inna jest szkoła wg. której uczył się programować, ale nadal mam nadzieję, że moja propozycja podejścia do tworzenia standardu może być dla niego przyjazna i w rezultacie efektywna. Ważne jest zrozumienie różnicy pomiędzy dwoma rodzajami zapisów w standardzie - rekomendacje (nice to have!) i wymagania (must be!). Nie zawsze chodzi o 100% zgodność ze standardem, bo obejmuje on znacznie szerszy zakres zagadnień niż aplikacja potrzebuje lub pewne rozwiązania mogące mieć znamiona podatności zostały zaakceptowane w procesie analizy ryzka. O tym więcej trochę później - modelowanie zagrożeń.&lt;br /&gt;&lt;br /&gt;Dlaczego mam szansę napisać dobry standard?&lt;br /&gt;&lt;br /&gt;Albo przewrotnie dlaczego takich szans nie mam ;-) Ogólnie mówi się, że tylko programista powinien szkolić programistów z pisania bezpieczniejszych (bo bezpiecznych w 100% nie ma ;&gt;) aplikacji. Żaden ze mnie etatowy programista, a jedynie okazjonalny koder. Ba, nie lubię pisać aplikacji webowych. Wychowałem się na języku C, ASM (8-... bitowym) i shellu w latach (1999-...) kiedy proste CGI w C/Perlu i HTML z SSI był czymś 'jami' w dzisiejszych czasach. Wygląda na to, że powinienem trzymać się daleko od programistów, a jednak życie i sam zdecydowałem inaczej. Jestem bardzo otwarty na programistów, od lat rozmawiam z nimi chociaż zajmują się różnymi rodzajami aplikacji. Od programistów sterowników, kawałków kernela systemów operacyjnych, przez aplikacje systemowe, usługi, aplikacje webowe, aż po GUI. Rozmawiam, czasami próbuję napisać fragment aplikacji by zrozumieć na czym polega implementacja zabezpieczeń z ich perspektywy. Staram się uczyć przekładać zagrożenia z wykorzystaniem podatności na ogólne sposoby uniknięcia zaimplementowania ich przez programistę. Moim skromnym zdaniem kluczem do napisania dobrego standardu jest zrozumienie genezy powstawania podatności. W skrócie, pomogą dobre praktyki i wzorce projektowe. Jeżeli nikogo poza samym sobą nie przekonałem do tego, że mam szansę napisać niezły standard to śmiało można zamknąć to okno przeglądarki :-)&lt;br /&gt;&lt;br /&gt;Co warto wziąć pod uwagę przy pisaniu standardu tworzenia bezpiecznych aplikacji?&lt;br /&gt;&lt;br /&gt;Poza ogólnymi '&lt;span style="font-style:italic;"&gt;best practices&lt;/span&gt;' nie można zapominać, że aplikacja pracująca w danej warstwie (np. webowa w przeglądarce, po stronie serwera) rządzi się swoimi prawami. Przykładowo pisząc standard dla aplikacji systemowej pisanej w języku niskiego poziomu jak C będzie trzeba pamiętać o takich rzeczach jak zarządzanie pamięcią na stercie czy odpowiednią kontrolą otwieranych plików by nie doszło do sytuacji wyścigów, obcinania plików i innych konsekwencji podobnych podatności. W aplikacji webowej pisanej w J2EE czy PHP nie będziemy bezpośrednio przejmować się zarządzaniem stertą bo robi to za nas inna warstwa środowiska, w której pracujemy.&lt;br /&gt;&lt;br /&gt;Następnym elementem pisania standardu jest pokora. Trudno napisać uniwersalny standard bo zaraz się okaże, że dany framework nie realizuje pewnych wymagań, inne realizuje w sposób odmienny od oczekiwanego, a przecież nagle zespół programistów nie będzie przepisywał połowy kodu bazowego większości aplikacji. W takich przypadkach proponuję nieco inne podejście - dopisanie fragmentu kodu, który będzie możliwie prosty do dołączenia i użycia w popularnym dla danego zespołu frameworku. Są też inne, ale ciekawa sprawa tuż, tuż. Właściwie dotykam tutaj moim zdaniem bardzo śliskiego tematu. Trudno jest oczekiwać od programistów z mniejszym albo większym doświadczeniem w pisaniu bezpiecznych aplikacji, że nagle zaimplementują dla swojej wygody klasy/metody, funkcje realizujące wymagania i rekomendacje ze standardu bezpieczeństwa. Fakt, faktem tak powinno być, powinien taki stały pakiet 'bezpieczeństwa' chodzić za każdą aplikacją i w ten sposób gwarantować możliwość szybkiego podniesienia poprzeczki dla napastników. Dla coraz większej ilości języków myślę tutaj o wykorzystaniu projektu OWASP ESAPI, który wkrótce zamierzam opisać bardziej szczegółowo. Póki nie ma stałego frameworka dla nowych aplikacji webowych będziemy mieli sporo pracy z programistami, a oni z nami :) zanim dojdziemy do satysfakcjonującego poziomu bezpieczeństwa by default.&lt;br /&gt;&lt;br /&gt;Kontynuując podobnie ma się sprawa z różnymi językami. Standard powinien być ponad podziałami w tej kwestii, ale już przykłady, które można dodać w załącznikach warto gromadzić i pokazywać na potrzeby potomnych.&lt;br /&gt;&lt;br /&gt;Podsumowanie.&lt;br /&gt;&lt;br /&gt;Tematu rzecz jasna nie wyczerpałem. Mam nadzieję, że pokazałem kulisy powstawania standardów dla programistów i może komuś się to nawet przyda. Chętnie przyjmę wszelkie uwagi, szczególnie te krytyczne jak podejść do tematu by standard był praktykowany. Na koniec będąc natchniony przez kumpla (dzięki qba!) mam prośbę do ludzi, którzy 'zmuszają' programistów do pisania bezpieczniejszych aplikacji: Nie ubierajcie się mentalnie i na co dzień w &lt;a href="http://www.przyrodnicze.pl/cat289-id4224-kon---kostium.aspx"&gt;takie ciuszki&lt;/a&gt; z wyrazem twarzy: "&lt;span style="font-style:italic;"&gt;Nie mogę Ci pomóc, jestem koniem.&lt;/span&gt;" :) Do następnej części: trening dla programistów w oparciu o standard i nie tylko...&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Liczę na szczere uwagi także od programistów ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-1404065807863719061?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/1404065807863719061/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=1404065807863719061&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1404065807863719061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1404065807863719061'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/09/tips-standard-bezpiecznych-aplikacji.html' title='Tips&amp;Tricks: Standard bezpiecznych aplikacji'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-8523490187405749957</id><published>2009-09-20T20:23:00.004+02:00</published><updated>2009-09-20T22:10:15.091+02:00</updated><title type='text'>(Najtrudniejsze) Podstawy bezpieczeństwa aplikacji</title><content type='html'>W cyklu życia aplikacji NAJtrudniejsze są podstawy bezpieczeństwa. Chciałbym poruszyć dość poważny, często lekceważony problem w procesie powstawania i rozwoju aplikacji (SDLC). Zanim do tego dojdę to trochę o powodach dlaczego uznałem temat za warty wpisu na blogu.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Nyy8yPBnaow/SrZ5OqpDlTI/AAAAAAAADYw/LaC4HFjsmwE/s1600-h/pentesty_aplikacji_webowych.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 79px;" src="http://2.bp.blogspot.com/_Nyy8yPBnaow/SrZ5OqpDlTI/AAAAAAAADYw/LaC4HFjsmwE/s400/pentesty_aplikacji_webowych.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5383623697439626546" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bardzo jest miło kiedy grupa zbiera się na tyle wcześnie, że mogę dobrze zaplanować mój kolejny tydzień, a jeszcze lepiej jeśli myślę o miesiącu. Tak też się stało ze zbliżającą się edycją warsztatów. Dziękuję za zaufanie i postaram się nie zawieść - &lt;a href="http://akademia.linux-magazine.pl/?m=o&amp;id=3"&gt;następna jeszcze w tym roku&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Co takiego skłoniło mnie w temacie warsztatów do przemyśleń o SDLC? Otóż dość spore zainteresowanie nimi. Testy penetracyjne aplikacji webowych to niewątpliwie teraz temat numer jeden (przynajmniej w środowiskach, w których się obracam, a są one bardzo różne) wśród sposobów zapewnienia bezpieczeństwa aplikacji. Oczywiście pośrednio, bo same testy nie wpływają na poziom bezpieczeństwa, a jedynie go sondują. Niepodważalny jest fakt, że testy są potrzebne i nie namawiam do odchodzenia od nich.&lt;br /&gt;&lt;br /&gt;Przez ostatnich kilka lat spotkałem się z bardzo skrajnym podejściem programistów do problemu bezpieczeństwa aplikacji. Pod pojęciem programisty rozumiem zarówno dewelopera, architekta aplikacji i sztabu ludzi, którzy są najbliżej cyklu życia aplkacji. Z jednej strony widzę programiste, który pyta w jaki sposób zaimplementować dany mechanizm bezpieczeństwa, czy narażony jest on na jakieś ataki, a z drugiej (bezczelnego), takiego który ustosunkuje się tylko do błędów wykazanych w raporcie z testu penetracyjnego, ale właściwie tylko tych ze statusem &lt;span style="font-style:italic;"&gt;CRITICAL&lt;/span&gt;. Stosunek do bezpieczeństwa aplikacji obu podejść jest zdecydowanie inny. Kiedyś przeżyłem szok kiedy jeden z moich kolegów, który zawodowo tworzy aplikacje w języku klasy Enterprise zapytał mnie, czy jak poszedł do "&lt;span style="font-style:italic;"&gt;bezpieczników&lt;/span&gt;" w firmie gdzie pracuje i zapytał ich o wytyczne, może jakieś źródła informacji o tym jak bezpiecznie wykonać implementację jednego z ważniejszych projektów to czy się wygłupił. Chwila konsternacji... i aby nie oceniać za szybko (jego i owych bezpieczników) mało elegancko zapytałem skąd ta obawa. Okazało się, że programista został zbyty informacją by teraz nie zawracał głowy. Bezpiecznicy zadeklarowali chęć zajęcia się tematem jak będzie trzeba przetestować aplikację przed "wystawieniem na Świat". Żeby nie wdawać się w szczegóły ;) ze swojej strony powiedziałem koledze, że szkoda, że nie pracujemy razem - bo taki programista to Skarb. Nie dość, że jest zainteresowany tematem bezpieczeństwa zanim zaczął pisać to jeszcze sam pofatygował się do tych, którzy powinni o tym wiedzieć najlepiej. Nie chcę rozmieniać się na drobne by ocenić postawę "&lt;span style="font-style:italic;"&gt;bezpieczników&lt;/span&gt;", którzy tak podeszli do tematu... lepiej jak zostawię uśmieszek :-) Mam nadzieję, że na podstawie tych kilku postaw (bezczelnego programisty i nazwę to, leniwego bezpiecznika) przybliżyłem problem z jakim większość z nas się boryka.&lt;br /&gt;&lt;br /&gt;W takim razie jak ogarnąć temat bezpieczeństwa aplikacji zanim dojdzie do testów penetracyjnych?&lt;br /&gt;&lt;br /&gt;Pisali o tym wprost i między wierszami mądrzy ludzie, którzy zajmują się bezpieczeństwem aplikacji dłużej niż ja żyję - może trochę przesadziłem ;). Nie będę oryginaly i wymienię następujące tematy:&lt;br /&gt; - standard bezpieczeństwa, którego powinni się trzymać programiści przy implementacji zarówno samej aplikacji jak i mechanizmów bezpieczeństwa, w które zostanie ona wyposażona,&lt;br /&gt; - trening = szkolenia + warsztaty dla programistów, tematyka wzięto prosto ze standardu i na zachętę pokaz konsekwencji nie trzymania się standardu - pokaz w stylu 'case study' na błędach kolegów może wyostrzyć wyobraźnię i być pozytywnym bodźcem do zdrowej konkurencji pomiędzy programistami,&lt;br /&gt; - modelowanie zagrożeń per aplikacja i najlepiej infrastruktura (im wcześniej [zanim powstanie pierwszy kB kodu] tym lepiej).&lt;br /&gt;&lt;br /&gt;Dopiero gdzieś tutaj jest moment kiedy aplikacja jest tworzona (programista pisze kod). Standard oraz trening pozwala programistom przewidywać pewne zagrożenia i daje wskazówki jak minimalizować ryzyko ich występowania/wykorzystania. Modelowanie zagrożeń pozwoli programiście wspólnie z konsultantem ds. bezpieczeństwa (najlepiej aplikacji, a nie tylko firewalli...) zidentyfikować zagrożenia, ... i określić środki minimalizujące ryzyko wykorzystania ich. Jak aplikacja dojrzeje do testów bezpieczeństwa to właściwie zaczyna się temat..., ale jeszcze nie pentestów. Niespodzianka? Testy bezpieczeństwa i nie muszą, a nawet więcej, nie zawsze mają postać testów penetracyjnych. Mogą je zastąpić lub występować równolegle dość czasochłonne przeglądy kodu (code review).&lt;br /&gt;&lt;br /&gt;To nie wszystko, a już ta krótka lista może być natchnieniem dla kilku blogów. O ile będę miał trochę (więcej) szczęścia - czasu, kolejne wpisy rozwiną tematykę podstaw bezpieczeństwa aplikacji, które przedstawiłem powyżej.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-8523490187405749957?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/8523490187405749957/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=8523490187405749957&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8523490187405749957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8523490187405749957'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/09/najtrudniejsze-podstawy-bezpieczenstwa.html' title='(Najtrudniejsze) Podstawy bezpieczeństwa aplikacji'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Nyy8yPBnaow/SrZ5OqpDlTI/AAAAAAAADYw/LaC4HFjsmwE/s72-c/pentesty_aplikacji_webowych.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-4873214974048681697</id><published>2009-09-06T20:15:00.003+02:00</published><updated>2009-09-06T20:36:36.383+02:00</updated><title type='text'>CONFidence 2009 - II</title><content type='html'>16 maja tego roku &lt;a href="http://blog.codeninja.pl/2009/05/owasp-eu-poland-confidence-2009.html"&gt;napisałem&lt;/a&gt; o ostatniej konferencji &lt;a href="http://2009.confidence.org.pl/"&gt;CONFidence 2009&lt;/a&gt; z przekonanie, że zobaczymy się za rok. Chociaż wiedziałem (tak, jestem w posiadaniu tajnych informacji ;&gt;), że w listopadzie będzie kolejna impreza to jeszcze nie było wiadomo, że będzie to &lt;a href="http://200902.confidence.org.pl/"&gt;CONFidence 2009 - część II w Warszawie&lt;/a&gt;. Agenda jeszcze nieznana, ale to chyba nie przeszkadza by zarezerwować kilka dni w listopadzie, bo przecież nie dla samej agendy bywa się na CONFidence. Prawda?&lt;br /&gt;&lt;br /&gt;Zapomniałbym! Planowana jest ścieżka w języku polskim. Od Andrzeja wiem, że brakuje na nią prelegentów. Zachęcam do zgłaszania się!&lt;br /&gt;&lt;br /&gt;Po ostatniej konferencji/wpisie na blogu nic się nie działo. Nawet guzik to zauważył i &lt;a href="http://guzik.net.pl/blog/2009/07/frustrat-wsrod-hipokrytow/"&gt;wyraził&lt;/a&gt; swoje zdanie na ten temat. Chociaż od kilku lat (za) dużo pracuję (moja praca to w większości przypadków przedłużenie pasji) to od wiosny tego roku było tego dużo więcej niż kiedykolwiek wcześniej. Nadal tak jest i pewnie potrwa to jeszcze jakiś czas. Poza kilkoma projektami, o których nie mogę napisać z uwagi np. na podpisane NDA, miałem przyjemność spotkać się z ludźmi zajmującymi się informatyką śledczą - &lt;a href="http://www.sledcza.sdcenter.pl/prt/view/lipiec-2009-fis.html"&gt;Forum Informatyki Śledczej&lt;/a&gt;. Chociaż nie jest to tak duży event jak kilka konferencji w kraju to warto się tam spotkać, bo nie zawsze agenda jest najważniejsza.&lt;br /&gt;&lt;br /&gt;Mam jeszcze coś do opisania, ale po co zapeszać ;) Lepiej dać sobie szansę by podnieść statystyki wpisów w tym miesiącu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-4873214974048681697?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/4873214974048681697/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=4873214974048681697&amp;isPopup=true' title='Komentarze (7)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4873214974048681697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4873214974048681697'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/09/confidence-2009-ii.html' title='CONFidence 2009 - II'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-7464335946707730757</id><published>2009-05-16T23:12:00.003+02:00</published><updated>2009-07-26T14:53:01.462+02:00</updated><title type='text'>OWASP EU: Poland / CONFidence 2009</title><content type='html'>Już po. Czas na małe podsumowanie.&lt;br /&gt;&lt;br /&gt;1) OWASP EU: Poland 2009&lt;br /&gt;&lt;br /&gt;Prezentacje:&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Exploiting Web 2.0 – Next Generation Vulnerabilities&lt;/span&gt; - bardziej przypomnienie, że w Web 2.0 też można exploitować ;) chociaż jest to bardziej skomplikowane niż kiedyś... warto wspomnieć, że takie testy to nie _nowość_&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;The Truth about Web Application Firewalls: What the vendors do not want you to know&lt;/span&gt; - niestety nie byłem, ale dema były pokazywane już na koniec "&lt;span style="font-style:italic;"&gt;awesome!&lt;/span&gt;", świetna praca Sandro&amp;Wendel! Wasze zdrowie!&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;OWASP Enterprise Security API (ESAPI) Project&lt;/span&gt; - trwają prace nad ESAPI 2.0, nowe funkcjonalności... czas potraktować temat poważniej :)&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;HTTP Parameter Pollution&lt;/span&gt;&lt;/span&gt; - NAJciekawsza prezentacja całej konferencji, IMHO oczywiście, czekam na pdf'a!&lt;br /&gt;&lt;br /&gt;Eventy:&lt;br /&gt; - CTF by Andres i Jarek wyglądał ciekawie... ale więcej zobaczyłem dopiero na CONFidence :-)&lt;br /&gt;&lt;br /&gt;Uwagi:&lt;br /&gt; - konferencja całkiem dobrze zorganizowana, widać, że tu zupełnie inny klimat niż CONFidence, brakowało &lt;span style="font-style:italic;"&gt;nowych&lt;/span&gt; rzeczy dla kogoś ogólnie zaznajomionym z OWASPem...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) CONFidence 2009&lt;br /&gt;&lt;br /&gt;Prezentacje:&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;A Pentester’s Guide to Credit Card Theft Techniques&lt;/span&gt; - jedna z prezentacji, na której &lt;span style="font-weight:bold;"&gt;musiałem&lt;/span&gt; być, poza wskazanymi &lt;span style="font-style:italic;"&gt;słabościami&lt;/span&gt; PCI DSS najciekawsze było pytanie kogoś z sali: Czy PCI DSS wymaga by numer CVV był weryfikowany podczas operacji wykonywanej kartą kredytową? Okazało się, że autor pytania wpisuje dowolny ciąg cyfr i robi zakupy swoją kartą. Powalające...&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Oracle SQL Injection in Webapps&lt;/span&gt; - nie-sa-mo-wi-te :-)&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Introducing Heyoka: DNS Tunneling 2.0&lt;/span&gt; - pamiętam jak wiele lat temu kolega potrzebował skorzystać z sieci, a że podczas urlopu nikt nie opłacił abonamentu został wycięty... został tylko DNS. Wystarczy.&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Lockpicking 101&lt;/span&gt; - jak życia starczy to warto się tym zainteresować, choćby dla samego siebie&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;VAASeline: VNC Attack Automation Suite&lt;/span&gt; - byłem tylko ciałem (coś tam grałem w CTF), muszę zobaczyć w prezentację&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Bakeca.it DDoS: How Evil Forces Have Been Defeated&lt;/span&gt; - ciekawa z prawdziwymi przypadkami, jedna z lepszych prezentacji w tym roku&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Java and JEE Vulnerabilities explained&lt;/span&gt; - spodziewałem się chyba czegoś innego, a może właściwie za dużo czytam... po prostu wcześniej to widziałem&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Corporate Security and Intelligence: the dark links&lt;/span&gt; - niesamowita opowieść Raula, kto nie był niech żałuje!&lt;br /&gt;&lt;br /&gt;Eventy:&lt;br /&gt; - duża ilość konkursów bardzo podniosła atrakcyjność imprezy, &lt;span style="font-weight:bold;"&gt;ŚWIETNY&lt;/span&gt; CTF (15 zadań! grałem tylko ~1,5h, ale zabawa przednia, wygrał zespół w skład którego wszedł: Mateusz ‘j00ru’ Jurczyk i Gynvael Coldwind), crackme ESETu (nie miałem okazji ani siły ;) zerknąć, wygrał Gynvael) i konkurs &lt;span style="font-style:italic;"&gt;Try to break F5 Security&lt;/span&gt;, gdzie zabezpieczono serwis WWW konfiguracją F5 ASM i trzeba było poszukać luk, których WAF nie pokrył dostatecznie (wygrałem ja :P a w nagrodę wpadł mi w ręce Ipod Touch)&lt;br /&gt; - była też impreza... a właściwie to trwały już od wtorku więc podaruję komentarz, było fajnie ;)&lt;br /&gt;&lt;br /&gt;Uwagi:&lt;br /&gt; - do zobaczenia za rok! :-)&lt;br /&gt;&lt;br /&gt;Pozdrowienia:&lt;br /&gt; - dla wszystkich... od 'Hi!', 'Hello!', 'Cześć!', 'Siema!', przez wspólne stoliki, kolejki przy barze, obiady, kolacje, rozmowy, gry na automacie, aż po tych, z którymi mieszkałem przez te kilka dni ;)&lt;br /&gt; - dla &lt;span style="font-weight:bold;"&gt;ORGANIZATORÓW&lt;/span&gt;: wielkie dzięki za CONFidence 2009 i do zobaczenia w przyszłym roku!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-7464335946707730757?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/7464335946707730757/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=7464335946707730757&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7464335946707730757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7464335946707730757'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/05/owasp-eu-poland-confidence-2009.html' title='OWASP EU: Poland / CONFidence 2009'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-1131232891211782506</id><published>2009-05-04T20:06:00.002+02:00</published><updated>2009-05-04T20:09:05.389+02:00</updated><title type='text'>Blip</title><content type='html'>Stało się. Mam &lt;a href="http://rezos.blip.pl/"&gt;konto&lt;/a&gt; na Blipie. Krótkie notatki tam, dłuższe tutaj. Po prawej stronie bloga można zobaczyć ostatni blip-wpis ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-1131232891211782506?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/1131232891211782506/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=1131232891211782506&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1131232891211782506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1131232891211782506'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/05/blip.html' title='Blip'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-2099524289057277294</id><published>2009-05-04T13:13:00.002+02:00</published><updated>2009-05-04T13:16:12.488+02:00</updated><title type='text'>Modelowanie zagrożeń na wesoło</title><content type='html'>Jak w &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd727503.aspx"&gt;tytule&lt;/a&gt;. POLECAM KAŻDEMU.&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Sam już nie wiem czy potrzebuję bloga czy blip by wystarczył...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-2099524289057277294?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/2099524289057277294/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=2099524289057277294&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2099524289057277294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2099524289057277294'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/05/modelowanie-zagrozen-na-wesoo.html' title='Modelowanie zagrożeń na wesoło'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-7026868394291618429</id><published>2009-05-04T00:41:00.002+02:00</published><updated>2009-05-04T00:59:59.013+02:00</updated><title type='text'>OWASP AppSec Europe 2009 - Poland</title><content type='html'>Kolejny &lt;a href="http://www.owasp.org/index.php/OWASP_AppSec_Europe_2009_-_Poland"&gt;AppSec&lt;/a&gt; już tuż tuż. Tym razem będę ;-) Poniżej moja prawdopodobna agenda.&lt;br /&gt;&lt;br /&gt;Dzień I:&lt;br /&gt;&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Mirage: building an application model made easy (OWASP Orizon v 1.2)&lt;/span&gt; - Paolo Perego, Spike Reply&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;The Truth about Web Application Firewalls: What the vendors do not want you to know&lt;/span&gt; - Wendel Guglielmetti Henrique, Trustwave &amp; Sandro Gauci, EnableSecurity &lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Maturing Beyond Application Security Puberty&lt;/span&gt; - Roger Thornton, Fortify&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;O2 - Advanced Source Code Analysis Toolkit&lt;/span&gt; - Dinis Cruz, Ounce Labs&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Advanced SQL injection exploitation to operating system full control&lt;/span&gt; - Bernardo Damele Assumpcao Guimaraes, lead developer of sqlmap&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Exploiting Web 2.0 – Next Generation Vulnerabilities&lt;/span&gt; - Shreeraj Shah, Blueinfy &lt;br /&gt;&lt;br /&gt;Dzień II:&lt;br /&gt;&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;OWASP Source Code Flaws Top 10 Project&lt;/span&gt; - Paolo Perego, Spike Reply / &lt;span style="font-style:italic;"&gt;Flash Parameter Injection&lt;/span&gt; - Adi Sharabani, IBM&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;OWASP Enterprise Security API (ESAPI) Project&lt;/span&gt; - Dave Wichers, Aspect Security&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;The Bank in the Browser - Defending web infrastructures from banking malware&lt;/span&gt; - Giorgio Fedon, Minded Security&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;HTTP Parameter Pollution&lt;/span&gt; - Luca Carettoni, Independent Researcher &amp; Stefano Di Paola, MindedSecurity&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Real Time Defenses against Application Worms and Malicious Attackers&lt;/span&gt;, Michael Coates, Aspect Security&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Factoring malware and organized crime in to Web application security&lt;/span&gt; - Gunter Ollmann, Damballa&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;The New Web-Based Man-in-the-Middle Attack&lt;/span&gt; - Adi Sharabani, IBM&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Odnośnie jednej z prezentacji dnia pierwszego mam pewien plan ;-) ale dzisiaj jeszcze za wcześnie by o tym mówić.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-7026868394291618429?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/7026868394291618429/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=7026868394291618429&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7026868394291618429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7026868394291618429'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/05/owasp-appsec-europe-2009-poland.html' title='OWASP AppSec Europe 2009 - Poland'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-3917137338136709691</id><published>2009-04-30T22:33:00.003+02:00</published><updated>2009-09-26T20:11:38.056+02:00</updated><title type='text'>Prawdziwe wsparcie dla WAF</title><content type='html'>Sprzedawcy sprzedają, inżynierowi integratorów instalują, a potem? W USA jest firma &lt;a href="http://www.whitehatsec.com/home/index.html"&gt;WhiteHat Security&lt;/a&gt;, która &lt;a href="http://www.f5.com/solutions/technology-alliances/security/whitehat.html"&gt;współpracuje&lt;/a&gt; z &lt;a href="http://www.f5.com/"&gt;F5&lt;/a&gt; oraz &lt;a href="http://www.secureworks.com/"&gt;SecureWorks&lt;/a&gt; współpracujący z &lt;a href="http://blog.imperva.com/2009/04/managed-waf-service-from-secur.html"&gt;Impervą&lt;/a&gt;. Nic mi nie wiadomo o takim czy podobnym wsparciu dla tych i innych WAFów w Polsce. W Europie podobno nie jest specjalnie lepiej. Niby jest &lt;a href="http://www.xiom.com/about/xiom"&gt;Xiom&lt;/a&gt;, ale poza świetną pracą wykonaną przy &lt;a href="http://www.modsecurity.org/"&gt;mod_security&lt;/a&gt; i aktualnymi pracami przy &lt;a href="http://www.xiom.com/wafec"&gt;WAFEC 2.0&lt;/a&gt; nie kojarzę wsparcia dla produktów F5 czy Impervy.&lt;br /&gt;&lt;br /&gt;Czy w Polsce nie mamy specjalistów od WAFów? Czy może ci co są pomagają tylko w firmach gdzie pracują? Kto właściwie korzysta z funkcjonalności WAF'a i w jakim zakresie? A może po prostu nie ma takich potrzeb?&lt;br /&gt;&lt;br /&gt;Zapomniałem, że świadomość zagrożeń nadal jest kiepska... a programiści bezkrytyczni ;) Czasami ;&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-3917137338136709691?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/3917137338136709691/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=3917137338136709691&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3917137338136709691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3917137338136709691'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/prawdziwe-wsparcie-dla-waf.html' title='Prawdziwe wsparcie dla WAF'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-5686018921037899414</id><published>2009-04-30T00:14:00.002+02:00</published><updated>2009-04-30T00:19:05.140+02:00</updated><title type='text'>Analiza podatności</title><content type='html'>Krótko i na temat: &lt;a href="http://xorl.wordpress.com/"&gt;tu&lt;/a&gt; oraz &lt;a href="http://kernelbof.blogspot.com/"&gt;tu&lt;/a&gt; można znaleźć &lt;span style="font-style:italic;"&gt;ciekawe&lt;/span&gt; i &lt;span style="font-weight:bold;"&gt;techniczne&lt;/span&gt; opisy podatności. Głównie w jądrach systemów operacyjnych, ale nie tylko. Respekt za ten &lt;a href="http://kernelbof.blogspot.com/2009/04/kernel-memory-corruptions-are-not-just.html"&gt;exploit&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-5686018921037899414?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/5686018921037899414/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=5686018921037899414&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/5686018921037899414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/5686018921037899414'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/analiza-podatnosci.html' title='Analiza podatności'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-8169970642821604493</id><published>2009-04-29T02:03:00.006+02:00</published><updated>2009-04-29T02:16:27.685+02:00</updated><title type='text'>Can't sleep</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://imgs.xkcd.com/comics/cant_sleep.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 407px; height: 134px;" src="http://imgs.xkcd.com/comics/cant_sleep.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;ZzZzZzZz...&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Jak już temat przepełnień, rzutowań to może &lt;a href="http://www.awe.com/mark/blog/20090419.html"&gt;to&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-8169970642821604493?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/8169970642821604493/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=8169970642821604493&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8169970642821604493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8169970642821604493'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/cant-sleep.html' title='Can&apos;t sleep'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-5327454507873991692</id><published>2009-04-28T00:34:00.002+02:00</published><updated>2009-04-28T00:40:51.058+02:00</updated><title type='text'>WAFW00F</title><content type='html'>2 dni temu pojawiła się kolejna &lt;a href="http://enablesecurity.com/2009/04/26/the-state-of-web-application-security-and-their-firewalls/"&gt;prezentacja&lt;/a&gt; rozwiązań typu WAF. Najciekawszy w niej jest sam WAFW00F - z niecierpliwością czekam na udostępnienie jego źródeł.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-5327454507873991692?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/5327454507873991692/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=5327454507873991692&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/5327454507873991692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/5327454507873991692'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/wafw00f.html' title='WAFW00F'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-1893766110377105000</id><published>2009-04-26T00:58:00.002+02:00</published><updated>2009-04-26T01:07:37.088+02:00</updated><title type='text'>WAF jako SaaS</title><content type='html'>Nie jestem znawcą rynku i wizjonerem przyszłość (tudzież teraźniejszości), ale można trochę poczytać w sieci, że przychodzi (przyszedł?) czas na rozwiązania bezpieczeństwa dostarczane jako usługi. &lt;a href="http://en.wikipedia.org/wiki/Software_as_a_service"&gt;SaaS&lt;/a&gt; na te potrzeby rozwinę jako "&lt;span style="font-style:italic;"&gt;Security as a Service&lt;/span&gt;". Okazuje się, że pierwsze firmy w Europie będą oferowały &lt;a href="http://www.xiom.com/waf/news/waf_in_the_cloud"&gt;WAFy w chmurach&lt;/a&gt;. Temat całkiem ciekawy, szczególnie kiedy widzę niepewność dużej części ludzi, z którymi rozmawiam o temacie Web Application Firewalli. Pewnie nie do zastosowania wszędzie... ;) ale na pewno w kilku ciekawych miejscach. Już wkrótce będę mógł napisać cokolwiek więcej.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-1893766110377105000?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/1893766110377105000/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=1893766110377105000&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1893766110377105000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1893766110377105000'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/waf-jako-saas.html' title='WAF jako SaaS'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-888029100287939606</id><published>2009-04-19T16:19:00.002+02:00</published><updated>2009-04-19T16:33:39.603+02:00</updated><title type='text'>Valgrind tu, Valgrind tam</title><content type='html'>&lt;a href="http://valgrind.org/"&gt;Valgrind&lt;/a&gt; to tylko podpucha dla tego wpisu. Fajnie brzmi i chociaż nigdy nie interesowałem się SEO to pozwoli mi poruszyć inny temat. Mój kolega &lt;a href="http://www.linuxprogrammingblog.com/about"&gt;daper&lt;/a&gt; od dłuższego czasu prowadzi &lt;a href="http://www.linuxprogrammingblog.com/"&gt;bloga&lt;/a&gt;. Wpisy nie pojawiają się za często za to ich jakość oceniam bardzo wysoko - o ile taki "&lt;span style="font-style:italic;"&gt;programista systemowy&lt;/span&gt;" jak ja może wypowiadać się o zawodowym programiście :) Polecam tego bloga każdemu komu się on przyda. Sam czytam go dla usystematyzowania wiedzy. Najnowszy &lt;a href="http://www.linuxprogrammingblog.com/using-valgrind-to-debug-memory-leaks"&gt;wpis&lt;/a&gt; przypomniał mi o całkiem ciekawym projekcie zespołu ds. bezpieczeństwa w &lt;a href="http://www.google.com/"&gt;Google Inc.&lt;/a&gt; Projekt &lt;a href="http://googleonlinesecurity.blogspot.com/2007/09/information-flow-tracing-and-software.html"&gt;Flyer&lt;/a&gt; ma już dobre 1,5 roku, ale na &lt;a href="http://code.google.com/p/flayer/downloads/list"&gt;stronie&lt;/a&gt; nie widzę żadnych zmian :( Czy ktoś coś wie o dalszych jego losach?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-888029100287939606?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/888029100287939606/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=888029100287939606&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/888029100287939606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/888029100287939606'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/valgrind-tu-valgrind-tam.html' title='Valgrind tu, Valgrind tam'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-8366325509212859509</id><published>2009-04-17T23:58:00.002+02:00</published><updated>2009-04-18T00:12:26.289+02:00</updated><title type='text'>Konkurs: CONFidence Security Evangelist 2009</title><content type='html'>Mhm... powiew wyobraźni. Przy okazji &lt;a href="http://2009.confidence.org.pl/"&gt;CONFidence 2009&lt;/a&gt; odbywa się całkiem ciekawy &lt;a href="http://2009.confidence.org.pl/konkurs"&gt;konkurs&lt;/a&gt;. Zgłoś pretendentów i oddaj głos na swojego faworyta!&lt;br /&gt;&lt;br /&gt;Zgłosiłem:&lt;br /&gt; - Blog o bezpieczeństwie IT w języku polskim:&lt;br /&gt;&lt;br /&gt;    * &lt;a href="http://bothunters.pl/"&gt;http://bothunters.pl/&lt;/a&gt; - za dobrą robotę, bez udziału Wielkich!&lt;br /&gt;&lt;br /&gt; - Blog o bezpieczeństwie IT w języku angielskim&lt;br /&gt;&lt;br /&gt;    * &lt;a href="http://chuvakin.blogspot.com/"&gt;http://chuvakin.blogspot.com/&lt;/a&gt; - głównie za &lt;span style="font-style:italic;"&gt;TAGi&lt;/span&gt; o &lt;a href="http://chuvakin.blogspot.com/search/label/PCI"&gt;PCI&lt;/a&gt; DSS, obsłudze &lt;a href="http://chuvakin.blogspot.com/search/label/incident"&gt;incydentów&lt;/a&gt;, &lt;a href="http://chuvakin.blogspot.com/search/label/log%20management"&gt;zarządzaniu logami&lt;/a&gt; i rozwiązania typu &lt;a href="http://chuvakin.blogspot.com/search/label/SIEM"&gt;SIEM&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Najbardziej zasłużony dla społeczności polski hacker&lt;br /&gt;&lt;br /&gt;    * Michał '&lt;a href="http://lcamtuf.coredump.cx/"&gt;lcamtuf&lt;/a&gt;' Zalewski - za &lt;a href="http://code.google.com/p/browsersec/wiki/Main"&gt;Browser Security Handbook&lt;/a&gt; i &lt;a href="http://code.google.com/p/ratproxy/"&gt;Ratproxy&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Konkurs w zamyśle ma wyłonić "&lt;span style="font-style:italic;"&gt;naj&lt;/span&gt;" za ostatni rok, poprzedni CONFidence do teraz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-8366325509212859509?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/8366325509212859509/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=8366325509212859509&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8366325509212859509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8366325509212859509'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/konkurs-confidence-security-evangelist.html' title='Konkurs: CONFidence Security Evangelist 2009'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-7666714079957190796</id><published>2009-04-13T16:38:00.002+02:00</published><updated>2009-04-13T16:58:51.610+02:00</updated><title type='text'>Rozwiązanie problemu 1000000x1000000</title><content type='html'>Krótko i na temat: &lt;a href="http://pl.wikipedia.org/wiki/Algorytm_Aho-Corasick"&gt;Algorytm Aho-Corasick&lt;/a&gt; zaimplementowany m.in. w &lt;a href="http://www.digipedia.pl/man/fgrep.1.html"&gt;fgrep&lt;/a&gt;'ie. Używany także w &lt;a href="http://blog.modsecurity.org/2008/05/modsecurity-25.html"&gt;mod_security&lt;/a&gt; jako operator &lt;span style="font-style:italic;"&gt;&lt;a href="http://www.modsecurity.org/blog/archives/2008/01/setbased_patter.html"&gt;pm&lt;/a&gt;&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-7666714079957190796?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/7666714079957190796/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=7666714079957190796&amp;isPopup=true' title='Komentarze (3)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7666714079957190796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7666714079957190796'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/rozwiazanie-problemu-1000000x1000000.html' title='Rozwiązanie problemu 1000000x1000000'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-3414089292456590350</id><published>2009-04-12T13:47:00.002+02:00</published><updated>2009-04-12T15:15:04.051+02:00</updated><title type='text'>Performance vs. Security</title><content type='html'>Wydajność kontra Bezpieczeństwo. Kto o tym myśli? Czy dzisiaj &lt;span style="font-style:italic;"&gt;bezpiecznik&lt;/span&gt; decydując się na rekomendację danego rozwiązania bierze to pod uwagę?&lt;br /&gt;&lt;br /&gt;Będąc administratorem, a później architektem w jednym z największych portali w Polsce (łezka się kręci, co my wyrabialiśmy w pracy i po...:-)) przy wyborze danego rozwiązania najważniejsze dla mnie były takie cechy jak:&lt;br /&gt; - Wydajność -&gt; Skalowalność&lt;br /&gt; - Dostępność (w rozumieniu zapewnienia HA)&lt;br /&gt; - Bezpieczeństwo (! - nigdy nie przestałem być &lt;span style="font-style:italic;"&gt;bezpiecznikiem&lt;/span&gt;)&lt;br /&gt; - inne jak łatwość w utrzymaniu, wsparcie zew./wew., elastyczność jeśli chciałbym coś zmienić, dostępność dokumentacji/kodu źródłowego (!), realne przełożenie na polepszenie się jakości usług w stosunku do wymaganej pracy przy wdrożeniu/utrzymaniu i rozwoju (!!!) oraz kilka innych&lt;br /&gt;&lt;br /&gt;Dzisiaj (wczoraj też ;)) &lt;span style="font-style:italic;"&gt;bezpiecznik&lt;/span&gt; musi patrzeć przez pryzmat właśnie takiego administratora.&lt;br /&gt;&lt;br /&gt;Przypadek #1 i ostatni: ProPolice&lt;br /&gt;Dodatek ProPolice, teraz natywny w nowych gcc, to pewien narzut na aplikację, która została skompilowana z odpowiednimi opcjami (-fstack-protector, -fstack-protector-all). Czy martwię się nim? Googlając po benchmarkach dostępnych w sieci nie specjalnie. Moja propozycja prawdopodobnie będzie trafiona i nie spowoduje problemów z wydajnością. Ba. Część dystrybucji przygotowuje paczki specjalnie z ProPolice i innymi flagami dla aplikacji w C (Ubuntu? Gentoo? RHEL? CentOS? ... ?). Świat od razu wydaje się być bezpieczniejszy. Mark Cox nie tak dawno temu napisał ciekawe &lt;a href="http://magazine.redhat.com/2009/03/10/risk-report-four-years-of-red-hat-enterprise-linux-4/"&gt;podsumowanie&lt;/a&gt; o RHEL 4 i wpływie hardeningu by default na ryzyko wykorzystania podatności jakie zostały odkryte przez ostatnie 4 lata. Czy na pewno jest tak fajnie? Właściwie co zyskał &lt;span style="font-style:italic;"&gt;bezpiecznik&lt;/span&gt; rekomendując i wymagając stosowanie ProPolice, a co administrator? Wezmę pod uwagę jeszcze developera.&lt;br /&gt;&lt;br /&gt;Bezpiecznik: "&lt;span style="font-style:italic;"&gt;Teraz exploity mi nie straszne!&lt;/span&gt;" - oj myli się ;-)&lt;br /&gt;Administrator: "&lt;span style="font-style:italic;"&gt;O ja &amp;*$#)%(^%&amp;, na tym starym systemie nie ma wsparcia dla ProPolice. Mam tu zrobić upgarde gcc? No way!&lt;/span&gt;", "&lt;span style="font-style:italic;"&gt;Jasne, będę musiał Makefile przeglądać zanim coś skompiluję, &amp;^*)($#^$ bezpiecznik!&lt;/span&gt;" - częściowo ma racje ;]&lt;br /&gt;Developer: "&lt;span style="font-style:italic;"&gt;ProPo..., że co? A po co mi to?&lt;/span&gt;" - Bezpiecznik mówiący developerowi, że przez to trudniej będzie wykorzystać jego błędy raczej nie zdobędzie jego symaptii ;-)&lt;br /&gt;&lt;br /&gt;Pomijając zbędną złośliwość każdego z bohaterów widać, że wprowadzenie rekomendacji może implikować trochę dodatkowych prac i spowodować czasowy spadek wydajności... efektywności pracy wielu ludzi. Stanie się tak pod warunkiem, że rekomendacja będzie praktykowana.&lt;br /&gt;&lt;br /&gt;Ktoś czytając ten wpis może pomyśleć, że trafiłem w swoim życia na "&lt;span style="font-style:italic;"&gt;złych&lt;/span&gt;" ludzi. Leniwych adminów i programistów. To nie tak. Wiem, że nie każda rekomendacja spotka się z zachwytem, szampanem i imprezą do białego rana. Wiem, że administrator/programista (nie wrzucam Was do jednego worka!) skupiony jest na czymś innym niż bezpieczeństwo. Nie o to pyta go szef każdego ranka. Chcę pokazać, że rekomendacja stosowania dwóch opcji do gcc niesie za sobą konsekwencje, a znam przykłady, które wymagają nieporównywalnie większego nakładu pracy po stronie samego IT by rekomendacja weszła w życie. Mam wrażenie, że dlatego tak dużo kupuje się - kupują ci, których stać - pudełek z kolorowym GUI, które konfiguruje się w "&lt;span style="font-style:italic;"&gt;kwadrans&lt;/span&gt;", a właściwie jego możliwości kończą się tip-top dalej niż zaczynają. Trochę generalizuję i nie nawołuję do bojkotu rozwiązań "&lt;span style="font-style:italic;"&gt;z pudełka&lt;/span&gt;" - czasami są bardzo przydatne i wygodne, chciałbym jednak by IT lepiej rozumiało potrzeby Security i na odwrót.&lt;br /&gt;&lt;br /&gt;Idealną sytuacją jest kiedy osoby reprezentujące IT i Security dzielą się uwagami, spostrzeżeniami i sugestiami odnośnie rekomendacji. Jeśli rozmowa jest konstruktywna i merytoryczna to jest szansa osiągnąć dobry wynik rozmów, satysfakcjonujący obie strony.&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Rekomendacja ProPolice jest słuszna w pewnych warunkach i ten wpis nie ma za zadanie odwrócić &lt;span style="font-style:italic;"&gt;bezpieczeników&lt;/span&gt; od stosowania jej.&lt;br /&gt;&lt;br /&gt;PS#2&lt;br /&gt;Rekomendacje skonsultowane z IT będą lepiej przyjmowane, a co najważniejsze, skuteczniej wdrażane.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-3414089292456590350?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/3414089292456590350/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=3414089292456590350&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3414089292456590350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3414089292456590350'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/performance-vs-security.html' title='Performance vs. Security'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-68427887131282382</id><published>2009-04-11T15:30:00.002+02:00</published><updated>2009-04-11T17:53:38.605+02:00</updated><title type='text'>Edukacja przez CTF</title><content type='html'>Od początku 2004 r. jestem zamieszany w szeroko pojętą edukację, skupioną głównie na problemach bezpieczeństwa IT. Od wysokiego poziomu abstrakcji kiedy mowa o ogólnych zasadach zapewnienia bezpieczeństwa aż do analizy działania exploita na kernel.&lt;br /&gt;&lt;br /&gt;Podzielam zdanie "&lt;span style="font-style:italic;"&gt;starej gwardii&lt;/span&gt;" - ludzi, którzy uważają, że aktualnie dostęp do materiałów (książki, Internet), szkoleń/warsztatów, prezentacji jest dużo lepszy niż kiedyś. Zanim zacząłem dzielić się wiedzą gdzieś musiałem ją zdobyć - nadal zdobywam. Teraz jest zdecydowanie lepiej, ale może być jeszcze bardziej.&lt;br /&gt;&lt;br /&gt;Czytając tony newsów z Google Readera wpadłem na taki &lt;a href="http://faculty.cs.nku.edu/~waldenj/classes/2009/spring/csc666/"&gt;link&lt;/a&gt;. To nic nowego, ale przypomniały mi się czasy kiedy &lt;a href="http://cr.yp.to/cv.html"&gt;DJB&lt;/a&gt; prowadził podobny &lt;a href="http://cr.yp.to/2004-494.html"&gt;kurs&lt;/a&gt;. Pamiętam jak dziś, że bardzo chciałem uczestniczyć w podobnym - w końcu zaczynałem studia.&lt;br /&gt;&lt;br /&gt;Tutaj pojawia się moje pytanie: Czy ktoś z czytających ten wpis kojarzy podobne kursy na uczelniach w Polsce? Chętnie zrobię listę takich miejsc. Proszę o dodanie odpowiedniego komentarza pod wpisem. Może zmotywuje mnie to do kontynuowania edukacji na uczelni.&lt;br /&gt;&lt;br /&gt;Nawiązując do tematu wpisu, pewien &lt;a href="http://faculty.cs.nku.edu/~waldenj/"&gt;doktor&lt;/a&gt; wygłosił wykład o &lt;a href="http://faculty.cs.nku.edu/~waldenj/talks/CTFonaVirtualNetwork.pdf"&gt;CTF&lt;/a&gt;. W Polsce mamy 2-3 konkursy rocznie, gdzie można zmierzyć się z samym sobą. Z pamięci i z ostatniego roku najłatwiej wymienić mi &lt;a href="http://www.securitydays.pl/"&gt;Security Days&lt;/a&gt;, &lt;a href="http://2008.confidence.org.pl/ctf/"&gt;CTF&lt;/a&gt; i &lt;a href="http://www.owasp.org/index.php/OWASP_CTF"&gt;Wargame&lt;/a&gt; (czasami brany za CTF...) na &lt;a href="http://2008.confidence.org.pl/"&gt;CONFidence 2008&lt;/a&gt;. Nie będę rozpisywał się nad tym co opisane, przedstawię mój punkt widzenia. Uważam, że raz zorganizowany konkurs typu CTF/Wargame można wykorzystać w edukacji:&lt;br /&gt; - analizując wyniki zmagań innych&lt;br /&gt; - ucząc się sposobów zabezpieczenia, testowania zabezpieczeń i przełamywania ich, a na koniec lub nawet w trakcie sprawdzając swoje teoretyczno-praktyczne umiejętności w takim konkursie - w ramach zajęć&lt;br /&gt;&lt;br /&gt;Tak wykorzystany konkurs może wzbudzić spore zainteresowanie, szczególnie jeśli będzie realizowany jako przedmiot fakultatywny, a nie obowiązkowy.&lt;br /&gt;&lt;br /&gt;Jest jeszcze jedna zaleta takich zmagań. Czasami autorzy wystawiają obrazy systemów, które zostały użyte w konkursie. Stanowi to gotowy poligon do testów. Tak też zrobiliśmy rok temu z Filipem. Link do naszego obrazu można znaleźć na &lt;a href="http://www.owasp.org/index.php/OWASP_CTF"&gt;tej&lt;/a&gt; stronie - łącznie z rozwiązaniami zwycięzców.&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Na &lt;a href="http://2009.confidence.org.pl/"&gt;CONFidence 2009&lt;/a&gt; przygotowywany jest nowy CTF. Na pewno pracują nad nim dwie osoby: mój kolega z Argentyny - &lt;a href="http://www.bonsai-sec.com/"&gt;Andres Riancho&lt;/a&gt; i niezmordowany &lt;a href="http://www.pentesters.pl/pl/"&gt;Jarek Sajko&lt;/a&gt;. Możliwe, że ktoś jeszcze. Tego nie wiem, proszę się nie obrażać jeśli pominąłem (proszę napisać do mnie, uzupełnię listę).&lt;br /&gt;&lt;br /&gt;PS2&lt;br /&gt;Przy organizowaniu CTF też można sporo się nauczyć :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-68427887131282382?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/68427887131282382/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=68427887131282382&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/68427887131282382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/68427887131282382'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/edukacja-przez-ctf.html' title='Edukacja przez CTF'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-7074760588879662703</id><published>2009-04-10T20:21:00.005+02:00</published><updated>2009-04-10T21:11:02.112+02:00</updated><title type='text'>One simple exploit, please.</title><content type='html'>Na początku warto sobie przypomnieć, że nie jestem etatowym &lt;span style="font-style:italic;"&gt;exploit writerem&lt;/span&gt;. Nie jestem, nie byłem, a co przyniesie przyszłość jeszcze nie wiem ;-)&lt;br /&gt;&lt;br /&gt;Od ~10 lat przyglądam się metodom wykorzystywania różnego rodzaju podatności. Atakom zdalnym/lokalnym, na poziomie kernela, biblioteki, aplikacji w userspace. Z elementami systemowego &lt;span style="font-style:italic;"&gt;hardeningu&lt;/span&gt;. Masą IDS/IPSów, aplikacyjnych proxy, ... czy &lt;span style="font-style:italic;"&gt;zwykłych&lt;/span&gt; firewalli. Właściwie to firewalli i uprawnień w systemie/aplikacji.&lt;br /&gt;&lt;br /&gt;Wszystkie wymienione i pozostałe metody/poziomy utwardzania systemów/aplikacji w jakimś stopniu utrudniają wykorzystanie podatności. Czasami sam w sobie błąd jest tak zaszyty w aplikacji, że trzeba się dobrze zastanowić jak ją zmusić do wykonania podatnego fragmentu kodu. Pominę błędy typu "&lt;span style="font-style:italic;"&gt;flaws&lt;/span&gt;", które powstały np. w wyniku źle przemyślanej architektury czy też złego określenia granic zaufania.&lt;br /&gt;&lt;br /&gt;Erm. Wróć. A co jeśli sam &lt;span style="font-style:italic;"&gt;firewall&lt;/span&gt; zawiera podatność? Lipa. Dodajmy do tego fakt, że nie potrzebujemy zalogować się na wspomniamy &lt;span style="font-style:italic;"&gt;firewall&lt;/span&gt; by ją wykorzystać. Lipa^2. Można by powiedzieć, że jest jeszcze jakiś IPS po drodze ;-) - tylko jak często wystawia się taki system przed brzegowy &lt;span style="font-style:italic;"&gt;FW&lt;/span&gt;? Lipa^2 (+1).&lt;br /&gt;&lt;br /&gt;Co ja na to? &lt;a href="http://www.packetninjas.net/?p=568"&gt;Cisco&lt;/a&gt;! ;-)&lt;br /&gt;&lt;br /&gt;Czy tak proste wywołanie błędu to nowość? Nie. Prostota wynika głównie z typu ataku - DoS.&lt;br /&gt;Czy często można spotkać takie błędy? Nie potrafię odpowiedzieć obiektywnie. Na pewno są miłym przerywnikiem w testach aplikacji gdzie trzeba się zmierzyć z funkcją/filtrem czy też środowiskiem pracy aplikacji, które próbuje uniemożliwić skuteczny atak - mhrauu! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-7074760588879662703?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/7074760588879662703/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=7074760588879662703&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7074760588879662703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7074760588879662703'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/one-simple-exploit-please.html' title='One simple exploit, please.'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-5382765763084830312</id><published>2009-04-09T21:23:00.002+02:00</published><updated>2009-04-09T21:40:56.469+02:00</updated><title type='text'>Problem: 1000000x1000000</title><content type='html'>Teraz, gdy jestem już po studiach zaczynam za nimi tęsknić. Ciekawe dlaczego ;)&lt;br /&gt;Do rzeczy. Spotkałem się z problemem Milion na Milion. Może zagadnienie nie jest tak ciekawe jak problem &lt;a href="http://www.kegel.com/c10k.html#top"&gt;C10K&lt;/a&gt;, ale IMHO wymaga ruszenia głową. Na czym polega ten problem?&lt;br /&gt;&lt;br /&gt;Na znalezieniu prostej i szybkiej metody, która odpowie na pytanie: Które wersy ze zbioru 1 000 000 wersów zawierają słowo ze słownika składającego się z 1 000 000 słów?&lt;br /&gt;&lt;br /&gt;Zanim pokażę jedno z rozwiązań, którego złożoność i czas wyszukiwania satysfakcjonuje mnie, podpuszczę tych, którzy jednak tu zerkają. Proszę w komentarzach umieścić proponowane rozwiązanie problemu.&lt;br /&gt;&lt;br /&gt;Na koniec (13.04.2009?) wyzwania umieszczę wyniki testu wykonanego na tym samym sprzęcie i tych samych plikach dla wszystkich propozycji z komentarzy.&lt;br /&gt;&lt;br /&gt;Dla ujednolicenia warunków pracy zamieszczam je poniżej:&lt;br /&gt; - system Linux (mogą być 32-bity)&lt;br /&gt; - wszystko co dostępne po standardowej instalacji dystrybucji Ubuntu  (8.10 lub nowszy), ewentualnie mogę coś doinstalować.&lt;br /&gt;&lt;br /&gt;Żeby było wszystko jasne dodam jeszcze wymaganie odnośnie czasu rozwiązania problemu: Dla 1 000 000 linii logów i słownika złożonego z 1 000 000 słów odpowiedź powinienem otrzymać w czasie poniżej 1h. (najlepiej poniżej minuty ;))&lt;br /&gt;&lt;br /&gt;Powodzenia!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-5382765763084830312?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/5382765763084830312/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=5382765763084830312&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/5382765763084830312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/5382765763084830312'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/problem-1000000x1000000.html' title='Problem: 1000000x1000000'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-1344149240616657792</id><published>2009-04-08T21:59:00.002+02:00</published><updated>2009-04-08T22:15:37.391+02:00</updated><title type='text'>suid_dumpable</title><content type='html'>&lt;pre&gt;&lt;br /&gt;SUIDDUMP=`cat /proc/sys/fs/suid_dumpable`&lt;br /&gt;if [ $SUIDDUMP -lt 1 ]; then&lt;br /&gt;    echo -e "suid_dumpable=0 - system not vulnerable!\n";&lt;br /&gt;else&lt;br /&gt;    echo "Oops... You must &lt;a href="http://www.securityfocus.com/bid/34405/info"&gt;read&lt;/a&gt; and try &lt;a href="http://www.milw0rm.com/exploits/8369"&gt;exploit&lt;/a&gt; it";&lt;br /&gt;fi&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Fajny sploit. Zawsze chciałem zostać exploit writerem ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-1344149240616657792?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/1344149240616657792/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=1344149240616657792&amp;isPopup=true' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1344149240616657792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1344149240616657792'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/suiddumpable.html' title='suid_dumpable'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-3551769135199408925</id><published>2009-04-08T20:33:00.003+02:00</published><updated>2009-04-08T20:58:50.501+02:00</updated><title type='text'>No More Free Bugs</title><content type='html'>W pełni popieram inicjatywę &lt;a href="http://blog.trailofbits.com/2009/03/22/no-more-free-bugs/"&gt;No More Free Bugs&lt;/a&gt;. W związku z tym załączam poniższy obrazek.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Nyy8yPBnaow/SdzvQ3ijd_I/AAAAAAAADIo/_tIQBVL3Vjo/s1600-h/logo.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://1.bp.blogspot.com/_Nyy8yPBnaow/SdzvQ3ijd_I/AAAAAAAADIo/_tIQBVL3Vjo/s400/logo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5322391932710909938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Uwaga:&lt;br /&gt;Wszystko powinno odbywać się zgodnie z prawem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-3551769135199408925?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/3551769135199408925/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=3551769135199408925&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3551769135199408925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3551769135199408925'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/no-more-free-bugs.html' title='No More Free Bugs'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Nyy8yPBnaow/SdzvQ3ijd_I/AAAAAAAADIo/_tIQBVL3Vjo/s72-c/logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-7188379572992753056</id><published>2009-04-05T20:22:00.003+02:00</published><updated>2009-04-05T20:34:42.922+02:00</updated><title type='text'>CCN, Luhn a WAF</title><content type='html'>W przerwie pomiędzy przyjemnościami weekendu postanowiłem zerknąć w Google Readera. Natknąłem się na całkiem ciekawy &lt;a href="http://blog.clearnetsec.com/2009/03/31/need-to-create-a-quick-script-to-detect-if-a-credit-card-number-pattern-is-being-written-to-any-file-on-a-linux-server"&gt;post&lt;/a&gt;. &lt;a href="http://pl.wikipedia.org/wiki/Honeypot"&gt;Honeypoty&lt;/a&gt; to bardzo ciekawy temat i był pierwszym gdzie zauważyłem zastosowanie skryptu do wykrywania numerów kart kredytowych. Moje doświadczenie pokazuje, że zastosowanie miałby także na serwerach z dużą liczbą kont shellowych. Nie jedno z nich zostało/zostanie/jest przejęte przez osoby związane z phishingiem i stanowi kanał wymiany danych w ramach grupy dystrybucyjnej dla skradzionych numerów kart kredytowych. Taki skrypt to rzecz jasna nie panaceum na całe zło ;) Phisher może odwrócić sytuację i uruchomić skrypt na przejętym serwerze. A nóż widelec ktoś zapisze numer swojej/czyjejś (powstrzymam wodze fantazji - sami wymyślcie, nie chcę by ktoś się obraził ;)) karty, tak na chwilę, jako okienko do przeklejenia go gdzieś dalej. Wtedy nawet nie trzeba specjalnie namawiać kogoś do podania numeru karty. Uważam, że ryzyko jest tutaj na tyle mniejsze od zastosowania w wykrywaniu incydentów, że gra warta jest świeczki.&lt;br /&gt;&lt;br /&gt;Nie chcę skupiać się na samym &lt;a href="http://www.ibm.com/developerworks/linux/library/l-ubuntu-inotify/index.html"&gt;inotify&lt;/a&gt;, bardziej interesujący wydaje mi się sposób rozpoznawania numeru karty kredytowej. Autor zastosował bardzo popularny sposób detekcji numerów kart, wyrażenie regularne. Niestety generuje on bardzo dużo &lt;a href="http://www.cgisecurity.com/questions/falsepositive.shtml"&gt;fałszywych pozytywów&lt;/a&gt;. Dobrze, że doczytałem cały post do końca, razem z &lt;a href="http://blog.clearnetsec.com/2009/03/31/need-to-create-a-quick-script-to-detect-if-a-credit-card-number-pattern-is-being-written-to-any-file-on-a-linux-server#comments"&gt;komentarzem&lt;/a&gt; &lt;a href="http://www.tssci-security.com/about/"&gt;Marcina Wielgoszewskiego&lt;/a&gt;. Od razu zaświeciła mi się lampka - "&lt;span style="font-style:italic;"&gt;przecież jest &lt;a href="http://en.wikipedia.org/wiki/Luhn_algorithm"&gt;algorytm Luhn&lt;/a&gt;'a!&lt;/span&gt;". Marcin właśnie go polecił, a argumentował to w taki sam sposób jak ja - duża liczba false positive przy zastosowaniu tylko wyrażenia regularnego.&lt;br /&gt;&lt;br /&gt;Nie byłbym sobą ;) bez spojrzenia na temat oczami rozwiązań typu WAF. Znam tylko jeden, który potrafi sprawdzać dany ciąg cyfr wg. algorytmu Luhna. Jest nim &lt;a href="http://www.modsecurity.org/"&gt;mod_security&lt;/a&gt;. Poniżej znajduje się fragment kodu, implementacja algorytmu (plik apache2/re_operators.c).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Nyy8yPBnaow/Sdj4uIhLCTI/AAAAAAAADIg/umw7AGlx7Xs/s1600-h/verifyCC_blog.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 341px;" src="http://2.bp.blogspot.com/_Nyy8yPBnaow/Sdj4uIhLCTI/AAAAAAAADIg/umw7AGlx7Xs/s400/verifyCC_blog.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5321276431182530866" /&gt;&lt;/a&gt;&lt;br /&gt;Za pomocą operatora &lt;a href="http://www.modsecurity.org/documentation/modsecurity-apache/2.5.9/html-multipage/operators.html#N11D1F"&gt;verifyCC&lt;/a&gt; można w prosty sposób weryfikować poprawność numeru karty kredytowej.&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style:italic;"&gt;Czy to oznacza, że mój WAF jest zły? :/&lt;/span&gt;" - nie. Nie mam aktualnie wiedzy czy algorytm ten zaimplementowany jest dla innych WAF'ów. Po kilku kliknięciach w Google widzę, że nie jest tak tragicznie. Np. z poziomu iRules &lt;a href="http://devcentral.f5.com/weblogs/Joe/archive/2005/07/18/1388.aspx"&gt;można&lt;/a&gt; zrobić to na urządzeniach firmy F5.&lt;br /&gt;&lt;br /&gt;Czy to już wszystko? Nie. Do obowiązkowej lektury należy &lt;a href="http://www.merriampark.com/anatomycc.htm"&gt;Anatomia numerów kart kredytowych&lt;/a&gt;. W całość zaskakuje mnie jedno. Już sam wpis na wiki mówi o &lt;a href="http://en.wikipedia.org/wiki/Luhn_algorithm#Mod_10.2B5_Variant"&gt;dodatkowym wariancie&lt;/a&gt; w algorytmie Luhn'a. Niestety nie został on uwzględniony w implementacji operatora verifyCC mod_security. Zaznaczony na czerwono fragment kodu wskazuje, że wykonywana jest operacja &lt;span style="font-style:italic;"&gt;sum[odd] %= 10;&lt;/span&gt;. Implementacja (iRule) dla F5 robi (&lt;span style="font-style:italic;"&gt;tylko :(&lt;/span&gt;) to samo.&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Problem fałszywych pozytywów dla CCN dotyczy także wielu innych rozwiązań, które mają utrudnić/uniemożliwić ich kradzież. Powstrzymam się i nie zaprezentuję jak można je omijać. Berek ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-7188379572992753056?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/7188379572992753056/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=7188379572992753056&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7188379572992753056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7188379572992753056'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/ccn-luhn-waf.html' title='CCN, Luhn a WAF'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Nyy8yPBnaow/Sdj4uIhLCTI/AAAAAAAADIg/umw7AGlx7Xs/s72-c/verifyCC_blog.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-8638298684347554886</id><published>2009-04-02T20:08:00.002+02:00</published><updated>2009-04-02T20:16:31.171+02:00</updated><title type='text'>Kwiecień 2k9</title><content type='html'>To nie prima aprilis. Poniższe zdjęcie jest tak kiepskiej jakości, w tak kiepskim świetle.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Nyy8yPBnaow/SdT_V9zV8rI/AAAAAAAADHk/CFG7JOhvPQs/s1600-h/Snort_calendar_2009-april.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_Nyy8yPBnaow/SdT_V9zV8rI/AAAAAAAADHk/CFG7JOhvPQs/s320/Snort_calendar_2009-april.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5320157812663644850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nie mam czasu i ochoty sprawiać by było lepsze. Wystarczająco dobrej jakości jest kalendarz na ścianie. To mój miesiąc i będę robił co mi się podoba ;-)&lt;br /&gt;&lt;br /&gt;Kwiecień miesiącem... Nie interesuj się ;-p&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-8638298684347554886?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/8638298684347554886/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=8638298684347554886&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8638298684347554886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8638298684347554886'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/04/kwiecien-2k9.html' title='Kwiecień 2k9'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Nyy8yPBnaow/SdT_V9zV8rI/AAAAAAAADHk/CFG7JOhvPQs/s72-c/Snort_calendar_2009-april.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-8585703814954603890</id><published>2009-03-25T23:24:00.002+01:00</published><updated>2009-03-25T23:33:11.072+01:00</updated><title type='text'>Warsztaty: Testy penetracyjne aplikacji webowych - 22-24/04 2009</title><content type='html'>Tak się złożyło, że mam ten zaszczyt i przyjemność poprowadzić kolejną edycję warsztatów: &lt;a href="http://akademia.linuxmagazine.pl/?m=o&amp;id=3"&gt;Testy penetracyjne aplikacji webowych&lt;/a&gt;, organizowanych przez &lt;a href="http://akademia.linuxmagazine.pl/?m=ao"&gt;Akademię Linux Magazine&lt;/a&gt;. Warsztaty trwają 3 dni i odbywają się w Warszawie.&lt;br /&gt;&lt;br /&gt;Serdecznie zapraszam :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-8585703814954603890?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/8585703814954603890/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=8585703814954603890&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8585703814954603890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8585703814954603890'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/warsztaty-testy-penetracyjne-aplikacji.html' title='Warsztaty: Testy penetracyjne aplikacji webowych - 22-24/04 2009'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-5228596190905624156</id><published>2009-03-18T23:29:00.002+01:00</published><updated>2009-03-18T23:37:23.562+01:00</updated><title type='text'>mod_filter: miesięczny czy jednorazowy?</title><content type='html'>Zastanawia mnie jak bez kupowania drogich zabawek i pisanie "&lt;span style="font-style:italic;"&gt;paczy&lt;/span&gt;" (jamzed - ;P) zmieniać treść zapytań/odpowiedzi serwera WWW w locie. Myślę, dumam, pytam... i nic. Taram! Latając liniami &lt;a href="http://httpd.apache.org/docs/2.2/mod/mod_filter.html"&gt;&lt;span style="font-style:italic;"&gt;mod_filter&lt;/span&gt;&lt;/a&gt; lub &lt;a href="http://httpd.apache.org/docs/2.2/mod/mod_ext_filter.html"&gt;&lt;span style="font-style:italic;"&gt;mod_ext_filter&lt;/span&gt;&lt;/a&gt; wszystko może wyglądać inaczej ;-) Udanych lotów!&lt;br /&gt;&lt;br /&gt;Inne propozycje?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-5228596190905624156?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/5228596190905624156/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=5228596190905624156&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/5228596190905624156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/5228596190905624156'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/modfilter-miesieczny-czy-jednorazowy.html' title='mod_filter: miesięczny czy jednorazowy?'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-4130936363156075340</id><published>2009-03-13T00:08:00.002+01:00</published><updated>2009-03-13T00:10:59.399+01:00</updated><title type='text'>OWASP Podcast#12: Ryan C. Barnett</title><content type='html'>&lt;a href="https://www.owasp.org/index.php/Podcast_12"&gt;Kolejny&lt;/a&gt; bardzo ciekawy podcast. Tym razem wywiad z przedstawicielem m.in. &lt;a href="http://www.breach.com/company/index.html"&gt;Breach Security&lt;/a&gt;. Z ciekawostek: warto w trakcie słuchania ściągnąć prezentację Ryan'a z konferencji &lt;a href="http://www.owasp.org/images/5/59/Virtual_Patching_Ryan_Barnett_Blackhat_Federal_09.zip"&gt;BlackHat Federal 2009&lt;/a&gt; i dokładnie ją przeglądać.&lt;br /&gt;&lt;br /&gt;Można też wygodnie usiąść w fotelu i napić się dobrego (&lt;a href="http://pl.wikipedia.org/wiki/Guinness"&gt;Guinnessa&lt;/a&gt;) piwa ;) (o ile masz ukończone 18 lat!) Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-4130936363156075340?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/4130936363156075340/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=4130936363156075340&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4130936363156075340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4130936363156075340'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/owasp-podcast12-ryan-c-barnett.html' title='OWASP Podcast#12: Ryan C. Barnett'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-8281663917630973928</id><published>2009-03-12T00:37:00.002+01:00</published><updated>2009-03-12T00:49:21.382+01:00</updated><title type='text'>CONFidence 2009</title><content type='html'>To już piąty (a mój trzeci) &lt;a href="http://2009.confidence.org.pl/"&gt;CONFidence&lt;/a&gt;. Nie będę opisywał czym ta impreza jest dla wszystkich, bo każdy ma swoje odczucia. O ile w zeszłym roku przyszło mi pierwszego dnia koordynować &lt;a href="http://2008.confidence.org.pl/wargame/"&gt;konkurs&lt;/a&gt; (materiały &lt;a href="http://www.owasp.org/index.php/OWASP_CTF"&gt;tutaj&lt;/a&gt;), a drugiego dnia "&lt;span style="font-style:italic;"&gt;aktywnie&lt;/span&gt;" odpoczywać po nocnej balandze, to w tym roku jednak chyba kogoś posłucham ;) &lt;a href="http://2009.confidence.org.pl/agenda"&gt;Agenda&lt;/a&gt; zapowiada się całkiem ciekawie, nie jest to też jej ostatni forma. Lista &lt;a href="http://2009.confidence.org.pl/prelegenci"&gt;prelegentów&lt;/a&gt; jeszcze ciekawsza. Czego nie dowiem się z prelekcji mogę dopytać tuż po. Czy to wszystko? Nie nie... nie ma tak lekko. Strona konferencji zmienia się bardzo dynamicznie, obserwuj ją, a może nie przegapisz prawdopodobnie najlepszego eventu w Polsce i jednego z lepszych w Europie!&lt;br /&gt;&lt;br /&gt;d0z0!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-8281663917630973928?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/8281663917630973928/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=8281663917630973928&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8281663917630973928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8281663917630973928'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/confidence-2009.html' title='CONFidence 2009'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-1159498963830260818</id><published>2009-03-11T21:10:00.002+01:00</published><updated>2009-03-11T21:52:12.716+01:00</updated><title type='text'>IFRAME w polityce</title><content type='html'>&lt;a href="http://prawo.vagla.pl/"&gt;Vagla&lt;/a&gt; poruszył wczoraj (prawie dzisiaj) &lt;a href="http://prawo.vagla.pl/node/8396"&gt;sprawę ramek&lt;/a&gt;. Temat został rozszerzony o nagłówek HTTP (Host:) i jak odpowiadają serwery WWW kiedy nie jest on wysyłany.&lt;br /&gt;&lt;br /&gt;Szkoda czasu na opisywanie wszystkiego od początku, lepiej zająć się konkretami. Poniżej wypisałem kilka sposób jak nie pozwolić (czyt. utrudnić) na wyświetlenie mojej strony pod innym adresem niż oczekiwany:&lt;br /&gt;&lt;br /&gt;1) Domyślny Vhost powinien wykonywać przekierowanie (301 czy 302?) pod wskazany, poprawny adres. Np. osoba odwołująca się do serwera przez adres http://127.0.0.1/ powinna zostać przekierowana na http://localhost/ - jeżeli to "localhost" będzie poprawnym i oczekiwanym adresem pod jakim chcemy zobaczyć nasz serwis. Zrealizować to można na wiele sposobów. Najlepiej zrobić to na poziomie konfiguracji serwera WWW, load-balancera. Unikałbym wykorzystanie kodu PHP czy TAGów HTML.&lt;br /&gt;&lt;br /&gt;Dla serwera Apache można to zrobić np. tak:&lt;br /&gt;&lt;br /&gt;(z wykorzystaniem &lt;a href="http://httpd.apache.org/docs/2.2/mod/mod_alias.html"&gt;mod_alias&lt;/a&gt;)&lt;br /&gt;&lt;pre&gt;RedirectMatch 301 .* http://localhost/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;(z wykorzystaniem &lt;a href="http://httpd.apache.org/docs/2.2/rewrite/"&gt;mod_rewrite&lt;/a&gt;)&lt;br /&gt;&lt;pre&gt;RewriteRule .* http://localhost/&lt;/pre&gt;&lt;br /&gt;2) Jeżeli nie chcemy by nasz serwis był umieszczany w (I)FRAME'ach innych serwisów to można zastosować kod Javascript, który powinien wykryć, że zostaliśmy umieszczeni w ramce i zmusić przeglądarkę do przejścia na naszą stronę. Poniżej przykład takiego JS.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt script&amp;gt if (top != self) top.location=location &amp;lt/script&amp;gt &lt;/pre&gt;&lt;br /&gt;3) Dla najnowszych przeglądarek (narazie dla IE8) przyda się nagłówek &lt;a href="http://blogs.msdn.com/ie/archive/2009/01/27/ie8-security-part-vii-clickjacking-defenses.aspx"&gt;X-FRAME-OPTIONS&lt;/a&gt;, który skutecznie powinien utrudnić zamieszczanie naszego serwisu w ramce innego. Wspominałem już o nim &lt;a href="http://blog.codeninja.pl/2009/03/clickjackfilter.html"&gt;tu&lt;/a&gt; i &lt;a href="http://blog.codeninja.pl/2009/03/x-frame-options-na-f5.html"&gt;tu&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;4) Innym sposobem może być korzystanie z nagłówka HTTP, który powinien zawierać adres URL serwisu, z którego został wywołany. Już sama &lt;a href="http://en.wikipedia.org/wiki/Referer"&gt;wikipedia&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Referer#Referrer_hiding"&gt;odstrasza&lt;/a&gt; osoby, które chcą zaufać referrerowi. Niestety jest on "&lt;a href="http://en.wikipedia.org/wiki/Referrer_spoofing"&gt;&lt;span style="font-style:italic;"&gt;spoofowalny&lt;/span&gt;&lt;/a&gt;" i nie powinien być wykorzystywany jako główny/jedyny sposób złapania złośliwego użytkownika, który chce umieścić nasz serwis pod swoim "złym" adresem. Tak czy inaczej raczej[1] nie zaszkodzi.&lt;br /&gt;&lt;br /&gt;Lista ta nie wyczerpuje tematu, a że mój wolny czas jest ostatnio bardzo ograniczony zapraszam do komentowania moich i dodawanie swoich propozycji rozwiązań problemu zamieszczania serwisów WWW pod innymi adresami.&lt;br /&gt;&lt;br /&gt;[1] - ból doświadczeń z przeszłości podpowiada mi, że czasami "&lt;span style="font-style:italic;"&gt;stare&lt;/span&gt;", ale nadal popularne przeglądarki jak IE 6 gubią lub zapamiętują na dłużej referrer. Przy agresywnym sprawdzaniu pola Referrer może to mieć zgubne konsekwencje. Proponowałbym podejście gdzie sprawdzamy go "&lt;span style="font-style:italic;"&gt;offline&lt;/span&gt;", np. skryptami parsującymi logi serwera WWW. Jeżeli zobaczymy podejrzane adresy możemy ogłosić alarm. Jest to działanie "&lt;span style="font-style:italic;"&gt;post factum&lt;/span&gt;", ale co zapamiętane i odłożone może zostać wykorzystane w przypadku obsługi incydentu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-1159498963830260818?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/1159498963830260818/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=1159498963830260818&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1159498963830260818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1159498963830260818'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/iframe-w-polityce.html' title='IFRAME w polityce'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-2709871564193219762</id><published>2009-03-10T22:59:00.003+01:00</published><updated>2009-03-10T23:08:46.309+01:00</updated><title type='text'>F5 Rule Editor</title><content type='html'>Jest późny wieczór, może czas iść spać... ale jak? Kiedy pomysłów tuzin mam.&lt;br /&gt;Jeżeli się nudzisz to zapraszam do skorzystania z &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=66"&gt;F5 Rule Editora&lt;/a&gt;. Sporo frajdy może przynieść nauka nowego języka (TCL w tym wypadku), a jeśli dane będzie jeszcze wykorzystać krótkie fragmenty kodu w "&lt;span style="font-style:italic;"&gt;produkcji&lt;/span&gt;" to już w ogóle.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Nyy8yPBnaow/Sbbj3qMdT3I/AAAAAAAADFE/2J_5HbXUL_Y/s1600-h/F5_iRule_Editor.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 270px;" src="http://4.bp.blogspot.com/_Nyy8yPBnaow/Sbbj3qMdT3I/AAAAAAAADFE/2J_5HbXUL_Y/s320/F5_iRule_Editor.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5311683355888930674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tylko nie mówcie, że nie kręcą Was takie ficzery ;-) Zapowiada się kolejny miesiąc sponsorowany przez trzy literki: W A F.&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Przyjmę dowolne, ale ciekawe, zlecenie dotyczące Web Application Firewalla, którego znam.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-2709871564193219762?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/2709871564193219762/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=2709871564193219762&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2709871564193219762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2709871564193219762'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/f5-rule-editor.html' title='F5 Rule Editor'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Nyy8yPBnaow/Sbbj3qMdT3I/AAAAAAAADFE/2J_5HbXUL_Y/s72-c/F5_iRule_Editor.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-8793560358144639211</id><published>2009-03-09T20:56:00.004+01:00</published><updated>2009-03-09T22:33:45.580+01:00</updated><title type='text'>4+3 reasons not use Apache mod_security/mod_rewrite</title><content type='html'>Pod &lt;a href="https://devcentral.f5.com/"&gt;DevCentral F5&lt;/a&gt; podpiętych jest kilka &lt;a href="https://devcentral.f5.com/Default.aspx?tabid=55"&gt;blogów&lt;/a&gt;. Najbardziej "&lt;span style="font-style:italic;"&gt;podoba&lt;/span&gt;" mi się blog &lt;a href="https://devcentral.f5.com/weblogs/macvittie/Default.aspx"&gt;Lori MacVittie&lt;/a&gt;. Co w nim tak przebojowego? Klapki na oczy...&lt;br /&gt;&lt;br /&gt;Chciałbym się odnieść do dwóch postów. Polecam czytanie po fragmencie: kawałek komentowanego, mój, kawałek komentowanego, mój.&lt;br /&gt;&lt;br /&gt;Pierwszy to "&lt;a href="https://devcentral.f5.com/weblogs/macvittie/archive/2008/07/23/3477.aspx"&gt;&lt;span style="font-style:italic;"&gt;4 reasons not to use mod_security&lt;/span&gt;&lt;/a&gt;". Od razu napiszę, że &lt;a href="http://blog.ivanristic.com/"&gt;Ivan Ristic&lt;/a&gt; merytorycznie skomentował go w komentarzu. Ja czuję niedosyt.&lt;br /&gt;&lt;br /&gt;Ad. 1. "&lt;span style="font-style:italic;"&gt;It runs on every web server.&lt;/span&gt;" - rozproszona architektura mod_security w trybie "&lt;span style="font-style:italic;"&gt;Embededd&lt;/span&gt;" IVMHO pozwala osiągnąć lepszą skalowalność niż pojedyńczy/podwójny WAF na dedykowanych urządzeniach. Duplikowanie części konfiguracji jest prawdziwe, ale jak się chce to można to ogarnąć.&lt;br /&gt;&lt;br /&gt;Ad. 2. "&lt;span style="font-style:italic;"&gt;You have to become a security expert.&lt;/span&gt;" - osobiście nie mam oporów by dążyć do poziomu eksperta. Ktoś tutaj zapomniał, że poza podejściem, w który można opisywać atak na aplikacje webowe istnieje tzw. "&lt;span style="font-style:italic;"&gt;model pozytywny&lt;/span&gt;". Nie jestem taki pewny siebie by w ciemno porównywać mod_security z ASM'em F5 czy Imperva SecureSphere w każdej płaszczyźnie, natomiast mam wrażenie, że reguły jakie można budować dla tego modułu do Apache mogą być (są?!) dużo bardziej rozbudowane od sygnatur z pozostałych wymienionych rozwiązań. Podkreśliłbym konieczność [?] (jakie "?"  ?!?!) współpracy z ekspertem przy konfiguracji i utrzymaniu WAF'a, bez względu na to kto jest jego dostawcą.&lt;br /&gt;&lt;br /&gt;Ad. 3. "&lt;span style="font-style:italic;"&gt;You have to become a protocol expert.&lt;/span&gt;" - łatwiej jest nauczyć się jak dobrze konfigurować jeden serwer, np. Apache, niż wszystkie (IIS, lighttpd, Tomcat, nginx, etc.) i hardenować każdy z nich osobno.&lt;br /&gt;&lt;br /&gt;Ad. 4. "&lt;span style="font-style:italic;"&gt;The configuration must be done manually.&lt;/span&gt;" - ech... . &lt;a href="http://www.modsecurity.org/projects/rules/index.html"&gt;ModSecurity Core Rules&lt;/a&gt;, który jakiś czas temu został przeniesiony pod opiekę &lt;a href="http://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project"&gt;OWASP&lt;/a&gt;a. BTW: WAF to nie drukarka! Czy ktoś wyobraża sobie kogoś kto potrafi _dobrze_ zaprojektować, skonfigurować i utrzymywać firewall bez znajomości stosu TCP/IP na poziomie trochę bardziej niż podstawowym? ;) A jak ktoś ma problem z pisaniem wyrażeń regularnych - to nie takie trudne, naprawdę, to zawsze można dopisać kawałek kodu w &lt;a href="http://www.modsecurity.org/documentation/modsecurity-apache/2.5.7/html-multipage/configuration-directives.html#N10AD1"&gt;Lua&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Podsumowując, stroniąc od bycia ekspertem nigdy nim nie zostaniesz ;-) Wybór należy do Ciebie.&lt;br /&gt;&lt;br /&gt;Drugi post, który sprowokował mnie do komentarza to:  &lt;a href="http://devcentral.f5.com/weblogs/macvittie/archive/2008/07/07/3428.aspx"&gt;&lt;span style="font-style:italic;"&gt;3 Reasons not to use Apache mod_rewrite&lt;/span&gt;&lt;/a&gt;. Szybkim skokiem z telemarkiem pomijam bełkot wstępu i...&lt;br /&gt;&lt;br /&gt;Ad. 1. "&lt;span style="font-style:italic;"&gt;It's less efficient.&lt;/span&gt;" - nie ma co czarować, że &lt;span style="font-style:italic;"&gt;mod_rewrite&lt;/span&gt; może wygrać z iRules. Nie, nie może. Porównanie to jest w stylu żółw vs. zając. Wychowałem się na otwartym oprogramowaniu i tanio skóry nie sprzedam ;) Za pomocą prostej regułki można zmusić przeglądarkę do szybkiego opuszczenia naszego serwisu, np. za pomocą przekierowania - 301/302. Jeżeli znajduje się ona w pliku htaccess to serwer właściwie ledwo zdąży zająć się requestem i już go żegna. To naprawdę nie jest trudne dla niego. Litości.&lt;br /&gt;&lt;br /&gt;Ad. 2. "&lt;span style="font-style:italic;"&gt;It only works in homogeneous environments.&lt;/span&gt;". - ech...#2. mod_rewrite to moduł dla Apache. Oczywiste, że nie będzie działał dla innych serwerów. Załóżmy taką sytuację: Jesteśmy DDoSowani przez kilkaset klientów-zombie, którzy w nagłówku User-Agent wstawiają charakterystyczny string: "KokoJambo". Nie mamy super wypasionego ASMa F5. Czy mam szukać telefonu do eksperta od firewalli, bo od protokołu HTTP takowych nie ma, może mnie uratuje? Ten .htaccess całkiem możliwe, że tak:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;RewriteEngine On&lt;br /&gt;&lt;br /&gt;RewriteCond %{HTTP_USER_AGENT} ^KokoJambo$&lt;br /&gt;RewriteRule .* http://localhost/bad_user.html&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Bardzo trudne, wymaga znajomości wyrażeń regularnych, nie można &lt;span style="font-style:italic;"&gt;wyklikać&lt;/span&gt; tego z panelu administracyjnego, potrzebna jest znajomość edytora tekstu i umiejętności połączenia się na serwer, np. za pomocą ssh. Praca dla Eksperta.&lt;br /&gt;&lt;br /&gt;Ad. 3. "&lt;span style="font-style:italic;"&gt;It requires an interruption to services.&lt;/span&gt;" - ta, jasne. Zapomniałem, że musiałem obudzić pół &lt;span style="font-style:italic;"&gt;biznesu&lt;/span&gt; by zapytać czy mogę zatrzymać serwery WWW. Ogólnie min. pół godziny okienka serwisowego, może godzinka, nie wiem, nie ma tu ekspertów od tych spraw. Proszę. Bez takich. Powyższy fragment konfiguracji &lt;span style="font-style:italic;"&gt;mod_rewrite&lt;/span&gt; można umieścić w pliku .htaccess i cieszyć się z działającej konfiguracji bez jakiegokolwiek restartu serwera czy jakiejś przerwy w jego działaniu.&lt;br /&gt;&lt;br /&gt;Uznam, że te posty to marketingowy bełkot i na tym zakończę mój komentarz. Dodam tylko, że z dnia na dzień ASM i iRules firmy F5 podoba mi się coraz bardziej, wbrew pozorom można z ich wykorzystaniem zrobić dużo. Dużo więcej niż spora część ludzi robi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-8793560358144639211?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/8793560358144639211/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=8793560358144639211&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8793560358144639211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8793560358144639211'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/43-reasons-not-use-apache.html' title='4+3 reasons not use Apache mod_security/mod_rewrite'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-2762669857762280126</id><published>2009-03-08T01:17:00.002+01:00</published><updated>2009-03-08T01:45:39.314+01:00</updated><title type='text'>HttpOnly i Secure na F5</title><content type='html'>Wiem, wiem, wiem... Zostanę oskarżony o stronniczość. Że już mod_security mi nie wystarcza, zmieniłem prace i w ogóle. Bez jaj ;-)&lt;br /&gt;&lt;br /&gt;Ponad dwa miesiące temu Ryan Barnett &lt;a href="http://blog.modsecurity.org/2008/12/fixing-both-missing-httponly-and-secure-cookie-flags.html"&gt;opublikował&lt;/a&gt; sposób na dodanie takich atrybutów jak &lt;a href="http://www.owasp.org/index.php/HTTPOnly"&gt;HttpOnly&lt;/a&gt; i &lt;a href="http://www.owasp.org/index.php/Testing_for_cookies_attributes#Description_of_the_Issue"&gt;Secure&lt;/a&gt; do ciasteczek, których autor aplikacji odpowiednio nie wzbogacił. Mod_security ma tą moc.&lt;br /&gt;&lt;br /&gt;Na &lt;a href="http://devcentral.f5.com/"&gt;DevCentral&lt;/a&gt; znalazłem przepis jak zrobić to na F5: "&lt;span style="font-style:italic;"&gt;&lt;a href="http://devcentral.f5.com/weblogs/Joe/archive/2008/08/29/stop-those-xss-cookie-bandits-irule-style.aspx"&gt;Stop Those XSS Cookie Bandits iRule Style&lt;/a&gt;&lt;/span&gt;". Może nie byłoby w tym nic "&lt;span style="font-style:italic;"&gt;złego&lt;/span&gt;" gdyby nie to, że programista powinien o to zadbać w aplikacji. Czuję odcisk ręki na buzi po tym jak ktoś właśnie wymierza mi policzek. Pytam: Za co? Bo chcę rozwiązać problem inną drogą niż przez developera? Bo czasami go nie mam? Bo czasami nie ma czasu? Bo ...? :-) Korzystajmy z tego co dała fabryka, a morały zostawmy sobie na potem.&lt;br /&gt;&lt;br /&gt;Tak na zakończenie zadam pytanie: Czy te atrybuty rozwiązują wszystkie problemy związane m.in. z XSS'ami? *ZONK* !!! Nie. Minimalizują ryzyko m.in. kradzieży tożsamości użytkownika korzystającego z aplikacji webowej. Nic więcej. O tym co można zrobić z XSS'em &lt;a href="http://pentester.jogger.pl/2009/03/02/xss-payloads/"&gt;napisał Michał&lt;/a&gt;, więc szkoda czasu by opisywać to na nowo.&lt;br /&gt;&lt;br /&gt;Chociaż nie. Mam przykład, o którym nie wspomniał. Mając XSS'a na stronie można przełamać kilka metod zabezpieczeń przed atakami typu &lt;a href="http://www.owasp.org/index.php/Cross-Site_Request_Forgery"&gt;CSRF&lt;/a&gt;. Jakie można? Wszystkie?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-2762669857762280126?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/2762669857762280126/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=2762669857762280126&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2762669857762280126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/2762669857762280126'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/httponly-i-secure-na-f5.html' title='HttpOnly i Secure na F5'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-4006121999002900796</id><published>2009-03-07T23:39:00.003+01:00</published><updated>2009-03-22T11:41:17.898+01:00</updated><title type='text'>X-FRAME-OPTIONS na F5</title><content type='html'>Preferuję otwarte rozwiązania, ale jak nikt nie chce czytać bloga to warto dla siebie samego napisać o czymś o czym inni nie do tej pory nie napisali.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;when HTTP_RESPONSE {&lt;br /&gt;    if { not [HTTP::header exists "X-FRAME-OPTIONS"] } {&lt;br /&gt;        HTTP::header insert "X-FRAME-OPTIONS" "SAMEORIGIN"&lt;br /&gt;        log local0. "Inserting header - X-FRAME-OPTIONS: SAMEORIGIN"&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Jeżeli nic to nie mówi to podpowiem. &lt;a href="http://devcentral.f5.com/Default.aspx?tabid=75"&gt;iRule&lt;/a&gt;'ka dla &lt;a href="http://www.f5.com/products/big-ip/"&gt;F5&lt;/a&gt;'tki.&lt;br /&gt;&lt;br /&gt;Nadal czekam na czytających, którzy zaprezentują jak to zrobić dla innych rozwiąząń (serwery WWW, load-balancery, proxy, Web Application Firewall, etc.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-4006121999002900796?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/4006121999002900796/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=4006121999002900796&amp;isPopup=true' title='Komentarze (9)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4006121999002900796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4006121999002900796'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/x-frame-options-na-f5.html' title='X-FRAME-OPTIONS na F5'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-3722295336800122168</id><published>2009-03-01T18:23:00.003+01:00</published><updated>2009-03-01T18:25:51.490+01:00</updated><title type='text'>Marzec 2k9</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Nyy8yPBnaow/SarEtiXmjPI/AAAAAAAADDw/SNcm02HEEkE/s1600-h/Snort_calendar_2009-march.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_Nyy8yPBnaow/SarEtiXmjPI/AAAAAAAADDw/SNcm02HEEkE/s320/Snort_calendar_2009-march.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5308271397408509170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Next Month of WAF ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-3722295336800122168?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/3722295336800122168/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=3722295336800122168&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3722295336800122168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3722295336800122168'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/marzec-2k9.html' title='Marzec 2k9'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Nyy8yPBnaow/SarEtiXmjPI/AAAAAAAADDw/SNcm02HEEkE/s72-c/Snort_calendar_2009-march.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-4915976445998517782</id><published>2009-03-01T17:51:00.002+01:00</published><updated>2009-03-01T18:12:26.905+01:00</updated><title type='text'>ClickjackFilter</title><content type='html'>Bardziej słusznym tytułem byłby &lt;a href="http://www.owasp.org/index.php/Clickjacking"&gt;clickjacking&lt;/a&gt;, ale zależy mi na propagowaniu jak budować, a nie burzyć.&lt;br /&gt;&lt;br /&gt;Jeff Wiliams opracował implementację filtra dla J2EE, który pozwoli na blokowanie prób wykorzystania tego rodzaju ataku dla przeglądarki IE 8. &lt;a href="http://www.owasp.org/index.php/ClickjackFilter_for_Java_EE"&gt;ClickjackFilter&lt;/a&gt; to kawałek kodu do zastosowania wprost. Nie ma co się rozpisywać w temacie, warto przeczytać oryginalny opis i stosować. Jako, że jest to okazja do dyskusji, a takie lubię najbardziej, można zadać pytanie, ale po co to stosować, skoro jest to rozwiązanie tylko dla IE, w dodatku dla wersji 8?&lt;br /&gt;&lt;br /&gt;1) bo z nowymi laptopami/netbookami/komputerami stacjonarnymi będzie/jest dostarczany Windows Vista z IE8&lt;br /&gt;2) bo może (musiałbym odszukać, ale nie teraz informacji jak jest na pewno) Firefox zaimplementuje ochronę w taki sam sposób jak to zrobił Microsoft&lt;br /&gt;3) bo uratuje to część użytkowników, a rozwiązanie tego typu nigdy nie obejmują 100% użytkowników&lt;br /&gt;4) bo nie zawsze trzeba angażować w to programistów (?!?!?!?!)&lt;br /&gt;&lt;br /&gt;Ktoś powie, jak to?!?! (4))&lt;br /&gt;&lt;br /&gt;Zagadka: jak można dodać taki nagłówek (X-FRAME-OPTIONS) z poziomu konfiguracji serwera/WAFa? Jeżeli ktokolwiek czyta tego bloga i ma pomysł to proszę o podsyłanie (najlepiej jako komentarz) przykładów praktycznych jak można to zrobić.&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Przy okazji przypomniał mi się jeden z grzechów głównych przy pisaniu "bezpiecznych" aplikacji: "&lt;span style="font-style:italic;"&gt;O bezpieczeństwo zadbamy po realizacji wymagań biznesu.&lt;/span&gt;" - bez jaj!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-4915976445998517782?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/4915976445998517782/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=4915976445998517782&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4915976445998517782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4915976445998517782'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/03/clickjackfilter.html' title='ClickjackFilter'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-1408504413213281380</id><published>2009-02-11T23:20:00.003+01:00</published><updated>2009-02-11T23:41:40.556+01:00</updated><title type='text'>Battle of WAF 1/2009</title><content type='html'>Jak to ma miejsce co jakiś czas... na jednej z list mailingowych (&lt;a href="http://www.webappsec.org/lists/websecurity/archive/"&gt;websecurity&lt;/a&gt;), w kilku wątkach (np. tu &lt;a href="http://www.webappsec.org/lists/websecurity/archive/2009-02/"&gt;tu&lt;/a&gt; | egrep -i WAF) pojawia się motyw bitwy o WAFy. Sporo &lt;span style="font-style:italic;"&gt;flejmu&lt;/span&gt;, ale można też czegoś się nauczyć - warto prześledzić. Iskierką był &lt;a href="http://blog.codeninja.pl/2009/02/owasp-podcast6-waf.html"&gt;ostatni&lt;/a&gt;, #6 podcast OWASPa, który już zapowiada kolejną MPtrójkę, gdzie WAF będzie jednym z głównych tematów.&lt;br /&gt;&lt;br /&gt;Do tego czasu szczerze POLECAM &lt;a href="https://www.owasp.org/index.php/Podcast_2"&gt;#2 OWASP Podcast&lt;/a&gt;, gdzie &lt;span style="font-style:italic;"&gt;Stephen Craig Evans&lt;/span&gt; opowiada o swojej przygodzie z &lt;a href="https://www.owasp.org/index.php/OWASP_Securing_WebGoat_using_ModSecurity_Project"&gt;OWASP Securing WebGoat using ModSecurity Project&lt;/a&gt;. Stephen wraz z Jim'em ukoją nerwy, a jeśli spędzasz w drodze choćby 1/2h dziennie to zainteresują co piszczy w innych podcastach.&lt;br /&gt;&lt;br /&gt;Punkt widzenia zależy od miejsca siedzenie, jednak zdrowy rozsądek przede wszystkim. FRS - Fanatyzm Robi Swoje; nie tolerujmy i sprytnie zwalczajmy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-1408504413213281380?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/1408504413213281380/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=1408504413213281380&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1408504413213281380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1408504413213281380'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/02/battle-of-waf-12009.html' title='Battle of WAF 1/2009'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-6714307167683269161</id><published>2009-02-09T01:43:00.003+01:00</published><updated>2009-02-09T02:08:33.534+01:00</updated><title type='text'>WAFEC V1.0 vs WAFC V2.0.1</title><content type='html'>Kontynuując miesiąc Web Application Firewall na tapecie miałem "&lt;a href="http://www.icsa.net/icsa/docs/html/communities/Wafcriteria.pdf"&gt;Web Application Firewall Certification Criteria&lt;/a&gt;" by &lt;a href="http://www.icsa.net/icsa/c.php?l=HOME"&gt;ICSA Labs&lt;/a&gt; - w wersji 2.0.1. Co ciekawe dokument nie nazywa się WAFC^2 tylko WAFC. Szczegół :)&lt;br /&gt;&lt;br /&gt;Przechodząc do meritum, WAFC opisuje jakie wymagania stawiane są WAF'om aby mogły uzyskać certyfikat by ICSA. W kolejnych rodziałach weryfikowana jest:&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Documentation&lt;/span&gt; - IMHO bardzo fajny rozdział, czym jest "&lt;span style="font-style:italic;"&gt;szarego bezpiecznika&lt;/span&gt;" jest rozwiązanie/produkt bez dobrej dokumentacji? (kiedyś może za to oberwę na ulicy, ale miałem na myśli inżyniera, który specjalnie nie wnika co i dlaczego tylko wykonuje polecenia/zalecenia z "&lt;span style="font-style:italic;"&gt;User Guide&lt;/span&gt;"). Jak ktoś potrzebuje rozpoznać coś na "&lt;span style="font-style:italic;"&gt;sucho&lt;/span&gt;" to dobrze napisana dokumentacja może dać całkiem fajny pogląd na to co "&lt;span style="font-style:italic;"&gt;na pewno&lt;/span&gt;" można. Dlaczego "&lt;span style="font-style:italic;"&gt;na pewno&lt;/span&gt;" ? Bo to co w dokumentacji nie zawsze idzie w parze z praktyką.&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Platform Security&lt;/span&gt; - ogólny spis wymagań co do bezpieczeństwa platformy, na której stoi WAF. Fajne z uwagi na wymaganą rozliczalność, uwierzytelnienie administratorów czy wymaganie związane z zachowaniem integralności polityk bezpieczeństwa przy jednoczesnej pracy dwóch adminów nad konfiguracją. Dodatkowo wymagania co do zdalnego dostępu pokrywające się częściowo z &lt;a href="http://www.webappsec.org/projects/wafec/"&gt;WAFEC&lt;/a&gt;. Na chwilkę zatrzymałbym się przy tym punkcie. WAFC stawia wymagania platfomie, aby nie zawierała aplikacji w wersjach z ogólnie znanymi podatnościami, czy też nie była podatna na proste ataki typu DoS. Dodatkowo konfiguracja platformy, polityki bezpieczeństwa, logi, ustawienia czasu i daty powinny być odporne na zaniki napięcia czy restarty. Niby takie oczywiste, ale jak jest zapisane to robi się od razu lepiej.&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Functional Security&lt;/span&gt; - w tej części dokumentu autorzy skupili się na możliwościach samego WAFa. Pragną zapewnienia odporności na popularne ataki jak "Buffer overflow / code injection" czy "Cross Site Scripting". Życzą sobie obsługi różnych modeli bezpieczeństwa: &lt;span style="font-style:italic;"&gt;Negative&lt;/span&gt; i &lt;span style="font-style:italic;"&gt;Positive&lt;/span&gt;, możliwości normalizacji i przepisywania URLi, a także trybu nauczania, o którym coś więcej innym razem. W sporej części widać tutaj pokrycie z WAFECiem. Co wbudza moje obawy to fakt, że wymagania są bardzo ogólne. "&lt;span style="font-style:italic;"&gt;Ma być normalizacja URL&lt;/span&gt;" - nie uwierzę jak nie zobaczę co autor miał na myśli. &lt;br /&gt;Już w &lt;a href="http://blog.codeninja.pl/2009/02/wafec-10-vs-waftp-10.html"&gt;WAFTP V1.0&lt;/a&gt; było więcej informacji na ten temat. Mimo braku szczegółów znajduje się tutaj wymaganie, które mnie akurat bardzo się podoba. Lubię kiedy dany proces jest uporządkowany, mam rozliczalność, wiem kiedy, kto, co i dlaczego. Dlatego urzekły mnie wymagania związane z zapewnieniem wprowadzania zmian w konfiguracji polityk bezpieczeństwa: edytowanie czy powrót do poprzedniej wersji to coś bardzo przydatnego w utrzymaniu WAFa. Kto się o tym jeszcze nie przekonał na pewno będzie miał jeszcze okazję. Kolejnym mocnym punktem (&lt;span style="font-weight:bold;"&gt;ale znów bardzo ogólnym!&lt;/span&gt;) jest wymaganie związane z zapewnieniem możliwości konfiguracji ustawień protokołu HTTP: typy/metody encodingu, walidacja protokołu, długość nagłówków, etc. W tym fragmencie osiągnięto niemal 100% pokrycie z WAFECiem. Nareszcie! ;) Ludzi zaczynający rozpoznawanie tematu WAFów ciekawi jak to rozwiązanie poradzi sobie z HTTPSem. Otóż dobrze lub doskonale ;) Zależy od tego jak go użyjemy. Odpowiedni punkt "&lt;span style="font-style:italic;"&gt;HF5 - SSL Support&lt;/span&gt;" mówi o tym co powinien WAF potrafić robić z SSLem, chyba, że jest on integralnym elementem serwera WWW.&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Logging&lt;/span&gt; - całkiem sporo szczególików, co, gdzie, jak... a ja zaczynam się śmiać... Dlaczego? Dlaczego?!?!? Dlaczego po raz kolejny nie widzę wymagania co do logowania parametrów przekazywanych inaczej niż w URLu?! &lt;span style="font-weight:bold;"&gt;Czy metodą POST/HYDYZ/TEST/ABRAKADABRA lub w nagłówku HTTP nie można zaatakować?&lt;/span&gt; Pewnie nie ;-)&lt;br /&gt;&lt;br /&gt;Dokument kończy się ponad 2 stronicowym słownikiem pojęć. Ogólnie wygląda lepiej do wcześniej analizowanego WAFTP, choć nie wiele. Nadal jestem za opcją: zakreślić w WAFEC co istotne + elementy WAFTP/WAFC + przemyślenia. Wtedy można zacznąć oceniać czy dany Web Application Firewall spełnia stawiane przed nim oczekiwania.&lt;br /&gt;&lt;br /&gt;Na koniec porównania WAFTP i WAFC z WAFEC mały obrazek. Strona tytułowa WAFECa, a na niej zaznaczone pokrycie pozostałych dokumentów. (Sorry za jakość, ale po 2 w nocy chyba nie mam ochoty wyciągać palić lepszego światła ;))&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Nyy8yPBnaow/SY-Au2Mh7eI/AAAAAAAADCQ/1GTCrBHxSBs/s1600-h/WAFEC.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_Nyy8yPBnaow/SY-Au2Mh7eI/AAAAAAAADCQ/1GTCrBHxSBs/s320/WAFEC.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5300596828748770786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;+ zielony: Web Application Firewall Testing Procedure by NSS Labs&lt;br /&gt;+ pomarańczowy: Web Application Firewall Certification Criteria by ICSA Labs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-6714307167683269161?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/6714307167683269161/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=6714307167683269161&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/6714307167683269161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/6714307167683269161'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/02/wafec-v10-vs-wafc-v201.html' title='WAFEC V1.0 vs WAFC V2.0.1'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Nyy8yPBnaow/SY-Au2Mh7eI/AAAAAAAADCQ/1GTCrBHxSBs/s72-c/WAFEC.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-8888505010941034019</id><published>2009-02-06T00:37:00.002+01:00</published><updated>2009-02-06T00:48:39.049+01:00</updated><title type='text'>OWASP Podcast#6: WAF</title><content type='html'>Nic tak nie pociesza w stanie wyobcowania jak... ;-) &lt;a href="http://www.tssci-security.com/about/"&gt;Marcin Wielgoszewski&lt;/a&gt; już jakiś czas temu wspominał o nagraniu &lt;a href="https://www.owasp.org/index.php/OWASP_Podcast"&gt;OWASPowego podcasta&lt;/a&gt;. Stało się, dzisiaj &lt;a href="https://www.owasp.org/index.php/Podcast_6"&gt;ujrzał&lt;/a&gt; on światło dzienne. Nie wspominałbym o tym gdyby nie główny temat nagrania: Web Application Firewall. Czy to wystarczający powód? Pomijając próbę cenzury to tak, bo podcast może rzucić nowe światło na temat, którym aktualnie się zajmuję. Co jest bardzo fajne, mam bardzo zbliżone stanowisko do tego jakie prezentują rozmówcy &lt;a href="https://www.owasp.org/index.php/User:Jmanico"&gt;Jim'a Manico&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-8888505010941034019?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/8888505010941034019/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=8888505010941034019&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8888505010941034019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/8888505010941034019'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/02/owasp-podcast6-waf.html' title='OWASP Podcast#6: WAF'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-1660134041247447816</id><published>2009-02-05T00:25:00.003+01:00</published><updated>2009-02-05T00:39:20.862+01:00</updated><title type='text'>WAFEC 1.0  vs. WAFTP 1.0</title><content type='html'>Z poprzedniego posta można wywnioskować, że sam się zaintrygowałem. Nie mogłem zrobić inaczej jak pójść za ciosem. Na warsztat wziąłem wszystkie 3 dokumenty: &lt;a href="http://www.webappsec.org/projects/wafec/v1/wasc-wafec-v1.0.html"&gt;Web Application Security Consortium&lt;/a&gt;, &lt;a href="http://nsslabs.com/certification/waf/nss-waf-v10-testproc.pdf"&gt;NSS Labs&lt;/a&gt; i &lt;a href="http://www.icsa.net/icsa/docs/html/communities/Wafcriteria.pdf"&gt;ICSA Labs&lt;/a&gt;. Jako, że najlepiej z nich znam (znałem?) WAFEC, postanowiłem porównać pozostałe dokumenty właśnie do niego. &lt;br /&gt;&lt;br /&gt;Dokument NSS Labs ma zaledwie 8 stron. Chociaż rozmiar czcionki mniejszy niż w WAFEC'u to nadal wiele mniej treści i konkretów.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nsslabs.com/certification/waf/nss-waf-v10-testproc.pdf"&gt;Web Application Firewall Testing Procedure (V1.0)&lt;/a&gt; składa się z kilku części:&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;The Test Environment&lt;/span&gt;, czyli opis środowiska w jakim będą przeprowadzane testy&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Section 1 - Detection Engine&lt;/span&gt;, który opisuje ataki (30 różnych) przed którymi WAF powinien potrafić obronić aplikację webową. Problem w tym, że panowie z NSS Labs używają do tego &lt;a href="http://www.owasp.org/index.php/Category:OWASP_WebGoat_Project"&gt;WebGoat&lt;/a&gt;'a, który sam w sobie nie jest zły. Istotą problemu jest prostota ataków jakie można przeprowadzić na tej platformie.&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Section 2 - Evasion&lt;/span&gt;, 9 technik obfuskacji zapisu URLa ze skanera Whisker, jak dla mnie zdecydowanie za mało. Warto odnotować, że występuje tutaj pierwsze pokrycie z fragmentem WAFECa (3.1 - &lt;a href="http://www.webappsec.org/projects/wafec/v1/wasc-wafec-v1.0.html#N10309"&gt;Normalisation techniques&lt;/a&gt;)&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Section 3 - Performance Under Load (No Security Policies Applied)&lt;/span&gt;, w tej części można być zapewnionym, że appliance (nie biorą pod uwagi rozwiązań udostępnianych jako software?) wytrzyma taki i taki ruch sieciowy, bez aktywnych polityk bezpieczeństwa&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Section 4 - Performance Under Load (Security Policies Applied)&lt;/span&gt;, bardziej szczegółowe testy niż w sekcji 3, zarówno dotyczące serwowania strony statycznej (HTML) jak i z grafiką (10 obrazków), dodatkowo maksymalna liczba równoległych  połączeń do WAFa. Występuje tutaj druga zgodność z WAFEC'iem(8.1 &lt;a href="http://www.webappsec.org/projects/wafec/v1/wasc-wafec-v1.0.html#N1060B"&gt;HTTP-level performance&lt;/a&gt;)&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Section 5 - Latency &amp; User Response Times&lt;/span&gt;, zbadanie latencji dla poszczególnych pakietów przy ruchu od 250 Mbps do 1Gbps'a (w krokach po 250 Mbps)&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Section 6 - Stability &amp; Reliability&lt;/span&gt;, całkiem ciekawa sekcja, WAF testowany jest na wypadek występowania ruchu symulującego atak i tylko atak, wywołujący alarmy i kolejne zdarzenia w logach, tak przez 8h bez przerwy. Jeżeli przez urządzenie przejdzie atak, który nie zostanie w tym okresie czasu zauważony, firewall nie zaliczy testu.&lt;br /&gt; - &lt;span style="font-style:italic;"&gt;Section 7 - Management and Configuration&lt;/span&gt;, inżynierowie z NSS Labs upewnią się czy na interfejsie do zarządzania WAFem nie nasłuchują aplikacje, na które ataki są powszechnie znane.&lt;br /&gt;&lt;br /&gt;Z jednej strony 22 stronicowy WAFEC, z drugiej dokument firmy NSS Labs. Tylko dwie zgodności względem większego z nich. Czy to źle? W mojej opinii tak. Ponieważ produkty o dość ograniczonych możliwościach mogą uzyskać certyfikat jakości, a może lepiej jak napiszę "funkcjonalności". Nie będę przekonany do żadnego rozwiązania, które posiada taki certyfikat. W takiej sytuacji trudno też oceniać WAFy, które go nie posiadają. Vendor świadomie zrezygnował z tej certyfikacji, nie zna jej (!) albo ogólnie ma to w nosie. To, że taki dokument powstał ma też swoje zalety. Postrzegam go jako uzupełnienie i postawienie wymagań co do jakości funkcjonalności danego produktu. Uzupełnienie obszernego WAFECa, który ma już dobre 3 lata. Warto o tym pamiętać.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-1660134041247447816?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/1660134041247447816/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=1660134041247447816&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1660134041247447816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/1660134041247447816'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/02/wafec-10-vs-waftp-10.html' title='WAFEC 1.0  vs. WAFTP 1.0'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-7940428004861163034</id><published>2009-02-04T07:33:00.002+01:00</published><updated>2009-02-04T07:54:18.649+01:00</updated><title type='text'>O wyborze WAFa raz jeszcze</title><content type='html'>Potrzebowałem odejść na chwilę od klawiatury, aby przypomnieć sobie o firmach zew., które badają WAFy pod kątem takich powszechnie znanych wymagań/spisów funkcjonalności. &lt;br /&gt;&lt;br /&gt;Proszę, &lt;a href="http://www.icsa.net/icsa/main.php?pid=e3d8$9aa827fd-6bc89275$b290-f890fb17"&gt;ICSA Labs&lt;/a&gt; posiada całkiem podobny dokument do WAFEC. Jak tylko nie wypadnie mi to z głowy to porównam oba dokumenty. Obiecujący jest termin ostatniej modyfikacji &lt;a href="http://www.icsa.net/icsa/docs/html/communities/Wafcriteria.pdf"&gt;dokumentu&lt;/a&gt; - 15 sierpień 2008. Co ciekawe, firma ta certyfikuje WAFy, które w 100% pokrywają wymagania jakie stawia im ekipa z ICSA Labs. Na zdrowy  rozsądek można zgadywać, że oba dokumenty (&lt;a href="http://www.icsa.net/icsa/docs/html/communities/Wafcriteria.pdf"&gt;ICSA Labs&lt;/a&gt; i &lt;a href="http://www.webappsec.org/projects/wafec/"&gt;Web Application Security Consortium&lt;/a&gt;) powinny się od siebie różnić. Jestem ciekawy co wyjdzie przy porównaniu. Warto dodać, że developerami w ICSA Labs są &lt;a href="http://www.icsa.net/icsa/consortium.php?tid=0010$8a794085-8334ea9c$9c8c-e54d5d38"&gt;vendorzy&lt;/a&gt;... Nie ma co się łamać, trzeba podejść do tematu z dużą dozą zdrowego rozsądku.&lt;br /&gt;&lt;br /&gt;Inna firmą, która także certyfikuje rozwiązania bezpieczeństwa jest NSS Labs. To już prawie temat na prace dyplomową albo magisterską ;-) Porównać wszystkie trzy metody oceny Web Application Firewall. Dokument firmy NSS Labs pochodzi z 2006 roku co bardzo przybliża go do daty wydania WAFECa. Mam nadzieję, że obietnice wydania &lt;a href="http://nsslabs.com/certification-criteria/web-application-firewall.html"&gt;nowszej wersji&lt;/a&gt; w końcu się ziszczą.&lt;br /&gt;&lt;br /&gt;PS&lt;br /&gt;Na śmierć zapomniałem o site'ie, gdzie definicje napisane są jakby na moje potrzeby ;) &lt;a href="http://www.cgisecurity.com/questions/webappfirewall.shtml"&gt;Tutaj&lt;/a&gt; znajduje się definicja Web Application Firewall, która może przemówić do człowieka i nie wciskać mu kitu. Nie jest tak metaforyczna jak moja z &lt;a href="http://blog.codeninja.pl/2009/02/stary-wafec-dobry-jest.html"&gt;poprzedniego posta&lt;/a&gt; (;-)), ale zawiera to co powinna.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-7940428004861163034?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/7940428004861163034/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=7940428004861163034&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7940428004861163034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/7940428004861163034'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/02/o-wyborze-wafa-raz-jeszcze.html' title='O wyborze WAFa raz jeszcze'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-3042311070930104888</id><published>2009-02-03T22:48:00.002+01:00</published><updated>2009-02-03T23:40:39.686+01:00</updated><title type='text'>(stary) WAFEC dobry jest</title><content type='html'>Życie to nie bajka, a wybór WAF'a (&lt;span style="font-style:italic;"&gt;&lt;a href="http://www.owasp.org/index.php/Web_Application_Firewall"&gt;Web Application Firewall&lt;/a&gt;&lt;/span&gt;) to dopiero przygoda...&lt;br /&gt;&lt;br /&gt;Zaczynając od początku: Czym jest WAF? Jest to &lt;a href="http://en.wikipedia.org/wiki/Application_firewall"&gt;firewall z rodziny aplikacyjnych&lt;/a&gt;, który powinien doskonale znać, rozumieć i potrafić robić "&lt;span style="font-style:italic;"&gt;cuda na kiju&lt;/span&gt;" na poziomie protokołów wykorzystywanych przez aplikacje webowe. Chociaż od kilku lat interesuje się tego rodzaju rozwiązaniami, nie znalazłem prostej definicji, która w 3-4 zdaniu opisu nie mówi, że jest to "&lt;span style="font-style:italic;"&gt;pudełko&lt;/span&gt;" do ochrony przed XSS'ami i SQL Injection. FAIL! Rozwiązanie tego rodzaju może służyć do ochrony przed takimi atakami, ale tylko wtedy gdy się o to dobrze zadba. Podejrzewam, że jeżeli taki opis przeczyta 10 menadżerów, którzy są po prezentacji jednego lub kilku vendorów, to więcej niż połowa z nich zacznie dumać co kupili albo co chcieli kupić... skoro WAFy wprost nie blokują jednych z najpopularniejszych ataków na aplikacje webowe.&lt;br /&gt;&lt;br /&gt;Zanim podejmie się decyzje o zakupie WAF'a polecam zapoznanie się z następującym projektem: &lt;a href="http://www.webappsec.org/projects/wafec/"&gt;Web Application Firewall Evaluation Criteria&lt;/a&gt;. Dzięki dokumentowi, który jest owocem tego projektu, można poznać nasze własne oczekiwania co do takiego rozwiązania jak WAF. Może to dziwnie zabrzmieć, ale ile cech takiego firewalla można wymienić &lt;span style="font-style:italic;"&gt;ad hoc&lt;/span&gt;? A ile zastanawiając się 2h? Ponieważ WAFEC pozwala w sposób obiektywny ocenić jakie możliwości ma dany Web Application Firewall to moim skromnym zdaniem nie wykorzystanie tego dokumentu jest błędem. Na jego podstawie można nakreślić obraz "&lt;span style="font-style:italic;"&gt;idealnego&lt;/span&gt;" WAFa do naszych potrzeb i pod tym kątem odpowiadać na pytanie: czy WAF X będzie spełniał nasze oczekiwania? a może Y?&lt;br /&gt;&lt;br /&gt;Dostawcy takich rozwiązań bardzo często tworzą tabelki, w których porównują swoje produkty z innymi. Pokazują je podczas prezentacji dla potencjalnych klientów. Rzadko kiedy przedstawiają informacje o wersjach produktów, warunkach w jakich były prowadzone testy czy o innych szczegółach. WAFEC zapewnia obiektywną ocenę rozwiązań. 0 ściemy.&lt;br /&gt;&lt;br /&gt;To co może razić to czas kiedy ostatnia wersja WAFECa ujrzała światło dzienne - styczeń 2006 roku. Od tego czasu "&lt;span style="font-style:italic;"&gt;trochę&lt;/span&gt;" się zmieniło. Nie zmienia to faktu, że nie znam lepszego źródła wiedzy o funkcjonalnościach jakie mogą posiadać WAF'y. Już w zeszłym roku czytałem o pracach nad wersją 2.0, mam nadzieję, że wkrótce zostaną ukończone i będziemy się cieszyć z jeszcze lepszego dokumentu, który pozwoli nam dokonywać lepszych wyborów.&lt;br /&gt;&lt;br /&gt;Uwaga. Można by pomyśleć, że chcąc wybrać odpowiednie rozwiązanie należy chwycić w ręce WAFEC, danego WAFa i pozakreślać funkcjonalności w nim dostępne. Powtarzać proces aż do przetestowania wszystkich dostępnych rozwiązań i wybrać mający największą ilość funkcjonalności. Nie. Szkoda czasu - którego nigdy nie mamy, pieniędzy - czasu ;-), zachodu - chyba, że założymy taką firmę (!!!).&lt;br /&gt;&lt;br /&gt;Moja propozycja jest taka:&lt;br /&gt;1. Na podstawie WAFEC i własnych analiz (nie popadajmy w skrajność kiedy patrzymy tylko i na WAFEC!) tworzymy listę wymagań co do rozwiązania.&lt;br /&gt;2. Przeprowadzamy testy WAFa pod kątem zgodności z wymaganiami - 1.&lt;br /&gt;3. Powtarzamy czynność 2. aż nie skończą się nam WAFy.&lt;br /&gt;4. Tworzymy ranking WAFów i biorąc pod uwagę budżet potrzebny do zakup, wdrożenie, utrzymania rozwiązania w stosunku do posiadanych środków wybieramy jedno lub więcej z nich.&lt;br /&gt;&lt;br /&gt;Ewentualnie drogą analizy ryzyka lub widzimisię nie decydujemy się na WAFa.&lt;br /&gt;&lt;br /&gt;Całą lub część takiej analizy można zlecić firmie zew., szczególnie kiedy koszty wynajęcia firmy będą niższe niż zrobienie tego w ramach własnych zasobów. Wtedy zawsze możemy porozmawiać.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-3042311070930104888?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/3042311070930104888/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=3042311070930104888&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3042311070930104888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/3042311070930104888'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/02/stary-wafec-dobry-jest.html' title='(stary) WAFEC dobry jest'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-4689181969673710467</id><published>2009-02-01T17:36:00.002+01:00</published><updated>2009-02-01T17:42:32.155+01:00</updated><title type='text'>Luty 2k9</title><content type='html'>Niespodziewanie nadszedł luty.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Nyy8yPBnaow/SYXP899R00I/AAAAAAAADBI/mnclmui1QXY/s1600-h/Snort_calendar_2k9+-+february.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_Nyy8yPBnaow/SYXP899R00I/AAAAAAAADBI/mnclmui1QXY/s320/Snort_calendar_2k9+-+february.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5297869183001940802" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Miesiąc badań i rozważań na temat WAFów. Start.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-4689181969673710467?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/4689181969673710467/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=4689181969673710467&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4689181969673710467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/4689181969673710467'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/02/luty-2k9.html' title='Luty 2k9'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Nyy8yPBnaow/SYXP899R00I/AAAAAAAADBI/mnclmui1QXY/s72-c/Snort_calendar_2k9+-+february.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3085327742962068300.post-904884011439461083</id><published>2009-01-25T19:30:00.005+01:00</published><updated>2009-01-25T19:47:56.747+01:00</updated><title type='text'>Nowy... 2k9</title><content type='html'>Nowy rok, nowe obietnice, nowe możliwości... a dla mnie nowy jest kalendarz. Rasowy ziom &lt;span style="font-style:italic;"&gt;tubek&lt;/span&gt; przywiózł mi go z USA. Szczególnie wielkie dzięki za to, że nie musiałem ponosić dodatkowych kosztów przesyłki, które wynosiły &gt; 100 USD. Rura piwa dla Ciebie tox! Kalendarz prezentuje się następująco:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Nyy8yPBnaow/SXyxJpbiQhI/AAAAAAAADAw/4ueD6_AGFqo/s1600-h/Snor_calendar_2k9+Cover.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_Nyy8yPBnaow/SXyxJpbiQhI/AAAAAAAADAw/4ueD6_AGFqo/s400/Snor_calendar_2k9+Cover.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5295302041179144722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Fajnieszy jest natomiast "&lt;span style="font-style:italic;"&gt;January&lt;/span&gt;":&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Nyy8yPBnaow/SXyx7dIwZzI/AAAAAAAADA4/lwmNXCENhWY/s1600-h/Snort_calendar_2k9+00.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://4.bp.blogspot.com/_Nyy8yPBnaow/SXyx7dIwZzI/AAAAAAAADA4/lwmNXCENhWY/s400/Snort_calendar_2k9+00.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5295302896872613682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Przepraszam, miał być cały ;-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Nyy8yPBnaow/SXyyNKK7WxI/AAAAAAAADBA/LkO7fRHWiqo/s1600-h/Snort_calendar_2k9+01.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://2.bp.blogspot.com/_Nyy8yPBnaow/SXyyNKK7WxI/AAAAAAAADBA/LkO7fRHWiqo/s400/Snort_calendar_2k9+01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5295303201019091730" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Teraz mam powód by napisać jeszcze 11 notek w tym roku.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3085327742962068300-904884011439461083?l=pskowron.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pskowron.blogspot.com/feeds/904884011439461083/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3085327742962068300&amp;postID=904884011439461083&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/904884011439461083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3085327742962068300/posts/default/904884011439461083'/><link rel='alternate' type='text/html' href='http://pskowron.blogspot.com/2009/01/nowy-2k9.html' title='Nowy... 2k9'/><author><name>Przemyslaw Skowron</name><uri>http://www.blogger.com/profile/16275824104077294063</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://1.bp.blogspot.com/_Nyy8yPBnaow/SSmzpfugh0I/AAAAAAAAC74/gjXwLazCpOc/s1600-R/rez.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Nyy8yPBnaow/SXyxJpbiQhI/AAAAAAAADAw/4ueD6_AGFqo/s72-c/Snor_calendar_2k9+Cover.JPG' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
