SlideShare a Scribd company logo
2014/06/02
Zürich, Switzerland
Schizophrenic
files
Ange Albertini
Gynvael Coldwind
Schizophrenic files
Area41
Gynvael Coldwind
Security researcher, Google
Dragon Sector captain
likes hamburgers
http://gynvael.coldwind.pl/
All opinions expressed during this presentation are mine and mine alone.
They are not opinions of my lawyer, barber and especially not my employer.
Ange Albertini
Reverse engineering
&
Visual Documentations
http://corkami.com
1 file + 2 tools
⇒ 2 different documents
No active detection in the file.
abusing parsers for
● fun
● bypassing security
○ same-origin policy
○ evade detection
○ exfiltration
○ signing
■ Android Master Key
ZIP archives
excerpt from Gynvael's talk:
"Dziesięć tysięcy pułapek: ZIP, RAR, etc."
(http://gynvael.coldwind.pl/?id=523)
ZIP
trick 1
a glitch in the matrix
file names in ZIP
a couple of files with the same name?
update:
for an awesome example see:
Android: One Root to Own Them All
Jeff Forristal / Bluebox
(https://media.blackhat.com/us-13/US-13-Forristal-Android-One-Root-to-Own-Them-All-Slides.pdf)
ZIP
trick 2
abstract kitty
Let's start with simple stuff -
the ZIP format
A ZIP file begins with letters PK.
Let's start with simple stuff -
the ZIP format
A ZIP file begins with letters PK.
WRONG
ZIP - second attempt :)
.zip file
last 65557 bytes of the file
the "header" is
"somewhere" here
PK56...
ZIP - "somewhere" ?!
4.3.16 End of central directory record:
end of central dir signature 4 bytes (0x06054b50)
number of this disk 2 bytes
number of the disk with the
start of the central directory 2 bytes
total number of entries in the
central directory on this disk 2 bytes
total number of entries in
the central directory 2 bytes
size of the central directory 4 bytes
offset of start of central
directory with respect to
the starting disk number 4 bytes
.ZIP file comment length 2 bytes
.ZIP file comment (variable size)
you
begin
ZIP
parsing
from
this; it MUST
be
at the end
of the file
$0000-$FFFF
0-65535
22bajty
Total: from 22 to 65557 bytes
(aka: PK56 magic will be somewhere between EOF-65557 and EOF-22)
ZIP - looking for the "header"?
"From the START"
Begin at EOF-65557,
and move forward.
"From the END"
(ZIPs usually don't have comments)
Begin at EOF-22,
and move backward.
PK56...
"somewhere"
PK56...
"somewhere"
The show will
continue in a
moment.
Larch
Something completely different
ZIP Format - LFH
4.3.7 Local file header:
local file header signature 4 bytes (0x04034b50)
version needed to extract 2 bytes
general purpose bit flag 2 bytes
compression method 2 bytes
last mod file time 2 bytes
last mod file date 2 bytes
crc-32 4 bytes
compressed size 4 bytes
uncompressed size 4 bytes
file name length 2 bytes
extra field length 2 bytes
file name (variable size)
extra field (variable size)
file data (variable size)
randomstuff
PK34... LFH + data
Each file/directory in a ZIP has LFH + data.
ZIP Format - CDH
[central directory header n]
central file header signature 4 bytes (0x02014b50)
version made by 2 bytes
version needed to extract 2 bytes
general purpose bit flag 2 bytes
compression method 2 bytes
last mod file time 2 bytes
last mod file date 2 bytes
crc-32 4 bytes
compressed size 4 bytes
uncompressed size 4 bytes
file name length 2 bytes
extra field length 2 bytes
file comment length 2 bytes
disk number start 2 bytes
internal file attributes 2 bytes
external file attributes 4 bytes
relative offset of local header 4 bytes
file name (variable size)
extra field (variable size)
file comment (variable size)
similarstufftoLFH
PK21... CDH
Each file/directory has a CDH entry in the Central Directory
thanks to the
redundancy you
can recover LFH
using CDH, or
CDH using LFH
ZIP - a complete file
PK34... LFH + data PK56...EOCDPK21... CDH
Files (header+data) List of files
(and pointers)
ZIP - a complete file (continued)
PK34... LFH + data PK56...EOCDPK21... CDH
PK34... LFH + data PK56...EOCDPK21... CDH
If the list of the files has pointers to files...
... the ZIP structure can be more relaxed.
ZIP - a complete file (continued)
PK56...EOCDPK21... CDH PK34... LFH + data
file comment (variable size)
You can even do an "inception"
(some parsers may allow EOCD(CHD(LFH)))
And now back
to our show!
(we were looking
for the EOCD)
Larch
Something completely different
ZIP - looking for the "header"?
"stream"
Let's ignore EOCD!
(it's sometimes faster)
(99.9% of ZIPs out there can be parsed this way)
PK34... LFH + data PK34... LFH + data PK34... LFH + data
(single "files" in an archive)
PK56...
(who cares...)
ZIP - looking for the "header"?
"aggressive stream"
We ignore the "garbage"!
(forensics)
PK34... LFH + data PK34... LFH + data PK34... LFH + data
(single "files" in an archive)
PK56...
(who cares...)
Let's test the parsers!
abstract.zip
EOCD
LFH+data
CDH
EOCD
LFH+data
CDH
LFH+data
LFH+data
syntax breaker
yellow is a
comment
of the
green
archive
stream
aggressive
stream
start-first
end-first
abstract.zip
abstract.zip
from zipfile import ZipFile
ZipFile("abstract.zip", "r").
printdir()
abstract.zip
<?php
$za = new ZipArchive();
$za->open('abstract.zip');
for ($i=0; $i<$za->numFiles;$i++) {
echo "index: $in";
print_r($za->statIndex($i));
}
echo "numFile:" . $za->numFiles . "n";
abstract.zip
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class zip {
public static void main(String args[]) throws
java.io.IOException, java.io.FileNotFoundException {
InputStream f = new FileInputStream("abstract.zip");
ZipInputStream z = new ZipInputStream(f);
ZipEntry e;
while((e = z.getNextEntry()) != null) {
System.out.println(e.getName());
}
}
}
abstract.zip
EOCD
CDH
EOCD
readme_StartFirst.txt
CDH
readme_AggressiveStream.txt
readme_Stream.txt
syntax breaker
abstract.zip
readme_EndFirst.txt
Total Commander 8.01
UnZip 6.00 (Debian)
Midnight Commander
Windows 7 Explorer
ALZip
KGB Archiver
7-zip
b1.org
Python zipfile
JSZip
C# DotNetZip
perl Archive::Zip
Jeffrey's Exif Viewer
WOBZIP
GNOME File Roller
WinRAR
OSX UnZip
zip.vim v25
Emacs Zip-Archive mode
Ada Zip-Ada v45
Go archive/zip
Pharo smalltalk 2.0 ZipArchive
Ubuntu less
Java ZipFile
EOCD
CDH
EOCD
readme_StartFirst.txt
CDH
readme_AggressiveStream.txt
readme_Stream.txt
syntax breaker
abstract.zip
readme_EndFirst.txt
PHP ZipArchive
PHP zip_open ...
PHP zip:// wrapper
tcl + tclvfs + tclunzip
EOCD
CDH
EOCD
readme_StartFirst.txt
CDH
readme_AggressiveStream.txt
readme_Stream.txt
syntax breaker
abstract.zip
readme_EndFirst.txt
Ruby rubyzip2
Java ZipArchiveInputStream
java.util.zip.ZipInputStream
EOCD
CDH
EOCD
readme_StartFirst.txt
CDH
readme_AggressiveStream.txt
readme_Stream.txt
syntax breaker
abstract.zip
readme_EndFirst.txt
binwalk (found all)
EOCD
CDH
EOCD
readme_StartFirst.txt
CDH
readme_AggressiveStream.txt
readme_Stream.txt
syntax breaker
abstract.zip - result summary
readme_EndFirst.txt
Thanks!
● Mulander
● Felix Groebert
● Salvation
● j00ru
abstract.zip - who cares?
● verify files via End-First
● unpack via Stream
Oops.
abstract.zip - AV
EICAR test results (using VT):
● most End-First
● some Aggressive
● Stream-only:
○ VBA32
○ NANO-Antivirus
○ Norman
○ F-Prot
○ Agnitum
○ Commtouch
https://docs.google.com/spreadsheet/ccc?
key=0Apy5AGVPzpIOdDRPTFNJQXpqNkdjUzl4SE80c1kwdkE&usp=sharing
Portable Document File
http://youtu.be/JQrBgVRgqtc?t=11m15s
https://speakerdeck.com/ange/pdf-secrets-hiding-and-revealing-secrets-in-pdf-documents?slide=44
% trailer <</Root …>>
trailer <</Root …>>
<</Root …>>
sometimes,
it’s in the specs
obscurity via over-specification?
notice anything unusual?
WYSIWYG
“Optional Content Configuration”
● principles
○ define layered content via various /Forms
○ enable/disable layers on viewing/printing
● no warning when printing
● “you can see the preview!”
○ bypass preview by keeping page 1 unchanged
○ just do a minor change in the file
PDF Layers 1/2
● it’s Adobe only
○ what’s displayed varies with readers
○ could be hidden via previous schizophrenic trick
● it was in the specs all along
○ very rarely used
○ can be abused
PDF Layers 2/2
BMP
Trick 1
(originally published in Gynvael's "Format BMP okiem hakera" article in 2008)
FILE HEADER
INFO HEADER
PIXEL DATA
offset 0
offset N
bfOffBits
bfOffBits
Specifies the offset, in
bytes, from the
BITMAPFILEHEADER
structure to the bitmap
bits
(MSDN)
FILE HEADER
INFO HEADER
PIXEL DATA
(secondary)
offset 0
offset N
bfOffBits
bfOffBits
Specifies the offset, in
bytes, from the
BITMAPFILEHEADER
structure to the bitmap
bits
(MSDN)
PIXEL DATA
● Some image
viewers ignore
bfOffBits and look
for data
immediately after
the headers.
Different images, depending on
which pixel data is used.
PIXEL DATA
(secondary)
PIXEL DATA
BMP
Trick 2
Something I've learnt about because it spoiled my steg100
task for a CTF (thankfully during testing).
BMP compression & palette
Run-Length Encoding (each box is 1 byte):
Length
>0
Palette Index
(color)
Length
0
End of Line
0
Length
0
End of Bitmap
1
Length
0
Move Cursor
2
X offset Y offset
Length
0
RAW Length
>2
Palette Index
(color)
Palette Index
(color)
...
BMP compression & palette
Question: If the opcodes below allow jump over pixels and
set no data, how will the pixels look like?
Hint: Please take a look at the presentation title :)
Length
0
End of Line
0
Length
0
End of Bitmap
1
Length
0
Move Cursor
2
X offset Y offset
Option 1
The missing data will be filled with background color.
(index 0 in the palette)
Option 2
The missing data will be black.
Option 3
The missing data will be transparent.
(pink represents transparency)
PNG
a data schizophren
image data combining
● 2 images
● via 2 palettes
cute PoC by @reversity
“There shall not be more than one PLTE chunk”
different images depending on which PLTE chunk is used
Portable Executable
W8Vista
XP
Relocations types
Type 4
HIGH_ADJ -- -- ✓
Type 9
MIPS_JMPADDR16
IA64_IMM64
MACHINE_SPEC_9
32 bit 64 bit ✗
Relocations on relocations
Type 4
HIGH_ADJ -- -- ✓
Type 9
MIPS_JMPADDR16
IA64_IMM64
MACHINE_SPEC_9
32 bit 64 bit ✗
Type 10
DIR64
✓ ✓ ✓
as
seen
in
PoC
||G
TFO
Relocation-based PE Schizophren
Julian Bangert, Sergey Bratus -- ELF Eccentricities
https://www.youtube.com/watch?v=4LU6N6THh2U
GIF
Something Gynvael stumbled on in 2008,
but never made a PoC... until now.
(with great input from Ange)
GIF
GIF can be made of many small images.
If "frame speed" is defined, these are frames instead
(and the first frame is treated as background).
x
x
x y
yy
GIF
Certain parsers (e.g. browsers) treat "images" as "frames"
regardless of "frame speed" not being defined.
Frame 1 Frame 2 Frame 3
GIF
Certain parsers (e.g. browsers) treat "images" as "frames"
regardless of "frame speed" not being defined.
Frame 1 Frame 2 Frame 3
GIF
Schizophrenic PoC:
Frame 1 Frames 2-10001
1x1 px
Frame 10002
These apps try to force animation.
These apps render the GIF by the specs.
GIMP says "frames", but allows one to see
all the frames, which is nice.
same-tool schizophrenia
1 file + 1 tool = 2 behaviors
it was too simple
● WinRar: different behavior when viewing or
extracting
○ opening/failing
○ opening/’nothing’
● Adobe: viewing ⇔printing
○ well, it’s a feature
Failures / Ideas / WIP
Screen ⇔ Printer schizophren
via color profiles?
Failures / Ideas / WIP
● screen ⇔ printer
○ embedded color profiles?
● JPG
○ IrfanView vs the world
● Video
○ FLV: video fails but still plays sound ?
PNG
Various ancillary chunks (rendering level)
● partially supported:
○ gamma
○ transparency (for palettes)
● never supported?
○ significant bits
○ chromacities
● always supported?
○ physical size
Conclusion
Conclusion
● such a mess
○ specs are messy
○ parsers don’t even respect them
● no CVE/blaming for parsing errors?
○ no security bug if no crash or exploit :(
PoCs and slides: http://goo.gl/Sfjfo4
ACK
@reversity @travisgoodspeed @sergeybratus
qkumba @internot @pdfkungfoo
@j00ru ise ds vx
questions?
Ange Albertini
Gynvael Coldwind
thank you
It's time to kick ass and chew bubble gum... and I'm all outta gum.
@angealbertini
@gynvael
Flash (SWF) vs Prezi
vs
Bonus Round
(not a fully schizophrenic problem in popular
parsers, that's why it's here)
Prezi SWF sanitizer
Prezi allows embedding SWF files.
But it first sanitizes them.
It uses one of two built-in SWF parsers.
There was a problem in one of them:
● It allowed huge chunk sizes.
● It just "jumped" (seeked) over these chunk...
● ...which resulted in an integer overflow...
● ...and this lead to schizophrenia.
● As the sanitizer saw a good SWF...
● ...Adobe Flash got its evil twin brother.
Prezi SWF sanitizer
"good" SWF sent to sanitizer
and its evil twin brother
kudos to the sanitizer!
Fixed in Q1 2014. For details see:
"Integer overflow into XSS and other fun stuff - a case study of a bug bounty"
http://gynvael.coldwind.pl/?id=533

More Related Content

What's hot

Flash! (Modern File Systems)
Flash! (Modern File Systems)Flash! (Modern File Systems)
Flash! (Modern File Systems)
David Evans
 
COM1407: File Processing
COM1407: File Processing COM1407: File Processing
COM1407: File Processing
Hemantha Kulathilake
 
File handling and Dictionaries in python
File handling and Dictionaries in pythonFile handling and Dictionaries in python
File handling and Dictionaries in python
nitamhaske
 
あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界
Ryousei Takano
 
Filesinc 130512002619-phpapp01
Filesinc 130512002619-phpapp01Filesinc 130512002619-phpapp01
Filesinc 130512002619-phpapp01
Rex Joe
 
Data file handling
Data file handlingData file handling
Data file handling
TAlha MAlik
 
Python - File operations & Data parsing
Python - File operations & Data parsingPython - File operations & Data parsing
Python - File operations & Data parsing
Felix Z. Hoffmann
 
GopherCon Denver LT 2018
GopherCon Denver LT 2018GopherCon Denver LT 2018
GopherCon Denver LT 2018
Prateek Gogia
 
File handling in C++
File handling in C++File handling in C++
File handling in C++
Hitesh Kumar
 
Filesin c++
Filesin c++Filesin c++
Filesin c++
HalaiHansaika
 
File Handling Python
File Handling PythonFile Handling Python
File Handling Python
Akhil Kaushik
 
file handling, dynamic memory allocation
file handling, dynamic memory allocationfile handling, dynamic memory allocation
file handling, dynamic memory allocation
indra Kishor
 
Files in c++ ppt
Files in c++ pptFiles in c++ ppt
Files in c++ ppt
Kumar
 
File handling in_c
File handling in_cFile handling in_c
File handling in_c
sanya6900
 
17 files and streams
17 files and streams17 files and streams
17 files and streams
Docent Education
 
Unit 7
Unit 7Unit 7
Unit 7
siddr
 
File in cpp 2016
File in cpp 2016 File in cpp 2016
File in cpp 2016
Dr .Ahmed Tawwab
 
Mercurial intro
Mercurial introMercurial intro
Mercurial intro
RealNitro
 
Files in c++
Files in c++Files in c++
Files in c++
Selvin Josy Bai Somu
 

What's hot (19)

Flash! (Modern File Systems)
Flash! (Modern File Systems)Flash! (Modern File Systems)
Flash! (Modern File Systems)
 
COM1407: File Processing
COM1407: File Processing COM1407: File Processing
COM1407: File Processing
 
File handling and Dictionaries in python
File handling and Dictionaries in pythonFile handling and Dictionaries in python
File handling and Dictionaries in python
 
あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界
 
Filesinc 130512002619-phpapp01
Filesinc 130512002619-phpapp01Filesinc 130512002619-phpapp01
Filesinc 130512002619-phpapp01
 
Data file handling
Data file handlingData file handling
Data file handling
 
Python - File operations & Data parsing
Python - File operations & Data parsingPython - File operations & Data parsing
Python - File operations & Data parsing
 
GopherCon Denver LT 2018
GopherCon Denver LT 2018GopherCon Denver LT 2018
GopherCon Denver LT 2018
 
File handling in C++
File handling in C++File handling in C++
File handling in C++
 
Filesin c++
Filesin c++Filesin c++
Filesin c++
 
File Handling Python
File Handling PythonFile Handling Python
File Handling Python
 
file handling, dynamic memory allocation
file handling, dynamic memory allocationfile handling, dynamic memory allocation
file handling, dynamic memory allocation
 
Files in c++ ppt
Files in c++ pptFiles in c++ ppt
Files in c++ ppt
 
File handling in_c
File handling in_cFile handling in_c
File handling in_c
 
17 files and streams
17 files and streams17 files and streams
17 files and streams
 
Unit 7
Unit 7Unit 7
Unit 7
 
File in cpp 2016
File in cpp 2016 File in cpp 2016
File in cpp 2016
 
Mercurial intro
Mercurial introMercurial intro
Mercurial intro
 
Files in c++
Files in c++Files in c++
Files in c++
 

Similar to Schizophrenic files

Schizophrenic files v2
Schizophrenic files v2Schizophrenic files v2
Schizophrenic files v2
Ange Albertini
 
PDF: myths vs facts
PDF: myths vs factsPDF: myths vs facts
PDF: myths vs facts
Ange Albertini
 
Funky file formats - 31c3
Funky file formats - 31c3Funky file formats - 31c3
Funky file formats - 31c3
Ange Albertini
 
Trusting files (and their formats)
Trusting files (and their formats)Trusting files (and their formats)
Trusting files (and their formats)
Ange Albertini
 
The challenges of file formats
The challenges of file formatsThe challenges of file formats
The challenges of file formats
Ange Albertini
 
Caring for file formats
Caring for file formatsCaring for file formats
Caring for file formats
Ange Albertini
 
Advanced Pdf Tricks
Advanced Pdf TricksAdvanced Pdf Tricks
Advanced Pdf Tricks
Ange Albertini
 
Relations between archive formats
Relations between archive formatsRelations between archive formats
Relations between archive formats
Ange Albertini
 
Simple Data Engineering in Python 3.5+ — Pycon.DE 2017 Karlsruhe — Bonobo ETL
Simple Data Engineering in Python 3.5+ — Pycon.DE 2017 Karlsruhe — Bonobo ETLSimple Data Engineering in Python 3.5+ — Pycon.DE 2017 Karlsruhe — Bonobo ETL
Simple Data Engineering in Python 3.5+ — Pycon.DE 2017 Karlsruhe — Bonobo ETL
Romain Dorgueil
 
TimeCryption
TimeCryptionTimeCryption
TimeCryption
Ange Albertini
 
Binary art - funky PoCs & visual docs
Binary art - funky PoCs & visual docsBinary art - funky PoCs & visual docs
Binary art - funky PoCs & visual docs
Ange Albertini
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 
Clustered and distributed
 storage with
 commodity hardware 
and open source ...
Clustered and distributed
 storage with
 commodity hardware 
and open source ...Clustered and distributed
 storage with
 commodity hardware 
and open source ...
Clustered and distributed
 storage with
 commodity hardware 
and open source ...
Phil Cryer
 
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s goingKernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Anne Nicolas
 
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-BayesOSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
NETWAYS
 
Internal representation of files ppt
Internal representation of files pptInternal representation of files ppt
Internal representation of files ppt
Abhaysinh Surve
 
bup backup system (2011-04)
bup backup system (2011-04)bup backup system (2011-04)
bup backup system (2011-04)
apenwarr
 
Part 4 of 'Introduction to Linux for bioinformatics': Managing data
Part 4 of 'Introduction to Linux for bioinformatics': Managing data Part 4 of 'Introduction to Linux for bioinformatics': Managing data
Part 4 of 'Introduction to Linux for bioinformatics': Managing data
Joachim Jacob
 
Managing your data - Introduction to Linux for bioinformatics
Managing your data - Introduction to Linux for bioinformaticsManaging your data - Introduction to Linux for bioinformatics
Managing your data - Introduction to Linux for bioinformatics
BITS
 
Improving file formats
Improving file formatsImproving file formats
Improving file formats
Ange Albertini
 

Similar to Schizophrenic files (20)

Schizophrenic files v2
Schizophrenic files v2Schizophrenic files v2
Schizophrenic files v2
 
PDF: myths vs facts
PDF: myths vs factsPDF: myths vs facts
PDF: myths vs facts
 
Funky file formats - 31c3
Funky file formats - 31c3Funky file formats - 31c3
Funky file formats - 31c3
 
Trusting files (and their formats)
Trusting files (and their formats)Trusting files (and their formats)
Trusting files (and their formats)
 
The challenges of file formats
The challenges of file formatsThe challenges of file formats
The challenges of file formats
 
Caring for file formats
Caring for file formatsCaring for file formats
Caring for file formats
 
Advanced Pdf Tricks
Advanced Pdf TricksAdvanced Pdf Tricks
Advanced Pdf Tricks
 
Relations between archive formats
Relations between archive formatsRelations between archive formats
Relations between archive formats
 
Simple Data Engineering in Python 3.5+ — Pycon.DE 2017 Karlsruhe — Bonobo ETL
Simple Data Engineering in Python 3.5+ — Pycon.DE 2017 Karlsruhe — Bonobo ETLSimple Data Engineering in Python 3.5+ — Pycon.DE 2017 Karlsruhe — Bonobo ETL
Simple Data Engineering in Python 3.5+ — Pycon.DE 2017 Karlsruhe — Bonobo ETL
 
TimeCryption
TimeCryptionTimeCryption
TimeCryption
 
Binary art - funky PoCs & visual docs
Binary art - funky PoCs & visual docsBinary art - funky PoCs & visual docs
Binary art - funky PoCs & visual docs
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
Clustered and distributed
 storage with
 commodity hardware 
and open source ...
Clustered and distributed
 storage with
 commodity hardware 
and open source ...Clustered and distributed
 storage with
 commodity hardware 
and open source ...
Clustered and distributed
 storage with
 commodity hardware 
and open source ...
 
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s goingKernel Recipes 2016 - Kernel documentation: what we have and where it’s going
Kernel Recipes 2016 - Kernel documentation: what we have and where it’s going
 
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-BayesOSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
OSDC 2016 - Ingesting Logs with Style by Pere Urbon-Bayes
 
Internal representation of files ppt
Internal representation of files pptInternal representation of files ppt
Internal representation of files ppt
 
bup backup system (2011-04)
bup backup system (2011-04)bup backup system (2011-04)
bup backup system (2011-04)
 
Part 4 of 'Introduction to Linux for bioinformatics': Managing data
Part 4 of 'Introduction to Linux for bioinformatics': Managing data Part 4 of 'Introduction to Linux for bioinformatics': Managing data
Part 4 of 'Introduction to Linux for bioinformatics': Managing data
 
Managing your data - Introduction to Linux for bioinformatics
Managing your data - Introduction to Linux for bioinformaticsManaging your data - Introduction to Linux for bioinformatics
Managing your data - Introduction to Linux for bioinformatics
 
Improving file formats
Improving file formatsImproving file formats
Improving file formats
 

More from Ange Albertini

Technical challenges with file formats
Technical challenges with file formatsTechnical challenges with file formats
Technical challenges with file formats
Ange Albertini
 
Abusing archive file formats
Abusing archive file formatsAbusing archive file formats
Abusing archive file formats
Ange Albertini
 
You are *not* an idiot
You are *not* an idiotYou are *not* an idiot
You are *not* an idiot
Ange Albertini
 
KILL MD5
KILL MD5KILL MD5
KILL MD5
Ange Albertini
 
No more dumb hex!
No more dumb hex!No more dumb hex!
No more dumb hex!
Ange Albertini
 
Beyond your studies
Beyond your studiesBeyond your studies
Beyond your studies
Ange Albertini
 
An introduction to inkscape
An introduction to inkscapeAn introduction to inkscape
An introduction to inkscape
Ange Albertini
 
Exploiting hash collisions
Exploiting hash collisionsExploiting hash collisions
Exploiting hash collisions
Ange Albertini
 
Infosec & failures
Infosec & failuresInfosec & failures
Infosec & failures
Ange Albertini
 
Connecting communities
Connecting communitiesConnecting communities
Connecting communities
Ange Albertini
 
TASBot - the perfectionist
TASBot - the perfectionistTASBot - the perfectionist
TASBot - the perfectionist
Ange Albertini
 
Hacks in video games
Hacks in video gamesHacks in video games
Hacks in video games
Ange Albertini
 
Let's write a PDF file
Let's write a PDF fileLet's write a PDF file
Let's write a PDF file
Ange Albertini
 
An overview of potential leaks via PDF
An overview of potential leaks via PDFAn overview of potential leaks via PDF
An overview of potential leaks via PDF
Ange Albertini
 
Preserving arcade games - 31c3
Preserving arcade games -  31c3Preserving arcade games -  31c3
Preserving arcade games - 31c3
Ange Albertini
 
Preserving arcade games
Preserving arcade gamesPreserving arcade games
Preserving arcade games
Ange Albertini
 
Let's talk about...
Let's talk about...Let's talk about...
Let's talk about...
Ange Albertini
 
Hide Android applications in images
Hide Android applications in imagesHide Android applications in images
Hide Android applications in images
Ange Albertini
 
Let's play with crypto! v2
Let's play with crypto! v2Let's play with crypto! v2
Let's play with crypto! v2
Ange Albertini
 
Pdf secrets v2
Pdf secrets v2Pdf secrets v2
Pdf secrets v2
Ange Albertini
 

More from Ange Albertini (20)

Technical challenges with file formats
Technical challenges with file formatsTechnical challenges with file formats
Technical challenges with file formats
 
Abusing archive file formats
Abusing archive file formatsAbusing archive file formats
Abusing archive file formats
 
You are *not* an idiot
You are *not* an idiotYou are *not* an idiot
You are *not* an idiot
 
KILL MD5
KILL MD5KILL MD5
KILL MD5
 
No more dumb hex!
No more dumb hex!No more dumb hex!
No more dumb hex!
 
Beyond your studies
Beyond your studiesBeyond your studies
Beyond your studies
 
An introduction to inkscape
An introduction to inkscapeAn introduction to inkscape
An introduction to inkscape
 
Exploiting hash collisions
Exploiting hash collisionsExploiting hash collisions
Exploiting hash collisions
 
Infosec & failures
Infosec & failuresInfosec & failures
Infosec & failures
 
Connecting communities
Connecting communitiesConnecting communities
Connecting communities
 
TASBot - the perfectionist
TASBot - the perfectionistTASBot - the perfectionist
TASBot - the perfectionist
 
Hacks in video games
Hacks in video gamesHacks in video games
Hacks in video games
 
Let's write a PDF file
Let's write a PDF fileLet's write a PDF file
Let's write a PDF file
 
An overview of potential leaks via PDF
An overview of potential leaks via PDFAn overview of potential leaks via PDF
An overview of potential leaks via PDF
 
Preserving arcade games - 31c3
Preserving arcade games -  31c3Preserving arcade games -  31c3
Preserving arcade games - 31c3
 
Preserving arcade games
Preserving arcade gamesPreserving arcade games
Preserving arcade games
 
Let's talk about...
Let's talk about...Let's talk about...
Let's talk about...
 
Hide Android applications in images
Hide Android applications in imagesHide Android applications in images
Hide Android applications in images
 
Let's play with crypto! v2
Let's play with crypto! v2Let's play with crypto! v2
Let's play with crypto! v2
 
Pdf secrets v2
Pdf secrets v2Pdf secrets v2
Pdf secrets v2
 

Recently uploaded

National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 

Recently uploaded (20)

National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 

Schizophrenic files