SlideShare a Scribd company logo
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
                     Safe Data
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
                         is
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
                    Happy Data
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
                                                      Josh Berkus
1001001001001000011100010101010101110011010101010101000011010010010010010000111
                                                      PostgreSQL Core Team
0001010101010111001101010101010100001101001001001001000011100010101010101110011
                                                      OSCON 2008
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
                Why should
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
               application
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
                developers
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
                    care
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000

             about database
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001

                 security?
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
“I don't need to
       know”
“Our network security will take
care of it.”
“I applied all the web server and
PHP patches.”
“Security belongs in the
application layer.”
“Database security slows
development.”
“Nobody will hack my website. We
run Linux.”
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
Safe Data is Happy Data
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
                            microsoft
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
nokia
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
                  government agencies
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
                              the U.N.
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
                    political parties
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
The cost of
unsafe data
Contacting 19 000 customers:
$380 000
Paying for credit reports for 19
000 customers:
$931 000
Shipping stolen merchandise:
$4 600 000
Lost customer goodwill and
reputation as an insecure &
careless company:
Priceless!
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
           How do you make
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
           your data safe?
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100

    security != control
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
           How do you make
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
           your data safe?
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
perimeter-only
   security
                                     anti-DOS
                                           firewall


           open               open
database          webserver            router
 server


                                      secure
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
perimeter-only
   security
                                     anti-DOS
                                           firewall


           open               open
database          webserver            router
 server


   insecure                           secure
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
1011100110101010101010000110100100100100100001110001010101010111001101010101010
1000011010010010010010000111000101010101011100110101010101010000110100100100100
1000011100010101010101110011010101010101000011010010010010010000111000101010101
0111001101010101010100001101001001001001000011100010101010101110011010101010101
0000110100100100100100001110001010101010111001101010101010100001101001001001001
0000111000101010101011100110101010101010000110100100100100100001110001010101010
1110011010101010101000011010010010010010000111000101010101011100110101010101010
0001101001001001001000011100010101010101110011010101010101000011010010010010010
0001110001010101010111001101010101010100001101001001001001000011100010101010101
1100110101010101010000110100100100100100001110001010101010111001101010101010100
0011010010010010010000111000101010101011100110101010101010000110100100100100100
0011100010101010101110011010101010101000011010010010010010000111000101010101011
1001101010101010100001101001001001001000011100010101010101110011010101010101000
0110100100100100100001110001010101010111001101010101010100001101001001001001000
0111000101010101011100110101010101010000110100100100100100001110001010101010111
0011010101010101000011010010010010010000111000101010101011100110101010101010000
1101001001001001000011100010101010101110011010101010101000011010010010010010000
1110001010101010111001101010101010100001101001001001001000011100010101010101110
0110101010101010000110100100100100100001110001010101010111001101010101010100001
1010010010010010000111000101010101011100110101010101010000110100100100100100001
1100010101010101110011010101010101000011010010010010010000111000101010101011100
1101010101010100001101001001001001000011100010101010101110011010101010101000011
0100100100100100001110001010101010111001101010101010100001101001001001001000011
1000101010101011100110101010101010000110100100100100100001110001010101010111001
1010101010101000011010010010010010000111000101010101011100110101010101010000110
1001001001001000011100010101010101110011010101010101000011010010010010010000111
0001010101010111001101010101010100001101001001001001000011100010101010101110011
0101010101010000110100100100100100001110001010101010111001101010101010100001101
0010010010010000111000101010101011100110101010101010000110100100100100100001110
Safe Data is Happy Data
You need multilayer
      security!
  permissions    tripwire              anti-DOS
         abstraction    updates              firewall


               restricted       restricted
audit
        database       webserver             router
         server


                            secure
Your database
        engine can help.
  permissions    tripwire              anti-DOS
         abstraction    updates              firewall


               restricted       restricted
audit
        database       webserver             router
         server


                            secure
threat model
 Four primary threat vectors to your
 data:
1.SQL injection
2.direct connection
3.webserver compromise
4.staff access
database tools
1.access control
2.authentication
3.ROLEs & permissions
4.data abstraction
   VIEWs
   stored procedures
5.data auditing
   logs
   table auditing
6.advanced security frameworks
access control
Goal: Use database access control
lists to prevent connections from
anywhere but specified networks.




       database   webserver
        server
pg_hba.conf
TYPE    DATABASE   USER        CIDR-ADDRESS     METHOD

local   all        postgres                     ident
host    all        postgres    127.0.0.1/32     ident
local   all        all                          md5
host    all        all         127.0.0.1/32     md5

hostssl webapp     +webusers   192.168.2.0/24   md5

host    all        +admins     10.2.0.0/16      krb5

host    all        all         0.0.0.0/0        reject
mysql users table
User   host          ssl_type
-- superuser
root   127.0.0.1

-- anonymous user, matches everyone
   localhost
   127.0.0.1

-- SSL webapp
webapp 129.168.2.*   ANY

-- mysql doesn't support kerberos
admins 10.2.*
authentication
Goal: prevent privilege escalation
on connections to the database.


psql -U postgres -h
masterserver -c 'update users
set password = 'haxx0r'
where login = 'administrator'
authentication
        methods
ident: host OS responsible for
security
 good for: administrative tasks
 bad for: external users
md5: hashed passwords
 good for: most things
 bad for: embed password in the app.
krb5 / gss / ldap: identity checked
against authentication servers
 good for: everything
 bad for: lots of troubleshooting
pg_hba.conf
TYPE    DATABASE   USER        CIDR-ADDRESS     METHOD

local   all        postgres                     ident
host    all        postgres    127.0.0.1/32     ident
local   all        all                          md5
host    all        all         127.0.0.1/32     md5

hostssl webapp     +webusers   192.168.2.0/24   md5

host    all        +admins     10.2.0.0/16      krb5

host    all        all         0.0.0.0/0        reject
ROLEs & privileges
Goal: prevent authenticated low-
level users from modifying or
accessing restricted data.


          SELECT FROM users;




           UPDATE users;
ROLEs
ROLEs ~~ users and groups.
   some roles can log in (“users”)
   roles can be members of multiple other
   roles
   use SET ROLE to change ROLE context
                                         users

      admins
                          dataentry              readonly

claudio        felipe
                         leo          wei-chen    guest
privileges
All database objects have
privileges, specific to their type:
 tables: SELECT, INSERT, UPDATE, DELETE
 schema: USAGE, CREATE
 function: EXECUTE
 database: CONNECT, TEMP, CREATE
Privileges can be used to “lock
down” data for low-level users.
using ROLEs &
privileges example
basic web application
      admins                           webusers


claudio        felipe              member       guest




schema admin            schema              schema cms
                        members
  users                                     pages
  rights                profiles            templates
  settings              messages
using ROLEs &
privileges example
admin: modify anything
      admins                           webusers


claudio        felipe              member       guest




schema admin            schema              schema cms
                        members
  users                                     pages
  rights                profiles            templates
  settings              messages            comments
using ROLEs &
privileges example
webusers: connect, read cms
      admins                           webusers


claudio        felipe              member       guest




schema admin            schema              schema cms
                        members
  users                                     pages
  rights                profiles            templates
  settings              messages            comments
using ROLEs &
privileges example
members: read admin, write members
      admins                           webusers


claudio        felipe              member       guest




schema admin            schema              schema cms
                        members
  users                                     pages
  rights                profiles            templates
  settings              messages            comments
use ROLE
 & perm-
  ission
 manage-
    ment
   tools
database
        abstraction
views
 a VIEW is a “stored query” with its
 own permissions
 limit access to specific rows or
 columns
stored procedures
 SECURITY DEFINER procedures allow
 controlled privilege escalation
 make sure to lock them down, though!
don't allow access
  to base tables
schema admin     schema      member
                 members
 rights
 settings       profiles
                messages
               view
               user_names
  users        functions
               login()
               change_pw()
using abstraction:
      password checking
CREATE FUNCTION login (
   mailaddr TEXT, pwd TEXT, vip INET
) RETURNS login_type
LANGUAGE plpgsql VOLATILE STRICT SECURITY DEFINER
SET SEARCH_PATH = admin, members;
as $func$
declare rtype login_type;
    vuser INT;
    vmail TEXT;
    vkey INT;
    vadmin BOOLEAN;
begin
    --this is the login procedure which is the only way to authenticate a new user.
    --it checks the users password, generates a passkey, deletes any old sessions
    --and creates the new session

    select id, (admin_info.user > 0) into vuser, vadmin
    from users JOIN user_passwords ON users.id = user_passwords.user
        LEFT OUTER JOIN admin_info ON users.id = admin_info.user
    where lower(email) = lower(vmail)
        and permissions is not null
        and syshash_compare(pwd, "password");

    IF vuser > 0 THEN ...
What do you do if
they get in anyway?
sometimes your other measures fail
 exploits
 loopholes
 misconfiguration
sometimes the bad guys have
legitimate access
 users
 staff
 sysadmins
database auditing
Goal: know what happened after it
happened, and be able to restore
your data without searching backup
tapes.
auditing: logs
dozens of log options
 users
 connections
 queries run
 errors
the log can help you analyze a
break-in
 maybe even tell you what was stolen
secure your logs
best way to find “DBA corruption”
 make sure that not even the admins can
 erase/alter all copies
 make sure few people can change
 postgresql.conf
use a secured log server
 “syslog” is good for this
make a plan for secure log
archiving
postgresql.conf
log_destination = 'syslog'

syslog_facility = 'LOGSERVER'
syslog_ident = 'postgres_1'

log_connections = on
log_disconnections = on

log_statement = 'all'
log_statement = 'mod'
log_statement = 'ddl'
mysql
#start mysql with the query log

mysqladmin --log start

#how to write the logs to another server
#is up to you

#maybe hack mysql_log_rotate?
data auditing
member


            schema        schema
            members    audit_members
            profiles     profiles
data auditing
member


            schema        schema
            members    audit_members
UPDATE
or          profiles     profiles
DELETE
data auditing
member


            schema        schema
            members    audit_members
UPDATE
or          profiles     profiles
DELETE


                       INSERT
                       old data
data auditing
table members.profiles
 member | interests
   josh | pottery, cooking

table audit_members.profiles
 member | interests | changed   | change_by
   josh | gaming    | 5/23/01   | claudio
   josh | pottery   | 3/24/08   | felipe
data auditing
CREATE FUNCTION audit.trail_companies ()
RETURNS TRIGGER
LANGUAGE plpgsql SECURITY DEFINER SET SEARCH_PATH = audit, main
as $func$
BEGIN

INSERT INTO audit.companies
SELECT *, now(), CURRENT_USER FROM companies
WHERE id = OLD.id;
RETURN OLD;

IF TG_OP = 'DELETE' THEN
   RETURN OLD;
ELSIF TG_OP = 'UPDATE' THEN
   NEW.mod_date = now();
   RETURN NEW;
END;

END; $func$;

CREATE TRIGGER tg_companies
BEFORE UPDATE OR DELETE companies
FOR EACH ROW EXECUTE PROCEDURE audit.trail_companies();
xtreme security:
   multilevel
xtreme security:
   SE Postgres
data safe & happy?
access restricted
authenticated
privileged
abstracted
audited
... happy!
contact
Josh Berkus
 josh@postgresql.org
 blogs.ittoolbox.com/database/soup
 www.powerpostgresql.com
PostgreSQL
 www.postgresql.org
 SEPostgres:
 http://code.google.com/p/sepgsql

    Thanks to KaiGai Kohei for SEPostgres diagrams, and to Harrison Fisk for MySQL examples.

    Copyright 2008 Josh Berkus, distributable under the creative commons attribution license

More Related Content

PDF
Data Quality Program Assessment
PPTX
Business Architecture
PDF
Gc Collaboration Solutions English
PDF
How to lose your database and your job
PDF
Ten Ways to Destroy Your Database
ODP
Shootout at the PAAS Corral
PDF
[Infographic] Empower Your Business With Digital Business Transformation
PDF
Digitizing Your Publishing Practice for the Museum Publishing Seminar 2012
Data Quality Program Assessment
Business Architecture
Gc Collaboration Solutions English
How to lose your database and your job
Ten Ways to Destroy Your Database
Shootout at the PAAS Corral
[Infographic] Empower Your Business With Digital Business Transformation
Digitizing Your Publishing Practice for the Museum Publishing Seminar 2012

Similar to Safe Data is Happy Data (20)

PDF
MBD_Brochure
PDF
9. lenguaje binario
PDF
9. lenguaje binario
PPT
Operation Blackjack Decoded By Glp
PPTX
Big Data Will Change Our World
PDF
Informe simulacion digital yolfred uzcategui - 25.242.800
PDF
Speech Reognition Using FPGA Technology
PDF
Apresentação Service Desk G2Business
PDF
Ashish thusoo evolution of big data architectures
PDF
Ke hoach thi cong thang 9
PPT
PPT
Cdma basics
PDF
tiger logo test 3
PDF
10 angi soril 31_dungiin jagsaalt
PDF
Finpro be inspired Ideo
PDF
10 soril 32_dungiin jagsaalt
TXT
Image pacman
PDF
Lude & le chat-machine
PDF
Japan timeline01
MBD_Brochure
9. lenguaje binario
9. lenguaje binario
Operation Blackjack Decoded By Glp
Big Data Will Change Our World
Informe simulacion digital yolfred uzcategui - 25.242.800
Speech Reognition Using FPGA Technology
Apresentação Service Desk G2Business
Ashish thusoo evolution of big data architectures
Ke hoach thi cong thang 9
Cdma basics
tiger logo test 3
10 angi soril 31_dungiin jagsaalt
Finpro be inspired Ideo
10 soril 32_dungiin jagsaalt
Image pacman
Lude & le chat-machine
Japan timeline01
Ad

More from PostgreSQL Experts, Inc. (20)

ODP
Shootout at the AWS Corral
ODP
Fail over fail_back
ODP
PostgreSQL Replication in 10 Minutes - SCALE
ODP
Give A Great Tech Talk 2013
PDF
Pg py-and-squid-pypgday
PDF
92 grand prix_2013
PDF
Five steps perform_2013
PDF
7 Ways To Crash Postgres
PDF
PWNage: Producing a newsletter with Perl
PDF
10 Ways to Destroy Your Community
PDF
Open Source Press Relations
PDF
5 (more) Ways To Destroy Your Community
PDF
Preventing Community (from Linux Collab)
PDF
Development of 8.3 In India
PDF
PostgreSQL and MySQL
PDF
50 Ways To Love Your Project
PDF
8.4 Upcoming Features
PDF
Elephant Roads: PostgreSQL Patches and Variants
PDF
Writeable CTEs: The Next Big Thing
Shootout at the AWS Corral
Fail over fail_back
PostgreSQL Replication in 10 Minutes - SCALE
Give A Great Tech Talk 2013
Pg py-and-squid-pypgday
92 grand prix_2013
Five steps perform_2013
7 Ways To Crash Postgres
PWNage: Producing a newsletter with Perl
10 Ways to Destroy Your Community
Open Source Press Relations
5 (more) Ways To Destroy Your Community
Preventing Community (from Linux Collab)
Development of 8.3 In India
PostgreSQL and MySQL
50 Ways To Love Your Project
8.4 Upcoming Features
Elephant Roads: PostgreSQL Patches and Variants
Writeable CTEs: The Next Big Thing
Ad

Recently uploaded (20)

PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Empathic Computing: Creating Shared Understanding
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Programs and apps: productivity, graphics, security and other tools
Unlocking AI with Model Context Protocol (MCP)
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Spectroscopy.pptx food analysis technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
sap open course for s4hana steps from ECC to s4
MIND Revenue Release Quarter 2 2025 Press Release
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
MYSQL Presentation for SQL database connectivity
Empathic Computing: Creating Shared Understanding
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Big Data Technologies - Introduction.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Chapter 3 Spatial Domain Image Processing.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
20250228 LYD VKU AI Blended-Learning.pptx

Safe Data is Happy Data