Az alkalmazásfejlesztők számára a biztonság egy olyan fogalom, amely egy teljesen különálló részleg vagy csapat feladata, akik azt a hálátlan feladatot végzik, hogy az elkészült kódot sorról sorra átvizsgálják és megállapítják, hogy van-e benne valamilyen biztonsági rés, vagy akár teljes egészében használhatatlan ebből a szempontból. Szóval a biztonsági csapatok sokszor az idegesítő okoskodók szerepébe kerülnek, akikből csak annyi látszik, hogy szétcincálják mások munkáját, gátolják az innovációt és úgy egyáltalán, megnehezítik a fejlesztők életét.
Nézzük mindezt egy valós példán keresztül:
- Adott egy fejlesztő, aki boldogan kódol a saját kis egységében.
- Mikor kész van, egy kódmenedzsment eszköz, például a GitHub segítségével továbbítja a megfelelő helyre.
- A kódmenedzsment eszközben kiadnak egy pull requestet.
- Az ellenőrzők átnézik a kódot és szükség esetén jelzik az észrevételeiket.
- A fejlesztő elvégzi a kért változtatásokat, majd a kész kód bekerül a master branchbe.
- A fejlesztő ezután boldogan vált a következő feladatára, de egyszer csak bumm, jön egy jelzés a biztonsági csapattól, hogy hibát találtak abban a kódban, amit közben már beépítettek.
- Ezek után a fejlesztőnek mindent eldobva újra elő kell szednie a megfelelő kódrészletet és kijavítani, miközben már azt hitte, hogy ezzel nem kell többé foglalkoznia.
Szóval ebből látható, miért tartják az alkalmazásfejlesztők a biztonság szót a legsúlyosabb káromkodások között - de ennek nem kell így lennie.
Képzeljünk el egy olyan világot, ahol a biztonságmár alapszinten beépül a fejlesztői folyamatokba és környezetekbe. Egy olyan környezetet, ahol a kód leadása utáni pull request során nem csak a funkcionalitással kapcsolatban érkeznek megjegyzések és változtatási kérelmek, de egyben a biztonsággal kapcsolatban is. Ezáltal a fejlesztők egyetlen körben elvégezhetik minden szempontból a javításokat, amíg még minden friss a fejükben, a visszajelzések pedig nem válnak sok egymás utáni körré. Szerencsére van már ilyen megoldás!
A modern alkalmazás-biztonsági teszt (AST) megoldások, amelyek beépülnek a DevOps környezetekbe, forradalmasítják a biztonsági funkciók használatát a fejlesztés során. Azzal, hogy a biztonság a komplett fejlesztési életciklus részévé válik, de közben nem teszi tönkre a fejlesztők munkáját és életét, valamint nem ad újabb és újabb feleslegesnek tűnő köröket a kódolás folyamatához, teljesen megváltoztatja a biztonság szó csengését még a legmorcosabb fejlesztő számára is.