Kysymys:
Miksi XSS vaikuttaa niin moniin verkkosivustoihin?
Ishan Mathur
2016-07-07 16:23:04 UTC
view on stackexchange narkive permalink

Erään artikkelin mukaan luin, että 65% kaikista verkkosivustoista kärsii XSS: stä. Miksi kehittäjät eivät löydä ja korjaa sitä?

Auta minua ymmärtämään. En ole tietoturva- tai tekninen tausta.

Jos tämä päätyy uudeksi [kuuluisaksi kysymykseksi] (https://security.stackexchange.com/questions/128412/sql-injection-is-17-years-old-why-is-it-still-around?lq=1), Soitan muille ** miksi `X` on edelleen olemassa ** -sarjassa ...
Toinen huomautus: XSS on edelleen laajalle levinnyt, koska XSS-haavoittuvuus ei vahingoita yhtä paljon kuin muut haavoittuvuudet.
Sanoin sen kerran ja sanon sen uudelleen, tietoisuuden puute.Puhuin kerran kehittäjän kanssa, jolla oli yli 10 vuoden kokemus verkkokehityksestä, joka ei ollut koskaan edes kuullut XSS: stä.
@Jedi Miksi "x" on edelleen olemassa kysymyksiä on edelleen olemassa?
Aivan kuten SQL-injektio ja vastaavat haavoittuvuudet, kyse on tyhmyydestä ja ihmisistä, jotka kutsuvat itseään "kehittäjiksi", vaikka todellisuudessa heidän ei pitäisi edes antaa olla lähellä tietokonetta.
@AndréBorie jos "tyhmyydellä" tarkoitat "tietämättömyyttä", niin voin olla samaa mieltä, mutta miten sillä on mitään tekemistä ihmisten kanssa, jotka kutsuvat itseään "kehittäjiksi" tai insinööreiksi, ohjelmoijiksi, koodereiksi, arkkitehdeiksi, sr.ammattimainen sähköposti, asiakaskäsittelijä, kovaa työtä tekevä tekijä, yksikkötestikirjoittaja, rakennusmurskaimen erikoisosa, kokousinsinööri, vanhojen koodien ylläpitäjä, verkkoselaimet, väärien ihmisten korjaaja Internetissä;totta puhuen?
@Jedi, kysymyksen, johon viittasi, esitti sama kirjoittaja kuin tämä.Tämä sai minut ajattelemaan, onko tämä jonkinlainen fiksu yritys tuoda kävijöitä verkkosivustolle (kaupallinen), joka mainitaan molemmissa kysymyksissä.
kaksi sanaa: taaksepäin yhteensopivuus.Tästä huolimatta en usko, että 65% kaikista sivustoista edes hyväksy käyttäjän antamia tietoja, varsinkin kun kommentit on nyt ulkoistettu.Perus CSP pysäyttää XSS: n kappaleissaan, joten jos näytät muiden lähettämiä tietoja, muista käyttää sisältöturvakäytännön http-otsikkoa.
Vitsailetko?Esitit jo yhden kauhean kysymyksen, joka herätti monia myönteisiä ääniä, ja nyt tulet taas.Odotan seuraavaa kysymystäsi: X: n mukaan monilla ihmisillä on huono salasana, auta minua ymmärtämään miksi.X: n mukaan monet ihmiset tallentavat salasanoja selkeällä tekstillä.Miksi?
@RoryAlsop, eikä ole yllätys, että yhden huonon kysymyksen jälkeen saat monia samanlaisia hyödyttömiä kysymyksiä.Odotan edelleen lopullista kysymystäni: "X: n mukaan ihmiset vielä kirjoittavat ohjelmaa virheillä. En ole tekninen, joten voiko kukaan selittää, miksi kehittäjät eivät voi oppia vain tekemään virheitä"
@VL-80 hän on esittänyt 3 kysymystä ja kaikki viittaavat tähän verkkosivustoon.Jotain on varmasti vialla
@AndréBorie kokemattomuus! == tyhmyys.tietämättömyys! == tyhmyys.autetaan heitä sen sijaan, että kutsumme heitä nimiksi.Tätä varten tämä sivusto on loppujen lopuksi.
@jammypeach eli olettaen, että he todella haluavat auttaa.
@AndréBorie, jos he ovat täällä, lukevat tätä, sanoisin, että he todennäköisesti tekevät.
@jammypeach valitettavasti epäilen, että ihmiset, joista puhumme, lukevat tätä.Pikemminkin luulen, että he tekevät vielä yhden haavoittuvan ja kauhean sovelluksen Googlessa "miten voin tehdä PHP: tä" ja ottamalla ensimmäisen vanhentuneen linkin oikean dokumentaation lukemisen sijaan.
@IshanMathur - valehtelet: https://www.linkedin.com/in/ishanmathur You *** WROTE *** artikkeli.
Seitsemän vastused:
Steffen Ullrich
2016-07-07 16:54:36 UTC
view on stackexchange narkive permalink

XSS on eräänlainen koodinsyöttö, eli hyökkääjä onnistuu pistämään oman haitallisen koodin (yleensä JavaScript) sivuston tarjoamaan luotettuun koodiin (HTML, CSS, JavaScript). Se on samanlainen kuin SQLi, koska sen aiheuttaa dynaamisesti rakennettu koodi, ts. SQL-käskyt, HTML-sivut jne.

Mutta vaikka SQLin ratkaisemiseksi on vakiintuneita tekniikoita (ts. Käytä parametria sitominen), XSS: n kanssa on vielä vaikeampaa. Suojautua XSS: ää vastaan ​​jokaisen käyttäjän hallitseman syötteen on oltava pakotettu kunnolla, mikä on paljon vaikeampaa kuin miltä se kuulostaa:

  • Pakenemissäännöt riippuvat kontekstista, ts. HTML, HTML-attribuutti, XHTML, URL, komentosarja, Kaikilla CSS-konteksteilla on erilaiset pakenemissäännöt.
  • Nämä asiayhteydet voidaan sisäkkäin, ts. <a href = javascript: XXX > on JavaScript-konteksti URL-kontekstissa HTML-määritteen sisällä. .
  • Tämän lisäksi sinulla on koodaussäännöt merkkeille (UTF-8, UTF-7, latin1, ...), jotka taas voivat olla kontekstikohtaisia.
  • Konteksti ja koodauksen on oltava tiedossa tulosta rakennettaessa: vaikka useimmat mallimoottorit tukevat HTML-koodien oikeaa poistumista, he eivät useinkaan ole tietoisia ympäröivästä kontekstista eivätkä siten voi soveltaa kontekstikohtaisia ​​pakenemissääntöjä.
  • Tämän lisäksi selaimet voivat käyttäytyä hieman eri tavalla pakenemisen tai koodaamisen suhteen.
  • Sen lisäksi löydät usein kasvaneesta koodista ilman erillistä logiikkaa ja pr huomautus siitä, että HTML-fragmentit tallentuvat tietokantaan, eikä kehittäjälle ole aina selvää, onko tietty arvo jo HTML-puhdas vai onko siitä välttämätöntä välttää.

Ja vaikka on joitain yksinkertaisia ​​tapoja Suojautua XSS: ltä suunnittelulla (erityisesti Content-Security-Policy) nämä toimivat vain uusimpien selainten kanssa, kehittäjän on nimenomaisesti sallittava ne ja usein tehokkaita vasta, kun koodiin on tehty suuria (ja kalliita) muutoksia (kuten sisäisen komentosarjan poistaminen) .

Mutta silti on hyvät mahdollisuudet tehdä se oikein, jos sinulla on kehittäjät, joilla on asianmukainen tietämys ja pystyt aloittamaan tyhjästä käyttämällä moderneja työkalupaketteja, jotka jo huolehtivat XSS: stä. Valitettavasti monissa tapauksissa on olemassa vanha koodi, jota on vain jatkettava. Ja kehityksen tekevät yleensä kehittäjät, jotka eivät ole tietoisia XSS: stä lainkaan tai eivät tiedä kaikkia sudenkuoppia.

Niin kauan kuin verkkokehitystä tehdään ympäristöissä, jotka ovat hyvin herkkiä kustannuksille ja ajalle, on pienet mahdollisuudet, että tämä muuttuu. Tavoitteena tässä ympäristössä on saada koodi toimimaan lainkaan lyhyessä ajassa ja pienillä kustannuksilla. Yritykset kilpailevat yleensä ominaisuuksien ja markkinoille saattamisen ajan perusteella, eivätkä kuka turvallisimpana tuotteena. XSS-suojaus tarkoittaa tällä hetkellä vain lisäkustannuksia, joista ei ole selvää hyötyä monille johtajille.

Etkö voi käyttää samaa koodausta (`` <> "'' ja` `vastaaville entiteeteilleen) HTML: lle, HTML-attribuuteille ja XHTML: lle?
@CodesInChaos: Jos sinulla on puhdas (X) HTML-konteksti, tämän pitäisi olla ok.Mutta Javascript-kontekstissa on pieniä eroja HTML- ja XHTML-konteksteissa.Kokeile `';hälytys (foo);]]> `HTML- ja XHTML-kontekstissa.
Mitä vaikeuksia olisi, jos sinulla olisi DOM-objekti-attribuutti, joka osoittaisi: "Tämä objekti ei koskaan sisällä laillisesti" vaarallisia "esineitä tai määritteitä tiettyjen luokkien ulkopuolella, joten tällaisten objektien / määritteiden vaikutukset tulisi tukahduttaa"?Vaikka turvallisuuden varmistaminen selaimissa, joissa ei ole tällaista ominaisuutta, saattaa olla vaikeaa, keino asettaa yksi merkkijono lihavoitua ja kursiivia sisältävän tekstin luomiseksi tuntuu paljon puhtaammalta kuin tällaisen tekstin kokoaminen joukoksi DOM-objekteja.
@supercat:: llä on katsaus [Content Security Policy 2.0] -ohjelmaan (https://www.w3.org/TR/CSP/), jossa on pakollisia merkitä osia, joissa inline-komentosarja on turvallinen ja voi muuten kieltää sisäisen komentosarjan.Mutta tietysti tarvitset [selaintukea tälle] (http://caniuse.com/#feat=contentsecuritypolicy2), tukea kehyksissä ja kehittäjien tietoa siitä, että tämä ominaisuus on olemassa ollenkaan ja miksi heidän pitäisi käyttää sitä.
@supercat:-merkintä on turvallinen tapa sallia käyttäjien merkinnät.
Tämä vastaus selittää minulle täydellisesti, miksi minulla on melko hyvä käsitys siitä, mitä SQL-injektio on, mutta en todellakaan voi puhua XSS: stä "Uhh, siellä yksi sivuston kävijä pystyy käyttämään sivuston heikkouksia hyökätä toiseen kävijään.Yksityiskohdat ovat monimutkaisia. Puhutaanpa nyt enemmän [kaikesta muusta] ".
Erinomainen vastaus huomauttamiseen, että XSS on oikeastaan vain yksi injektion muoto.Kun kaikki on yksi perusmerkkijonotyyppi ja hybridiryhmäohjaus / tietorakenteet luodaan ketjutamalla merkkijonoja, on hyvin vaikeaa_ soveltaa oikeita sääntöjä oikeaan aikaan.Jos kuitenkin käytämme erikoistuneempia merkkijonotyyppejä (ja voimakkaasti kirjoitettua kieltä), se olisi paljon selvempää, kun teemme virheitä, esim.et voi siirtää UrlQueryParameterString-kohtaa kohtaan, jossa odotetaan olevan HtmlAttributeValueString.
Viimeinen kappale on tässä merkittävin.Mikään ei muutu, kun dev-sopimuksia tarjotaan ilman vakuutta ensisijaisena huolenaiheena alusta alkaen.
@dandavis väärä.Monet Markdown-prosessorit sallivat HTML-koodin suodattamattomana, ja jopa ne, joita ei todennäköisesti voida manipuloida, tuottavat vaarallista ulostuloa.Katso esim., mutta Markdown ei todellakaan ole kyseinen kieli.
@IMSoP: Pelkästään siksi, että siellä on huonosti kirjoitettuja markdown-libejä, ei markkereista itsestään ole turvallista.Markdown itsessään on täysin vaaraton.Käytän / suosittelen https://github.com/chjj/marked, joka vastasi (vaikkakin lyhyitä) hyökkäysyrityksiäni, ja sitä käytetään laajasti, joten mahdolliset aukot paikoitettaisiin nopeasti;esimerkiksi: https://github.com/chjj/marked/issues/203 (noin 48 tuntia)
@dandavis En sanonut, että Markdown oli luonnostaan vaarallinen, sanoin vain, että se ei ollut luonnostaan turvallista.Turvallisuus on osa jäsennettyä kirjastoa riippumatta siitä, jäsennetäänkö kyseinen kirjasto Markdownia, BBCodea tai rajoitettua HTML-osajoukkoa.Joten kalju lausuntosi, jonka mukaan "markdown on turvallinen tapa sallia käyttäjien merkinnät", on vaarallisesti harhaanjohtava.(En myöskään ole varma, mitä tämä kommentti tekee tämän vastauksen liitteenä, ja pyydän anteeksi vastauksen kirjoittajaa aiheen ajautumisesta.)
@IMSoP:I: t "ajavat" vaaralliseksi, koska siellä on Corvaire?Luultavasti ... Aloitin kommenttini superkissalle, joka puhui turvallisen mekanismin epäluotettavasta sisällön esittämisestä, mikä markdown tarjoaa monille sivustoille, hyvin samanlainen kuin hänen "rajoitettu html" -konseptinsa.Luin hänen kommenttinsa, ajattelin "markdown" ... Voisimme keskustella semantikoista "väärä", "turvallinen", implikaatio / negatiivisuus jne., Mutta myönnän mielipiteesi sanamuodosta / kaappaamisesta, kun unohdin kaikki nuo vanhemmat libitettä _ voidaan käyttää;hyvä pointti!
Anders
2016-07-07 18:07:30 UTC
view on stackexchange narkive permalink

Se näyttää helpolta, mutta on vaikeaa

Ensinnäkin hyökkäyspinta on valtava. Sinun on käsiteltävä XSS: ää, jos haluat näyttää käyttäjän syötteen HTML-muodossa missä tahansa. Tätä tekevät melkein kaikki sivustot, elleivät ne ole rakennettu pelkästään staattisessa HTML-muodossa.

Yhdistä tämä siihen tosiasiaan, että vaikka XSS saattaa tuntua helpolta käsitellä, se ei ole. OWASP XSS -huijausarkki on 4 000 sanaa. Tarvitset melko suuren arkin, johon kaikki teksti mahtuu.

Monimutkaisuus syntyy, koska XSS toimii eri tavoin eri tilanteissa. Sinun on tehtävä yksi asia, jos lisäät epäluotettavia tietoja JavaScriptiin, yksi asia, jos lisäät attribuuttiarvoihin, toinen asia, jos lisäät tunnisteiden väliin jne. OWASP listaa kuusi erilaista asiayhteyttä, jotka kaikki tarvitsevat erilaisia ​​sääntöjä, sekä useita asiayhteyksiä mihin sinun ei pitäisi koskaan lisätä tietoja.

Sillä välin kehittäjät etsivät aina panacheaa ja hopeamyllyjä. He haluavat poistaa kaiken kovan työn yhdeksi sanitize () -toiminnoksi, johon he voivat aina kutsua epäluotettavia tietoja, kutsua niitä päiväksi ja jatkaa todellista ohjelmointia. Mutta vaikka monet tällaiset toiminnot on koodattu, yksikään niistä ei toimi.

Haluan toistaa: XSS saattaa tuntua helposti käsiteltävältä, mutta se ei ole. Suurin vaara on kyseisen lauseen ensimmäisessä osassa, ei toisessa. Ymmärretty yksinkertaisuus kannustaa kehittäjiä tekemään omat kotiominaisuutensa - omat henkilökohtaiset sanitize () -funktiot, täynnä yleistyksiä, epätäydellisiä mustia listoja ja virheellisiä oletuksia. Suodatit javascript: URL-osoitteista, mutta ajattelitko vbscript: ? Tai javaSCripT: ? Koodasit lainausmerkit, mutta muistako liittää attribuutin arvon lainausmerkkeihin? Entä merkkikoodaukset?

Tilanne on melko samanlainen kuin SQLi. Kaikki etsivät yhtä sanitaatiotoimintoa hallitsemaan kaikkia, olipa se nimeltään addlasheshes , mysql_escape_string tai mysql_real_escape_string . Se on rahtikulttiturva, jossa ihmisten mielestä riittää, että rituaalisesti kutsutaan oikea toiminto rauhoittamaan jumalia sen sijaan, että se omaksuu ongelman monimutkaisuuden.

Vaarana ei siis ole se, että kehittäjät eivät ole onnellisesti tietoisia XSS: stä. He luulevat saavansa tilanteen hallintaan, koska hei, ohjelmoin sen toiminnon.

Mutta miksi se on vaikeaa?

Verkko kärsii ongelmasta rakenne (HTML), esitys (CSS) ja dynamiikka (JavaScript) sekoitetaan pitkiksi tekstijonoiksi, jotka laitamme .html -tiedostoihin. Tämä tarkoittaa, että on monia rajoja, jotka voit ylittää siirtyäksesi kontekstista toiseen.

Tämä on jälleen sama asia kuin SQLissä. Sekoitat ohjeet ja parametriarvot yhteen merkkijonoon. SQLin lopettamiseksi tajusimme, että meidän on erotettava nämä kaksi kokonaan eikä koskaan sekoitettava niitä - toisin sanoen käytettävä parametrisoituja kyselyitä.

XSS-ratkaisu on samanlainen:

  1. Erota komentosarjat HTML: stä.
  2. Poista HTML-koodin sisäiset komentosarjat käytöstä.

Olemme luoneet helpon tavan tehdä toinen osa - sisältöturvakäytäntö. Sinun tarvitsee vain asettaa HTTP-otsikko. Mutta ensimmäinen osa on vaikea. Vanhan verkkosovelluksen täydellinen uudelleenkirjoittaminen voi olla helpompaa kuin komentosarjojen irrottaminen kirurgisesti HTML: stä. Joten silloin on helpompaa luottaa vain siihen taikaan sanitize () ja toivoa parasta.

Mutta hyvä uutinen on, että uudemmat sovellukset kehitetään usein tiukempien käytäntöjen mukaisesti CSP: n mahdollista, ja melkein kaikki selaimet tukevat sitä nyt. En sano, että haavoittuvien sivustojen prosenttiosuus laskee 0 prosenttiin, mutta toivon, että se laskee paljon 60 prosentista tulevina vuosina.


TL; DR: Tämä muuttui melko pitkäksi ääneksi. Etkö ole varma, onko täällä paljon hyödyllistä tietoa - lue vain Steffen Ullrichsin hyvä vastaus, jos haluat selkeän analyysin.

Toinen asia, jonka haluat ehkä lisätä, kun olet myöhemmin, on pitkät UTF-8-sekvenssit.
Kirjoitin [oman desinfiointitoimintoni] (https://gist.github.com/rndme/709b79625af301d76bd432dfb2ad8feb), ja ajattelin, että se oli helppoa, mitä minulta puuttuu?se on vaikeaa vain, jos yrität toteuttaa itse 1 000 001 asiaa.Suoritan "merkitty" puhdistetulle tekstille saada napsautettavat linkit ja sallia merkintöjen muotoilun, ja kaikesta, mitä olen nähnyt, se on turvallista ja järkevää.Se oli vaikeampi takaisin IE-päivinä, mutta suurin osa virheistä on korjattu, joten nyt on vain korjattava aukkoja.
@dandavis Mielestäni toiminto toimii hyvin pysäyttääksesi XSS: n tagien välillä.Jos käytät sitä, puhdista määritearvot, kun liität HTML-merkkijonon, se ei toimi, koska se ei poistu '' ''.Joten kontekstin ymmärtäminen on avainasemassa.
todella hyvä tietää, kiitos!olet oikeassa, että attribuuteille ei ole jotain yhtä yksinkertaista, koska `uusi Option (0, str) .outerHTML.split ('"') [1] `ei toimi IE / Edge-sovelluksessa ...
Lucian Nitescu
2016-07-07 16:31:39 UTC
view on stackexchange narkive permalink

Oma mielipiteeni turvallisuudesta ja XSS: stä:

  1. Ohjelmointisääntö: Et voi tietää kaikkea. Ennemmin tai myöhemmin aiot tehdä virheen.
  2. Ohjelmoijan sääntö: Ohjelmoija työskentelee 12 tuntia päivässä: 3 keskustelee muiden ohjelmoijien kanssa satunnaisia ​​asioita, 3 ajattelee muita asioita, 3 keskustelee siitä, mitä sen pitäisi koodata, 3 se ohjelmoi .... projektit tehdään 12 tuntia päivässä lähes pysähtymättä.
  3. XSS on yksinkertainen. Ja XSS: ää odottaa paljon syötteitä.
  4. Turvallisuus on edelleen viimeinen ja suurimman osan ajasta pidetään puutteellisena.
Miksi # 2 on merkityksellinen tässä?
Anteeksi, mutta työpäiväni on 8 tuntia, ei 12 tuntia.VOI olla 10, jos otan mukaan työmatkan.
@GillBates Mielestäni ajatus on jotain: ohjelmoijilla on jo koko päivä, eikä kaikkia ole inhimillisesti mahdollista olla "tuottavia", joten lisää huolenaiheita vaatisi uudelleensuunnittelua, miten he viettävät aikaa.Johdon voi olla kannattavaa antaa heille 6 tuntia päivässä, virtaviivaistaa viestintää ja kokouksia ja odottaa sitten todellista tuottavuutta.Myös heidän omien odotustensa hallinta järkevältä olisi hyvä.
Bubble Hacker
2016-07-07 16:31:46 UTC
view on stackexchange narkive permalink

Kuten mainitsit vastauksessasi vastaavaan viestiisi ( SQL-injektio on 17 vuotta vanha. Miksi se on edelleen olemassa?):

Ei ole SQLin yleinen korjaus koska inhimilliselle tyhmyydelle ei ole korjausta

Kehittäjät saattavat joskus olla laiskoja tai huolimattomia, mikä saa heidät tarkistamaan kehittämänsä sovelluksen.

Toinen suosittu syy on se, että kehittäjät eivät tiedä tietoturvaongelmasta. He eivät koskaan käyneet mitään turvallisuuskoulutusta, joten he eivät tiedä mikä on mahdollinen turvallisuusuhka ja mikä ei. Ja yrityksille, jotka eivät ymmärrä tunkeutumistestin merkitystä, tämä tietoturvatiedon puute on itsessään mahdollinen uhka.

Yksinkertaiset tietoturvakysymykset, kuten SQLI ja XSS, korjataan vasta, kun yritys päättää käyttää aikaa koodien tarkistamiseen ja testaamiseen. Siihen asti 65% kaikista verkkosivustoista kärsii maailmanlaajuisesti XSS-haavoittuvuudesta.

Mielestäni sanan "tyhmyys" käyttö tässä yhteydessä on melko äärimmäistä, loukkaavaa ja yksinkertaisesti virheellistä.Ohjelmoijat, jotka jättävät koodinsa avoimiksi tällaisille haavoittuvuuksille, eivät todennäköisesti ole typeriä, vaan (a) tietämättömiä, (b) taitamattomia tai (c) johdon painostamia toimittamaan ominaisuuksia nopeasti ja edullisesti (kun taas turvallisuusongelmat ovat viimeisimmät)luettelossa tai ei lainkaan).
@RaduMurzea Olen täysin samaa mieltä kanssasi, olet tervetullut muokkaamaan vastaustani!
dandavis
2016-07-08 03:33:50 UTC
view on stackexchange narkive permalink

Perusongelma

Verkkoa ei yksinkertaisesti ole suunniteltu mahdollistamaan turvallista usean tekijän tai monipuolista vuorovaikutusta. Kukaan ei puhunut sisällön erottamisesta esityksestä vasta 1990-luvun lopulle saakka. Siihen mennessä, kuten QWERTY-näppäimistö, olimme periaatteessa juuttuneet olemassa olevaan järjestelmään ilman mitään syytä. Kukaan ei halunnut "rikkoa verkkoa", joten virheet kopioitiin ja siirrettiin selaimille, jotka olivat "vektorivektorin" ulkopuolella.

Raskauttava tekijä

Ennen ~ 2005, käytännössä kaiken, mitä näet tietyllä verkkosivustolla, ovat kirjoittaneet tai hyväksyneet sivustoa hallitsevat ihmiset. Kun Web2.0-liike eteni ja ihmiset vaativat vuorovaikutusta (ainakin lisää kommentteja, tule!), Paine lisätä näitä ominaisuuksia olemassa oleviin sivustoihin oli suuri. Verkkoyhteisöt tekivät kaikkensa tyydyttääkseen pomon vaatimukset täyttääkseen tehtävän, josta he eivät tienneet mitään: turvallista vuorovaikutusta. Ja jonkin aikaa, luultavasti liian kauan, he pääsivät siitä. Kuinka moni ihmisistä ostaa murtovaroittimia ennen , joihin on edes murskattu?

Nykyajan ajat

CSP: n käyttäminen suuresti vähentää toisen pallon pudottamisen aiheuttamia haittoja. Tämä ei tarkoita, että sinun tulisi luopua varmennuksesta ja puhtaanapidosta millään tavalla Save As .. -kopioiden, välimuistiin tallennettujen otsikoiden jne. Vuoksi, mutta se tarkoittaa, että voit olla paljon turvallisempi muutaman tunnin ponnistelulla. Kyllä, otsikko on pitkäkestoinen ja aluksi hämmentävässä muodossa, mutta sijoita tunti tai kaksi, mitä kuluttaa grokki, ja muutama muu, joka tarvitaan sivustosi testaamiseen. CSP: tä on todella helppo testata, koska voit suorittaa hiljaisen vain varoittavan ajon (etsiä sitä).

Jos heität CSP: tä ja ryhdyt perinteisiin toimenpiteisiin, vanhat selaimet kuolevat, kun kiintolevy lakkaa pyörimästä , ja me kaikki elämme turvallisesti ja onnellisesti ...

Solid State Disc -levyillä saatamme päätyä pitkäaikaisiin ongelmiin tiellä.Y2038 kukaan?
Giacomo1968
2016-07-08 06:56:09 UTC
view on stackexchange narkive permalink

Toiset ovat koskettaneet klassisia kysymyksiä, jotka liittyvät ihmisten muille ihmisille suunnittelemiin järjestelmiin: Todellisuus on laiskuutta ja - toisinaan - tyhmyyttä yhdistettynä "Miksi näin tapahtuisi minulle?" ylimielisyys.

Voi, kuinka monta tuntia elämästäni on käytetty järjestelmien korjaamiseen ja - mikä tärkeintä - taistelemiseen johdon kanssa saadaksemme korjausjärjestelmille varatun ajan / resurssit, jotta ne voivat olla "luodinkestäviä".

Ja olen onnekas tältä osin: Vaikka olen turhautunut taistelemaan organisaation johdon kanssa järjestelmän korjaamiseksi, monet paikat palkkaavat kehittäjiä kehittämään järjestelmää, mutta eivät sen jälkeen pidä perus- (ja tylsiä) huolto on jotain, johon kannattaa sijoittaa. Miksi maksaa tekniikalle kuukausittainen ylläpitäjä järjestelmän ylläpitämiseksi, kun on usein halvempaa antaa järjestelmän seistä, kunnes se kaatuu, ja sitten jahdata korjausta keskellä rikkomusta?

Pieni pari ennaltaehkäisyä, joka on parempi kuin paunan parannuskeino, vie usein takapenkin ihmisille, jotka ovat penniäkään, punta-typeriä.

Tästä huolimatta parasta, mitä kukaan järjestelmän ylläpitäjä voi tehdä, on vakava katastrofi (tai muu kuin katastrofi) elvytyssuunnitelma. Pyydä koodiversiota hallitsemaan, palvelimen käyttöönoton määritys automatisoitava valmistelukomentosarjassa ja varmuuskopiot tietokannoista. Tällä tavoin, jos / kun järjestelmä kaatuu, siivous on nopeaa eikä tylsää katastrofia.

BitsInForce
2016-07-07 17:51:51 UTC
view on stackexchange narkive permalink

Vaarallisten tietoturva-aukkojen, kuten SQLI ja XSS, tarkka tunnistaminen SDLC: n koodin käyttöönottovaiheessa rajoittuu edelleen ohjelmointikielen tyyppiin.

  • Tällaisten haavoittuvuuksien staattinen analyysi tehdään laajimmin PHP: ssä.
  • Joissakin dynaamisissa menetelmissä käytetään sumeaja tekniikoita testaus- tai käyttöönottovaiheessa.

Valitettavasti molempien menetelmien tarkkuus on edelleen melko rajallinen. Lisäksi XSS- ja SQLI-haavoittuvuudet kohdistuvat tietokonesovelluksiin, ja ne voivat näkyä niin monissa naamioiduissa muodoissa, joita ohjelmistokehittäjät eivät tunne. Sellaisena en usko, että kyse on tyhmyydestä. Voin vakuuttaa, että jotkut yritykset ovat jo kouluttaneet kehittäjät turvalliseen ohjelmointiin, mutta eivät voi täysin estää näitä heikkouksia. Olen samaa mieltä siitä, että on tehtävä paljon enemmän sellaisten kriittisten hyökkäysten estämiseksi.

Hakkerit näyttävät pystyvän löytämään haavoittuvuudet ja hyödyntämään niitä todennäköisesti käyttämällä automaattisia työkaluja.Ehkä meidän olisi parempi palkata heidät?Ainakin he yrittäisivät korjata ongelmat sen sijaan, että aiheuttaisivat niitä.Riittävän rahan vuoksi he todennäköisesti ottavat syötin.


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...