Jump to content
Nytro

IT Security level

Recommended Posts

Poate o sa para ciudat, dar am facut aceasta lista pentru ca asa am gandit ca evolueaza lucrurile.

Am luat in pasi marunti lucrurile, de la folosirea unor programe pentru a face diverse rahaturi, la invatarea unor limbaje simple ca HTML, evolutia la niste limbaje pe parte de server (PHP) si comunicatia cu bazele de date (MySQL). Ei bine, numai dupa invatarea acestor lucruri poate sa inteleaga cineva ce e ala XSS si SQLI, dar exista multe persoane care citesc doua tutoriale de 2 lei si considera ca "stiu" aceste notiuni.

Am incadrat apoi doua limbaje (mai des folosite) pentru programare aplicatiilor Desktop. Consider ca nivelul acestora si cunostintele necesare sunt mai ridicate decat pentru un limbaj pe parte de server, deosebirea principala fiind aceea ca pe parte de server limbajele sunt de scripting (interpretate) iar pe Desktop sunt limbaje de programare (compilate). In general.

Trecem apoi la partea de retele incepand cu HTTP, notiune pe care ar trebui sa o cunoasca toata lumea, apoi la lucruri mai avansate: TCP/IP dar la nivel de protocoale: header TCP si header IP, realizarea in 3-4 pasi (SYN...) a unei conexiuni TCP etc. Sunt destul de putine persoane care se intereseaza de astfel de noituni care devin uneori complicate, de aceea le-am plasat atat de jos.

Trecem si la sisteme de operare. Desi pentru Windows-ul nu e neaparat asa simplu cum pare, e o trecere destul de dificila de la Windows la Linux pentru ca sunt pur si simplu diferite. Exista insa doua tipuri de oameni: aia cu Ubuntu (majoritatea fiind ca "aia cu Windows") - adica persoane care nu stiu sa dea 2-3 comenzi in terminat, doar un sudo apt-get install, si cealalta categorie care stie sa instaleze un program din surse, sa configureze un server si sa opreasca niste servicii. Mai sunt apoi persoanele care stiu sa scrie un script in bash, sa faca un grep, un sed sau un script awk.

Notiunea "Penetration testing" am pus-o in mod deliberat dupa toate aceste notiuni deoarece consider ca un penetration tester trebuie sa cunoasca TOATE aceste notiuni. Spun asta deoarece observ multi ratati care se considera pentesteri deoarece pun un <script>alert(1)</script> intr-un textbox de search si "Vai, am gasit XSS!". Nu. Lucrez ca Penetration Tester si asta inseamna sa cunosti "mult din fiecare".

Dupa acest nivel, exista dupa parerea mea, "nivelul low-level". Aici ajung cei care au cunostinte de Assembler, dar merg mai departe la intelegerea interna a sistemelor de operare (adica kernel), cei care fac reverse engineering (pe malware, chiar si crack-uri) si cel mai avansat nivel la care poate ajunge cineva consider ca e la nivelul de "Exploit development". Asadar, cei care gasesc si exploateaza un Use-after-Free in Internet Explorer, un Type-confusion in Adobe Reader etc. se afla pe cel mai stimabil nivel.

IT Security level:

0. Vreau sa sparg parole (generic vorbind)

1. Folosire Trojan/Keylogger (ceea ce ii atrage pe incepatori - "hackuri")

2. Folosire scanner (va simtiti? :) ) - Luati-o altfel: folosirea diverselor programe (click, click, shit)

3. HTML (un tabel, un iframe, niste imagini cu link...)

4. HTML + Javascript (cel putin notiuni elementare de Javascript)

5. XSS (pentru ca sunt persoane care [cred ca] "stiu" chiar daca nu stiu PHP)

6. SQL Injection (ca mai sus, persoane care nu stiu ce face acel "union" dar se lauda ca "stiu" SQLI)

7. PHP (ASP, JSP - cunoasterea limbajului)

8. MySQL (Oracle, MSSQL - macar SELECT/UPDATE/INSERT/DELETE)

9. Linux (Ubuntu sau alt "GUI only")

10. C# & .NET (diverse clase)

11. C/C++ (pointeri, clase)

12. HTTP (request/response)

13. Networking (TCP/IP)

14. Linux (RedHat/CentOS - configurare, instalare din surse)

15. Shell scripting (grep, sed, awk)

16. Penetration testing (tot ce e mai sus: Web security, Linux, Networking, Programare)

17. ASM (mov, push, pop, lucruri de baza)

18. OS internals (memory management, procese, formate PE/ELF)

19. Reverse Engineering (debugging)

20. Exploit development (scriere shellcodes, gasire si exploatare buffer overflows, use after free...)

Am facut aceasta lista pentru a putea privi cu totii in mare ceea ce inseamna sa fii "Security researcher" sa zicem (generic vorbind) si sa poata vedea cu totii unde au ajuns si unde ar putea sa ajunga.

Sunt constient ca unele lucruri nu au legatura intre ele (ASM si SQLI) dar consider ca notiunile necesare sunt mult mai avansate pentru ASM fata de SQL Injection. Nu ma intelegeti gresit, nu subestimez niciun nivel si nu consider ca cineva trebuie sa cunoasca la perfectie toate notiunile enumerate pentru ca nu exista persoane care pot face acest lucru. Sunt 100% sigur ca nu exista aici o persoana care a cunoasca TOATE tag-urile si atributele din HTML. Acelasi lucru se aplica si pentru celelalte lucruri.

Sigur, lista nu este nici pe departe completa, dar ofera o idee de ansablu. Daca nu sunteti de acord sau aveti idei de imbunatatire astept comentarii.

In principal astept de la toti un post cu un numar. Atat. De fapt, nici nu e nevoie sa postati, doar ganditi-va la cunostintele voastre privind ansamblul de cunostinte pe care le poate avea cineva.

O sa incep eu: sunt pe la nivelurile 18-19, ma lupt cu ele, dar mai e cale lunga pana sa le stapanesc.

Link to comment
Share on other sites

Interesanta scara si destul de apropiata de realitate, dar nu in totalitate. Pot fi persoane care cunosc un anumit punct din lista, dar nu si pe toate celelalte de dinaintea acelui punct. Mai ales in prima parte a listei.

Imi place sa cred ca sunt pe la 8.

Link to comment
Share on other sites

Cand am citit lista, aveam impresia ca a fost facuta pentru mine. Deci mergeau toate punctele consecutiv, una dupa alta, chiar cum le-am invatat eu, fara sa fie vreo una in plus, de fapt, doar C# & .NET, (nu-mi place Microsoft-ul).

Sunt la 15.

Edited by GarryOne
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...