it-swarm.dev

A che punto "l'hacking" diventa illegale? (NOI)

Situazione ipotetica: prima di assumere una società di sviluppo web, voglio testare la loro capacità di progettare app Web sicure visualizzando i siti Web dei loro clienti precedenti.

Problema: questa situazione solleva una grande bandiera rossa: per quanto riguarda la visualizzazione di un sito Web, che cosa è o non rientra nella portata della legge? O in altre parole: a che punto frugare in un sito Web diventa illegale ?

  • Visualizza sorgente con Firebug? Naturalmente sarebbe legale.
  • Ma cosa succede se cambio HTML (come un valore di modulo nascosto prima dell'invio)?
  • Forse allora modifico o rimuovo JavaScript, come uno script di convalida lato client. Sarebbe legale?
  • E se inserissi% 3Cscript% 3Ealert (1)% 3C/script% 3E alla fine dell'URL.
  • O forse scrivo l'URL: example.com/scripts/ e sono in grado di visualizzare la loro directory a causa di impostazioni di autorizzazione errate?
  • Che cosa succede se manipolo i dati passati nelle intestazioni HTTP, ad esempio un prodotto negativo qty/price per vedere se eseguono la convalida lato server (naturalmente, non completerò il checkout).

A me tutto ciò sembra perfettamente innocuo perché:

  1. Non sto causando stress eccessivo al loro server tramite spamming, mirroring del sito con wget o iniettando SQL potenzialmente pericoloso.
  2. Non sto causando alcuna perdita potenziale o danno monetario, perché non sfrutterò mai le vulnerabilità, solo test per la loro esistenza (prova del concetto).
  3. Nessuna delle mie azioni avrà implicazioni per la privacy dei dati dell'utente. Nessuna delle mie azioni rivelerebbe potenzialmente informazioni riservate o private su nessuno.
  4. Se trovassi qualcosa, avviserei immediatamente il webmaster del potenziale exploit in modo che possano ripararlo.

Ma anche se sono logicamente in grado di giustificare le mie ragioni per testare il sito, ciò non rende necessariamente legali le mie azioni. In effetti, le leggi informatiche sono notoriamente arretrate negli Stati Uniti e persino le azioni più ridicolmente banali possono essere considerate hacking.

Domande: Esiste una linea definita nella sabbia che separa l'hacking illegale dal "test senza permesso"? Oppure l'intero scenario è un'area grigia che dovrei evitare (probabilmente il caso). Ci sono risorse online collegabili che potrebbero ampliare le mie conoscenze in quest'area totalmente grigia? Quali sono le leggi specifiche o che gestiscono questo?

Tieni presente che la scelta più logica numero uno sarebbe semplicemente: chiedere le autorizzazioni. Tuttavia, a causa di pesanti vincoli di tempo, quando avessi ottenuto il permesso sarebbe stato tutto per nulla.

58
Moses

Non farlo! Non farlo! Se sei negli Stati Uniti, la legge è molto ampia. Non vuoi nemmeno andare in punta di piedi fino alla linea.

La legge pertinente è il Computer Fraud and Abuse Act (18 U.S.C. 1030). In breve (e semplificando leggermente), ai sensi del CFAA, è un crimine federale "accedere intenzionalmente a un computer senza autorizzazione o superare l'accesso autorizzato". Questa lingua è molto ampia e immagino che un ambizioso procuratore potrebbe provare a usarlo per seguire tutto ciò che è nella tua lista tranne il n. 1 (vedi fonte).

Orin Kerr, uno dei principali studiosi legali in quest'area, chiama la statua "vaga" e "straordinariamente ampia" , e ha detto che "nessuno sa veramente cosa proibisce" .

E, come spiega @Robert David Graham, ci sono stati casi in cui le persone sono state perseguite, minacciate di essere perseguite o citate in giudizio per aver fatto quanto basta per digitare una sola citazione in una casella di testo, aggiungendo un ../ a un URL o registrarsi a Facebook con uno pseudonimo. È abbastanza selvaggio che questo da solo costituisca un reato federale, anche se non vi è alcuna intenzione malevola. Ma questo è l'ambiente legale in cui viviamo.

Direi, non correre rischi. Ottieni l'autorizzazione scritta dalla società di cui desideri testare i siti Web.

45
D.W.

La legge non è chiara. Qualsiasi cosa tu faccia, non importa quanto innocente, potrebbe essere considerata un crimine. Tutto quello che il proprietario del sito web deve fare è dire "Non volevo che ciò accadesse" e potresti essere condannato per un crimine.

Prima di effettuare una donazione a un sito Web dedicato allo tsunami, Daniel Cuthbert ha digitato ../../../ nell'URL. È stato condannato per "intenzione di hackerare" (nel Regno Unito).

Lori Drew è stato condannato per aver hackerato MySpace, perché ha violato i termini di servizio di MySpace creando un account falso, che è stato successivamente utilizzato da sua figlia di 14 anni per molestare un'altra ragazza, che in seguito si è suicidata. Le condanne sono state ribaltate più tardi e il governo ha deciso di non appellarsi, ma è comunque un'esperienza da evitare.

Andrew "weev" Auernheimer è stato dichiarato colpevole di furto di identità, poiché AT&T ha fornito informazioni sull'account cliente per i primi proprietari di iPad sul loro sito Web e ha scritto uno script che ha appena elencato gli URL e li ha scaricati.

Brian K. West è stato minacciato di essere perseguito perché ha fatto clic su un pulsante con l'etichetta "Modifica" su un sito Web di un giornale - ed è stato sorpreso di scoprire che ciò gli ha permesso di modificare la pagina Web effettiva. Dopo aver segnalato il problema al giornale, l'FBI lo ha indagato (inclusa la ricerca sul posto di lavoro di West e il sequestro di alcuni materiali) e un procuratore apparentemente lo ha minacciato di un crimine.

In un caso recente, è stato riscontrato che quando si fa in modo che una casella di posta si riempia di spam, quindi DoSing, si è resi colpevoli di "hackerarlo" come definito dalla legge sulle frodi e gli abusi di computer.

Faccio tutte le cose che descrivi. Ci sono linee che non attraverserò: testerò l'iniezione SQL, ma non accederò al database. Ma lo faccio perché posso permettermi avvocati costosi per difendermi. Inoltre, non farò cose stupide. Ad esempio, Daniel Cuthbert è stato condannato per "intenzione di hackerare" perché ha continuato a cambiare la sua storia quando gli è stato chiesto perché lo ha fatto, quindi il tribunale non ha creduto a nessuna storia.

54

L'unica costante in molte giurisdizioni sembra essere che l'unica azione sicura sulla tua lista sia il numero 1.

In alcune aree ti andrebbe bene modificare i dati, ma in realtà non dovresti rischiare.

Andrei al punto di dire che ti stai avvicinando a questo in modo completamente sbagliato.

Approccio migliore:

Informare la società di sviluppo web che, se vogliono la tua attività, devono fornire la prova che l'applicazione è stata testata secondo uno standard particolare. Nel Regno Unito è possibile farlo richiedendo un test da parte di un individuo o di un team approvato da CREST o CHECK. Oppure si può ottenere sicurezza utilizzando una delle società di revisione Big-4. Se hanno avuto un test, è possibile richiedere la visibilità della metodologia e dei risultati.

Migliore approccio:

Chiedi loro di dimostrare i controlli di sicurezza e governance nel loro ciclo di vita dello sviluppo. Un'organizzazione che è matura nella sicurezza utilizzerà un SDLC completo che ridurrà la probabilità di vulnerabilità e rimuoverà persino intere classi di vulnerabilità. Il test di penetrazione è quasi solo una conferma alla fine del processo.

11
Rory Alsop

Avvertenza: non sono un avvocato, solo un geek che suggerisce cautela.

Esiste una linea definita nella sabbia che separa l'hacking illegale dal "test senza permesso"? Oppure l'intero scenario è un'area grigia che dovrei evitare (probabilmente il caso). Ci sono risorse online collegabili che potrebbero ampliare le mie conoscenze in quest'area totalmente grigia? Quali sono gli atti o le leggi specifici che gestiscono questo?

No. Non c'è nemmeno un accordo su quali giurisdizioni si applicano molto meno quali leggi si applicano in tali giurisdizioni. Anche ignorando le sanzioni penali dovresti evitare di farlo solo a causa delle sanzioni civili.

Se fai la metà delle cose in quella lista, stai probabilmente violando i termini di servizio e qualsiasi uso non in buona fede delle risorse del computer può metterti in pericolo di azioni civili. Le tue argomentazioni sul fatto che non stai utilizzando risorse indebite si basano sulla speculazione su come ragionevoli ingegneri progetterebbero/implementerebbero i sistemi. Potresti benissimo avere ragione, ma non hai e non puoi verificare prima quelle affermazioni o assicurarti contro di esse. Se un crollo nella loro sala server coincide semplicemente con il tuo sondaggio, non vuoi essere in grado di dimostrare di non averlo causato.

Payload apparentemente innocui possono diventare un problema se moltiplicati da molti visitatori. Ad esempio, il tuo payload iniettato alert(1) può sembrare innocuo ma se trovi un XSS persistente e si manifesta sulla home page dove viene visto da x potenziale cliente per giorni. Per alcuni valori di x e d non è innocuo e non si ha il potere di mitigare quelle variabili.

Anche i pen-tester a contratto dovrebbero avere un'assicurazione di responsabilità civile quando lavorano con l'autorizzazione secondo "Test di penetrazione: il terzo hacker"

Tutti i fornitori di servizi di test di penetrazione dovrebbero avere un'assicurazione di responsabilità civile sufficiente a coprire i costi associati al rischio di perdere le informazioni proprietarie di un cliente e qualsiasi potenziale perdita di entrate che potrebbe derivare da tempi di inattività imprevisti causati dalle loro attività. Se il fornitore di servizi non ha un'assicurazione di responsabilità civile, prestare attenzione a come specificano la responsabilità nei loro "Termini e condizioni". La direzione deve inoltre assicurare di poter recuperare da una perdita di dati durante i test avendo predisposto adeguati piani di risposta agli incidenti e di disastro che sono stati sviluppati e verificati prima dell'inizio dei test.

Se sei stato assunto dalla società, potresti essere responsabile per la perdita di dati/affari quando il tuo sondaggio abbatte i sistemi di produzione. Se agisci senza un contratto o una relazione precedente e per il tuo vantaggio, sei ancora più a rischio se i loro sistemi (di cui non sapevano eseguire il backup prima di iniziare il sondaggio) presentano difetti che solleticano.

Diciamo che vai avanti e si traduce in una causa civile. Se vogliono farti pressione per risolverlo, potrebbero aumentare lo spettro delle sanzioni penali o cercare di ottenere danni punitivi paragonando le tue azioni a quelle per le quali vi sono sanzioni penali. Giudici e giurie potrebbero essere suscettibili al seguente argomento vagamente basato su "Cyber ​​Vandalism and Internet 'Hacktivism'" :

"Immagina che un fabbro voglia decidere quale serratura acquistare, quindi chiede a un fabbricante di serrature un elenco di clienti. Il fabbro va in un negozio di generi alimentari che utilizza le sue serrature e trova il negozio chiuso per la notte. e lo danneggia. Il proprietario del negozio arriva la mattina dopo per trovare la serratura rotta in modo che non possa aprirla e quindi non vende caffè quella mattina. La maggior parte delle giurisdizioni ha leggi contro i vandali e potrebbero essere usate contro il fabbro. I danni punitivi dovrebbero rivolgersi al fabbro perché la società ha interesse a punire i vandali ".

Indipendentemente dal fatto che trovi il fabbro che vuole comprare una serratura una buona analogia per te, giudici e giurie potrebbero, e c'è un meme tra i non esperti di tecnologia che gli "hacker" (vagamente definiti) sono vandali come descritto nella link sopra.

TLDR: non prepararti per una causa costosa andando a cowboy.

10
Mike Samuel

Questo non risponde alla tua particolare domanda, ma per la tua ipotetica situazione se hai il permesso di testare la sicurezza della loro applicazione, tutto quanto sopra è legale al 100%. Ancora meglio sarebbe chiedere al candidato di installare un sistema di test (non il loro vero sito Web), e quindi provare ad attaccare quel sistema di test. In questo modo se i tuoi test abbattono accidentalmente un sistema attivo (o qualcuno nota la minaccia e abbassa il sistema), non sei responsabile per danni.

Per i sistemi ai quali non si è affiliati che non richiedono test di penetrazione; Non andrei in giro a testare i difetti di sicurezza. Sì, non sarai in grado di sapere davvero che il sito Web della società XYZ è protetto dagli attacchi di iniezione SQL senza test, ma a meno che non abbiano concordato che dovresti testarlo - non è il tuo lavoro testarlo, e se vieni sorpreso a farlo in modo che possa e debba perseguirti.

È come chiedere, va bene provare a controllare e vedere se la casa del mio vicino è chiusa? O vedi se potrei facilmente scegliere la serratura (senza mai aprire la porta ed entrare)? O test per vedere se è possibile aprire una finestra che si può spingere attraverso? Se il tuo vicino o la polizia si accorge che stai facendo una di queste cose e ti senti costretto a sporgere denuncia, sei fregato a meno che tu non abbia una ragione legittima (ho sentito gridare aiuto all'interno; Stavo lasciando cadere qualcosa a casa loro e non l'ho fatto voglio lasciarlo fuori sotto la pioggia, quindi ho cercato di vedere se potevo aprire la porta).

6
dr jimbob

Supponendo che tu stia assumendo la società di sviluppo web per conto della tua azienda, chiederei consulenza all'ufficio legale della tua azienda. Se stai indagando sulla sicurezza per conto della tua azienda e qualcuno volesse intentare causa, quasi sicuramente farebbero causa alle tasche più profonde della tua azienda piuttosto che a te personalmente. Volete sicuramente che il vostro ufficio legale vi sostenga se ciò dovesse accadere.

L'ufficio legale della tua azienda è anche in una posizione molto migliore per sapere cosa consentono le leggi nazionali e statali. Se c'è qualche tipo di indagine criminale, il fatto che tu abbia consultato il tuo consiglio legale non ti indennizzerebbe, ma sarebbe sicuramente un punto a tuo favore.

5
Justin Cave