Teljesen maskepp kell egy fejlesztonek, egy tesztelonek, es uzemeltetonek, es egy white hat/black hat hackernek (ebben az ertelemben hasznalva) ertenie a "szamitogepes biztonsaghoz". A fejlesztonek nem szabad bugot betenni a kodba, vagy ha mar elkerulhetetlen, akkor minel kevesebbet - es lehetoleg nem sulyosat, plane nem tavolrol is kihasznalhatot (mondjuk az instabilitast okozo bugok sem kellemesek, meg ami adatvesztest okoz, az sem..). Egy tesztelonek ezt eszre kell vennie, vagy hasznalnia/keszitenie kell olyan toolt, ami eszreveszi ezeket (pl. majom, valgrind, coverity). Az uzemelteto az, aki a tuzfallal bohockodik, IDS-t telepit, figyel a frissitesekre, a hacker (megintcsak a koznyelvi ertelemben veve) meg megprobalja megtalalni ami ezutan bennmaradt, es vagy dokumentalja vagy kihasznalja kalapszin fuggvenyeben.
Fejlesztokent - nyelvtol es kornyezettol fuggoen - pl. ha tudja, hogy miert gaz ha tulcimez egy tombon, vagy ha tudja, hogy az XSS elkerulesehez mit kell betartania, az - nehany hasonlo tarsaval egyutt - mar eleg. Nem kell hozza tuzfalat konfigolni vagy ARM asm-ben shellcode-ot irni. Ez nyilvan nyelvfuggo, mert van olyan nyelv, amiben nem fogsz tulcimezni, illetve ha nem webre fejlesztesz, XSS-rol sem beszelhetunk. Ha nem hasznalsz DB-t, SQL injectionnel sem tudnak tamadni, de ha hasznalsz, akkor is eleg, ha betartasz par szabalyt (vagy jol valasztasz hozza libet).
Jo, most kicsit leegyszerusitettem a dolgot, de kb. errol van szo. Ja, es a szerepek nincsenek ennyire elkulonitve: pl. fejleszto is irhat automata teszteseteket, az uzemelteto-fejleszto lehet ugyanaz (devops), es a hacker is ir programokat.
--
A strange game. The only winning move is not to play. How about a nice game of chess? - Wargames