Interviu cu Code Risk – Un serviciu gratuit de analiză a codului sursă pentru pluginuri WordPress
Publicat: 2018-10-17Vulnerabilitățile în pluginurile WordPress au fost cauza mai multor hack-uri de site decât vulnerabilități în nucleul WordPress. Unul dintre motivele pentru care se întâmplă acest lucru este lipsa resurselor. Software-ul va avea întotdeauna vulnerabilități, deși codul de bază WordPress este verificat de mii de oameni. De asemenea, fundația are resurse alocate pentru a se asigura că codul este cât mai sigur posibil.
Pe de altă parte, mulți dezvoltatori de pluginuri nu au resursele disponibile pentru a se asigura că codul pluginurilor lor este sigur, mai ales dacă este un plugin mic. Deși totul se va schimba, așa cum explică Hendrik Buchwald în acest interviu. Hendrik este inginer software, cercetător în securitate și co-fondator al RIPS Technologies.
Ce face RIPS Technologies?
RIPS Technologies este o companie de înaltă tehnologie cu sediul în Bochum, Germania. Oferim analize automate de securitate pentru aplicațiile PHP ca instalare de software local sau serviciu cloud foarte scalabil. Algoritmii noștri inovatori de analiză a codului, care sunt dedicați în mod special limbajului PHP, pot identifica vulnerabilități complexe de securitate în aplicațiile moderne ca nicio altă soluție. Misiunea noastră este să oferim dezvoltatorilor și profesioniștilor în securitate cea mai precisă și eficientă analiză de securitate posibilă.
Care ați spune că este cea mai frecventă greșeală de securitate pe care o fac dezvoltatorii și care sunt primele 3 vulnerabilități pe care le vedeți în pluginurile WordPress?
Deloc surprinzător, cele mai frecvente probleme sunt vulnerabilitățile cross-site scripting (XSS) care apar ori de câte ori intrarea utilizatorului este tipărită fără o dezinfectare adecvată a paginii de răspuns HTML. În primul rând, aceste probleme apar frecvent, deoarece producția de date este cea mai comună operațiune a aplicațiilor PHP și, prin urmare, este mai afectată de încălcările de securitate decât alte operațiuni. Și în al doilea rând, având în vedere diversitatea contextelor HTML și capcanele sale în igienizare, aceste probleme sunt ușor de introdus. Vulnerabilitățile cross-site scripting (XSS) sunt destul de grave în WordPress, deoarece pot fi folosite, de exemplu, pentru a injecta cod PHP prin editorul de șabloane. Din fericire, necesită totuși interacțiunea cu un administrator.
Al doilea cel mai frecvent probleme sunt vulnerabilitățile de injectare SQL. Injecțiile SQL sunt mai severe decât vulnerabilitățile de scripting între site-uri, deoarece în cel mai rău caz pot fi folosite pentru a extrage informații sensibile din baza de date – de exemplu parole – fără nicio interacțiune a utilizatorului. Ca rezultat, pot fi folosite pentru atacuri rău intenționate complet automatizate.
Cât de bună sau de proastă ați spune că este poziția generală de securitate a celor mai populare/descărcate 1.000 de plugin-uri?
Este greu de răspuns, deoarece nu m-am uitat la cele mai populare 1.000 de plugin-uri în detaliu. Astfel de operațiuni ar dura multe luni pentru a fi finalizate, iar până când suntem gata ar trebui să începem din nou, deoarece unele plugin-uri sunt actualizate foarte frecvent.
De aceea, este important să folosiți un serviciu de securitate automatizat, cum ar fi Code Risk. Deși din scorul CodeRisk, care este generat din scanările automate și neverificate ale codului sursă pe care le facem pe depozit, pot spune că codul majorității nu este rău, deși există și pluginuri cu scor rău. Majoritatea acestor plugin-uri sunt totuși foarte mari și au o mulțime de funcționalități. Acest lucru crește automat șansele de a avea o eroare undeva. Din testele noastre manuale putem spune, de asemenea, că pluginurile mari au adesea vulnerabilități logice.
Ne puteți spune puțin despre ce oferiți dezvoltatorilor de pluginuri WordPress?
Cel mai recent proiect CodeRisk ajută dezvoltatorii și utilizatorii să evalueze gratuit riscul de securitate al codului pluginului lor. Deocamdată, acest lucru este limitat la pluginurile WordPress care sunt găzduite în depozitul oficial WordPress.
Preluăm automat noi pluginuri din depozitul WordPress și le scanăm cu scanerul nostru de securitate PHP RIPS. Rezultatele detaliate ale RIPS sunt combinate într-o valoare de risc ușor de înțeles. Valoarea ia în considerare gravitatea exploatării cu succes, cantitatea de probleme găsite în raport cu dimensiunea codului și probabilitatea ca o problemă să poată fi abuzată de o terță parte.
Dezvoltatorii de pluginuri pot solicita rezultatele complete detaliate pentru propriile pluginuri printr-un sistem automat. Ei pot folosi informațiile pentru a remedia posibile vulnerabilități și pentru a-și întări codul, făcând astfel ecosistemul WordPress mai sigur. Ideea din spatele CodeRisk este de a permite dezvoltatorilor de pluginuri să găsească singuri probleme în codul lor, chiar dacă nu sunt cunoscători în materie de securitate. Deși facem o mulțime de cercetări cu privire la securitatea WordPress și raportăm multe vulnerabilități dezvoltatorilor, există mult prea multe plugin-uri pentru a le analiza pe toate manual.
Mulți dezvoltatori de plugin-uri se abonează și folosesc serviciul dvs. gratuit de analiză a codului sursă? Cum este răspunsul comunității WordPress?
În prezent, există câteva zeci de dezvoltatori de pluginuri care folosesc CodeRisk pentru a reduce riscul de vulnerabilități de securitate în pluginurile lor. Am primit o mulțime de feedback-uri bune până acum și CodeRisk a ajutat deja la rezolvarea a sute de probleme.
Scanerele automate tind să raporteze false pozitive și cazuri marginale care ar putea să nu fie exploatate. Având în vedere că mulți dezvoltatori nu cunosc securitatea, ce faceți pentru a-i ajuta și pentru a evita alarmele false?
Utilizatorii noștri ar trebui să fie conștienți de faptul că evidențiem codul care prezintă un risc de securitate. Printre vulnerabilitățile de securitate neintenționate, aceasta include și alte constatări, de exemplu protecții slabe care pot deveni o amenințare mai târziu.
Nu trebuie să știți dacă și cum o problemă este exploatabilă pentru a vă asigura că nu va deveni o amenințare de securitate în viitor. De exemplu, dacă imprimați valoarea returnată a unei funcții, asigurați-vă că o codificați corect pentru a preveni vulnerabilitățile de scripting între site-uri. Chiar dacă valoarea returnată nu conține încă intrarea utilizatorului, acesta ar putea să nu fie cazul în viitor.
Încotro vedeți că merge acest proiect WordPress gratuit? Ai planuri pentru asta? Poate oferiți un serviciu premium dezvoltatorilor de mână, să îi ajutați să înțeleagă rezultatele și să profite de ele la maximum?
Următoarea versiune a CodeRisk va adăuga suport pentru temele WordPress, deoarece acestea fac parte integrantă din majoritatea blogurilor și de multe ori conțin și vulnerabilități. La un moment dat, am dori să extindem CodeRisk la alte sisteme de management al conținutului. În prezent, nu există planuri pentru un serviciu premium, dar dacă există suficientă cerere pentru acesta, acest lucru s-ar putea schimba.
Le puteți oferi dezvoltatorilor WordPress două sau trei cele mai bune practici de dezvoltare sigură de urmat, astfel încât să poată scrie cod mai sigur?
Dacă doriți să scrieți un cod mai sigur, nu aveți niciodată încredere orbă în codul existent. Presupuneți întotdeauna că funcțiile pot returna intrarea utilizatorului și le pot trata ca atare. Pentru informații generale despre cum să scrieți cod PHP securizat, consultați Ghidul 2018 pentru construirea unui software PHP sigur.
Vizitați site-ul web CodeRisk pentru mai multe informații despre serviciu. Și dacă sunteți un dezvoltator de pluginuri WordPress, iar pluginul dvs. se află în depozitul de pluginuri WordPress, creați un cont gratuit pentru a vedea ce vulnerabilități ar putea avea pluginul dvs.