SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Secure	
  So(ware	
  Design	
  

        Budi	
  Rahardjo	
  
       budi-­‐at-­‐indocisc.com	
  	
  
                   2013	
  
Desain	
  
•  Merupakan	
  kelanjutan	
  setelah	
  spesifikasi	
  




2013	
                  BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     2	
  
Desain	
  
•  Masalah	
  desain	
  terkait	
  business	
  logic	
  flaw	
  
   (bukan	
  bugs	
  karena	
  kode	
  belum	
  dibuat)	
  
•  Memperbaiki	
  masalah	
  (security)	
  yang	
  terjadi	
  
   di	
  producFon	
  100x	
  lebih	
  mahal	
  daripada	
  
   keFka	
  pada	
  fasa	
  desain	
  
specifica+on	
  	
  architectural	
  blueprint	
  code	
  



2013	
                   BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     3	
  
Desain	
  
•  Bentuknya	
  seperF	
  apa?	
  
           –  Flowchart	
  
           –  DFD	
  
           –  UML	
  
           –  DeskripFf	
  (teks	
  dan	
  gambar)	
  dengan	
  bahasa	
  
              natural	
  




2013	
                              BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     4	
  
Desain	
  
•  Mendefinisikan	
  sesuatu	
  yang	
  harusnya	
  terjadi	
  
•  Kondisi	
  normal	
  
             Spesifikasi	
  	
  Implementasi	
  
           MulFplier	
  (spec.)	
  	
  MulFplier	
  (impl.)	
  
                       (tes/ng?	
  verifica/on?)	
  




2013	
                       BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     5	
  
Security	
  Desain	
  
•  Mendefinisikan	
  sesuatu	
  yang	
  Fdak	
  boleh	
  
   terjadi	
  (dari	
  kacamata	
  security)	
  
           –  Safety?	
  

           –  Abuse	
  |	
  misuse	
  |	
  pelanggaran	
  kebijakan	
  
           –  Kendali	
  (control)	
  yang	
  diterapkan	
  terhadap	
  hal	
  di	
  
              atas	
  



2013	
                               BR	
  -­‐	
  Secure	
  So(ware	
  Design	
         6	
  
Contoh	
  #1	
  
•  Contoh	
  yang	
  Fdak	
  boleh	
  terjadi	
  
           –  Pengguna	
  login	
  dari	
  dua	
  (2)	
  tempat	
  yang	
  berbeda	
  
              (parallel	
  login)	
  
               •  Ada	
  skenario	
  pengujian	
  login	
  dari	
  2	
  IP	
  yang	
  berbeda	
  
               •  Bagaimana	
  caranya?	
  Manual?	
  OtomaFs?	
  
           –  Bagaiman	
  kendalinya?	
  
               •  Cookies	
  +	
  nomor	
  IP	
  +	
  jenis	
  browser	
  +	
  idenFtas	
  
                  komputer	
  lainnya	
  



2013	
                                     BR	
  -­‐	
  Secure	
  So(ware	
  Design	
               7	
  
Contoh	
  #2	
  
•  Password	
  recovery	
  
           –  Pertanyaan	
  yang	
  sudah	
  dipersiapkan	
  
               •  Warna	
  favorit?	
  
               •  Nama	
  binatang	
  peliharaan	
  (pets)?	
  
           –  Jawaban	
  yang	
  terbatas	
  jumlahnya	
  atau	
  mudah	
  
              ditebak	
  
               •  Tebak	
  warna:	
  merah,	
  biru,	
  hijau,	
  ...	
  
               •  Kasus	
  Paris	
  Hilton,	
  nama	
  pets	
  diketahui	
  (via	
  media	
  
                  entertainment)	
  
               •  Data	
  via	
  faceboook	
  (social	
  media	
  lainnya)	
  

2013	
                                   BR	
  -­‐	
  Secure	
  So(ware	
  Design	
             8	
  
Desain	
  Kendali	
  
•  Bagaimana	
  mendeskripsikannya?	
  
           –  Sama	
  dengan	
  metoda	
  yang	
  digunakan	
  untuk	
  
              mendeskripsikan	
  desain	
  
               •  Use	
  case	
  




2013	
                              BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     9	
  
So(ware	
  Security	
  Design	
  
ConsideraFons	
  
•  Confiden'ality	
  Design	
                                     •  AuthenFcaFon	
  Design	
  
           –  Menggunakan	
                                                  –  SSO?	
  
              kriptografi	
                                       •  AuthorizaFon	
  Design	
  
•  Integrity	
  Design	
                                                     –  Roles,	
  separaFon	
  of	
  
           –  Menggunakan	
  hash	
                                             duty,	
  least	
  priviledge	
  
              funcFons	
                                         •  AudiFng/Logging	
  
•  Availability	
  Design	
                                         Design	
  
           –  Data	
  replicaFon?	
  




2013	
                                  BR	
  -­‐	
  Secure	
  So(ware	
  Design	
                                 10	
  
Secure	
  Design	
  Principles	
  
•      Least	
  privilege	
                                             •  Open	
  Design	
  
•      SeparaFon	
  of	
  duFes	
                                       •  Least	
  Common	
  
•      Defense	
  in	
  Depth	
                                            Mechanism	
  
•      Fail	
  Secure	
                                                 •  Psychological	
  
•      Economy	
  of	
  Mechanism	
                                        Acceptability	
  
•      Complete	
  MediaFon	
                                           •  Leveraging	
  ExisFng	
  
                                                                           Components	
  
Source:	
  Mano	
  Paul,	
  “Official	
  (ISC)2	
  
Guide	
  to	
  the	
  CSSLP”,	
  CRC	
  Press,	
  2011	
  


2013	
                                         BR	
  -­‐	
  Secure	
  So(ware	
  Design	
              11	
  
Least	
  Privilage	
  
•  Gunakan	
  access	
  rights	
  (privilage)	
  se-­‐minimal	
  
   mungkin	
  
•  Terkait	
  dengan	
  konfigurasi	
  bukan	
  so(warenya	
  
•  Modular	
  programming	
  
•  Contoh	
  
           –  Database:	
  Fdak	
  menggunakan	
  “sa”	
  (admin)	
  untuk	
  
              aplikasi	
  
           –  Web:	
  apache	
  menggunakan	
  “www-­‐data”	
  bukan	
  “root”	
  
           –  Mail:	
  posjix	
  menggunakan	
  user	
  yang	
  berbeda	
  untuk	
  
              menerima	
  email	
  dan	
  menulis	
  mailbox	
  

2013	
                              BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     12	
  
SeparaFon	
  of	
  Duty	
  
•  Fungsionalitas	
  dipisahkan	
  
   (compartementalize)	
  
           –  Memisahkan	
  kunci	
  kriptografi	
  (spliCng	
  keys)	
  




2013	
                             BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     13	
  
Defense	
  in	
  Depth	
  
•  Layered	
  defense	
  
•  Masalah	
  (vulnerability)	
  di	
  satu	
  tempat	
  Fdak	
  
   menjadikan	
  total	
  compromise	
  
•  Contoh	
  
           –  Menggunakan	
  zona	
  security	
  yang	
  berbeda	
  
           –  Menggunakan	
  input	
  validaFon,	
  stored	
  procedures,	
  
              Fdak	
  memperkenankan	
  dynamic	
  query	
  
              construcFon	
  

2013	
                            BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     14	
  
Fail	
  Secure	
  
•  Bila	
  gagal,	
  masuk	
  ke	
  zona	
  secure	
  
•  Contoh	
  
           –  Gagal	
  login	
  beberapa	
  kali,	
  account	
  dikunci	
  
           –  Pesan	
  kesalahan	
  (error	
  messages)	
  Fdak	
  
              mengungkapkan	
  rahasia	
  (non-­‐verbose)	
  
               •  Error	
  ...	
  /to/some/path/file	
  
•  HaF-­‐haF	
  untuk	
  Fdak	
  menjadi	
  DoS	
  
   (bergantung	
  kepada	
  kebijakan)	
  

2013	
                                 BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     15	
  
Economy	
  of	
  Mechanism	
  
•  “the	
  more	
  complex	
  the	
  design	
  of	
  the	
  soGware,	
  
   the	
  more	
  likely	
  there	
  are	
  vulnerabili/es”	
  
•  Fungsi	
  dan	
  pengamanan	
  yang	
  Fdak	
  
   dibutuhkan	
  (berlebihan)	
  harus	
  dihindari	
  
•  Simplicity	
  ...	
  Zen	
  ...	
  
•  Kemudahan	
  



2013	
                      BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     16	
  
Complete	
  MediaFon	
  
•  Access	
  request	
  harus	
  diuji	
  seFap	
  saat	
  
•  Contoh	
  
           –  URL	
  dengan	
  user=budi	
  diganF	
  menjadi	
  rahardjo	
  
              ternyata	
  menampilkan	
  data	
  “rahardjo”	
  tanpa	
  
              harus	
  login	
  
           –  Tidak	
  boleh	
  bergantung	
  hanya	
  kepada	
  client-­‐side,	
  
              cookie-­‐based	
  caching	
  of	
  authen/ca/on	
  creden/als	
  
           –  Instruksi	
  “jangan	
  tekan	
  tombol	
  lebih	
  dari	
  sekali”	
  
              Fdak	
  efekFf	
  

2013	
                               BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     17	
  
Open	
  Design	
  
•  Pisahkan	
  kerahasiaan	
  dengan	
  desain	
  
           –  Contoh	
  algoritma	
  kriptografi	
  yang	
  memisahkan	
  antara	
  
              algoritma	
  dan	
  kunci-­‐nya	
  
           –  Algoritma	
  dapat	
  direview	
  tanpa	
  merisikokan	
  
              kerahasiaan.	
  (Contoh	
  algoritma	
  yang	
  terbuka	
  AES,	
  
              RSA,	
  dll.)	
  
•  Lawannya	
  adalah	
  security	
  through	
  obscurity	
  
           –  Tingkat	
  kerahasiaan	
  so(ware	
  bergantung	
  kepada	
  
              kerahasiaan	
  desain.	
  Harus	
  dihindari.	
  Bocornya	
  desain	
  
              berdampak	
  kepada	
  gagalnya	
  keamanan	
  
           –  Desain	
  harus	
  terbuka	
  untuk	
  review	
  (scruFny)	
  
           –  Hard	
  coding	
  informasi	
  yang	
  sensiFf	
  berbahaya	
  
2013	
                               BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     18	
  
Least	
  Common	
  Mechanism	
  
•  Mekanisme	
  yang	
  sama	
  (common)	
  untuk	
  
   pengguna	
  /	
  proses	
  dengan	
  Fngkat	
  otoritas	
  
   yang	
  berbeda	
  Fdak	
  boleh	
  digunakan	
  bersama	
  
   (shared)	
  
•  Potensi	
  terjadinya	
  kebocoran	
  informasi	
  
•  Harus	
  dikotak-­‐kotakkan	
  



2013	
                   BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     19	
  
Psychological	
  Acceptability	
  
•  Security	
  mechanism	
  should	
  be	
  designed	
  to	
  
   maximize	
  usage,	
  adop/on,	
  and	
  automa/c	
  
   applica/on	
  
•  Penerapan	
  pengamanan	
  diusahakan	
  Fdak	
  
   menyulitkan	
  pengguna.	
  Jika	
  Fdak,	
  akan	
  terjadi	
  
   masalah	
  keamanan	
  di	
  tempat	
  lain	
  
           –  Aturan	
  /	
  desain:	
  “password	
  harus	
  kompleks	
  dan	
  sering	
  
              diubah”	
  
           –  Pengguna	
  kesulitan	
  mengingat	
  password	
  (yang	
  selalu	
  
              berubah)	
  
           –  Pengguna	
  menuliskan	
  password	
  tersebut	
  di	
  kertas	
  dan	
  
              menyimpannya	
  dekat	
  kompyter	
  
2013	
                                 BR	
  -­‐	
  Secure	
  So(ware	
  Design	
       20	
  
Psychological	
  Acceptability	
  (cont.)	
  
•  Penerapan	
  pengamanan	
  harus	
  
           –  Mudah	
  digunakan	
  
           –  Tidak	
  mengubah	
  accessibility	
  
           –  Transparan	
  terhadap	
  pengguna	
  




2013	
                           BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     21	
  
Leveraging	
  ExisFng	
  Components	
  
•  Menggunakan	
  komponen	
  /	
  layanan	
  yang	
  
   sudah	
  tersedia	
  (daripada	
  membuat	
  sendiri)	
  
           –  Menggunakan	
  algoritma	
  kriptografi	
  yang	
  sudah	
  
              terbukF	
  aman	
  
           –  Menggunakan	
  library	
  yang	
  banyak	
  digunakan	
  




2013	
                            BR	
  -­‐	
  Secure	
  So(ware	
  Design	
     22	
  

Weitere ähnliche Inhalte

Andere mochten auch

To teach is ... (On Teaching)
To teach is ... (On Teaching)To teach is ... (On Teaching)
To teach is ... (On Teaching)budi rahardjo
 
Turning Technology into Business
Turning Technology into BusinessTurning Technology into Business
Turning Technology into Businessbudi rahardjo
 
Strategi Industri Telematika Indonesia
Strategi Industri Telematika IndonesiaStrategi Industri Telematika Indonesia
Strategi Industri Telematika Indonesiabudi rahardjo
 
Pengantar Nama Domain
Pengantar Nama DomainPengantar Nama Domain
Pengantar Nama Domainbudi rahardjo
 
Kesiapan Lulusan Perguruan Tinggi
Kesiapan Lulusan Perguruan TinggiKesiapan Lulusan Perguruan Tinggi
Kesiapan Lulusan Perguruan Tinggibudi rahardjo
 
Creativity and Innovation
Creativity and InnovationCreativity and Innovation
Creativity and Innovationbudi rahardjo
 
Topik Penelitian Keamanan Informasi
Topik Penelitian Keamanan InformasiTopik Penelitian Keamanan Informasi
Topik Penelitian Keamanan Informasibudi rahardjo
 

Andere mochten auch (7)

To teach is ... (On Teaching)
To teach is ... (On Teaching)To teach is ... (On Teaching)
To teach is ... (On Teaching)
 
Turning Technology into Business
Turning Technology into BusinessTurning Technology into Business
Turning Technology into Business
 
Strategi Industri Telematika Indonesia
Strategi Industri Telematika IndonesiaStrategi Industri Telematika Indonesia
Strategi Industri Telematika Indonesia
 
Pengantar Nama Domain
Pengantar Nama DomainPengantar Nama Domain
Pengantar Nama Domain
 
Kesiapan Lulusan Perguruan Tinggi
Kesiapan Lulusan Perguruan TinggiKesiapan Lulusan Perguruan Tinggi
Kesiapan Lulusan Perguruan Tinggi
 
Creativity and Innovation
Creativity and InnovationCreativity and Innovation
Creativity and Innovation
 
Topik Penelitian Keamanan Informasi
Topik Penelitian Keamanan InformasiTopik Penelitian Keamanan Informasi
Topik Penelitian Keamanan Informasi
 

Ähnlich wie Secure Software Design

Nota Subjek Sains Komputer Tingkatan 5 lengkap - SUBJEK MPEI
Nota Subjek Sains Komputer Tingkatan 5 lengkap - SUBJEK MPEINota Subjek Sains Komputer Tingkatan 5 lengkap - SUBJEK MPEI
Nota Subjek Sains Komputer Tingkatan 5 lengkap - SUBJEK MPEIMadrasah Idrisiah
 
Pertemuan04 mengamankansisteminformasi
Pertemuan04 mengamankansisteminformasiPertemuan04 mengamankansisteminformasi
Pertemuan04 mengamankansisteminformasiRoziq Bahtiar
 
W8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering DrawingW8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering DrawingJepree Ibrahim
 
THE FUTURE OF WORK BY SYAHRANI ADRIANTY - INTERPERSONAL SKILL B
THE FUTURE OF WORK BY SYAHRANI ADRIANTY - INTERPERSONAL SKILL BTHE FUTURE OF WORK BY SYAHRANI ADRIANTY - INTERPERSONAL SKILL B
THE FUTURE OF WORK BY SYAHRANI ADRIANTY - INTERPERSONAL SKILL BSyahraniAdrianty
 
Perlindungan keamanan informasi - Password
Perlindungan keamanan informasi - PasswordPerlindungan keamanan informasi - Password
Perlindungan keamanan informasi - Passwordradityamuhammad1
 
10 aspek keamanan_open_source
10 aspek keamanan_open_source10 aspek keamanan_open_source
10 aspek keamanan_open_sourceRusmanto Maryanto
 
Security short intro
Security short introSecurity short intro
Security short introbudi rahardjo
 
Sim, erni anggraini, prof. dr. ir. hapzi ali, mm, cma, analisis dan perancang...
Sim, erni anggraini, prof. dr. ir. hapzi ali, mm, cma, analisis dan perancang...Sim, erni anggraini, prof. dr. ir. hapzi ali, mm, cma, analisis dan perancang...
Sim, erni anggraini, prof. dr. ir. hapzi ali, mm, cma, analisis dan perancang...-
 
Network security
Network securityNetwork security
Network securitymho3yank
 
Pertemuan 2 pemrograman mobile.pptx
Pertemuan 2 pemrograman mobile.pptxPertemuan 2 pemrograman mobile.pptx
Pertemuan 2 pemrograman mobile.pptxTaufikIqbalR1
 
Code review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief KarfiantoCode review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief Karfiantoidsecconf
 
Keamanan internet dengan dns
Keamanan internet dengan dnsKeamanan internet dengan dns
Keamanan internet dengan dnsAinul Hakim
 
Pertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdfPertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdfJulianaMansur6
 

Ähnlich wie Secure Software Design (20)

Nota Subjek Sains Komputer Tingkatan 5 lengkap - SUBJEK MPEI
Nota Subjek Sains Komputer Tingkatan 5 lengkap - SUBJEK MPEINota Subjek Sains Komputer Tingkatan 5 lengkap - SUBJEK MPEI
Nota Subjek Sains Komputer Tingkatan 5 lengkap - SUBJEK MPEI
 
Pengamanan Source Code
Pengamanan Source CodePengamanan Source Code
Pengamanan Source Code
 
Pertemuan04 mengamankansisteminformasi
Pertemuan04 mengamankansisteminformasiPertemuan04 mengamankansisteminformasi
Pertemuan04 mengamankansisteminformasi
 
W8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering DrawingW8 LA2 Carry Out Engineering Drawing
W8 LA2 Carry Out Engineering Drawing
 
THE FUTURE OF WORK BY SYAHRANI ADRIANTY - INTERPERSONAL SKILL B
THE FUTURE OF WORK BY SYAHRANI ADRIANTY - INTERPERSONAL SKILL BTHE FUTURE OF WORK BY SYAHRANI ADRIANTY - INTERPERSONAL SKILL B
THE FUTURE OF WORK BY SYAHRANI ADRIANTY - INTERPERSONAL SKILL B
 
Perlindungan keamanan informasi - Password
Perlindungan keamanan informasi - PasswordPerlindungan keamanan informasi - Password
Perlindungan keamanan informasi - Password
 
P3
P3P3
P3
 
10 aspek keamanan_open_source
10 aspek keamanan_open_source10 aspek keamanan_open_source
10 aspek keamanan_open_source
 
Security short intro
Security short introSecurity short intro
Security short intro
 
Sim, erni anggraini, prof. dr. ir. hapzi ali, mm, cma, analisis dan perancang...
Sim, erni anggraini, prof. dr. ir. hapzi ali, mm, cma, analisis dan perancang...Sim, erni anggraini, prof. dr. ir. hapzi ali, mm, cma, analisis dan perancang...
Sim, erni anggraini, prof. dr. ir. hapzi ali, mm, cma, analisis dan perancang...
 
Network security
Network securityNetwork security
Network security
 
Pertemuan 2.pdf
Pertemuan 2.pdfPertemuan 2.pdf
Pertemuan 2.pdf
 
Pertemuan 2 pemrograman mobile.pptx
Pertemuan 2 pemrograman mobile.pptxPertemuan 2 pemrograman mobile.pptx
Pertemuan 2 pemrograman mobile.pptx
 
Code review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief KarfiantoCode review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief Karfianto
 
It keamanan sistem informasi
It keamanan sistem informasiIt keamanan sistem informasi
It keamanan sistem informasi
 
Keamanan password dan enkripsi
Keamanan password dan enkripsiKeamanan password dan enkripsi
Keamanan password dan enkripsi
 
IT Carier
IT CarierIT Carier
IT Carier
 
Defensive Programming
Defensive ProgrammingDefensive Programming
Defensive Programming
 
Keamanan internet dengan dns
Keamanan internet dengan dnsKeamanan internet dengan dns
Keamanan internet dengan dns
 
Pertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdfPertemuan 4 - Scrum.pdf
Pertemuan 4 - Scrum.pdf
 

Mehr von budi rahardjo

How to train Electronics Rockstars
How to train Electronics RockstarsHow to train Electronics Rockstars
How to train Electronics Rockstarsbudi rahardjo
 
Product development 2021
Product development 2021Product development 2021
Product development 2021budi rahardjo
 
Security in COVID-19 Era
Security in COVID-19 EraSecurity in COVID-19 Era
Security in COVID-19 Erabudi rahardjo
 
Peluang IoT di Indonesia
Peluang IoT di IndonesiaPeluang IoT di Indonesia
Peluang IoT di Indonesiabudi rahardjo
 
IoT: Dari Hobby ke Profesi
IoT: Dari Hobby ke ProfesiIoT: Dari Hobby ke Profesi
IoT: Dari Hobby ke Profesibudi rahardjo
 
The Joy of Programming (short version)
The Joy of Programming (short version)The Joy of Programming (short version)
The Joy of Programming (short version)budi rahardjo
 
Technology-based Startup
Technology-based StartupTechnology-based Startup
Technology-based Startupbudi rahardjo
 
Keaslian Dokumen Digital
Keaslian Dokumen DigitalKeaslian Dokumen Digital
Keaslian Dokumen Digitalbudi rahardjo
 
Kronologis penganiayaan timmy
Kronologis penganiayaan timmyKronologis penganiayaan timmy
Kronologis penganiayaan timmybudi rahardjo
 
IT Security Human Resources
IT Security Human ResourcesIT Security Human Resources
IT Security Human Resourcesbudi rahardjo
 
Peranan ID-CERT Dalam Keamanan Cyber Space
Peranan ID-CERT Dalam Keamanan Cyber SpacePeranan ID-CERT Dalam Keamanan Cyber Space
Peranan ID-CERT Dalam Keamanan Cyber Spacebudi rahardjo
 
Mengapa Bertanya? Belajar Bertanya
Mengapa Bertanya? Belajar BertanyaMengapa Bertanya? Belajar Bertanya
Mengapa Bertanya? Belajar Bertanyabudi rahardjo
 

Mehr von budi rahardjo (15)

How to train Electronics Rockstars
How to train Electronics RockstarsHow to train Electronics Rockstars
How to train Electronics Rockstars
 
Product development 2021
Product development 2021Product development 2021
Product development 2021
 
Security in COVID-19 Era
Security in COVID-19 EraSecurity in COVID-19 Era
Security in COVID-19 Era
 
Peluang IoT di Indonesia
Peluang IoT di IndonesiaPeluang IoT di Indonesia
Peluang IoT di Indonesia
 
IoT: Dari Hobby ke Profesi
IoT: Dari Hobby ke ProfesiIoT: Dari Hobby ke Profesi
IoT: Dari Hobby ke Profesi
 
The Joy of Programming (short version)
The Joy of Programming (short version)The Joy of Programming (short version)
The Joy of Programming (short version)
 
Technology-based Startup
Technology-based StartupTechnology-based Startup
Technology-based Startup
 
Identity Theft
Identity TheftIdentity Theft
Identity Theft
 
Keaslian Dokumen Digital
Keaslian Dokumen DigitalKeaslian Dokumen Digital
Keaslian Dokumen Digital
 
Kronologis penganiayaan timmy
Kronologis penganiayaan timmyKronologis penganiayaan timmy
Kronologis penganiayaan timmy
 
IT Security Human Resources
IT Security Human ResourcesIT Security Human Resources
IT Security Human Resources
 
Tren it 2012
Tren it 2012Tren it 2012
Tren it 2012
 
Product development
Product developmentProduct development
Product development
 
Peranan ID-CERT Dalam Keamanan Cyber Space
Peranan ID-CERT Dalam Keamanan Cyber SpacePeranan ID-CERT Dalam Keamanan Cyber Space
Peranan ID-CERT Dalam Keamanan Cyber Space
 
Mengapa Bertanya? Belajar Bertanya
Mengapa Bertanya? Belajar BertanyaMengapa Bertanya? Belajar Bertanya
Mengapa Bertanya? Belajar Bertanya
 

Secure Software Design

  • 1. Secure  So(ware  Design   Budi  Rahardjo   budi-­‐at-­‐indocisc.com     2013  
  • 2. Desain   •  Merupakan  kelanjutan  setelah  spesifikasi   2013   BR  -­‐  Secure  So(ware  Design   2  
  • 3. Desain   •  Masalah  desain  terkait  business  logic  flaw   (bukan  bugs  karena  kode  belum  dibuat)   •  Memperbaiki  masalah  (security)  yang  terjadi   di  producFon  100x  lebih  mahal  daripada   keFka  pada  fasa  desain   specifica+on    architectural  blueprint  code   2013   BR  -­‐  Secure  So(ware  Design   3  
  • 4. Desain   •  Bentuknya  seperF  apa?   –  Flowchart   –  DFD   –  UML   –  DeskripFf  (teks  dan  gambar)  dengan  bahasa   natural   2013   BR  -­‐  Secure  So(ware  Design   4  
  • 5. Desain   •  Mendefinisikan  sesuatu  yang  harusnya  terjadi   •  Kondisi  normal   Spesifikasi    Implementasi   MulFplier  (spec.)    MulFplier  (impl.)   (tes/ng?  verifica/on?)   2013   BR  -­‐  Secure  So(ware  Design   5  
  • 6. Security  Desain   •  Mendefinisikan  sesuatu  yang  Fdak  boleh   terjadi  (dari  kacamata  security)   –  Safety?   –  Abuse  |  misuse  |  pelanggaran  kebijakan   –  Kendali  (control)  yang  diterapkan  terhadap  hal  di   atas   2013   BR  -­‐  Secure  So(ware  Design   6  
  • 7. Contoh  #1   •  Contoh  yang  Fdak  boleh  terjadi   –  Pengguna  login  dari  dua  (2)  tempat  yang  berbeda   (parallel  login)   •  Ada  skenario  pengujian  login  dari  2  IP  yang  berbeda   •  Bagaimana  caranya?  Manual?  OtomaFs?   –  Bagaiman  kendalinya?   •  Cookies  +  nomor  IP  +  jenis  browser  +  idenFtas   komputer  lainnya   2013   BR  -­‐  Secure  So(ware  Design   7  
  • 8. Contoh  #2   •  Password  recovery   –  Pertanyaan  yang  sudah  dipersiapkan   •  Warna  favorit?   •  Nama  binatang  peliharaan  (pets)?   –  Jawaban  yang  terbatas  jumlahnya  atau  mudah   ditebak   •  Tebak  warna:  merah,  biru,  hijau,  ...   •  Kasus  Paris  Hilton,  nama  pets  diketahui  (via  media   entertainment)   •  Data  via  faceboook  (social  media  lainnya)   2013   BR  -­‐  Secure  So(ware  Design   8  
  • 9. Desain  Kendali   •  Bagaimana  mendeskripsikannya?   –  Sama  dengan  metoda  yang  digunakan  untuk   mendeskripsikan  desain   •  Use  case   2013   BR  -­‐  Secure  So(ware  Design   9  
  • 10. So(ware  Security  Design   ConsideraFons   •  Confiden'ality  Design   •  AuthenFcaFon  Design   –  Menggunakan   –  SSO?   kriptografi   •  AuthorizaFon  Design   •  Integrity  Design   –  Roles,  separaFon  of   –  Menggunakan  hash   duty,  least  priviledge   funcFons   •  AudiFng/Logging   •  Availability  Design   Design   –  Data  replicaFon?   2013   BR  -­‐  Secure  So(ware  Design   10  
  • 11. Secure  Design  Principles   •  Least  privilege   •  Open  Design   •  SeparaFon  of  duFes   •  Least  Common   •  Defense  in  Depth   Mechanism   •  Fail  Secure   •  Psychological   •  Economy  of  Mechanism   Acceptability   •  Complete  MediaFon   •  Leveraging  ExisFng   Components   Source:  Mano  Paul,  “Official  (ISC)2   Guide  to  the  CSSLP”,  CRC  Press,  2011   2013   BR  -­‐  Secure  So(ware  Design   11  
  • 12. Least  Privilage   •  Gunakan  access  rights  (privilage)  se-­‐minimal   mungkin   •  Terkait  dengan  konfigurasi  bukan  so(warenya   •  Modular  programming   •  Contoh   –  Database:  Fdak  menggunakan  “sa”  (admin)  untuk   aplikasi   –  Web:  apache  menggunakan  “www-­‐data”  bukan  “root”   –  Mail:  posjix  menggunakan  user  yang  berbeda  untuk   menerima  email  dan  menulis  mailbox   2013   BR  -­‐  Secure  So(ware  Design   12  
  • 13. SeparaFon  of  Duty   •  Fungsionalitas  dipisahkan   (compartementalize)   –  Memisahkan  kunci  kriptografi  (spliCng  keys)   2013   BR  -­‐  Secure  So(ware  Design   13  
  • 14. Defense  in  Depth   •  Layered  defense   •  Masalah  (vulnerability)  di  satu  tempat  Fdak   menjadikan  total  compromise   •  Contoh   –  Menggunakan  zona  security  yang  berbeda   –  Menggunakan  input  validaFon,  stored  procedures,   Fdak  memperkenankan  dynamic  query   construcFon   2013   BR  -­‐  Secure  So(ware  Design   14  
  • 15. Fail  Secure   •  Bila  gagal,  masuk  ke  zona  secure   •  Contoh   –  Gagal  login  beberapa  kali,  account  dikunci   –  Pesan  kesalahan  (error  messages)  Fdak   mengungkapkan  rahasia  (non-­‐verbose)   •  Error  ...  /to/some/path/file   •  HaF-­‐haF  untuk  Fdak  menjadi  DoS   (bergantung  kepada  kebijakan)   2013   BR  -­‐  Secure  So(ware  Design   15  
  • 16. Economy  of  Mechanism   •  “the  more  complex  the  design  of  the  soGware,   the  more  likely  there  are  vulnerabili/es”   •  Fungsi  dan  pengamanan  yang  Fdak   dibutuhkan  (berlebihan)  harus  dihindari   •  Simplicity  ...  Zen  ...   •  Kemudahan   2013   BR  -­‐  Secure  So(ware  Design   16  
  • 17. Complete  MediaFon   •  Access  request  harus  diuji  seFap  saat   •  Contoh   –  URL  dengan  user=budi  diganF  menjadi  rahardjo   ternyata  menampilkan  data  “rahardjo”  tanpa   harus  login   –  Tidak  boleh  bergantung  hanya  kepada  client-­‐side,   cookie-­‐based  caching  of  authen/ca/on  creden/als   –  Instruksi  “jangan  tekan  tombol  lebih  dari  sekali”   Fdak  efekFf   2013   BR  -­‐  Secure  So(ware  Design   17  
  • 18. Open  Design   •  Pisahkan  kerahasiaan  dengan  desain   –  Contoh  algoritma  kriptografi  yang  memisahkan  antara   algoritma  dan  kunci-­‐nya   –  Algoritma  dapat  direview  tanpa  merisikokan   kerahasiaan.  (Contoh  algoritma  yang  terbuka  AES,   RSA,  dll.)   •  Lawannya  adalah  security  through  obscurity   –  Tingkat  kerahasiaan  so(ware  bergantung  kepada   kerahasiaan  desain.  Harus  dihindari.  Bocornya  desain   berdampak  kepada  gagalnya  keamanan   –  Desain  harus  terbuka  untuk  review  (scruFny)   –  Hard  coding  informasi  yang  sensiFf  berbahaya   2013   BR  -­‐  Secure  So(ware  Design   18  
  • 19. Least  Common  Mechanism   •  Mekanisme  yang  sama  (common)  untuk   pengguna  /  proses  dengan  Fngkat  otoritas   yang  berbeda  Fdak  boleh  digunakan  bersama   (shared)   •  Potensi  terjadinya  kebocoran  informasi   •  Harus  dikotak-­‐kotakkan   2013   BR  -­‐  Secure  So(ware  Design   19  
  • 20. Psychological  Acceptability   •  Security  mechanism  should  be  designed  to   maximize  usage,  adop/on,  and  automa/c   applica/on   •  Penerapan  pengamanan  diusahakan  Fdak   menyulitkan  pengguna.  Jika  Fdak,  akan  terjadi   masalah  keamanan  di  tempat  lain   –  Aturan  /  desain:  “password  harus  kompleks  dan  sering   diubah”   –  Pengguna  kesulitan  mengingat  password  (yang  selalu   berubah)   –  Pengguna  menuliskan  password  tersebut  di  kertas  dan   menyimpannya  dekat  kompyter   2013   BR  -­‐  Secure  So(ware  Design   20  
  • 21. Psychological  Acceptability  (cont.)   •  Penerapan  pengamanan  harus   –  Mudah  digunakan   –  Tidak  mengubah  accessibility   –  Transparan  terhadap  pengguna   2013   BR  -­‐  Secure  So(ware  Design   21  
  • 22. Leveraging  ExisFng  Components   •  Menggunakan  komponen  /  layanan  yang   sudah  tersedia  (daripada  membuat  sendiri)   –  Menggunakan  algoritma  kriptografi  yang  sudah   terbukF  aman   –  Menggunakan  library  yang  banyak  digunakan   2013   BR  -­‐  Secure  So(ware  Design   22