!           "    "                #$%                   &                       !"                          !#   !#    ! $...
#                                                       #                                         -! 01                   ...
#
!$                       !                    *)                               =                            )        !   )...
(   )                       +        -,           -           )                )        -           )       -
(       )                                   +,           )       -                       )   2                            ...
(        )             +?    @,                01    ,        %             01        &         8A    @        22
(           )                                                                                                    +        ...
(        )                 +?     @,                01     ,        %             01         &         8A     @        22E...
(       )        -               )   )                G   -#"                              2
*H                                  (H    +    4   -   - >       >.       )                               ?             ) ...
;@       ;<   %       -        ?   -        #            -        "
;#         -           G                                (                  / +.                     !                     ...
@        ;       C           )        (* *       C"4+       #                                          -         N        ...
<       %       -    <                    )               !            E    #       >                                G    ...
<@           )&               /                   -            -           )   -<       Q           !                   (#...
?       -C           -          !                    DR                            G        G&               )     -      ...
#        ( * * ##        !   )   !                  G +)           !       G               )G                             ...
-        ( * * ##       !       )   !               G +))           !      G                   )G                         ...
"@        EF       !   GC                     )       -       !   )D?            G           !       %
+       #                       ! ,! #         " B    K*AE    G         @,   01    )         2                   ?      ( ...
+   #   ! ,
*           ).   )   !            !                    !   G
"             *,                                S" B         *.   (C   .   &       +    @H! )                 =           ...
"          *,                                           S        *% ?4<            (" B       *.   (C       .   &        +...
)UE>     > >       #$ T      M - F #$ DP )(+T      M       F M - DP         (N   N+T        M - DP       (+T         R    ...
)UE>     > >       #$ T       % ?4==<        T      M - F #$ DP )(+T      M       F M - DP      (N     N+T        M - DP  ...
-          -    =>>)))*                *     >        *   2     F?                           -              C"4    =>>)))*...
J                                              (        -VW    - +J            -               F           =>>            ...
)              )            ! <4<# Y ."@? @         ,%<"<        <    " (R< "! @               + F 811:R                  ...
-     -;   F       R         *       T" -          F )" -      (Z I   +T?            F *?    (                   *       +...
#                   -,                                                        C"4              )                   @?     ...
#            -O       P         F                *C"4*      @(          F +QAT             F              *C"4*       -(  ...
;^   ,   .# /@           ;^   ,   .# /<       %               -^   #           *^   (               0       #             ...
G                -        G       ))   !                  !                )    G                            -       !    ...
(          3456,       0:59    2
$
(                             3456,                   0:59               2@H!             )              0:59             ...
(                3456              0:59           811:0 ;      ^8   ;    ^    #6       _ ;   ^;     <   %    -
$            "                9           8                                %            0                    )            ...
))))*                                *       *                         )))*                  *^              !            ...
2       ! )                 =#                         -<^   # += =       > 3?45:43?:9                                    ...
)))*           *   *    )))*                   *    *         ) =Z               "    !          -                   = @, ...
The Principles of Secure Development - Epicenter Dublin
The Principles of Secure Development - Epicenter Dublin
The Principles of Secure Development - Epicenter Dublin
The Principles of Secure Development - Epicenter Dublin
The Principles of Secure Development - Epicenter Dublin
The Principles of Secure Development - Epicenter Dublin
Upcoming SlideShare
Loading in …5
×

The Principles of Secure Development - Epicenter Dublin

1,270 views

Published on

The Principles of Secure Development by David Rook at the Epicenter Dublin conference in 2009.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

The Principles of Secure Development - Epicenter Dublin

  1. 1. ! " " #$% & !" !# !# ! $# % & ()))* * * + ( + , , -$. ( - / ! - +
  2. 2. # # -! 01 2 34 !5 2667 8119 811: ( + 34 ( #;< +#;< = =>>) * * *- > )> >
  3. 3. #
  4. 4. !$ ! *) = ) ! ) ) *
  5. 5. ( ) + -, - ) ) - ) -
  6. 6. ( ) +, ) - ) 2 ) , - ) ) ) -
  7. 7. ( ) +? @, 01 , % 01 & 8A @ 22
  8. 8. ( ) + . , - #C " ; < # # # - # - - . 34 3 #. # @ ) ? # " B . - 4 - C " ; . ) . @ # # D < D. # $ # < % - % D# ) ? - @ " < # . &< ? - 4 .. " C"4 . , - " 4 ? . < 34 # < ) C - # - ; < - < - @ C C " # - - - # "
  9. 9. ( ) +? @, 01 , % 01 & 8A @ 22EF -
  10. 10. ( ) - ) ) G -#" 2
  11. 11. *H (H + 4 - - > >. ) ? ) - "@ -2
  12. 12. ;@ ;< % - ? - # - "
  13. 13. ;# - G ( / +. ! = I J08!0KLMC ) - ) - ! - - B = * ( *B ( N +!? *B " ( ++
  14. 14. @ ; C ) (* * C"4+ # - N - =)))* * > * 2 FO P ( * +O> P = F76# 76< 789 * 78:76#> 76<
  15. 15. < % - < ) ! E # > G % ! - & -F - !" "#$ !$% !$&" %" (! &) "
  16. 16. <@ )& / - - ) -< Q ! (# #% 2+ G ( +
  17. 17. ? -C - ! DR G G& ) - ! ) G ) (* * 4E+ ) (* * +
  18. 18. # ( * * ## ! ) ! G +) ! G )G (* * 4 8+G 4> 4 - - ! E - -
  19. 19. - ( * * ## ! ) ! G +)) ! G )G (* * < +G ) G - ! ) - 2
  20. 20. "@ EF ! GC ) - ! )D? G ! %
  21. 21. + # ! ,! # " B K*AE G @, 01 ) 2 ? ( ) & +
  22. 22. + # ! ,
  23. 23. * ). ) ! ! ! G
  24. 24. " *, S" B *. (C . & + @H! ) = O P ( * +O> P, -
  25. 25. " *, S *% ?4< (" B *. (C . & ++ ? - = S T S- T ( * +S T> S- T
  26. 26. )UE> > > #$ T M - F #$ DP )(+T M F M - DP (N N+T M - DP (+T R M T& )
  27. 27. )UE> > > #$ T % ?4==< T M - F #$ DP )(+T M F M - DP (N N+T M - DP (+T R ! % ?4==< == (M +T@ ) ) % ?4
  28. 28. - - =>>)))* * > * 2 F? - C"4 =>>)))* * > * 2 F? & F8& -F - !" "#$ !$% !$&" %" (! &) "
  29. 29. J ( -VW - +J - F =>> * * > X * T JC"4 F ) C"4( +T F * (+T * (+TL (< + J >> * * (< B - Q *- ? - (++TLLL
  30. 30. ) ) ! <4<# Y ."@? @ ,%<"< < " (R< "! @ + F 811:R - - = - B F <4<# Y ."@? @ ,%<"< < " (R< "!@ +F Q * R * +T. 34 1T <4< < ."@? @ ,%<"< FN NTDD
  31. 31. - -; F R * T" - F )" - (Z I +T? F *? ( * +T ( * +J >> &@ ! -*LJ ; F * ( -; +T (( ; O 0::1+ [[ ( ; P *& )*R ++ J >> - ! -* LL
  32. 32. # -, C"4 ) @? =>> * > * 2 F - F ) - =O P F *C"4* @( F +QAT *) ( *C"4* -( ! *C"4* - ++TO> P, F - @?
  33. 33. # -O P F *C"4* @( F +QAT F *C"4* -( ! *C"4* - +T ( * (>V D/ D]WM>++J *) ( +TLJ) )* ( E +TLO> P
  34. 34. ;^ , .# /@ ;^ , .# /< % -^ # *^ ( 0 # 1 0 2 ? -^ # % 0 2 #^ -^ ) "^ 2 !
  35. 35. G - G )) ! ! ) G - ! - - - - - G !H E
  36. 36. ( 3456, 0:59 2
  37. 37. $
  38. 38. ( 3456, 0:59 2@H! ) 0:59 2 ? -" ) - ) 2
  39. 39. ( 3456 0:59 811:0 ; ^8 ; ^ #6 _ ; ^; < % -
  40. 40. $ " 9 8 % 0 ) $& ( ) : 3! ! " ! 7 $# " "
  41. 41. ))))* * * )))* *^ ! ) ! - =>> * * - =>> * * ->^ # ) ! =>>)))* ) * -^ ) =>>)))* * * > ) > - >^ ; ) ! ) =>>)))* )1 * >^ ) =>> - * - * >^ # ) ! =>>)))*) * ->^ ) ! =>>)))* ) * > ^ <! ) ! )
  42. 42. 2 ! ) =# -<^ # += = > 3?45:43?:9 4^ # += = > @59?A883:@ ? -^ # += = > @59?A34439 ? =" -. !C !^ # += = > @9839:4464 ) = -^ # += = > @9839?A5@? ) = - - ) ;^ # += = > @983::::8A ) -= - ) . )^ # += = > @9839@:6A3. // -= . ;^ # += = > @983::A334
  43. 43. )))* * * )))* * * ) =Z " ! - = @, ! 01

×