UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della.

Slides:



Advertisements
Presentazioni simili
Primary Italian Saying How You Are.
Advertisements

Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
Sfogliandomi… Viaggio tra me e me alla scoperta dellaltro… A travel between me and myself discovering the other…
Preposizioni semplici e articolate
Giovanni Falcone & Paolo Borsellino.
L’esperienza di un valutatore nell’ambito del VII FP Valter Sergo
Cache Memory Prof. G. Nicosia University of Catania
Prof. Stefano Bistarelli
Teoria e Tecniche del Riconoscimento
They will read I will study She will walk the dog You guys will win the game!
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
Relaunching eLene Who are we now and which are our interests.
Interrogativi Asking and answering questions in italiano.
1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
© and ® 2011 Vista Higher Learning, Inc.4B.1-1 Punto di partenza Italian uses two principal tenses to talk about events in the past: the passato prossimo.
Cancer Pain Management Guidelines
Che ore è? Che ore Sono?.
Il presente del congiuntivo (the present subjunctive)
Raffaele Cirullo Head of New Media Seconda Giornata italiana della statistica Aziende e bigdata.
J0 1 Marco Ronchetti - Corso di Formazione Sodalia – Febbraio 2001 – Modulo Web Programming Tomcat configuration.
prompt> java SumAverage
Directory services Directory offline –Elenchi telefonici –Guide TV –Cataloghi acquisti Directory online –Application specific (lotus notes, MS Exchange.
C Consiglio Nazionale delle Ricerche - Pisa Iit Istituto per lInformatica e la Telematica Reasoning about Secure Interoperation using Soft Constraints.
Biometry to enhance smart card security (MOC using TOC protocol)
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
TIPOLOGIA DELLE VARIABILI SPERIMENTALI: Variabili nominali Variabili quantali Variabili semi-quantitative Variabili quantitative.
Ergo : what is the source of EU-English? Standard British English? Standard American English? Both!!!! See morphology (use of British.
Comunicazione on-line, reti e virtualità Matteo Cristani.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 3 - Functions Outline 3.1Introduction 3.2Program Components in C++ 3.3Math Library Functions 3.4Functions.
Magnetochimica AA Marco Ruzzi Marina Brustolon
Chistmas is the most loved holiday of the years. Adults and children look forward to Chistmas and its magical atmosphere. It is traditional to decorate.
Players: 3 to 10, or teams. Aim of the game: find a name, starting with a specific letter, for each category. You need: internet connection laptop.
Concord A tool for the analysis and concordances of the terminological constituents P. Plini, N. Mastidoro* * - Èulogos, Rome Institute for Atmospheric.
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
25/09/2009 In un bar italiano Un ripasso Vocabolario Pagina 28.
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI ECONOMIA, GIURISPRUDENZA, INGEGNERIA, LETTERE E FILOSOFIA, SCIENZE POLITICHE. Corso di Laurea Interfacoltà in.
Guardate le seguenti due frasi:
Motor Sizing.
My Italian Experience By Ryan Davidson. My daily routine in Urbino If there was no field trip in the morning, my daily routine in Urbino was very basic.
La Gioconda was painted by which Italian renaissance artist? a) Raphael b) Leonardo da Vinci c) Caravaggio d) Michelangelo.
Funzioni stringhe. chr Restituisce il carattere di un valore ascii dato. Per vedere lelenco dei codici ascii clicca QQQQ uuuu iiiiEsempio
Tutor: Elisa Turrini Mail:
Enzo Anselmo Ferrari By Giovanni Amicucci. Di Enzo Questo è Enzo Anselmo Ferrari. Enzo compleanno è diciotto febbraio Enzo muore è quattordici agosto.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Federazione Nazionale Commercio Macchine Cantiermacchine Cogena Intemac Unicea Unimot ASSOCIAZIONE ITALIANA PER LA PROMOZIONE DELLA COGENERAZIONE.
Enzo anselmo ferrari By: Orazio Nahar.
Obesity surgery triples among U.S. teens Long-term outcomes unknown, especially for patients as young as 12 Surgeons to carry out plastic surgery on obese.
Collection & Generics in Java
EMPOWERMENT OF VULNERABLE PEOPLE An integrated project.
PLURALI - with NOUNS PAY ATTENTION TO THE ENDING OF THE NOUN! “O” ---> “I” ex) il quaderno -> i quaderni “A” ---> “E” ex) la matita -> le matite “E” --->
Introduction to automatic ABMs documentation Keywords: Doxygen ODD protocol MASON documentation Simone Romano.
LA WEB RADIO: UN NUOVO MODO DI ESSERE IN ONDA.
Stefano Rufini Tel
Teorie e tecniche della Comunicazione di massa Lezione 7 – 14 maggio 2014.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 - Protocolli del Web Ernesto Damiani Lezione 3 – Esempi HTTP.
UITA Genève ottobre Comitè du Groupe Professionnel UITA Genève octobre 2003 Trade Union and Tour.
A PEACEFUL BRIDGE BETWEEN THE CULTURES TROUGH OLYMPICS OLYMPIC CREED: the most significant thing in the olympic games is not to win but to take part OLYMPIC.
Guida alla compilazione del Piano di Studi Curricula Sistemi per l’Automazione Automation Engineering.
Passato Prossimo. What is it?  Passato Prossimo is a past tense and it is equivalent to our:  “ed” as in she studied  Or “has” + “ed” as in she has.
Saluti ed espressioni Greetings in Italian.
Italian 1 -- Capitolo 2 -- Strutture
Buon giorno Io sono Professoressa Kachmar. Buon giorno Io sono Professoressa Kachmar.
MyEconLab_Univerità degli studi di Milano, corso Prof.ssa Valentina Raimondi How to Access MyEconLab 1.
MyEconLab_Univerità degli studi di Milano, corso Prof.ssa Valentina Raimondi How to Access MyEconLab 1.
MSc in Communication Sciences Program in Technologies for Human Communication Davide Eynard Facoltà di scienze della comunicazione Università della.
Do You Want To Pass Actual Exam in 1 st Attempt?.
WRITING – EXERCISE TYPES
AusTel by taha.a.
Cyber Safety.
Transcript della presentazione:

UNIVERSITÀ DI PERUGIA DIPARTIMENTO DI MATEMATICA E INFORMATICA Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione canonicalization Prof. Stefano Bistarelli C Consiglio Nazionale delle Ricerche Iit Istituto di Informatica e Telematica - Pisa Università G. dAnnunzio Dipartimento di Scienze, Pescara

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 2 Vedi esempio canonicalization-microsoft

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 3 Problemi di Canonicalization Generalmente esistono pi ù metodi per assegnare i nomi Sono disponibili rappresentazioni alternative per: Nomi file URL Periferiche (ad esempio stampanti) Gli hacker possono sfruttare il codice che consente di effettuare determinate operazioni in base ai nomi file o agli URL

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 4 Problemi di Canonicalization Esempio 1 – Nomi file 1. MyLongFile.txt 2. MyLongFile.txt. 3. MyLong~1.txt 4. MyLongFile.txt::$DATA

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 5 Problemi di Canonicalization Esempio 2 – Rappresentazione dei caratteri Esistono molti modi per rappresentare i caratteri su Internet Equivale a =

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 6 Difesa.. Non molto.. (nel lab on line che non facciamo ce qualcosa per i sistemi windows …) In genere: In genere..

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Punti fondamentali Molti modi di rappresentare indirizzi e nomi, come il path ad un file, ma solo un metodo canonico I problemi di canonicalization portano a directory traversal vulnerabilities Capire quali funzioni del sistema operativo forniscono chiamate che aiutano nella canonicalizazzione Capire come usare chroot per difendersi contro directory traversal vulnerabilities

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Canonicalization and Directory Traversal: Outline Importance of Directory Traversal Vulnerabilities Canonical names BearShare example How to canonicalize Mitigating solutions (e.g., chroot) Lab

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Importance Directory traversal vulnerabilities sono comuni (ma non quanti I buffer overflows!) They may allow remotely writing or reading files, depending. These may be executable files, or be secret or confidential documents. Canonicalization issues are more complex in Windows, due to the many ways of naming a file short name (8.3) long name Unicode name Trailing dots, forward slashes or backslashes etc...

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Directory Traversal Vulnerabilities Basic Idea: the characters.. mean Go up a directory They can be inserted in file paths for Browsing Reading Execution Often a network services problem (e.g., ftp) Web sites Web-enabled applications Applications using networks

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Synonyms.. (dot dot) attacks Also... on Windows Windows 95, 98 Goes up two directories

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Definition of Canonical Canonical means *the* standard form or representation of something Canonicalization: "process by which various equivalent forms of a name can be resolved to a single, standard name – the so-called canonical name. Usually the simplest form Without symlinks /usr/../home/student is the same as /home/student /home/student is the canonical path

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Question Given that there is a symbolic link: /home/alfred/sss -> /home/myhomebiz/accounting/spreadsheets/ What is the canonical path to: /home/bob/../mary/../alfred/.//sss/may.xls ? a) /home/alfred/sss/may.xls b) /home/myhomebiz/accounting/spreadsheets/may.xls c) /home/alfred/may.xls

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Question Given that there is a symbolic link: /home/alfred/sss -> /home/myhomebiz/accounting/spreadsheets/ What is the canonical path to: /home/bob/../mary/../alfred/.//sss/may.xls ? a) /home/alfred/sss/may.xls b) /home/myhomebiz/accounting/spreadsheets/may.xls c) /home/alfred/may.xls

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione The Problem If you forbid access to /home/private but enable access to /home/public, what do you do with a request for: /home/public/../private ? /home/PRIVATE ? (This one is dependent on the file system)

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Answer /home/public/../private should of course be forbidden, but many programs are fooled by the presence of.. and equivalent character encodings and obfuscations. Programs filtering out only.. are still vulnerable.

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Mismatched Object and Access Control The HFS+ file system is case insensitive. /home/PRIVATE == /home/private Apache directory access control is case sensitive, as it is designed for UFS (UNIX File System). It thinks that /home/PRIVATE is different from /home/private. Join the two together and you have a canonicalization (directory traversal) vulnerability, even though both systems alone are correct. Fixed since

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Url Vulnerabilities protocol://server/path path contains..; what do you do?

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Symantec Example CVE Symantec Mail-Gear 1.0 web interface server allows remote users to read arbitrary files via a.. (dot dot) attack.

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Example With Bad Patches (Instructive) BearShare Peer-to-peer file sharing service Also had a vulnerable web server component!

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione BearShare CVE This would download the win.ini file from the windows directory. This is a classic Directory Traversal vulnerability.

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Wrong Way to Patch First attempt to patch, Apr Guess they forbid {/\}.(.)* (unencoded) in the path Why is it bad?

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione BearShare 4.05 Vulnerability Attempt to fix previous exploit by filtering bad stuff New exploit: ini %5c == \ This passes the filter Then it translates into: Returning the win.ini file.

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione BearShare cwin%2eini %2e is "." Also returns the win.ini file. What went wrong twice? Filter is a black list instead of white list Filter is applied before canonicalization Good time to remind of "How to obscure any URL"

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Windows: Trailing Characters Files ending with an extra. (dot) or \ can fool some access control mechanisms, but the filesystem automatically corrects the names by removing the trailing characters! file.txt. is the same as file.txt for the filesystem See Writing Secure Code by Howard and Leblanc Conclusion: It is important to use the Operating Systems functions for file canonicalization, so that your semantic validation and the OSs match.

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione How to Canonicalize Paths Goal: Find the absolute name of a file which contains no ".", ".." components nor any repeated path separators (/) or symlinks Note that race conditions may be possible in unsecured directories UNIX: realpath (obsolescent but may be only available function) Requires buffer allocation ahead of time Buffer should be of length PATH_MAX What if PATH_MAX is undefined because a system has no limit on path length? canonicalize_file_name (new) Allocates the needed memory

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione S. Bistarelli - Metodologie di Secure Programming 27 Canonical Names PHP: string realpath ( string path) Windows: GetFullPathName Java: File.getCanonicalPath() or File.getCanonicalFile()

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Solutions Without Code Chroot "jail" Confine a process to a specific directory Independent microsphere self-contained Derivatives FreeBSD "jail" Solaris "zones" Subdomain (Immunix) Applies an access control list to file references No duplication of files Windows doesn't have equivalent (closest functionality is virtual machines)

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Chroot Chroot changes the filesystem "root". The applications in a chroot jail can't use files outside the visible root of the filesystem They are "jailed" down in a subdirectory Example chdir("/foo/bar"); chroot("/foo/bar");

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Chroot Can Fail Doesnt work against root Is service running as root? If not, is there a vulnerability that yields root access? Yes -> Get Out of Jail Important to run with lowers privileges Special users FreeBSD "jail" claims to have closed those loopholes

Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Questions or Comments?