Care este procesul de creare a unei bare de erori?

În compania mea, lucrăm la adoptarea ciclului de viață Microsoft Secure Development, iar o parte din procesul MSDL implică stabilirea de bare de securitate și confidențialitate la început unui proiect. Am auzit conceptul de bară de erori înainte de MSDL și înțeleg că este în esență o definiție a nivelului / cantității de erori pe care sunteți dispus să le acceptați într-un produs final, dar am nu am înțeles niciodată cum să creez o bară de erori pentru un proiect. Există procese bine documentate de stabilire a barelor de erori de la care să învăț?

Am încercat să fac câteva Google pentru exemple sau scenarii reale de proiecte definirea barelor de erori la începutul unui proiect, dar nu pot obține rezultate bune sau sfaturi cu privire la procesul de stabilire a unei bare de erori. Există exemple MSDL a ceea ce pare a fi completat cu bare de erori, dar sunt interesat să aflu despre procesul de definire a așa ceva. De exemplu, pentru cei care au mai făcut așa ceva, ați definit barele de erori într-un mod foarte specific (de exemplu, spunând " Nu va exista acces neautorizat la sistemul de fișiere: citirea din sistem de fișiere ") sau ați adoptat o abordare amânată de a spune când găsim erori, le vom evalua pe o scară de la 1 la 5 (5 fiind cea mai severă), stabiliți acum că nu vor fi expediate bug-uri de peste 3 și să părăsească clasamentul bug-urilor până când nu vor fi descoperite? Simt că încercarea de a face prima este o activitate nebună și imposibilă, dar cea mai târzie este predispusă la tendințe de clemență atunci când un proiect se apropie de fir.

Din nou, pentru a încheia toate acestea într-o întrebare succintă, poate cineva să-mi ofere o abordare bine documentată pentru definirea / crearea barelor de erori?

Răspuns

Let ” Începeți cu o definiție de bază pentru bara de erori:

Porțile de calitate și barele de erori sunt utilizate pentru a stabili niveluri minime acceptabile de securitate și calitate a confidențialității. O echipă de proiect trebuie să negocieze porțile de calitate (de exemplu, toate avertismentele compilatorului trebuie triate și fixate înainte de check-in-ul codului) pentru fiecare fază de dezvoltare. O bară de erori este o poartă de calitate care este utilizată pentru a defini pragurile de severitate ale vulnerabilităților de securitate – de exemplu, nu există vulnerabilități cunoscute în aplicație cu o evaluare „critică” sau „importantă” în momentul lansării. Bara de erori, odată setată, nu trebuie relaxată niciodată.

Atunci când un utilizator de software înregistrează un raport de eroare, acesta trebuie să atribuie o categorie STRIDE bug-ului, indiferent dacă bug-ul este client sau server, și ce domeniu afectează bug-ul. Utilizatorii pot fi dezvoltatori de software și personal QA. STRIDE înseamnă:

  • Spoofing
  • Manipularea
  • Repudierea
  • Divulgarea informațiilor
  • Refuzarea serviciului (DoS)
  • Elevation of Privilege (EoP)

Valorile „domeniului” relevante sunt

  • Client – UI de încredere falsificat în scenariu comun / implicit
  • Client – UI de încredere falsificat în alt scenariu specific
  • Client – UI falsificat ca parte a unui scenariu de atac mai mare
  • Server – Utilizator specific falsificat sau computer prin protocol securizat
  • Server – utilizator aleatoriu falsificat sau computer prin protocol securizat
  • Client – date de încredere modificate care persistă după repornire
  • Client – date modificate care nu persistă după repornire

De acolo, se creează o matrice care atribuie un nivel de severitate fiecărei combinații. Valorile posibile pentru nivelul de severitate sunt:

  1. Critice
  2. Important
  3. Moderat
  4. Scăzut
  5. Niciuna

Exemplu de intrare în matrice (pot exista mai multe astfel de intrări):

STRIDE Categorie: Spoofing
Domeniu de aplicare: Client – UI de încredere falsificat în scenariul comun / implicit

Descriere: Posibilitatea de a prezenta atacatorul o IU diferită de dar vizual identică cu UI pe care utilizatorii trebuie să se bazeze pentru a lua decizii de încredere valabile într-un scenariu implicit / comun. O decizie de încredere este definită ca de fiecare dată când utilizatorul ia o acțiune considerând că anumite informații sunt prezentate de o anumită entitate – fie sistemul, fie o anumită sursă locală sau la distanță.

Nivel de severitate: Important

Microsoft susține că remediază toate erorile care sunt mai mari decât importanța „scăzută” înainte de implementare.

Lecturi suplimentare
Adăugați o bară de erori de securitate la Microsoft Team Foundation Server 2010
Noul SDLC: ciclul de viață al dezvoltării securității

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *