SlideShare a Scribd company logo
A false digital alibi on Mac OS X
      Challange and solutions



      Dario Di Nucci
      Fabio Palomba
      Stefano Ricchiuti

      University of Salerno
domenica 15 luglio 12
Focusing on Mac OS X
                                         Mac OS X & Forensic: how and what?




                        A case study
                        - Developing the false digital alibi
                        - A post-mortem digital forensic



                                         Evaluation of the work
                                         Is realistic a false digital alibi on a Mac OS X?



domenica 15 luglio 12
r3 s
     pte esi
  ha th
 C e
    th
                        Focusing on Mac OS X
 in




domenica 15 luglio 12
Use of BTree
                                               Journaling




                         Max File Dim 263
                        Max Folde r Dim 231



                        Hierarchical File        System +
domenica 15 luglio 12
Disk utility
                        Manager of all file systems in
                        your Mac
               Complete information
               retrieving on all disks
                              Improve stability and
                              performance
                 Runnable from live
                 boot
                                                                   First AID
                                                        Fix the file system errors

                                                           Prevent errors




                                          Disk Utility
domenica 15 luglio 12
....What is right,
                          what is wrong...




                        Mac apps
domenica 15 luglio 12
XTS - AES 128 bit Cryptography


                            User Password: Cr ypt and Decrypt
                                          Disk


                              Master Password: For System
                                      recovering




                        File Vault
domenica 15 luglio 12
All action on files (deleted,
     modified, moved) are recorded on
               external disk



             The actions are revertable!



         Huge impact on Digital
                Forensic



                              Time Machine
domenica 15 luglio 12
Why analyze these?

                        Create false digital evidences is possible!




                                    How?
                                Construct a false digital alibi using
                                        built-in software



domenica 15 luglio 12
A false digital alibi: how to...
domenica 15 luglio 12
AppleScript

                              “AppleScript is a scripting language that
                             makes possible direct control of scriptable
                             applications and of many parts of the Mac
                             OS. With scriptable applications, users can
                               write scripts to automate operations.”

                                            [https://developer.apple.com]




          A false digital alibi: how to...
domenica 15 luglio 12
Example...



                    tell application "Finder" to quit

                    display dialog "Mostra Files nascosti..." buttons {"Si", "No", "Annulla"}
                        default button 3
                    copy the result as list to {buttonpressed}

                    try
                       if the buttonpressed is "No" then do shell script ¬
                           "defaults write com.apple.finder AppleShowAllFiles OFF"
                       if the buttonpressed is "Si" then do shell script ¬
                           "defaults write com.apple.finder AppleShowAllFiles ON"
                    end try

                    tell application "Finder" to launch




          A false digital alibi: how to...
domenica 15 luglio 12
Automator

       “Automator is your personal automation
     assistant, making it easy for you to do more,
     and with less hassle.With Automator, you use
    a simple drag-and-drop process to create and
    run “automation recipes” that perform simple
    or complex tasks for you, when and where you
                     need them.”

                          [http://support.apple.com]


          A false digital alibi: how to...
domenica 15 luglio 12
A false digital alibi: how to...
domenica 15 luglio 12
Simple to learn and use
              Direct control on Mac OS X




                                                             REJ
                    ACC                      V                     ECT
                        E   PT                   S



                                                     Actions via Drag & Drop
                                                     What about translation?

                  Automator or AppleScript?
domenica 15 luglio 12
r4 s
     pte esi
  ha th
 C e
 in th



              A case study




domenica 15 luglio 12
.B
             -4
         4.A sis
     raph the
  rag the
Pa in




                                           th e
                                lo pi ng
                         D e ve              a lib i
                                    ig it al
                            ls e  d
                         fa

domenica 15 luglio 12
Best practices



                        Software built-in is better!

                        Automatism habits-based




                                                       Needs to clean all traces!
                                                           No stupid error!



                               Automatism setup
domenica 15 luglio 12
The automatism activator




                                    Manager of the actions of
                                     delection of traces and
                                            scheduling



                                   The false digital alibi maker


            Automatism setup - Structural Decomposition

domenica 15 luglio 12
How to develop these modules?




             Develop the Simulator before
            the others modules allows us to
            understand which are the traces
                        to cover



                                                  Bottom-up


            Automatism setup - Structural Decomposition

domenica 15 luglio 12
The Simulator module
domenica 15 luglio 12
am
                                0   0
                             9.
                        at
                                                                      am
                                                             .   00
                                                        10
                                                 at



                                                              m
                                                       .0 0 a
                                                   2
                                             a t 1




                                                                      at 15.00 p
                                                                                 m




                        AppleScript at work
domenica 15 luglio 12
AppleScript at work
domenica 15 luglio 12
thi
                           s   is t
                                    he
                                 mod simu
                                     ule lato
                                        !     r




                        AppleScript as app
domenica 15 luglio 12
The Wiper/Scheduler module
domenica 15 luglio 12
How retrieve traces of the automation?




domenica 15 luglio 12
Manual execution -> State t1


                        Launch automatism -> State t2


          Find of the accessed and modified files in t1 e t2



                    Retrieve differences between t1 and t2




                              Double execution
domenica 15 luglio 12
/System/Library/Components/AppleScript.component
   /System/Library/Components/AppleScript.component/Contents
   /System/Library/Components/AppleScript.component/Contents/Resources
   /System/Library/Components/AppleScript.component/Contents/Resources/
   Italian.lproj
   /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
   /Applications/Utilities/AppleScript Editor.app/Contents/Resources/
   ScriptEditor.help/Contents/Resources
   /Applications/Utilities/AppleScript Editor.app/Contents/Resources/
   ScriptEditor.help/Contents/Resources/Italian.lproj




                        find / -amin -3 > accessedFiles.txt




                Anomalies in accessed files
domenica 15 luglio 12
/private/var/log/asl/AUX.2012.06.04
    /private/var/log/asl/AUX.2012.06.04/3793
    /private/var/log/asl/AUX.2012.06.04/3795
    /private/var/log/asl/AUX.2012.06.04/3803
    /private/var/log/DiagnosticMessages/2012.06.04.asl
    /private/var/log/DiagnosticMessages/StoreData
    /private/var/log/opendirectoryd.log
    /private/var/log/secure.log/private/var/log/system.log




                        find / -mmin -3 > modifiedFiles.txt




                Anomalies in modified files
domenica 15 luglio 12
How remove this traces?




domenica 15 luglio 12
Via software

                                 The software must delete itself!



                                      Interpreted language!




                        Removing traces
domenica 15 luglio 12
Python




                        Interpreted language!


                Very simple for complex jobs!




                                Removing traces
domenica 15 luglio 12
Retrieve the last access dates of a      os.path.getatime(%PATH)
       resource before running the automation




                         Run automation (Simulator module)



                                        Roll-back last access time after the
      touch -c -t -%TIME -%PATH
                                               execution of the script



                        Removing traces
domenica 15 luglio 12
Compiling Python files...why?




                                        Introduction of indirect traces!

                                        Cannot clean its own traces!



                                   A stand-alone app doesn’t leave traces,
                                                  AT ALL!



                        Removing traces
domenica 15 luglio 12
Compiling Python files...how?


                  curl -O http://peak.telecommunity.com/dist/ez_setup.py

                  sudo python ez_setup.py -U setuptools
                            thi
                  sudo easy_install -U py2app
                                  s isMyApplication.py
                          S--make-setup t
                  py2applet C
                              H py2app -A he
                  python setup.pyE
                                   DUL
                                        ER     WIP
                                            mod       ER/
                                                   ule
                                                        !



                            Removing traces
domenica 15 luglio 12
And what about the direct traces?




domenica 15 luglio 12
Names of legal apps for the modules
                        e.g. Wiper/Scheduler = Caffeine.app




                                                     Secure deletion of modules and
                                                           rename legal apps

                            Obfuscating direct traces
domenica 15 luglio 12
Names of the apps are not suspect

                        The apps used in the process are apps really installed
                                           on the laptop!

                                All references to these apps are legal!




                              Obfuscating direct traces
domenica 15 luglio 12
The Launcher module
domenica 15 luglio 12
Problem: How launch the procedure?
                        Wiper/Scheduler module needs
                           administrator privileges




                          Solution

                        A launcher module is needed




domenica 15 luglio 12
Terminal???




                                     It’s not a good idea because
                                   some resources would be touch!


                                            Other resources
                                          Shell resources
                                   Bash History

                        Launcher module
domenica 15 luglio 12
AppleScript???




                        AppleScript can leave traces!

                        Who cleans these traces???




                                 Launcher module
domenica 15 luglio 12
Python, again!


                        thi
                           s is
                                the mpiled Python app, again!
                                   Co
                              mod laun
                                  ule      che
                                      !           r
             os.system("echo password|sudo -S /Volumes/MYPEN/Anonimus_e-
                      Mail.app/Contents/MacOS/Anonimus_e-Mail")




                          Launcher module
domenica 15 luglio 12
Problem
                           Launcher can’t be deleted while
                                      running!


                        Launcher          Wiper/Scheduler Simulator

                              callWiperScheduler()
                                                       callSimulator()




                                            When the Simulator ends its execution, Wiper/
                                              Scheduler does not delete the Launcher
                                            module because is the Launcher that keep alive
                                                       the Wiper/Scheduler!




domenica 15 luglio 12
Solution

                                                                 Use of threads


         ppid=os.getppid()
         pid=os.fork()
         if pid==0 :
            os.kill(pid, signal.SIGKILL)



                                Launcher               Wiper/Scheduler Wiper/Scheduler Simulator

                                          callWiperScheduler()
                                                                   os.fork()      callSimulator()
                                                  kill()



                        Using a thread we create a “good brother” of
                        Wiper/Scheduler. This allows the “bad brother”
                        to kill the Launcher module, keeping alive the
                          good brother and the whole work of the
                                    Wiper/Scheduler module


domenica 15 luglio 12
.log             But this operation leave
                        undesiderable traces in the log files


       host-001 [0x0-0x71071].org.pythonmac.unspecified.Caffeine[1406]:
         1410 Killed: 9 | sudo -S /Volumes/MYPEN/Anonimus_e-Mail.app/
                        Contents/MacOS/Anonimus_e-Mail



        wifipers3128 sudo[1357]:password : TTY=unknown ; PWD=/Volumes/
        MYPEN/Caffeine.app/Contents/Resources ; USER=root ; COMMAND=/
       Volumes/MYPEN/Anonimus_e-Mail.app/Contents/MacOS/Anonimus_e-Mail




domenica 15 luglio 12
Copy the log files before the automatism




                                                        T ION
                                                    A
                                                T OM
                                              AU




                                                           Replace the log files containing
                                                            traces, with the previous one

                           Solving the problem...
domenica 15 luglio 12
How bring the files on a laptop?



domenica 15 luglio 12
Get a remote resource - curl command
                              curl -O http://remote_resources




                        Use a resource of Dropbox




                             More possibilities
domenica 15 luglio 12
“When things being equivalent,
                        a simpler explanation
  is better than a more complex one”



                          Put files on a pendrive with
                           non-journaled file system




                                  Occam’s razor
domenica 15 luglio 12
Summarizing...




domenica 15 luglio 12
Launcher
        Caf
                fei
                   ne.
                      app
                                   Wiper/Scheduler

                            ano
                              nim
                             mai ous_
                                l.a    e-
                                    pp

                                             Simulator
                                            Sni
                                               ffo
                                                  mu
                                                       cca
                                                          .   app




      ...The structure of the process
domenica 15 luglio 12
Automatism apps                Legal apps
              Caffeine.app + Caffeine.py               Caffeine_p.app
                   SniffoMucca.app                   SniffoMucca_p.app
      Anonimous_e-mail.app + Anonimous_e-mail.py   Anonimous_e-mail_p.app




                   MYPEN Contents - Before
domenica 15 luglio 12
Legal apps
                                    Caffeine.app
                                  SniffoMucca.app
                                Anonimous_e-mail.app




                        MYPEN Contents - After
domenica 15 luglio 12
Where can we test the whole process?




                               Where can we test the procedure?




domenica 15 luglio 12
Virtual Machine: Why?




     Come back to another state of disk is
                   simple

        Needed to build and test the false
                alibi procedure




                        Enviroment setup
domenica 15 luglio 12
Virtual Machine: The choise



                                                    PARALLELS    VMWARE
                                    VIRTUALBOX
                                                     DESKTOP     FUSION



                        Creation




                   Management




                        License




domenica 15 luglio 12
Virtual Machine: The choise



                                                    PARALLELS    VMWARE
                                    VIRTUALBOX
                                                     DESKTOP     FUSION



                        Creation




                   Management




                        License




domenica 15 luglio 12
Virtual Machine: The choise



                                                    PARALLELS    VMWARE
                                    VIRTUALBOX
                                                     DESKTOP     FUSION



                        Creation




                   Management




                        License




domenica 15 luglio 12
Virtual Machine: The choise



                                                    PARALLELS
                                                                 ACC
                                                                  VMWARE
                                    VIRTUALBOX
                                                     DESKTOP
                                                                     EPT
                                                                  FUSION



                        Creation




                   Management




                        License




domenica 15 luglio 12
Generate an exact duplicate of the
                                  source media under investigation


                                  The destination media MUST BE


                            al
                                               erased!


                        g o
                                   Some tools could be used: dd,
                                          dcfldd, dc3dd




                          Enviroment setup
domenica 15 luglio 12
First step



                        dd if=/dev/zero of=dev/disk bs=512 conv=notrunc




                                    HD 1               HD 2


                              Enviroment setup
domenica 15 luglio 12
Second step




                               HD 1


                        Enviroment setup
domenica 15 luglio 12
Third step




                        dd if
                              =/dev
                                    /sda
                                         of=de
                                               v/sdb

              HD 1
                                                     bs=51
                                                           2 con
                                                                 v=not
                                                                       runc




                                                                              HD 2
                        Enviroment setup
domenica 15 luglio 12
h 4.C
        grap hesis
    ara he t
   P t
     in




                                      o rt em
                               s t -m
                        A  po             ns ic
                                    fo re
                           igit al
                         d

domenica 15 luglio 12
“The use of scientifically derived and proven methods toward the
                          preservation, collection, validation, identification, analysis,
                     interpretation, documentation and presentation of digital evidence
                        derived from digital sources for the purpose of facilitating of
                       furthering the reconstruction of events found to be criminal, or
                    helping to anticipate unauthorized action shown to be disruptive to
                                             planned operations.”
                                          [Digital Forensics Research Workshop I - 2001]



           The only way for being sure about
              the construction on the false
               digital alibi is to do a digital
           forensic analysis on the hard disk,
             on the pendrive and in the log
                              files!



                                     Digital forensic
domenica 15 luglio 12
We have to search in the log files of Mac OS X
                                     “Mac OS X, iPod, and iPhone Forensic Analysis Toolkit”




                                  secure.log
                                  system.log
                                .bash_history
                               Safari resources


                        Digital forensic - How
domenica 15 luglio 12
We have already talk about the log files

              The copy on the pendrive before the
          automatism does not allow to have surprises!

                Anyways, we used a grep command on the
                                log filed
         grep iAmTheAutomatism7777 /private/var/log/secure.log

         grep iAmTheAutomatism7777 /private/var/log/system.log




                                About log files
domenica 15 luglio 12
.bash_history is an hidden file located in the user home


                        Bash History
domenica 15 luglio 12
.bash_history is empty!




         The bash histor y file is never
         directly open in the process

          All the comands are runned
                    by Python!




                        About Bash History
domenica 15 luglio 12
Safari Resources - Cache.db
domenica 15 luglio 12
Cache.db does not contains relevant infos

                                           "#“

                                           !     _

                                           _CFURLStringType_CFURLString

                                           _
                                           http://www.google.it/s?hl=it&gs_nf=1&cp=20&gs_id=14&xhr=t&q=Extract%20class
                                           %20Fowler&pf=p&output=search&sclient=psy-ab&oq=&aq=&aqi=&aql=&gs_l=&pbx=1&bav=on.

      Safari stores in the cache.db
                                           2,or.r_gc.r_pw.r_qf.,cf.osb&fp=b58bcc71a4fb82fa&biw=1024&bih=674&tch=1&ech=2&psi=hCjgT6eFA
                                           s3usgb5oOTACA.1340090487838.1#Aµê`a¡◊
                                           ⁄

        all sites visited by users
                                           !VServerContent-Type_

                                           Transfer-EncodingTDate_

          We cannot use Safari for         X-Frame-Options_


           dangerous operations            Content-Encoding_

                                           X-XSS-Protection_
                                           Content-Disposition]Cache-ControlWExpiresSgws_
                                           application/json; charset=UTF-8XIdentity_
                                           Tue, 19 Jun 2012 07:21:52 GMTZSAMEORIGINTgzip]1; mode=blockZattachment_
                                           private, max-age=0R-1

                                           n_
                                            __CFURLResponseNullTokenString__
                                           ≠≤ƒ◊Í




                              About Cache.db
domenica 15 luglio 12
Safari History contains only the sites visited by
                                          AppleScript




                 Safari Resources - History
domenica 15 luglio 12
Are there traces in the hard disk or
                                 on the pendrive?




domenica 15 luglio 12
In the automatism files we have insert a “signature” of
                                 the automatism...




           How search traces of the automatism?
domenica 15 luglio 12
...and we used a grep command on the hard disk and on
                                    the pendrive




                   grep -ros iAmTheAutomatism7777 ./



                        grep command does not retrieve any file with this
                                           string




           How search traces of the automatism?
domenica 15 luglio 12
Problem
                              Launcher, Wiper/Scheduler and
                           Simulator modules could create some
                                     temporar y files!



                                  Solution

                        We have to analyze deleted files!




domenica 15 luglio 12
Photorec is a data recovery software designed to recover
                              lost files from hard disks, pendrive and so on




             Deleted files analysis - How
domenica 15 luglio 12
We launched Photorec on the hard disk and on the
                       pendrive and we used the grep command




                   grep -ros iAmTheAutomatism7777 ./




                        grep command does not retrieve any file with this
                                        string, again!



                          Deleted files analysis
domenica 15 luglio 12
r5 s
     pte esi
  ha th
 C e
 in th

                              future works
               c onclusions




domenica 15 luglio 12
Is realistic a false digital alibi on Mac OS X 10.7.3?




                             Create a false digital alibi is possible!
                         Remove the traces is possible if you use proper
                                    features of Mac OS X!




                                     Conclusions...
domenica 15 luglio 12
Can we create a false digital alibi using
                                               Automator?




                                 Test the automatism on a real enviroment!




            Test the automatism on a different
                   versions of Mac OS X

                        ...and future works...
domenica 15 luglio 12
Thank you!
              Questions and/or comments

Remind the link:
  https:// www.dropbox.com/sh/8cfw9b0aembhzd5/mbVMwXBCBR




       Dario Di Nucci     d.dinucci@studenti.unisa.it
       Fabio Palomba      f.palomba3@studenti.unisa.it
       Stefano Ricchiuti s.ricchiuti@studenti.unisa.it
domenica 15 luglio 12

More Related Content

Similar to A false digital alibi on Mac OS X

A false digital alibi on mac os x
A false digital alibi on mac os xA false digital alibi on mac os x
A false digital alibi on mac os x
Vrije Universiteit Brussel
 
Real Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan DidakReal Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan Didak
East Bay WordPress Meetup
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure Confidently
Prasanna Gautam
 
Tools/Processes for serious android app development
Tools/Processes for serious android app developmentTools/Processes for serious android app development
Tools/Processes for serious android app development
Gaurav Lochan
 
The InstallShield of the 21st Century – Theo Schlossnagle
The InstallShield of the 21st Century – Theo SchlossnagleThe InstallShield of the 21st Century – Theo Schlossnagle
The InstallShield of the 21st Century – Theo Schlossnagle
Chef Software, Inc.
 
Automation Testing with Sikuli
Automation Testing with SikuliAutomation Testing with Sikuli
Automation Testing with Sikulilionpeal
 
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Turi, Inc.
 
In search of good design...
In search of good design...In search of good design...
In search of good design...faust451
 
Tyler Rutschman- Kansas City
Tyler Rutschman- Kansas CityTyler Rutschman- Kansas City
Tyler Rutschman- Kansas City
Splunk
 
The 3 Things Every New Development Team Needs (and what to avoid like the pla...
The 3 Things Every New Development Team Needs (and what to avoid like the pla...The 3 Things Every New Development Team Needs (and what to avoid like the pla...
The 3 Things Every New Development Team Needs (and what to avoid like the pla...
Atlassian
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programming
Michael Neale
 
How to Build Tools for Data Scientists That Don't Suck
How to Build Tools for Data Scientists That Don't SuckHow to Build Tools for Data Scientists That Don't Suck
How to Build Tools for Data Scientists That Don't Suck
Diana Tkachenko
 
What Ops Can Learn From Design
What Ops Can Learn From DesignWhat Ops Can Learn From Design
What Ops Can Learn From Design
Robert Treat
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
Puppet
 
20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should Know20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should Know
Power Admin LLC
 
Cattles and Pets
Cattles and PetsCattles and Pets
Cattles and Pets
Nithish Sankaranarayanan
 
TechMentor Fall, 2011 - How to Resolve (Nearly) Every Windows 7 Application I...
TechMentor Fall, 2011 - How to Resolve (Nearly) Every Windows 7 Application I...TechMentor Fall, 2011 - How to Resolve (Nearly) Every Windows 7 Application I...
TechMentor Fall, 2011 - How to Resolve (Nearly) Every Windows 7 Application I...
Concentrated Technology
 
Tackling Challenges in Computer Vision
Tackling Challenges in Computer VisionTackling Challenges in Computer Vision
Tackling Challenges in Computer Vision
Maria Chapovalova
 
Tackling Challenges in Computer Vision
Tackling Challenges in Computer VisionTackling Challenges in Computer Vision
Tackling Challenges in Computer Vision
MariaChapo
 

Similar to A false digital alibi on Mac OS X (20)

A false digital alibi on mac os x
A false digital alibi on mac os xA false digital alibi on mac os x
A false digital alibi on mac os x
 
Real Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan DidakReal Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan Didak
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure Confidently
 
Tools/Processes for serious android app development
Tools/Processes for serious android app developmentTools/Processes for serious android app development
Tools/Processes for serious android app development
 
The InstallShield of the 21st Century – Theo Schlossnagle
The InstallShield of the 21st Century – Theo SchlossnagleThe InstallShield of the 21st Century – Theo Schlossnagle
The InstallShield of the 21st Century – Theo Schlossnagle
 
Automation Testing with Sikuli
Automation Testing with SikuliAutomation Testing with Sikuli
Automation Testing with Sikuli
 
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
 
In search of good design...
In search of good design...In search of good design...
In search of good design...
 
Tyler Rutschman- Kansas City
Tyler Rutschman- Kansas CityTyler Rutschman- Kansas City
Tyler Rutschman- Kansas City
 
The 3 Things Every New Development Team Needs (and what to avoid like the pla...
The 3 Things Every New Development Team Needs (and what to avoid like the pla...The 3 Things Every New Development Team Needs (and what to avoid like the pla...
The 3 Things Every New Development Team Needs (and what to avoid like the pla...
 
Microservices and functional programming
Microservices and functional programmingMicroservices and functional programming
Microservices and functional programming
 
How to Build Tools for Data Scientists That Don't Suck
How to Build Tools for Data Scientists That Don't SuckHow to Build Tools for Data Scientists That Don't Suck
How to Build Tools for Data Scientists That Don't Suck
 
What Ops Can Learn From Design
What Ops Can Learn From DesignWhat Ops Can Learn From Design
What Ops Can Learn From Design
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
Git Makes Me Angry Inside
Git Makes Me Angry InsideGit Makes Me Angry Inside
Git Makes Me Angry Inside
 
20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should Know20 Windows Tools Every SysAdmin Should Know
20 Windows Tools Every SysAdmin Should Know
 
Cattles and Pets
Cattles and PetsCattles and Pets
Cattles and Pets
 
TechMentor Fall, 2011 - How to Resolve (Nearly) Every Windows 7 Application I...
TechMentor Fall, 2011 - How to Resolve (Nearly) Every Windows 7 Application I...TechMentor Fall, 2011 - How to Resolve (Nearly) Every Windows 7 Application I...
TechMentor Fall, 2011 - How to Resolve (Nearly) Every Windows 7 Application I...
 
Tackling Challenges in Computer Vision
Tackling Challenges in Computer VisionTackling Challenges in Computer Vision
Tackling Challenges in Computer Vision
 
Tackling Challenges in Computer Vision
Tackling Challenges in Computer VisionTackling Challenges in Computer Vision
Tackling Challenges in Computer Vision
 

More from Fabio Palomba

Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Fabio Palomba
 
Social Debt Analytics for Improving the Management of Software Evolution Tasks
Social Debt Analytics for Improving the Management of Software Evolution TasksSocial Debt Analytics for Improving the Management of Software Evolution Tasks
Social Debt Analytics for Improving the Management of Software Evolution Tasks
Fabio Palomba
 
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Fabio Palomba
 
A Textual-based Technique for Smell Detection
A Textual-based Technique for Smell DetectionA Textual-based Technique for Smell Detection
A Textual-based Technique for Smell Detection
Fabio Palomba
 
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
Fabio Palomba
 
Textual Analysis for Code Smell Detection
Textual Analysis for Code Smell DetectionTextual Analysis for Code Smell Detection
Textual Analysis for Code Smell Detection
Fabio Palomba
 
People management
People managementPeople management
People management
Fabio Palomba
 

More from Fabio Palomba (7)

Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?
 
Social Debt Analytics for Improving the Management of Software Evolution Tasks
Social Debt Analytics for Improving the Management of Software Evolution TasksSocial Debt Analytics for Improving the Management of Software Evolution Tasks
Social Debt Analytics for Improving the Management of Software Evolution Tasks
 
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
 
A Textual-based Technique for Smell Detection
A Textual-based Technique for Smell DetectionA Textual-based Technique for Smell Detection
A Textual-based Technique for Smell Detection
 
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
 
Textual Analysis for Code Smell Detection
Textual Analysis for Code Smell DetectionTextual Analysis for Code Smell Detection
Textual Analysis for Code Smell Detection
 
People management
People managementPeople management
People management
 

Recently uploaded

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
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
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
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
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
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
 
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
 
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
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 

Recently uploaded (20)

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
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
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
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
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
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...
 
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
 
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
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 

A false digital alibi on Mac OS X

  • 1. A false digital alibi on Mac OS X Challange and solutions Dario Di Nucci Fabio Palomba Stefano Ricchiuti University of Salerno domenica 15 luglio 12
  • 2. Focusing on Mac OS X Mac OS X & Forensic: how and what? A case study - Developing the false digital alibi - A post-mortem digital forensic Evaluation of the work Is realistic a false digital alibi on a Mac OS X? domenica 15 luglio 12
  • 3. r3 s pte esi ha th C e th Focusing on Mac OS X in domenica 15 luglio 12
  • 4. Use of BTree Journaling Max File Dim 263 Max Folde r Dim 231 Hierarchical File System + domenica 15 luglio 12
  • 5. Disk utility Manager of all file systems in your Mac Complete information retrieving on all disks Improve stability and performance Runnable from live boot First AID Fix the file system errors Prevent errors Disk Utility domenica 15 luglio 12
  • 6. ....What is right, what is wrong... Mac apps domenica 15 luglio 12
  • 7. XTS - AES 128 bit Cryptography User Password: Cr ypt and Decrypt Disk Master Password: For System recovering File Vault domenica 15 luglio 12
  • 8. All action on files (deleted, modified, moved) are recorded on external disk The actions are revertable! Huge impact on Digital Forensic Time Machine domenica 15 luglio 12
  • 9. Why analyze these? Create false digital evidences is possible! How? Construct a false digital alibi using built-in software domenica 15 luglio 12
  • 10. A false digital alibi: how to... domenica 15 luglio 12
  • 11. AppleScript “AppleScript is a scripting language that makes possible direct control of scriptable applications and of many parts of the Mac OS. With scriptable applications, users can write scripts to automate operations.” [https://developer.apple.com] A false digital alibi: how to... domenica 15 luglio 12
  • 12. Example... tell application "Finder" to quit display dialog "Mostra Files nascosti..." buttons {"Si", "No", "Annulla"} default button 3 copy the result as list to {buttonpressed} try if the buttonpressed is "No" then do shell script ¬ "defaults write com.apple.finder AppleShowAllFiles OFF" if the buttonpressed is "Si" then do shell script ¬ "defaults write com.apple.finder AppleShowAllFiles ON" end try tell application "Finder" to launch A false digital alibi: how to... domenica 15 luglio 12
  • 13. Automator “Automator is your personal automation assistant, making it easy for you to do more, and with less hassle.With Automator, you use a simple drag-and-drop process to create and run “automation recipes” that perform simple or complex tasks for you, when and where you need them.” [http://support.apple.com] A false digital alibi: how to... domenica 15 luglio 12
  • 14. A false digital alibi: how to... domenica 15 luglio 12
  • 15. Simple to learn and use Direct control on Mac OS X REJ ACC V ECT E PT S Actions via Drag & Drop What about translation? Automator or AppleScript? domenica 15 luglio 12
  • 16. r4 s pte esi ha th C e in th A case study domenica 15 luglio 12
  • 17. .B -4 4.A sis raph the rag the Pa in th e lo pi ng D e ve a lib i ig it al ls e d fa domenica 15 luglio 12
  • 18. Best practices Software built-in is better! Automatism habits-based Needs to clean all traces! No stupid error! Automatism setup domenica 15 luglio 12
  • 19. The automatism activator Manager of the actions of delection of traces and scheduling The false digital alibi maker Automatism setup - Structural Decomposition domenica 15 luglio 12
  • 20. How to develop these modules? Develop the Simulator before the others modules allows us to understand which are the traces to cover Bottom-up Automatism setup - Structural Decomposition domenica 15 luglio 12
  • 22. am 0 0 9. at am . 00 10 at m .0 0 a 2 a t 1 at 15.00 p m AppleScript at work domenica 15 luglio 12
  • 24. thi s is t he mod simu ule lato ! r AppleScript as app domenica 15 luglio 12
  • 26. How retrieve traces of the automation? domenica 15 luglio 12
  • 27. Manual execution -> State t1 Launch automatism -> State t2 Find of the accessed and modified files in t1 e t2 Retrieve differences between t1 and t2 Double execution domenica 15 luglio 12
  • 28. /System/Library/Components/AppleScript.component /System/Library/Components/AppleScript.component/Contents /System/Library/Components/AppleScript.component/Contents/Resources /System/Library/Components/AppleScript.component/Contents/Resources/ Italian.lproj /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit /Applications/Utilities/AppleScript Editor.app/Contents/Resources/ ScriptEditor.help/Contents/Resources /Applications/Utilities/AppleScript Editor.app/Contents/Resources/ ScriptEditor.help/Contents/Resources/Italian.lproj find / -amin -3 > accessedFiles.txt Anomalies in accessed files domenica 15 luglio 12
  • 29. /private/var/log/asl/AUX.2012.06.04 /private/var/log/asl/AUX.2012.06.04/3793 /private/var/log/asl/AUX.2012.06.04/3795 /private/var/log/asl/AUX.2012.06.04/3803 /private/var/log/DiagnosticMessages/2012.06.04.asl /private/var/log/DiagnosticMessages/StoreData /private/var/log/opendirectoryd.log /private/var/log/secure.log/private/var/log/system.log find / -mmin -3 > modifiedFiles.txt Anomalies in modified files domenica 15 luglio 12
  • 30. How remove this traces? domenica 15 luglio 12
  • 31. Via software The software must delete itself! Interpreted language! Removing traces domenica 15 luglio 12
  • 32. Python Interpreted language! Very simple for complex jobs! Removing traces domenica 15 luglio 12
  • 33. Retrieve the last access dates of a os.path.getatime(%PATH) resource before running the automation Run automation (Simulator module) Roll-back last access time after the touch -c -t -%TIME -%PATH execution of the script Removing traces domenica 15 luglio 12
  • 34. Compiling Python files...why? Introduction of indirect traces! Cannot clean its own traces! A stand-alone app doesn’t leave traces, AT ALL! Removing traces domenica 15 luglio 12
  • 35. Compiling Python files...how? curl -O http://peak.telecommunity.com/dist/ez_setup.py sudo python ez_setup.py -U setuptools thi sudo easy_install -U py2app s isMyApplication.py S--make-setup t py2applet C H py2app -A he python setup.pyE DUL ER WIP mod ER/ ule ! Removing traces domenica 15 luglio 12
  • 36. And what about the direct traces? domenica 15 luglio 12
  • 37. Names of legal apps for the modules e.g. Wiper/Scheduler = Caffeine.app Secure deletion of modules and rename legal apps Obfuscating direct traces domenica 15 luglio 12
  • 38. Names of the apps are not suspect The apps used in the process are apps really installed on the laptop! All references to these apps are legal! Obfuscating direct traces domenica 15 luglio 12
  • 40. Problem: How launch the procedure? Wiper/Scheduler module needs administrator privileges Solution A launcher module is needed domenica 15 luglio 12
  • 41. Terminal??? It’s not a good idea because some resources would be touch! Other resources Shell resources Bash History Launcher module domenica 15 luglio 12
  • 42. AppleScript??? AppleScript can leave traces! Who cleans these traces??? Launcher module domenica 15 luglio 12
  • 43. Python, again! thi s is the mpiled Python app, again! Co mod laun ule che ! r os.system("echo password|sudo -S /Volumes/MYPEN/Anonimus_e- Mail.app/Contents/MacOS/Anonimus_e-Mail") Launcher module domenica 15 luglio 12
  • 44. Problem Launcher can’t be deleted while running! Launcher Wiper/Scheduler Simulator callWiperScheduler() callSimulator() When the Simulator ends its execution, Wiper/ Scheduler does not delete the Launcher module because is the Launcher that keep alive the Wiper/Scheduler! domenica 15 luglio 12
  • 45. Solution Use of threads ppid=os.getppid() pid=os.fork() if pid==0 : os.kill(pid, signal.SIGKILL) Launcher Wiper/Scheduler Wiper/Scheduler Simulator callWiperScheduler() os.fork() callSimulator() kill() Using a thread we create a “good brother” of Wiper/Scheduler. This allows the “bad brother” to kill the Launcher module, keeping alive the good brother and the whole work of the Wiper/Scheduler module domenica 15 luglio 12
  • 46. .log But this operation leave undesiderable traces in the log files host-001 [0x0-0x71071].org.pythonmac.unspecified.Caffeine[1406]: 1410 Killed: 9 | sudo -S /Volumes/MYPEN/Anonimus_e-Mail.app/ Contents/MacOS/Anonimus_e-Mail wifipers3128 sudo[1357]:password : TTY=unknown ; PWD=/Volumes/ MYPEN/Caffeine.app/Contents/Resources ; USER=root ; COMMAND=/ Volumes/MYPEN/Anonimus_e-Mail.app/Contents/MacOS/Anonimus_e-Mail domenica 15 luglio 12
  • 47. Copy the log files before the automatism T ION A T OM AU Replace the log files containing traces, with the previous one Solving the problem... domenica 15 luglio 12
  • 48. How bring the files on a laptop? domenica 15 luglio 12
  • 49. Get a remote resource - curl command curl -O http://remote_resources Use a resource of Dropbox More possibilities domenica 15 luglio 12
  • 50. “When things being equivalent, a simpler explanation is better than a more complex one” Put files on a pendrive with non-journaled file system Occam’s razor domenica 15 luglio 12
  • 52. Launcher Caf fei ne. app Wiper/Scheduler ano nim mai ous_ l.a e- pp Simulator Sni ffo mu cca . app ...The structure of the process domenica 15 luglio 12
  • 53. Automatism apps Legal apps Caffeine.app + Caffeine.py Caffeine_p.app SniffoMucca.app SniffoMucca_p.app Anonimous_e-mail.app + Anonimous_e-mail.py Anonimous_e-mail_p.app MYPEN Contents - Before domenica 15 luglio 12
  • 54. Legal apps Caffeine.app SniffoMucca.app Anonimous_e-mail.app MYPEN Contents - After domenica 15 luglio 12
  • 55. Where can we test the whole process? Where can we test the procedure? domenica 15 luglio 12
  • 56. Virtual Machine: Why? Come back to another state of disk is simple Needed to build and test the false alibi procedure Enviroment setup domenica 15 luglio 12
  • 57. Virtual Machine: The choise PARALLELS VMWARE VIRTUALBOX DESKTOP FUSION Creation Management License domenica 15 luglio 12
  • 58. Virtual Machine: The choise PARALLELS VMWARE VIRTUALBOX DESKTOP FUSION Creation Management License domenica 15 luglio 12
  • 59. Virtual Machine: The choise PARALLELS VMWARE VIRTUALBOX DESKTOP FUSION Creation Management License domenica 15 luglio 12
  • 60. Virtual Machine: The choise PARALLELS ACC VMWARE VIRTUALBOX DESKTOP EPT FUSION Creation Management License domenica 15 luglio 12
  • 61. Generate an exact duplicate of the source media under investigation The destination media MUST BE al erased! g o Some tools could be used: dd, dcfldd, dc3dd Enviroment setup domenica 15 luglio 12
  • 62. First step dd if=/dev/zero of=dev/disk bs=512 conv=notrunc HD 1 HD 2 Enviroment setup domenica 15 luglio 12
  • 63. Second step HD 1 Enviroment setup domenica 15 luglio 12
  • 64. Third step dd if =/dev /sda of=de v/sdb HD 1 bs=51 2 con v=not runc HD 2 Enviroment setup domenica 15 luglio 12
  • 65. h 4.C grap hesis ara he t P t in o rt em s t -m A po ns ic fo re igit al d domenica 15 luglio 12
  • 66. “The use of scientifically derived and proven methods toward the preservation, collection, validation, identification, analysis, interpretation, documentation and presentation of digital evidence derived from digital sources for the purpose of facilitating of furthering the reconstruction of events found to be criminal, or helping to anticipate unauthorized action shown to be disruptive to planned operations.” [Digital Forensics Research Workshop I - 2001] The only way for being sure about the construction on the false digital alibi is to do a digital forensic analysis on the hard disk, on the pendrive and in the log files! Digital forensic domenica 15 luglio 12
  • 67. We have to search in the log files of Mac OS X “Mac OS X, iPod, and iPhone Forensic Analysis Toolkit” secure.log system.log .bash_history Safari resources Digital forensic - How domenica 15 luglio 12
  • 68. We have already talk about the log files The copy on the pendrive before the automatism does not allow to have surprises! Anyways, we used a grep command on the log filed grep iAmTheAutomatism7777 /private/var/log/secure.log grep iAmTheAutomatism7777 /private/var/log/system.log About log files domenica 15 luglio 12
  • 69. .bash_history is an hidden file located in the user home Bash History domenica 15 luglio 12
  • 70. .bash_history is empty! The bash histor y file is never directly open in the process All the comands are runned by Python! About Bash History domenica 15 luglio 12
  • 71. Safari Resources - Cache.db domenica 15 luglio 12
  • 72. Cache.db does not contains relevant infos "#“ ! _ _CFURLStringType_CFURLString _ http://www.google.it/s?hl=it&gs_nf=1&cp=20&gs_id=14&xhr=t&q=Extract%20class %20Fowler&pf=p&output=search&sclient=psy-ab&oq=&aq=&aqi=&aql=&gs_l=&pbx=1&bav=on. Safari stores in the cache.db 2,or.r_gc.r_pw.r_qf.,cf.osb&fp=b58bcc71a4fb82fa&biw=1024&bih=674&tch=1&ech=2&psi=hCjgT6eFA s3usgb5oOTACA.1340090487838.1#Aµê`a¡◊ ⁄ all sites visited by users !VServerContent-Type_ Transfer-EncodingTDate_ We cannot use Safari for X-Frame-Options_ dangerous operations Content-Encoding_ X-XSS-Protection_ Content-Disposition]Cache-ControlWExpiresSgws_ application/json; charset=UTF-8XIdentity_ Tue, 19 Jun 2012 07:21:52 GMTZSAMEORIGINTgzip]1; mode=blockZattachment_ private, max-age=0R-1 n_ __CFURLResponseNullTokenString__ ≠≤ƒ◊Í About Cache.db domenica 15 luglio 12
  • 73. Safari History contains only the sites visited by AppleScript Safari Resources - History domenica 15 luglio 12
  • 74. Are there traces in the hard disk or on the pendrive? domenica 15 luglio 12
  • 75. In the automatism files we have insert a “signature” of the automatism... How search traces of the automatism? domenica 15 luglio 12
  • 76. ...and we used a grep command on the hard disk and on the pendrive grep -ros iAmTheAutomatism7777 ./ grep command does not retrieve any file with this string How search traces of the automatism? domenica 15 luglio 12
  • 77. Problem Launcher, Wiper/Scheduler and Simulator modules could create some temporar y files! Solution We have to analyze deleted files! domenica 15 luglio 12
  • 78. Photorec is a data recovery software designed to recover lost files from hard disks, pendrive and so on Deleted files analysis - How domenica 15 luglio 12
  • 79. We launched Photorec on the hard disk and on the pendrive and we used the grep command grep -ros iAmTheAutomatism7777 ./ grep command does not retrieve any file with this string, again! Deleted files analysis domenica 15 luglio 12
  • 80. r5 s pte esi ha th C e in th future works c onclusions domenica 15 luglio 12
  • 81. Is realistic a false digital alibi on Mac OS X 10.7.3? Create a false digital alibi is possible! Remove the traces is possible if you use proper features of Mac OS X! Conclusions... domenica 15 luglio 12
  • 82. Can we create a false digital alibi using Automator? Test the automatism on a real enviroment! Test the automatism on a different versions of Mac OS X ...and future works... domenica 15 luglio 12
  • 83. Thank you! Questions and/or comments Remind the link: https:// www.dropbox.com/sh/8cfw9b0aembhzd5/mbVMwXBCBR Dario Di Nucci d.dinucci@studenti.unisa.it Fabio Palomba f.palomba3@studenti.unisa.it Stefano Ricchiuti s.ricchiuti@studenti.unisa.it domenica 15 luglio 12