Czy są najlepsze praktyki do testowania bezpieczeństwa w sklepie Agile rozwoju?

głosy
9

Odnośnie rozwoju Agile, jakie są najlepsze praktyki do testowania bezpieczeństwa na wydaniu?

Jeśli jest to miesięczny uwalnianiu, są tam sklepy robią PEN-testy co miesiąc?

Utwórz 05/08/2008 o 16:05
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
2

Co znajduje się w domenie aplikacji? To zależy.

Ponieważ użył słowa „agile”, zgaduję, że jest to aplikacja internetowa. Mam ładne łatwą odpowiedź dla Ciebie.

Idź kupić kopię Burp Suite (jest to nr 1 Google wynik dla „czkawka” --- pewny zatwierdzania!); będzie cię to kosztować 99EU, lub ~ $ 180USD lub $ 98 dolarów, jeśli Obama czekać aż do listopada.

Czkawka pracuje jako serwer proxy. Podczas przeglądania aplikacji internetowych przy użyciu przeglądarki Firefox lub IE lub cokolwiek, i zbiera wszystkie ciosy wygenerować. Te trafienia znudzisz się do obiektu o nazwie „Intruz”, który jest fuzzer internetowej. Intruz będzie dowiedzieć się, wszystkie parametry, które zapewniają każdemu z firmy zajmujące się obsługą zapytań. Będzie on następnie spróbuj szalone wartości dla każdego parametru, w tym SQL, plików i metaznakami HTML. Na typowym złożona forma postu, to będzie generować około 1500 trafień, które będziesz wyglądać poprzez zidentyfikowanie przerażające --- lub, co ważniejsze w Agile kontekście nowych --- odpowiedzi błędach.

Fuzzing każdy obsługi zapytań w aplikacji internetowej w każdej iteracji uwalnianiu jest # 1, co można zrobić, aby poprawić bezpieczeństwo aplikacji bez wszczynania formalnego „SDLC” i dodając zatrudnienie. Poza tym, opisz swój kod na głównych web app bezpieczeństwa hot spotów:

  • Używaj tylko parametryzowane przygotowanych SQL; nie zawsze po prostu łączenia ciągów i karmić je do rączki bazy danych.

  • Odfiltrować wszystkie wejścia do białej listy znanych dobrych znaków (alnum, Basic interpunkcyjnych) oraz, co ważniejsze, filtrowanie danych wyjściowych z wyników zapytań do „zneutralizować” metaznaki HTML do podmiotów html (quot, lt, gt, itp.)

  • Używać długich losowych trudnych do odgadnięcia identyfikatorów gdziekolwiek jesteś obecnie za pomocą prostych całkowite identyfikatory wierszy w parametrach kwerendy, i upewnij się użytkownika X nie może zobaczyć dane użytkownika y tuż zgadując te identyfikatory.

  • Przetestować każdą obsługi zapytań w aplikacji, aby upewnić się, że działają one tylko wtedy, gdy ważne, zalogowanego sesji cookies są prezentowane.

  • Włącz ochronę XSRF w stosie internetowej, która będzie generować ukrytym formularzu tokenów parametrów na wszystkich świadczonych formach, aby uniemożliwić napastnikowi od stworzenia złośliwych linków, które złożą formularze do niczego nie podejrzewających użytkowników.

  • Użyj bcrypt --- --- i nic innego do przechowywania haseł mieszany.

Odpowiedział 10/09/2008 o 22:19
źródło użytkownik

głosy
1

Testów jednostkowych , Programowanie obrony i wiele dzienników

Testów jednostkowych

Upewnij się, że test, który jednostkową tak wcześnie, jak to możliwe (na przykład hasło powinno być szyfrowane przed wysłaniem, tunel SSL działa, itp). To byłoby zapobiec przypadkowemu programistów czyni program niepewna.

Programowanie obrony

Ja osobiście nazywają to Paranoid Programowanie ale Wikipedia nie jest źle ( sarkazm ). Zasadniczo, można dodać testy do funkcji, która sprawdza wszystkie wejścia:

  • Jest cookie użytkownika jest ważne?
  • jest on nadal aktualnie zalogowany?
  • są parametry funkcji jest chroniony przed SQL injection? (Nawet jeśli wiesz, że dane wejściowe są generowane przez własne funkcje, można sprawdzić w każdym razie)

Wycięcie lasu

Zaloguj wszystko jak szalony. Jej łatwiej usunąć dzienniki następnie je dodać. Użytkownik nie zalogowany? Zaloguj się. Użytkownik znaleziono 404? Zaloguj się. Administrator edytowany / usunięty post? Zaloguj się. Ktoś był w stanie uzyskać dostęp do ograniczonego stronę? Zaloguj się.

Nie zdziw się, jeśli plik dziennika osiągnie 15+ Mb podczas fazy rozwojowej. Podczas beta, można zdecydować, który loguje się do usunięcia. Jeśli chcesz, możesz dodać flagę aby zdecydować, kiedy pewne zdarzenie jest rejestrowane.

Odpowiedział 18/08/2008 o 03:40
źródło użytkownik

głosy
1

Nie jestem ekspertem w dziedzinie bezpieczeństwa, ale myślę, że najważniejszy fakt powinien być świadomy, zanim testowania bezpieczeństwa, jest to, co staramy się chronić. Tylko wtedy, gdy wiesz, co starają się chronić, można zrobić właściwej analizy swoich środków bezpieczeństwa i dopiero wtedy można rozpocząć testowanie tych realizowanych działań.

Bardzo abstrakcyjne, wiem. Jednak myślę, że powinno być pierwszym krokiem każdego audytu bezpieczeństwa.

Odpowiedział 05/08/2008 o 18:50
źródło użytkownik

głosy
1

Nie jestem ekspertem w dziedzinie rozwoju Agile, ale mogę sobie wyobrazić, że integracja podstawowe zautomatyzowane oprogramowanie pen-test w cyklu kompilacji byłby dobry początek. Widziałem kilka pakietów oprogramowania, które obecnie nie zrobi podstawowe badania i są dobrze nadaje się do automatyzacji.

Odpowiedział 05/08/2008 o 18:19
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more