Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Introduzione Attacchi, tesina
La seguente tesina di maturità tratta del tema degli attacchi. La tesina abbraccia anche i seguenti argomenti nella varie discipline scolastiche: Presentazione di 0xSentinel – web attack security (reference e documentazione all'interno) in Informatica; Privacy and Security in Inglese; Sistemi della criptazione. Introduzione, analisi ed esempi con algoritmi di criptazione in Matematica; Sistema di acquisizione dati, con accenni al convertitore doppia rampa in Elettronica; Le guerre del ‘900 (1°guerra mondiale, la rivoluzione russa e la 2°guerra mondiale) in Storia; Avanguardie (il Futurismo) e il Manifesto di Marinetti in Italiano; L’ormone adrenalina, chiamato fight or fly, dei soldati in guerra e il sistema cardio-respiratorio in Ed. Fisica.
Collegamenti
Attacchi, tesina
Informatica - Presentazione di 0xSentinel – web attack security (reference e documentazione all'interno)
Inglese - Privacy and Security
Matematica - Sistemi della criptazione. Introduzione, analisi ed esempi con algoritmi di criptazione
Elettronica - Sistema di acquisizione dati, con accenni al convertitore doppia rampa
Storia - Le guerre del ‘900 (1°guerra mondiale, la rivoluzione russa e la 2°guerra mondiale)
Italiano - Avanguardie (il Futurismo) e il Manifesto di Marinetti
Edu. Fisica - L’ormone adrenalina, chiamato fight or fly, dei soldati in guerra e il sistema cardio-respiratorio
allontana dalle tipiche piattaforme costose ed ingombranti.
Sostanzialmente, bisogna seguire 4 steps fondamentali:
Scaricare il pacchetto (pronto per essere installato → 0xSentinel);
-
- Caricare il pacchetto sul web server;
- Recarsi sull'indirizzo web;
- Seguire le istruzioni a video.
Come si accennava nel primo paragrafo, 0xSentinel si appoggia su servizi
primitivi per poter funzionare. È un progetto indipendente e non sfrutta
nessuna piattaforma costruita da terzi. I requisiti minimi di sistema sono:
- PHP con versione 5.2.0
- MySQL con versione 5.0
[+] Tecniche di utilizzo
0xSentinel è un sistema “esterno” che si integra perfettamente nel proprio sito
web a patto che lo si includa nelle pagine PHP, al fine di sventare gli attacchi.
Per poter proteggere il sito, inserire nell'intestazione di ogni singolo file,
quanto segue:
<?php
include("/0xSentinel/sentinel.php");
?>
Questo codice in PHP, permette di includere il file essenziale di 0xSentinel e
quindi avere una integrazione completa, efficiente e sicura. Sicura per i
benefici che assicura ogni linguaggio lato server (come per l'appunto il PHP).
[+] File in 0xSentinel
0xSentinel è composto da molti file, è bene quindi analizzarli nel dettaglio per
avere un quadro generale di come il CMS in questione è strutturato ed
organizzato. Per una più semplice comprensione è stato usato il paradigma di
–
programmazione che offre il PHP ovvero l'OOP (object oriented language
linguaggio di programmazione ad oggetti). Per agevolare lo studio il nome di
ogni file rispecchia il suo fine e il suo obiettivo.
0xSentinel è costituito da 15 file con estensione PHP, con una lunghezza
–
media di 245 righe di codice 8 immagini che vanno a coprire una grafica
–
pulita e semplice 1 file con estensione SQL da inserire, al momento della
–
installazione, nel database per riconoscere gli attacchi informatici 1 file con
estensione CSS per la gestione della grafica.
→ [+]
Formattazione directory [Dir] 0xProject
[+] [Dir] Images
[-] [Img] add.png
[-] [Img] banner.png
[-] [Img] delete.gif
[-] [Img] edit.gif
[-] [Img] logo.png
[-] [Img] off.png
[-] [Img] on.png
[-] [Img] update.png
[+] [Dir] Lib
[-] [PHP] 0xSentinel.class
[-] [PHP] Admin.class
[-] [PHP] BanIp.class
[-] [PHP] Layout.class
[-] [PHP] MySQL.class
[-] [PHP] About
[-] [PHP] Admin
[-] [PHP] Banner
[-] [PHP] Config
[-] [PHP] Index
[-] [PHP] Install
[-] [PHP] Login
[-] [PHP] Sentinel
[-] [SQL] Rules
[-] [CSS] Style
Sorvolando sulla cartella immagini (Images), analizziamo nel dettaglio ogni
…
singolo file, partendo da quelli più esterni (About Style) per poi andare a
finire nel cuore del sistema con le classi in PHP (0xSentinel … MySQL)
[-] [PHP] Index: è il file principale. Index.php gestisce oltre il login
(attraverso la definizione o meno della variabile sessione), anche
l'installazione di 0xSentinel. Se il CMS è da installare, allora sarà presente il
file install.php che verrà reindirizzato in maniera automatica. In fine, da
index.php è possibile sfogliare i vari menù attraverso il parametro act (action)
inviato per metodo GET ($_GET['act']).
[-] [PHP] Install: è il file che permette l'installazione. Se è presente il file
allora il pacchetto è ancora da installare. Il file in questione verrà cancellato
una volta terminata la procedura in maniera automatica. Install.php ha una
comoda interfaccia grafica ed invita l'utente ad inserire i parametri essenziali
–
(come dati d'accesso per connettersi al database e user password per un
account con privilegi da amministratore). I dati di accesso per connettersi al
DB vengono salvati in un file PHP (config) mentre i dati di accesso per
l'admin zone vengono scritti nel DB. Il file che permette l'installazione di
0xSentinel crea nel DB le tabelle necessarie, affinché tutto funzioni. Per
ultimo, il file in questione viene cancellato, completando così l'installazione.
[-] [PHP] Config: viene creato al momento dell'installazione. All'interno del
file sono presenti le variabili utilizzate per la connessione al database
($db_host, $db_user, $db_name, $db_pass). Le informazioni sono trattate
come stringhe in chiaro, ma la cosa non preoccupa in quanto saranno poi
inaccessibili ai visitatori privi di credenziali per accedere all'FTP.
[-] [PHP] About: come suggerisce il nome del file, quest'ultimo mostra al
navigatore cosa il CMS fa e come lo fa, descrivendo nel dettaglio quali tipi di
attacchi riesce a riconoscere bloccandoli. ** Si veda il capitolo [+] Di cosa si occupa 0xSentinel **
[-] [PHP] Banner: al fine di aumentare la popolarità e la visibilità del progetto,
è stata creata una pagina dedicata al banner. All'interno del pagina Banner.php
verrà mostrato un piccolo logo di 0xSentinel (creato al momento grazie alla
libreria GD, personalizzandolo con statistiche reali) dando così la possibilità
di condividere il CMS all'interno del sito web. Il logo rimanda al sito web
ufficiale del progetto 0xSentinel. Questo sistema è stato pensato per
permettere ad un qualunque visitatore di un sito web, protetto da 0xSentinel,
di venirne a conoscenza.
[-] [PHP] Login: come facile intuire dal nome, il file gestisce il login di un
amministratore. Il login fa largo uso delle sessioni, non avendo così problemi
con la sicurezza. Il file rintraccia, attraverso una query, l'username e la
password creata al momento dell'installazione e la confronta con i due dati
inseriti dall'utente. Se i dati combaciano, allora viene creata una sessione
contenente:
Token → un bigliettino di tracciamento;
- 0xSentinel → la password criptata in MD5 per mantenere il login.
-
Come anticipato, le password, prima di essere confrontate, vengono criptate
in MD5. La conversione in MD5 è irreversibile!
[-] [PHP] Sentinel: è il cuore del sistema. Questo file permette l'integrazione
tra il sito web e 0xSentinel. Gestisce quindi, attraverso delle impostazioni, le
richieste esterne. Sentinel.php si appoggia alla classe 0xSentinel.class. Questo
è un chiaro esempio delle potenzialità offerte dalla programmazione ad
oggetti. ** Si veda capitolo [+] Tecniche di utilizzo && [+] Introduzione ai CMS e 0xSentinel **
[-] [PHP] Admin: il file riesce a gestire le impostazioni nell'Admin zone. Il
file si appoggia su molte classi (come Layout.class, BanIp.class e
Admin.class), create appositamente per alleggerire il codice. Le varie
impostazioni si suddividono in sette menù ed ognuno di essi si divide in altri
sotto menù. I sette menù principali sono:
Satus → visualizza lo stato del sistema;
- Settings → visualizza le
- voci dello Status permettendo la modifica;
Rules → visualizza le regEX per riconoscere e bloccare gli attacchi;
- Ban Ip → visualizza gli IP bloccati permettendone l'aggiunta;
- Logs → visualizza i vari logs degli attacchi bloccati;
- Banner → ** si
- rimanda al file [PHP] Banner.php **
Logout → permette di uscire dall'Admin Zone, disconnettendosi.
-
[-] [CSS] Style: è il foglio di stile su cui è sviluppata l'interfaccia grafica del
CMS. Viene anche chiamato tema.
Continuando, descrivo in maniera breve e coincisa le varie classi che
compongono il sistema. Non si vuole entrare troppo nello specifico per non
rovinare la magia che offre l'OOP, mascherando i dati all'utente finale.
[+] [PHP] 0xSentinel.class: è il vero cuore del sistema. Il file riesce a
riconoscere l'attacco informatico, lo blocca e lo registra nel database incluso
indirizzo IP dell'attaccante, tipo di attacco e data dell'attacco. Invia inoltre una
email di notifica, inserita al momento della installazione dall'admin.
[+] [PHP] Admin.class: è il file che gestisce l'Admin zone. Permette di
cambiare le varie impostazioni come ad esempio, il settaggio su OFF di un
determinato attacco, non riconoscendolo; oppure la possibilità di bannare e
bloccare un ip; oppure ancora la possibilità di aggiungere nuove regole per
riconoscere un attacco attraverso le regEX.
[+] [PHP] BanIp.class: permette di riconoscere un determinato IP e se è
presente nella black list (gestita da un admin grazie alla classe Admin.class) lo
respinge reindirizzandolo su http://www.google.it
[+] [PHP] MySQL.class: è la classe che è alla base della gestione delle query
e più in generale dell'intero DB. La stesura di questa classe era opzionale in
quanto già PHP offre delle funzioni per la gestione dell'intero database. Si è
voluto creare una classe del genere, anche se opzionale, per avere una
esperienza OOP a 360°.
[+] [PHP] Layout.class: permette la gestione, come intuibile dal nome, del
layout e quindi della grafica. In questa classe troviamo l'header e il footer
evitando di riportare in ogni file la funzione di richiamo, risolvendo con una
semplice istanza della classe e chiamare i metodi rispettivamente $this-
>header() e $this->footter.
[+] Diagramma ER
Per poter esaminare la struttura del DB, creata in maniera automatica dal CMS
una volta installato, visionare questo indirizzo:
http://www.med2014.altervista.org/maturita/ER.png
[+] Ringraziamenti
Si ringrazia King-Infet, per la stesura di 0xSentinel e mille grazie per avermi
concesso di studiarlo (e modificarlo in ogni sua parte, aggiungendo
commenti e piccole utility).
Security and privacy on the Internet
Nowadays Internet is very popular, it is a part of our daily lives. Everyone can buy anything (thanks to
online transactions) or just meet new people. These are all advantages.
There are hackers who steal crucial data and information like email usernames and passwords and
credit card PINs. Hackers are experts of PCs.
There are clearly a lot of disadvantages in using Internet: nowadays meeting a hacker is very common so
which steps do you follow to protect your information? First of all consider the browser you installed
when you bought your PC, then be sure that your browser is the last release and Keep your software
always updated!
One of the most popular browser is Mozilla Firefox. This browser shows you a lock when the website is
secure. Firefox supports SSL that is a protocol which provides secure transactions.
The topic email is very hard to deal with security. There is a lot of sensitive information in the Email, but
Keep calm and don't worry. You can encrypt the text of your emails. There is a lot of good software
which does this!
If you are a network security admin, use passwords for access control, firewalls and encryption and
decryption systems. Hackers are very widespread in this field.
At last you have to install an anti-virus in your PC. There are not many good freeware anti-virus programs
and they are very expensive but essential. They keep you away from worms, trojans and spyware.
The history of hacking
There have been lots of hackers who have stolen data and information since Internet was born.
John Draper: In 1971 he discovered how to make free calls with a particular whistle which
•
generated a specific Hz signal used by the AT&T phone company.
Kevin Mitnick: in 1974 he entered into banking networks and edited the credit reports of his
•
enemies. He is also known as the best hacker all over the world.
In 1989 an anonymous teenager (15 years old) cracked US Defense computers.
•
There have been also lots of worms, trojans and simple viruses spread by hackers:
Melissa virus: this virus tempts recipients into opening a document with an e-mail message like
•
"Here is that document you asked for, don't show it to anybody else." Once activated, the virus
replicates itself and sends itself out to the top 50 people in the recipient's e-mail address book.
I LOVE YOU virus: this virus comes in an e-mail note with "I LOVE YOU" in the subject line and
•
contains an attachment that, when opened, results in the message being re-sent to everyone in
the recipient's Microsoft Outlook address book and, perhaps more seriously, the loss of every
JPEG, MP3, and certain other files on the recipient's hard disk.
Internet issues
The following list shows you keywords which refer to different types of computer attacks.
Piracy: you will use this word to describe an illegal copy of copyrighted software, films and
•
music.
Plagiarism: you will use this word when a person pretends that someone else's work is his own.