พอดีได้รับ Service Incident จาก Site ลูกค้า เมื่อวันจันทร์ที่ผ่านมา โดยที่ Site ลูกค้ามีการจ้างทีมงานภายนอกเข้าทำ Penetration Test(ทดลองเจาะระบบ เพือดูระบบเรามีความมั่นคงในระดับไหน) โดยผลที่ได้รับ คือ Sensitive Data Exposure(SSH Weak Algorithms Supported) โดยในวันนี้วันพุธ ผมเลยเข้ามาประชุมที่ Site ครับ เพื่อมาดูตัวรายงานฉบับสมบูรณ์ครับ มันเลยเป็นที่มาของ Blog นี้แหละ ที่จะมาสรุปสิ่งที่ได้จากการเข้าประชุมนะครับ
Sensitive Data Exposure คือ อะไร
- ตัว Sensitive Data Exposure(SDE) คือ ช่องโหว่ที่ยอมให้ผู้ไม่หวังดีเข้าถึงข้อมูลของระบบที่เป็นความลับได้ (ข้อมูลที่เป็นความลับ เช่น เงินเดือน รหัสบัตรเครดิต เป็นต้น)
Root Cause ของ Sensitive Data Exposure มาจากไหน
- การใช้ค่าตั้งต้นที่เป็น Default พอว่าผ่านไป Algorithm อาจจะตกยุคไป ทำให้ถูกล้วงข้อมูลได้ง่าย
- ไม่มีการทำ Secure Coding เช่น Session_Id ส่งเป็น Plain Text เลย
- ผลพวงมาจากช่องโหว่อื่นๆ เช่น Injection Attack (พวก SQL Injection), XSS เป็นต้น
การป้องกันหละ
- พยายามใช้ Strong Encrpytion Algorithm
- ใช้ตัว HTTPS แทน HTTP
- ข้อมูลสำคัญ ควรมีการจัดระดับความสำคัญ และถ้าข้อมูลนั้นมันสำคัญมาก ไม่ควรเก็บไว้ที่เครื่อง Serverไว้ เช่น เลข CV ของบัตรเครดิต
- มีการกำหนดสิทธิการใช้งาน (Authorization)
กลับมาที่ปัญหาของระบบที่ผมดูบ้าง Sensitive Data Exposure(SSH Weak Algorithms Supported) ก่อนอื่นมารู้คำศัพท์กันก่อน แล้วค่อยมาดูวิธีการแก้ปัญหากันครับ
SSH(Secure Shell) คือ อะไร
- Network Protocal ที่สร้างช่องทางพิเศษ(Secure Channel) โดยเป็น Shell Accounts เพื่อเข้าไปจัดการระบบปฏิบัติการอย่าง Linux, UNIX หรือ AIX ได้ ซึ่งเจ้าตัว SSH เอามาแทน Protocal เก่าๆ อย่าง Telnet, Rlogin, RSH (The remote shell) ครับ
- ตัว SSH มีการเข้ารหัส (Encryption) ข้อมูล ตัว Plain-Text ให้มีความปลอดภัยมาขึ้นครับ
- ปกติ SSH ใช้ Port 22 เป็นค่าเริ่มต้นครับ
หลังจากทราบรายละเอียดของปัญหาแล้วมาดูขั้นต่อไปกันเลยครับ
การปรับปรุงระบบ
- สำหรับปัญหานี้ สามารถแก้ได้ได้โดยเปลี่ยน Algorithm จากเดิมที่ใช้ Arcfour Algorithm มา Algorithm อื่นที่มีความแข็งแกร่งมากกว่าครับ แต่ต้องคำนึงถึงปัจจัยหลายอย่างด้วย เช่น
- แก้ไปแล้วกระทบระบบรอบข้างไหม
- มีโอกาสที่ผู้ไม่หวังดีเจาะระบบเข้ามาทางนี้ มาแค่ไหน ไปดูเรื่องอื่นๆที่สำคัญก่อนไหม ?
- จำไว้เสมอว่า ทุกๆทางที่เลือกมีทั้งเรื่องที่มี Benefit(ผลประโยชน์) และ Trade-Off(สิ่งที่เสียไป)
Reference : Top 10 2013-A6-Sensitive Data Exposure
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.