Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
Site atacat
#19
Posted 10 September 2012 - 13:35
OriginalCopy, on 10 septembrie 2012 - 12:12, said:
Hai neluţule, oricât ai încerca să eviţi, la gunoi cu windows... Eu d-aia nu folosesc, prea multă bătaie de cap. Să nu pot eu să stau liniştit când intru pe site-ul băncii de exemplu... Nu că teoretic n-aş avea grijă de sistem, dar pur şi simplu e o grijă în plus degeaba. Sau poate îl cureţi acum, dar mereu vei sta cu frica-n ... ce ai. La gunoi cu Windowsu', dar nu încă pentru mine. E calculatorul unui amic și nu știe să folosească altceva decât Windows, în cel mai rău caz o să fie două sisteme de operare pe el, dar poate reușesc să-l conving să folosească Linux. Sper ca sistemul de operare să fie problema și să scap de acest atac. |
#20
Posted 11 September 2012 - 16:03
Îmi pare rău pentru dublu post, dar nu cred că puteam face altceva.
Am ras hard-ul şi am instalat Linux (Ubuntu), acum să vedem ce se întâmplă... O întrebare am. Acest atac ar fi putut venii prin URL? Dacă da, felul în care verific variabila GET, este suficient? $pagini = array('despre', 'articole', 'prezentare', 'galeriefoto'); if (isset($_GET['p']) AND ctype_alnum($_GET['p']) AND in_array($_GET['p'], $pagini)) $pagina = $_GET['p']; else $pagina = 'despre'; OriginalCopy, on 07 septembrie 2012 - 18:30, said:
Metoda ta de apărare e fix pix, deoarece nu adresează vectorul critic de atac. Atacatorul tot va putea să injecteze orice vrea în paginile tale. Dacă n-ai avea acea gaură în sistemul de operare, metoda de protecţie ar fi bună. În altă ordine de idei, securitatea ori o ai, ori n-o ai. Nu merge "pe bucăţi". Există metode mai bune de a verifica GET şi POST? Edited by -NeLuTu-, 11 September 2012 - 16:04. |
#21
Posted 11 September 2012 - 16:42
Este foarte ok verificarea ta în cazul arătat de tine.
Nici n-ai nevoie de ctype_alnum(), pentru că verifici oricum ceea ce ai pus tot tu în $pagini, şi nu vei pune ne-alfanumerice acolo. Teoretic, să zicem că te-ar fi protejat acel ctype dacă codul ar fi arătat aşa: $pagini = array('despre', 'articole', 'prezentare', 'galeriefoto'); //alte lucruri aici care sunt vulnerabile if (isset($_GET['p']) AND ctype_alnum($_GET['p']) AND in_array($_GET['p'], $pagini)) $pagina = $_GET['p']; else $pagina = 'despre'; şi dacă atacatorul ar fi nimerit fix o gaură de securitate între iniţializarea lui $pagini şi verificarea lui $_GET['p'], gaură prin care ar fi putut injecta cod străin aşa încât să suprascrie $pagini (şi să injecteze valori ne-alfanumerice), ABIA ATUNCI acel ctype ar fi fost de folos. Chiar şi dacă ar fi aşa //alte lucruri aici care sunt vulnerabile $pagini = array('despre', 'articole', 'prezentare', 'galeriefoto'); if (isset($_GET['p']) AND in_array($_GET['p'], $pagini)) $pagina = $_GET['p']; else $pagina = 'despre';nu ar fi vulnerabil la aspectul $pagina (dar tot ar fi vulnerabil la alt gen de atacuri), pentru că tu oricum suprascrii $pagini, deci injecţia lui n-are niciun efect. Însă aşa: $pagini = array('despre', 'articole', 'prezentare', 'galeriefoto'); if (isset($_GET['p']) AND ctype_alnum($_GET['p']) AND in_array($_GET['p'], $pagini)) $pagina = $_GET['p']; else $pagina = 'despre'; //alte lucruri aici care sunt vulnerabile include $pagina.'.php'; e vulnerabil indiferent de ce ai face, poţi să pui şi mama lu' mama lu' mama lu' ctype. Deci în loc să îţi faci griji de ctype, dacă vrei să securizezi împotriva suprascrierii lui $pagina, securizează celelalte segmente de cod "din împrejurimi", de dinainte, de după, intercalate... Ideea e că celelalte secţiuni de cod trebuiesc securitate împotriva ALTOR (tuturor) tipurilor de atacuri care ar fi teoretic posibile, atacuri de care-ţi dai seama din structura codului. Asta este ceea ce face securitatea grea, ca să te aperi împotriva unui anumit vector de atac, trebuie să acoperi întregul spaţiu de vectori posibili. Nu există reţete de securitate şi securizare, trebuie să-ţi analizezi şi să-ţi înţelegi codul. Nu aplica reguli de securizare din auzite, rişti să îţi creezi un simţ fals al securităţii, nebazat pe realitate. Iar aia nu mai e securitate, e lăbăreală. Edited by OriginalCopy, 11 September 2012 - 16:33. |
#22
Posted 11 September 2012 - 16:58
Fila arată cam aşa:
require_once 'administrare/inc/config.php'; //constante cu datele bazei de date $pagini = array('despre', 'articole', 'prezentare', 'galeriefoto'); if (isset($_GET['p']) AND ctype_alnum($_GET['p']) AND in_array($_GET['p'], $pagini)) $pagina = $_GET['p']; else $pagina = 'despre'; // aici mă conectez la baza de date // la un moment dat folosesc un switch pentru a include filele de care am nevoie în functie de $pagina if (isset($pagina)) { switch ($pagina) { case 'despre': include_once 'inc/despre.php'; break; ...................... } } Edited by -NeLuTu-, 11 September 2012 - 16:59. |
#23
Posted 11 September 2012 - 17:08
Ai înţeles doar superficial ce am zis... Poate are cineva chef să-ţi explice de ce codul pe care l-ai arătat e destul de irelevant.
|
#24
Posted 11 September 2012 - 17:31
Problema ta poate fi de natura RFI (remote file injection) sau LFI (local file injection). Nu am avut timp să mă uit pe cod întrucât scriu de pe telefon.
Mai poate fi un cron care rulează la un interval de timp și îți adaugă acel cod. O altă cauză poate fi serverul în sine : exploit-uri, vulnerabilități etc. |
#25
Posted 13 September 2012 - 10:44
OriginalCopy, on 11 septembrie 2012 - 17:08, said:
Ai înţeles doar superficial ce am zis... - includ o filă ce conţine datele bazei de date, în constante; - fac acea verificare a variabilei GET; - mă conectez la baza de date; - fac două-trei interogări ale bazei de date şi afişez conţinut în funcţie de rezultat; - includ două trei file (antet, meniu) care nu fac altceva decât să interogheze şi ele, baza de date şi să afişeze conţinut în funcţie de rezultat (practic acelaşi lucru ca şi punctul anterior); - includ o filă „inc/pagini/pagini.php”, care conţine acel switch şi care include file php din „inc/pagini”, în div-ul corespnzător *în o parte din aceste file verific alte variabile GET, în acest fel: if (isset($_GET['art']) && ctype_digit($_GET['art'])) $id_articol = (int)$_GET['art']; Cam asta e tot. RCG, on 11 septembrie 2012 - 17:31, said:
Problema ta poate fi de natura RFI (remote file injection) sau LFI (local file injection). Nu am avut timp să mă uit pe cod întrucât scriu de pe telefon. Mai poate fi un cron care rulează la un interval de timp și îți adaugă acel cod. O altă cauză poate fi serverul în sine : exploit-uri, vulnerabilități etc. Mi-ar plăcea să ştiu dacă problema e de la server, aş muta site-ul pe un alt server. Totuşi, aş vrea să fiu sigur de asta, dacă se poate. Site-ul e al unui prieten, n-aş vrea să plătească un alt server, în zadar. Ca şi soluţie provizorie m-am gândit să redenumesc index.php în default.php, lucru care a funcţionat, codul maliţios nu a mai apărut, doar că serverul pe care e site-ul acum, nu vede „default.php” ca şi pagină de start şi îmi listează ce e în dosarul „www”. Pe un server gratuit, pe care îl folosesc ca şi server de testare, totul merge bine. Pot să fac ceva ca şi serverul pe care e site-ul acum să vadă „default.php” ca fiind pagina de start a site-ului? |
#26
Posted 13 September 2012 - 11:15
-NeLuTu-, on 13 septembrie 2012 - 10:44, said:
Se poate, totuşi încercam să-ţi că nu am mare lucru în acea pagină. Structura php/mysql ar fi aceasta: Nu "se poate", chiar aşa este. Nu înţelegi regulile securităţii, şi apoi vii cu idei care ai impresia că sunt bune: -NeLuTu-, on 13 septembrie 2012 - 10:44, said:
Mi-ar plăcea să ştiu dacă problema e de la server, aş muta site-ul pe un alt server. Totuşi, aş vrea să fiu sigur de asta, dacă se poate. Site-ul e al unui prieten, n-aş vrea să plătească un alt server, în zadar. -NeLuTu-, on 13 septembrie 2012 - 10:44, said:
Ca şi soluţie provizorie m-am gândit să redenumesc index.php în default.php, lucru care a funcţionat, codul maliţios nu a mai apărut, doar că serverul pe care e site-ul acum, nu vede „default.php” ca şi pagină de start şi îmi listează ce e în dosarul „www”. Pe un server gratuit, pe care îl folosesc ca şi server de testare, totul merge bine. Iar asta nu e securitate. E cârpeală. În alte cuvinte, factorul determinant care duce la problemele tale este factorul psihologic: OriginalCopy, on 16 noiembrie 2010 - 11:24, said:
Salut HTTP este un protocol stateless, deci este nevoie de cookies pentru a face asocierea dintre un client şi date de pe server la fiecare cerere. Şi dacă nu este cookie, tot este un identificator unic, fie că este un parametru GET (practică FOARTE nerecomandată) sau adresa IP. Asta doar tu poţi defini. Eu nu pot şti câte şi ale cui cărţi de credit le procesezi. Sistemul cu cookies în sinea lui este destul de sigur, DAR Exploatarea unui sistem nu se face doar pe o singură cale, nu aşa funcţionează lucrurile în lumea securităţii. În securitate avem vectori de atac. Aceştia nu corespund neapărat 1:1 cu găuri de securitate (în aplicaţie, în reţea, în sistem, în necunoaşterea celor care crează/setează şi mentenează aceste lucruri), ci pot fi combinaţi astfel încât să fie atins punctul sensibil (ca la adunarea vectorilor, de aici numele "vector de atac"). Poate sistemul de operare în sinea lui este cel mai sigur, dar degeaba este sigur, dacă pe el rulează "scriptul" scris de copii de 16 ani. Deci întrebarea ta este răspunsă: sistemul de login cu sesiuni este sigur, dar nu e suficient ca doar el să fie sigur, pentru ca întregul ecosistem să fie sigur. Pentru siguranţă la nivel de reţea foloseşte HTTPS, pentru siguranţă la nivel de sistem foloseşte 1. un sistem respectabil *NIX, 2. oameni care ştiu ce fac. Pentru siguranţă la nivelul aplicaţiei, vezi cum te protejezi împotriva XSS, SQL injection, CSRF. Pentru siguranţă la nivelul "factorul uman", asigură-te că toţi cei care au voie să interacţioneze cu sistemul şi reţeaua ta a. ştiu ce fac b. documentează tot ce fac c. peer review must be in place!!! Cam asta e povestea pe larg. Mare atenţie la factorul uman. Addendum Ah, şi am uitat de siguranţa fizică a sistemului. Cine spune că dacă muţi scriptul, va fi mai sigur? Dacă dai iar de aceeaşi problemă? Ar trebui să foloseşti această oportunitate pentru a învăţa despre securitate, a o înţelege, şi a aplica înţelegerea, nu cunoaşterea. În domeniile tehnice, cunoaşterea rezultă de cele mai multe ori din înţelegere. Învaţă să pui întrebările corecte, altfel te vei complace mereu într-o baltă de ignoranţă şi incompetenţă. Sau în altă ordine de idei "What I cannot create, I do not understand" -- Richard Feynman. Edited by OriginalCopy, 13 September 2012 - 11:16. |
#27
Posted 13 September 2012 - 13:22
OriginalCopy, on 13 septembrie 2012 - 11:15, said:
Nu "se poate", chiar aşa este. Nu înţelegi regulile securităţii, şi apoi vii cu idei care ai impresia că sunt bune: OriginalCopy, on 13 septembrie 2012 - 11:15, said:
Iar asta nu e securitate. E cârpeală. OriginalCopy, on 13 septembrie 2012 - 11:15, said:
În alte cuvinte, factorul determinant care duce la problemele tale este factorul psihologic: |
#28
Posted 13 September 2012 - 14:22
Dacă gaura de securitate nu este în singurul script care rulează pe server, atunci gaura de securitate este în server.
Dacă nu este singurul script vulnerabil, atunci trebuie să analizaţi TOATE scripturile. Spune-i prietenului tău să reinstaleze sistemul şi să pună serverul într-un box virtualizat cu xen, un honeypot în care monitorizezi ce se întâmplă, pentru a înţelege atacul, şi pentru a lua contra-măsurile necesare de securizare a maşinii. Tu poţi redenumi în default.php, şi configura serverul să folosească aia ca index.php, dar asta cel mai probabil nu va rezolva cauza adevărată, gaura adevărată de securitate. |
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users