MiSSConf[SP4] ฉบับ non-tech

หลังจากที่หาญกล้าไปงานสัมมนา Hacker เมื่อปีที่แล้ว ฟังรู้เรื่องบ้างไม่รู้เรื่องบ้าง ถามว่าเข็ดไหม ? …. คำตอบคือไม่นะฮะ ครั้งนี้มีโอกาส ด้วยความพยายามในการ “นั่งหน้าจอ รอรีเฟรช” ระบบลงทะเบียนไปงาน MiSSConf[SP4] ที่บัตร 200 ที่นั่งเต็มในเวลา 5 นาที ก็ได้บัตรเข้างานมา ตั้งใจว่าถ้า technic ลึกๆ ไม่เข้าใจ ก็ไปเก็บอะไรก็ได้ที่ non-technic กลับมาให้ได้มากที่สุดก็แล้วกัน เพราะฉะนั้นถ้าคาดหวังว่าอ่านบล๊อคนี้แล้วจะมีวิธีเจาะระบบ นั่น โน่น นี่ ต้องขออภัยมา ณ ที่นี้เพราะไม่มีแน่นอนฮะ

Practical Crypto Attacks Against Web Applications โดย Khun Nop Phoomthaisong (MAYASEVEN)

ขออนุญาตแก้ไขเนื้อหาฮะ เพราะที่บันทึกไว้เข้าใจผิดหมดเลยฮะ แนะนำให้อ่าน blog ของคุณ mairai ฮะ ขออภัยมา ณ ที่นี้

เล่าเรื่อง DevSecCon Singapore 2018 โดย Khun Damrongsak Reetanon (MFEC)
Video : https://www.facebook.com/techtalkthai/videos/2031515493545087/

จากเรื่องเทคนิคจ๋าๆ มาต่อด้วยเรื่องเบาๆ บ้างฮะ อันนี้ชอบเลยเพราะมันเกี่ยวกับงานที่ทำอยู่มากเลยทีเดียว เนื้อหาเป็นการสรุปสิ่งที่ได้จากงาน DevSecCon ที่เพิ่งผ่านมาที่จัดกันไปที่สิงคโปร์ ซึ่งมีแนวโน้มสองหัวข้อที่ถูกนำมาพูดคุยกันก็คือเรื่องของ Security in Container และ DevSecOps ฮะ

Security in Container ก็เนื่องมาจากการทำงานด้าน IT ทั้งในส่วนการออกแบบ infra และการพัฒนา application มีการนำเอา container มาใช้กันอย่างแพร่หลายและถือเป็นเรื่องปรกติไปแล้ว แต่เราจะรู้และตรวจสอบได้ยังไงว่า Images ที่เรา pull ลงมา หรือใน Deploy script ที่เราเอามาใช้ มีความสะอาด ปลอดภัย ไม่มีอะไรเข้ามาแทรกหรือแอบอยู่ หรือในระหว่างการพัฒนา application เมื่อ container มีการเข้าไปปรับเปลี่ยนติดตั้ง library เพิ่มเติมและถูก commit ออกมาเป็น images แล้ว จะมีวิธีใดหรือไม่ในการ scan หา ไวรัส หรือสิ่งที่เปิดอันตรายในนั้น

ซึ่งจริงๆ มันก็จะโยงต่อมาหัวข้อ DevSecOps ซึ่งก็คือแนวคิดในการแทรก Security เข้าไปในทุกกระบวนการ DevOps นั่นเอง ตรงนี้เองสำหรับคนที่ยังงงๆ ว่า DevOps คืออะไร คุณดำรงค์ศักดิ์ ก็ช่วยขยายความเอาไว้โดยอ้างอิงถึงกระบวนการในการพัฒนาระบบโดยเมื่อมีการนำเอาเทคโนโลยีเข้ามาใช้งานเพื่อให้เกิดการทำงานอย่างอัตโนมัติ (Continuoue) ใน loop ต่างๆ คือ ตั้งแต่ Code ไปถึง Operate แบ่งคร่าวๆ ได้ประมาณนี้

[code]<–>[build]<–>[test]<—>[release]<—>[deploy]<—>[operate]
‘- contineuous Integration -‘
‘———- contineuous delivery ———-‘
‘—————- contineuous deployment ————–‘
‘———————————- DevOps——————————‘

โดยการทำ DevSecOps ก็คือในทุกๆ ขั้นตอนต้องมี Security เข้าไปแทรกโดยตลอด ไม่ใช่แค่มาตรวจสอบเอาก่อน Deploy หรือขึ้น Operate เหมือนอย่างในอดีต หรือที่มีการใช้คำว่า “Push Left” ซึ้งก็คือการทำให้เรื่องของ Security ไปอยู่ในขั้นตอนต้นๆ (ซ้ายสุด) จะให้ดีเอาตั้งแต่วาง requirement หรือการออกแบบ ก่อนจะ code ได้ยิ่งดี

พี่ดำรงค์ศักดิ์เน้นย้ำอีกทีก่อนจบว่า “Security is Everyone’s responsibility” และ DevOps ไม่ได้เป็นเรื่องของเทคโนโลยีแต่เป็นเรื่องของการสร้างวัฒนธรรมในการคำนึงถึงความมั่นคงปลอดภัยให้แทรกอยู่ในนิสัยของการทำงานกันมากกว่า ซึ่งโดยความหมายของวัฒนธรรมแล้วล้วนเริ่มต้นที่คนนั่นเอง “Culture = People + Process + Technology”

10 ท่ายากจาก Hacking Lab โดย Khun Pongtorn Angsuchotmetee และ Khun Manich Koomsusi (SnoopBees)

หัวข้อนี้เป็นเรื่องของการสาธิตวิธีการเจาะระบบที่นิยมใช้ในการทำ Pen-Test ก็ได้แต่ดูไปเรื่อยๆ เข้าใจบ้างไม่เข้าใจบ้าง แต่ที่เห็นแล้วตกใจนิดหน่อยคือการเจาะ Joomla ซึ่งส่วนตัวใช้งานอยู่ ด้วยวิธี SQL Injection Second Order ซึ่งตัว Joomla ที่ใช้งานเป็น version ก่อนหน้าตัวล่าสุดแค่ 0.0.2 เวอร์ชั่นเท่านั้นเอง หมายความว่าไม่ว่าจะใช้ application อะไรอยู่ก็ตาม ถ้ามี patch ออกมาโดยเฉพาะ security patch กรุณาอย่ารอช้า Test (ก่อนนะ) และ Update ให้ไว้ฮะ

A Story of a Security Professional โดย Khun Narudom Roongsiriwong (Kiatnakin Bank)
Slide : http://miss.in.th/MiSSConf(SP4.0)/slide/KhunNarudom-MiSSConfSP4.pdf

อ. เอก ครั้งนี้มาแบบสบายๆ ฮะ โดยส่วนตัวแล้ว อ. เอก จะมีภาพของ OWASP (Open Web Application Security Project) ติดตัวอยู่ตลอด เวลาไปฟัง อ.เอก ที่งานไหนก็จะเป็นเรื่องช่องโหว่ของ web application แต่งานนี้เปลี่ยนแนวมาเล่าเรื่องที่มาที่ไปของตัวเองว่า ไปไงมาไงถึงมาทำงานด้าน security ได้ อาจจะไม่เทคนิคมากนัก แต่สรุปสั้นๆ ได้ว่างานด้าน IT security มีพื้นฐานบ้างก็จะง่ายขึ้นมาหน่อย ทั้งนี้ไม่จำเป็นต้องเรียนมาสายตรง แต่ต้องมีใจรักก่อน เพื่อที่จะสามารถสนุกกับสิ่งที่ทำ แล้วก็อยากที่จะเรียนรู้ลองนั่น โน่น นี่ พัฒนาตัวเองได้อย่างสม่ำเสมอ เพราะ IT ไม่เคยหยุดรอใครฮะ

How to build a 100 Gb/s DoS traffic Generator: DIY on a Single Server โดย Assoc. Prof. Surasak Sanguanpong (CPE.KU)
Slide : http://miss.in.th/MiSSConf(SP4.0)/slide/AjSurasak-DIY_100G_DDos_Gen.pdf

หัวข้อนี้ อ.สุรศักดิ์ มาเล่าให้ฟังเกี่ยวกับงานวิจัยของ อ. ที่ ม.เกษตร พูดเอาขำๆ ก็คือทำอุปกรณ์ยิง DDOS จากเครื่อง server ธรรมดาที่หาได้ตามท้องตลาด แต่พอฟังไปเรื่อยๆ แล้ว อ. บอกว่าไม่ได้เกี่ยวกับการยิง DDOS โดยตรงแต่ต้องการจะทดสอบการบริหารจัดการเทคโนโลยีในการสร้าง packet ให้ได้มากที่สุด จากอุปกรณ์ hardware ที่จำกัด ซึ่งจริงๆ แล้ว อ. พูดว่าเป็นเรื่องของการบริหารจัดการ packet และการ tune การทำงานของทรัพยากรให้มีประสิทธิภาพสุงสุด แต่โดยส่วนตัวแล้วก็สร้าง packet ได้ขนาดนี้ ด้วยเครื่องแค่นี้ ถ้ามันส่งออกไปข้างนอกได้นี่ สำราญละครับ

Secure Deployment Process by CI/CD โดย Khun Peerapat Asoktummarungsri (AVA Advisory)
Slide : https://www.slideshare.net/nuboat/security-deployment-by-cicd
Video : https://www.facebook.com/techtalkthai/videos/2031715403525096/

หัวข้อนี้ขอสารภาพว่าไม่รู้เรื่องเลยครับ ส่วนตัวเองกำลังศึกษาอยู่แต่ยังไม่ได้ทดลองอะไรแบบนี้เลย คงต้องเอา slide ไปดูแล้วก็ค่อยๆ ฟังใหม่อีกหลายๆ รอบฮะ

Digital ID Security: New perspective on decade old problem โดย Dr. Bhume Bhumiratana
Video part1 : https://www.facebook.com/techtalkthai/videos/2031727990190504/
Video part2 : https://www.facebook.com/techtalkthai/videos/2031769400186363/

หัวข้อสุดท้ายแล้ว (เย้) รู้สึก (ไปเองหรือเปล่า) ว่าพิมพ์ไปเยอะมาก อ.ภูมิ มาปิดท้ายงานสัมมนากับหัวข้อ Digital ID หรือเป็น project ที่ อ. ท่านเรียกสั้นๆ ว่า Dev เพื่อชาตินะฮะ อ.ภูมิ ไม่ได้มาเล่าเรื่อง project หรอกฮะ แต่มาอธิบายเรื่องราวเกียวกับระบบ Digital ID ในระดับประเทศ หรือพูดกันง่ายๆ คือถ้้าจะทำระบบทะเบียนราษฏร์แบบ Digital เนี่ยมันมีหลักการยังไง ต้องมีการออกแบบระบบ และการออกแบบการทำงานยังไงถึงจะสามารถระบุ และพิสูจน์ได้ว่า นาย ก. เป็นนาย ก. จริงๆ และถ้ามีคนพยายามจะแอบอ้างว่าเป็น นาย ก. จะมีการตรวจสอบ และแจ้งเตือนได้ยังไง (งงมะ ตอนฟังก็งงนะ ตอนนี้ก็ยังงงๆ อยู่นะ)

อ.ภูมิ เริ่มต้นด้วยคำสามคำ (1) Identification (2) Verification และ (3) Authentication ว่ามันคืออะไรและต่างกันยังไง

– identification : คือระบุได้ว่าคนนี้เป็นใคร เช่น หน้าตาแบบนี้ชื่อ อ.ภูมิ
– verification : คือพิสูจน์ได้ว่าหน้าตาแบบนี้ คือ อ.ภูมิ จริงๆ เช่น มีหลักฐานจากข้อมูลในบัตรประชาชน รัฐบาลรับรอง
โดยสองคำนี้เป็นสิ่งที่ต้องใช้กับบุคคลที่ “ไม่เคยเจอกันมาก่อน” เช่นเวลาไปลงทะเบียน เวลาไปแลกบัตรเข้าตึก เค้าแค่อยากรู้ว่าคุณเป็นใคร แต่ไม่เคยรู้จักกันมาก่อน
– authentication : คือการยืนยันได้ว่า อ.ภูมิ ที่เคยมาแล้ว “รู้จักกันมาก่อนแล้ว” เนี่ย ตอนกลับมาอีกยังเป็น อ.ภูมิคนเดิม เช่น มีกุญแจ รู้รหัสผ่านเข้าประตูที่มีเฉพาะ อ.ภูมิ เท่านั้นที่รู้

           เพราะฉะนั้น Digital ID ไม่ใช่แค่การยืนยันตัวตนแต่เพียงอย่างเดียว หรือมองแค่ระบบ authentication เป็นหลัก และสาเหตุที่ประเทศไทยต้องทำ Digital ID ก็เพราะว่า Identity ในแบบปรกติที่เราใช้กัน (การสำเนาบัตรประชาชน) ไม่ตอบโจทย์แนวโน้มพฤติกรรมและธุรกรรมต่างๆ ที่ย้ายไปอยู่บน Digital Platform ซึ่งควรมีรูปแบบ Identity ที่เป็น Digital ด้วยเช่นกัน นำมาซึ่งโจทย์ที่เกี่ยวกับทั้งการออกแบบระบบ และ การรักษาความปลอดภัยของข้อมูลด้วย

ข้อดีของประเทศไทยในเรื่องของการทำ Digital ID ก็คือ ประเทศเรามีการจัดการและจัดเก็บข้อมูลทะเบียนราษฏร์ที่ครบถ้วนและสมบูรณ์ในระดับ top ของโลก คือเรามีข้อมูลเก็บไว้ครบถ้วนมาก แค่มันยังไม่ได้ Digitized เท่านั้นเอง (สังเกตุจากตอนที่เว็บกรมสรรพากร ดึงข้อมูลเราออกมาเวลาทำภาษีซิ)

หลังจากว่าทำไมเราต้องมีก็เป็นเรื่องของการอธิบายโมเดลการทำ Digital ID โดยแบ่งออกเป็นสามแบบใหญ่ ซึ่งจะขออธิบายเอาไว้คราวๆ เท่าที่เข้าใจคือ

            (1) Centralized : เป็นแบบที่เราใช้อยู่กับระบบทะเบียนราษฏร์ คือมีรวมศูนย์ข้อมูลอยู่ที่เดียว ใครต้องการใช้งานก็ให้มาเรียกข้อมูลและตรวจสอบที่นี่ ข้อดีคือ ตรวจสอบง่าย แอบอ้างได้ยาก แต่ก็มีข้อเสียคือ เป็น Single point of failure แล้วก็มีต้นทุนในการบริหารจัดการที่แพงมากๆ

            (2) Federated : เป็นการให้บริการในลักษณะตัวแทน คือมีผู้ให้บริการหลายรายในการจัดการ Identity โดยเชื่อมโยงข้อมูลจากทะเบียนราษฏร์อีกที ข้อดีคือ เมื่อมีหลายราย ทำให้เกิดการแข่งขัน ทั้งทางด้านเทคโนโลยี และราคา สะดวกกับประชาชนสามารถเลือกผู้ให้บริการได้ แต่ข้อเสียก็คือ พอมีผู้ให้บริการหลายราย ก็จะเปิดโอกาสให้มีการแอบอ้างกันได้ เพราะผู้ให้บริการแต่ละรายอาจจะไม่ได้ตรวจสอบข้อมูลกันเอง และหากมีผู้ให้บริการรายใดที่มีการจัดการด้าน Security ต่ำ ก็จะกลายเป็นช่องโหว่ให้มีการเจาะเข้ามาโจมตีข้อมูลหลักที่ทะเบียนราษฏร์ได้เช่นกัน

           (3) Distributed : เป็นโมเดลที่เอาข้อดีมารวมกัน และปรับแก้ข้อเสียของ 2 โมเดลข้างต้น คือให้มีบริการในลักษณะของ platform โดยเชื่อมโยงผู้ให้บริการต่างๆ และฐานข้อมูลทะเบียนราษฏร์ สามารถเชื่อมโยงและแลกเปลี่ยนข้อมูลกันได้ เพื่อแก้ปัญหาการแอบอ้าง (Fraud) ใน Federated model และโครงสร้างในรูปแบบ platform นี้เองยังเปิดโอกาสให้ ผู้ใช้งานแต่ละคนสามารถตั้ง คนที่รู้จักมาช่วย Verified ตัวคุณเองได้อีกชั้นหนึ่งอีกด้วย หมายความว่าต่อให้สามารถ Fraud ระบบหลักได้ แต่ก็จะมีใครอีกคนมาตรวจสอบได้ว่า เฮ๊ยนี่มันไม่ใช่ อ.ภูมิ ที่ฉันรู้จักนี่นา อย่ามาหลอกกัน ได้ด้วย

จบแล้วฮะ 1 วันกับ MiSSConf[SP4] ก็หวังว่าที่เขียนบันทึกไว้จะเป็นประโยชน์กับคนอื่นบ้าง นอกจากบันทึกเอาไว้อ่านเองวันหน้า หากผิดพลาดตรงไหนขออภัยล่วงหน้าไว้ ณ ที่นี้ แนะนำให้โหลด slide มาอ่าน หรือดู Video ที่ TechTalkThai บันทึกเอาไว้ ซึ่งก็ได้ทำลิงค์เอาไว้ให้ใต้หัวข้อ (ถ้ามี) เพราะทางนี้เองก็ต้องหาเวลาไปฟังอีกซักรอบสองรอบอยู่เหมือนกัน