W jaki sposób duża firma popełnia błędy debiutanckie, które pozostawiają dziury w bezpieczeństwie? [Zamknięte]

15

Sony zostało ostatnio zhakowane za pomocą zastrzyku SQL, a hasła ich użytkowników były przechowywane jako zwykły tekst. To są błędy debiutantów. W takiej dużej firmie, jak to przechodzi QA? Jak nie mają lepszych zespołów niż wiedzieć lepiej niż to?

Sama wielkość firmy, która została zaatakowana przez hakerów, czyni to inaczej. Wpływa to na nas wszystkich, ponieważ któregoś dnia możemy znaleźć się w zespole odpowiedzialnym za coś takiego, a potem dostajemy siekierę. Jakie są zatem przyczyny tego zjawiska i jak im zapobiegamy?

Richard
źródło
To pytanie nie zawiera konstruktywnych odpowiedzi opartych na faktach i referencjach: jest to lista różnych spekulacji na temat tego, jak kiepska jest firma Sony. Zobacz pokrewny pasek pytań, aby uzyskać kilka pytań na temat kroków związanych z zastrzykami SQL, kontrolą jakości i bezpieczeństwem. (Przepraszamy za wyczyszczenie liczenia głosów zamkniętych: były 3 „mało konstruktywne” głosy zamknięcia, gdy przypadkowo je zamknąłem z niewłaściwego powodu)
Komentatorzy: komentarze mają na celu poszukiwanie wyjaśnień, a nie dłuższą dyskusję. Jeśli chcesz omówić to pytanie z innymi, skorzystaj z czatu . Aby uzyskać więcej informacji, zobacz często zadawane pytania .
4
@Mark Odd, uzyskał szalenie konstruktywne odpowiedzi, które prawdopodobnie są bardzo zbliżone do znaku. To powiedziawszy, lepszym pytaniem byłoby: „dlaczego nie istnieje ustawodawstwo karające takie lekkomyślne zachowanie w tak dużej korporacji?”
Konrad Rudolph
3
Dziwne, że to pytanie zostało ponownie zamknięte. Drakoński. Jeszcze raz.
Richard

Odpowiedzi:

24

Pierwszą rzeczą, jaka przychodzi mi na myśl, jest to, że są wystarczająco duże, aby wyhodować kilka warstw biurokracji. Oznacza to, między innymi, że nie masz już naprawdę inteligentnych programistów odpowiedzialnych za proces rekrutacji, co oznacza, że ​​tracą oni zdolność do eliminacji potencjalnych programistów i niekompetentnych pracowników QA. Co prowadzi do pisania złego kodu i wprowadzania go do produkcji, a wszyscy wiemy, co będzie dalej ...

Mason Wheeler
źródło
3
Myślę, że z biurokracją trafiłeś w sedno, ale wynikają z tego również inne problemy. Jeśli masz sprytnego programistę, który dostrzega znaczący problem, działanie Boga wymaga zatwierdzenia pracy nad poprawką, przetestowania jej i przeniesienia do produkcji. Wystarczy, że jedna osoba w biurokracji pomyśli, że ryzyko wprowadzenia zmiany (opóźnienia w innych projektach, błędy produkcyjne itp.) Przeważa nad ryzykiem nie dokonania zmiany (kto mógłby zhakować tak dużą firmę?).
Mayo
18

Ponieważ programiści nie zostali poproszeni o przetestowanie tego, a miażdżąca kultura korporacyjna nie dała im wystarczającej swobody, by mogli poczuć etykę zawodową i poprosić o kolejne kilka tygodni na sprawdzenie podatności na zagrożenia. Lub nalegać, aby były bezpieczne od samego początku.

Ponieważ szef nie chciał spędzić kilku dodatkowych tygodni na testowaniu problemów bezpieczeństwa z ... jakiegokolwiek powodu. Dodatkowy bonus na koniec roku. Pojawienie się Johnsona z następnego działu. Prawa do przechwalania się. Obowiązek wobec firmy. Lenistwo. Nieufność do rady podwładnego.

Ponieważ wielki szef zażądał większych zysków i wypromował Johnsona nad Bobem, ponieważ jego liczba wyglądała lepiej niż żądanie lepszego produktu. Ponieważ jakość i bezpieczeństwo to trudne wartości do wyświetlenia w arkuszu kalkulacyjnym. Ponieważ korporacje istnieją, aby zarabiać pieniądze.

Takie rzeczy to systematyczny problem. Sprowadza się to do „bo są głupcami”.

Edytuj Programiści mogą uniknąć bycia ofiarną kozą, zauważając brak, zwracając się do swojego szefa. Albo zrobi właściwą rzecz i przygotuje plan, aby to naprawić, albo powie ci, żebyś to zignorował. Jeśli nie naprawi tego, zrób to oficjalnie, zapytaj o to e-mailem. W tym przypadku użyj słów kluczowych związanych z problemem, takich jak „podatność”, „zastrzyk”, „naruszenie bezpieczeństwa”. Rzeczy, które wyszukiwałby e-mail.

To przechodzi dolara. Teraz to odpowiedzialność twoich szefów. Jeśli jest to ważne, tak jak ludzie umrą, gdy to się nie powiedzie, przejdź nad głową i porozmawiaj z szefem. Możesz zostać zwolniony za samo przekazanie złotówki, i nadal możesz zostać zwolniony, nawet jeśli go przekażesz, ale jest to właściwe. Nie do końca tak poprawne, jak rozwiązanie problemu, ale blisko.

Philip
źródło
3
Mój głos na Ciebie jako CEO firmy !!!
Wajih
3
@Cheshire To nie było „zdrowy rozsądek”, kiedy to zrobiono po raz pierwszy. Ludzie nie są z natury nastawieni na bezpieczeństwo; muszą się uczyć i stale przypominać sobie, że istnieją szarpnięcia, które istnieją tylko po to, by zdobyć twoje dane.
Michael Todd
3
@Michael Todd: Ale to już nie jest 1996 rok. Jest to teraz zdrowy rozsądek i nie ma na to usprawiedliwienia.
Richard
1
@Cheshire uzgodnione. A rozwój z myślą o bezpieczeństwie jest znacznie lepszy niż testowanie go później.
Philip
1
@Richard DesLonde: Gdyby to był zdrowy rozsądek, wydaje mi się, że mniej osób mówi, aby zrobić to dobrze.
David Thornley,
12

Im większa korporacja, tym bardziej osoby podejmujące decyzje są odpowiedzialne za rzeczywiste obowiązki.

Wiedząc, jak działają korporacje, projekt strony został prawdopodobnie zlecony jakiejś firmie konsultingowej wybranej na podstawie najniższej ceny za programistę. Ta firma z kolei zatrudniłaby grupę losowych ludzi na podobnych kryteriach, przy czym przeciętna osoba pozostała przy projekcie nie dłużej niż 3 miesiące, zanim zostanie przeniesiona na coś innego.

vartec
źródło
4
+1 za outsourcing. Nie myślałem o tym. Podczas offshore programiści opracowują dokładnie to , co podałeś, bez zadawania pytań, więc być może bezpieczeństwo nie było w specyfikacji.
Richard
1
@Richard DesLonde: Widzę, że jesteś optymistą.
David Thornley,
@David Thornley: Nie, właśnie przeżyłem. :-)
richard
2
@Richard DesLonde: A wszystkie twoje offshoredowe projekty robią wszystko, co mówi specyfikacja? Nie jest zły.
David Thornley,
1
@David Thornley: LOL Absolutnie nie. To nie była część, którą podkreślałem. Masz zdecydowanie rację, to było trochę zbyt optymistyczne. :-)
Richard
4

Jak ktoś popełnia błędy? Przez lenistwo, brak wiedzy, brak wiedzy specjalistycznej, praktyczność, brak procesu itp. Jak zapobiegamy błędom? Dzięki staranności, doświadczeniu, zabezpieczeniom itp. Ta sytuacja nie różni się kategorycznie od tysięcy małych błędów popełnianych przez każdego programistę; ma tylko inną skalę.

Czego możemy się z tego nauczyć? Niewiele.

Rein Henrichs
źródło
Myślę, że jest inaczej. Sony zarabia miliardy dolarów, a mimo to nie może zdobyć tych podstawowych rzeczy, prawda? Jest w tym coś poważnego. I to nie tylko Sony. Wiele dużych firm zostało ostatnio zhakowanych przez wstrzyknięcie SQL.
Richard
1
Nie, to naprawdę nie jest inaczej. Decyzje podejmowane są przez ludzi, a nie przez firmy.
Rein Henrichs
@Richard: Zawsze mieli złe wyniki w zakresie bezpieczeństwa. To ta sama firma, która wynalazła rootkita Sony, pamiętasz?
Mason Wheeler
2

Jednym z możliwych wyjaśnień jest przekrzywiona lista priorytetów. Wiele firm, z którymi współpracowałem, przywiązywało większą wagę do wprowadzania produktu na rynek niż do jakości produktu / kodu, który produkowały. Ten efekt jest podwojony, ponieważ nie tylko programiści są pospieszni do ukończenia, ale także dział QA (jeśli nawet mają). Zauważyłem również, że takie podejście zbiega się z przejściem do następnego produktu przed ukończeniem wcześniejszego, co jeszcze bardziej pogłębia problem.

Wspólnym mianownikiem w każdej z tych spółek było nietechniczne zarządzanie. Menedżerowie projektów, menedżerowie IT i menedżerowie produktu, w zasadzie każdy, kto ma wpływ na to, nad czym pracuje zespół programistów, są nietechniczni i nie rozumieją znaczenia tworzenia wysokiej jakości, bezpiecznego kodu. To jest coś, czego szukam podczas rozmowy z firmami. Kto sprawuje władzę nad azylem, więźniami lub lekarzami?

Nie zdziwiłbym się, gdyby coś podobnego, pogłębionego biurokracją, przyczyniło się do problemów bezpieczeństwa Sony i innych firm.

Jack M.
źródło
0

Ludzie pracują w dużych firmach, a ludzie popełniają błędy, wynikające z ignorancji, lenistwa, złych procedur, złej dokumentacji itp. Wielkość firmy wpłynie tylko na błędy, ponieważ może być ich więcej.

Marcelo
źródło