php

สรุปสิ่งที่ได้รับจากงาน Bangkok PHP Meetup #0
ซึ่งเป็นงานครั้งแรกของกลุ่ม Thailand PHP User Group กันเลย
วันนี้ผมไปงานสายหน่อยนึง เพราะว่าหาทางเข้าตึกไม่เจอ
กับติดงานนิดหน่อย แต่ยังดีที่งานยังไม่เริ่ม

มาดูว่างาน meetup ครั้งแรกของกลุ่มนั้นมีอะไรบ้าง

เริ่มด้วยเรื่อง Security ในการพัฒนา software

โดยสิ่งที่ผู้พูดนั้น ได้พูดเกี่ยวกับ Top 10 Security Vulnerabilities จาก OWASP
ประกอบไปด้วยปัญหาต่างๆ ดังนี้  ผมนำข้อมูลเพิ่มเติ่มาจาก Top 10 ของปี 2013

  1. Injection เช่น SQL, OS, LDAP
  2. Broken Authentication and Session management
  3. Cross-site Scripting (XSS)
  4. Insecure Direct Object Reference
  5. Security misconfiguration
  6. Sensitive data exposure
  7. Missing function level access control
  8. Cross-Site Request Forgery (CSRF)
  9. Using components with known vulnerabilities
  10. Unvalidated Redirects and Forwards

ผู้พูดจะเน้น 4 ตัวคือ

  • SQL Injection จะเกิดขึ้นเมื่อข้อมูลที่ไม่ปลอดภัยถูกส่งเข้ามา แล้วถูกนำไปใช้ในการดึงข้อมูล หรือ ชุดคำสั่ง ซึ่งอาจจะส่งผลกระทบต่อระบบ เช่น ข้อมูลถูกขโมย ระบบอาจจะล่ม หรือเลวร้ายสุดๆ คือ สามารถควบคุมการทำงานของเครื่องได้เลย
  • Insecure Direct Object Reference เช่น การ include file และ การอ่านไฟล์ โดยที่ชื่อไฟล์ ส่งเข้ามาจากผู้ใช้งาน ซึ่งเป็นช่องทางการโจมตีรูปแบบหนึ่ง
  • Cross-site Scripting (XSS) จะเกิดขึ้นมาไม่ทำการตรวจสอบข้อมูลก่อนการบันทึกและแสดงผล ทำให้เมื่อผู้ใช้งานเข้ามาใช้งานแล้ว ทำให้ข้อมูลที่ไม่ปลอดภัยทำงาน เช่น การ run javascript เป็นต้น ซึ่งอาจจะทำให้สามารถขโมยข้อมูลบางอย่างได้  ตัวอย่างที่พบเจอได้เยอะ เช่น การขโมย session, การ redirect ไปยังระบบที่ไม่น่าเชื่อถือ เป็นต้น
  • Cross-Site Request Forgery (CSRF) เป็นรูปแบบการโจมตี ใช้วิธีส่งค่าต่างๆ ที่ปรับแต่งแล้ว มายังระบบงาน โดยอาจจะไม่ใช่มาจากผู้ใช้งานจริงๆ  เพื่อต้องการสวมสิทธิ์บางอย่าง ซึ่งถ้าระบบที่ไม่ได้กันไว้ก็จะทำงานตาม request และ response ส่งกลับไปปกติ เพราะว่าทุกอย่างถูกต้อง ส่วนใหญ่จะเจอในระบบที่เกี่ยวกับการเงินเป็นหลัก

ใน 2 ข้อแรกจะเป็นการโจมตีฝั่ง server ส่วนอีก 2 ข้อจะถูกโจมตีฝั่ง client หรือผู้ใช้งาน
โดยการแก้ไขนั้น ควรที่จะทำการ validate และ sanitize(ทำความสะอาด) ข้อมูลเข้า และข้อมูลออก เสมอ
ส่วนรายละเอียดของแต่ละตัวแนะนำให้ลองอ่านเพิ่มครับ

หนังสือที่ผมขอแนะนำ สำหรับเริ่มศึกษาเรื่อง security คือ Innocent Code: A Security Wake-Up Call for Web Programmers

51R9ERRrtnL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_

ถ้าสนใจเกี่ยวกับเรื่อง Security เพิ่มเติมลองไปร่วมกับกลุ่มใน facebook ได้ตามนี้

เรื่อง Security นั้นควรใส่หรือเพิ่มเข้ามาในทุกส่วนของการพัฒนา

ตั้งแต่การ training, ออกแบบ วิเคราะห์ พัฒนา ทดสอบ และ ติดตั้ง
ตัวอย่างเช่น Secure Development Lifecycle ของ Microsoft

msdltable

หลังจากที่ session แรกของงานจบไป ก็ได้เวลากินอาหารกัน

ซึ่งสิ่งที่ผมกินไป ประกอบไปด้วย น้ำอัดลม เบียร์  pizza
พบว่าอาหารมันเยอะมากจริงๆ อร่อยครับ

ต่อจากนั้นก็เข้าสู่ช่วงแนะนำตัวกันแต่ละคน ตรงนี้ใช้เวลานานพอสมควร
เนื่องจากมีจำนวนคนเยอะพอสมควร แต่ก็ทำให้รู้จักแต่ละคนที่เข้าร่วมงาน
ว่าเป็นใครมาจากไหน ทำงานอะไร เขียน php และใช้ framework อะไรบ้าง

สุดท้ายผู้จัดก็ได้พูดถึงที่มาที่ไปนิดหน่อย และให้ผู้เข้าร่วมงาน

ช่วยการแนะนำหัวข้อที่อยากจะพูด  หัวข้อที่อยากจะรู้
ด้วยการเขียนกระดาษ post-it เพื่อให้เป็นรายชื่อหัวข้อ
ที่จะนำมา vote กัน สำหรับใช้เป็นหัวข้อในการพูดคุยใน PHP Meetup ครั้งที่ 1 ต่อไป
มีหัวข้อที่เขียนกันมา สามารถแบ่งเป็นกลุ่มคร่าวๆ ได้ดังนี้ (เท่าที่จำได้)

  • Enterprise PHP
  • HHVM + Hacklang
  • Design Pattern + PHP OOP + SOLID
  • Test with PHP ( TDD )
  • Mop programming
  • PHP Security
  • Continuous Integration with PHP

สุดท้ายจริงๆ ต้องขอบคุณทุกๆ คนที่ทำให้เกิด Meetup ดีๆ แบบนี้ครับ …

อ๋อลืมไปว่า หลังจากที่จบ Meetup มีการทำ Retrospective แบบ Good, Bad และ Try ด้วยนะ …

พบกันใน meetup ครั้งต่อไปครับ สวัสดี …

*** ขออภัยที่ผมจำชื่อใครไม่ได้เลยครับ ***