ไม่กี่วันก่อนเดินทาง มีคนโทรมาปรึกษา ว่าโทรศัพท์ของเขามันทำงานแปลกๆ มีใครมาทำอะไรกับโทรศัพท์เขาไหม เขาห่วงเรื่องความปลอดภัย คุยไปสักพัก เขาบอกว่าอธิบายเป็นคำพูดแล้วเราไม่เข้าใจ เดี๋ยวจะส่งภาพหน้าจอมาให้ทาง MMS ให้เรากดดูให้หน่อย
แน่นอนว่าไม่กดดูครับ
เขาโทรมาหาอีกที ถามว่าดูให้ยัง เราตอบไปว่า เครื่องเราดู MMS ไม่ได้ มีอะไรก็เมลมาละกัน แล้วเขาก็เงียบไป ไม่ได้โทรมาอีก
ทำไมถึงไม่กดดู?
แล้วยังไง?
ตอนนี้มีคนเป็นห่วงกันเยอะว่า การใช้โซเชียลมีเดียไม่ปลอดภัยแล้วใช่ไหม คุยกันสองคนก็มีคนที่สามรู้ได้ แถมกฎหมายก็กำลังจะแก้ให้โทษหนักขึ้นอีก ฯลฯ
เรามาทำความเข้าใจกับการสื่อสารในระบบเครือข่ายก่อน
คร่าวๆ คือ ข้อมูลในระบบคอมพิวเตอร์ เราแบ่งเป็นสองแบบ
1.ข้อมูลระหว่างพัก (data at rest)
2.ข้อมูลระหว่างเดินทาง (data in transit)
(บางคนแยก data at rest ย่อยออกเป็นอีกสองส่วน คือข้อมูลส่วนที่อยู่ในอุปกรณ์จัดเก็บรอเอามาประมวลผล กับข้อมูลส่วนที่ถูกดึงขึ้นมาประมวลผลอยู่ในหน่วยความจำหรือซีพียู แต่เราเอาแค่นี้พอ)
จะเข้าถึงข้อมูลก็ต้องเข้าถึงข้อมูลไม่แบบ (1) ก็ (2) นี่แหละ
สมมติว่าเราแชตกันผ่านแอปหรือเมลหรือเว็บอะไรสักอย่าง ผังแบบง่ายที่สุดมันจะเป็นแบบนี้
// รูปที่ 1 //
[ A ][ P ][ B ]
ข้อมูลที่อยู่ในกล่อง [ X ] คือข้อมูลระหว่างพัก (data at rest) คือข้อมูลมันอยู่นิ่งๆ ในอุปกรณ์หรือเซิร์ฟเวอร์ รอส่งต่อ ([ A ] และ [ B ] คืออุปกรณ์ปลายทาง ส่วน [ P ] คือผู้ให้บริการหรือตัวกลางในการสื่อสาร)
ส่วนข้อมูลใน === คือข้อมูลระหว่างเดินทาง (data in transit) ข้อมูลที่อยู่ในท่อ ในสายเคเบิล ในคลื่นไวไฟ คือข้อมูลมันกำลังวิ่งอยู่
สมมติ A จะสวัสดีโย่ B
ข้อมูล (โย่) จะมีที่อยู่ในแต่ละช่วงเวลาของการเดินทางทำนองนี้
// รูปที่ 2 //
[A(โย่)][P ][B ]
[A ][P ][B ]
[A ][P(โย่)][B ]
[A ][P ][B ]
[A ][P ][B(โย่)]
การดักรับข้อมูลและการเข้ารหัสข้อมูล
// รูปที่ 3 //
[A(โย่)][P ][B ]
[A ][P ][B ]
[A ][P(โย่)][B ]
[A ][P ][B ]
[A ][P ][B(โย่)]
// รูปที่ 4 //
[A(โย่)>(#$)][P ][B ]
[A ][P ][B ]
[A ][P(#$)][B ]
[A ][P ][B ]
[A ][P ][B(#$)>(โย่)]
จะเห็นว่าการเข้ารหัสแบบนี้ คือการเข้ารหัสข้อมูลอยู่ในเครื่องต้นทางเลย และจะไปถูกเปิดอ่านได้อีกทีที่ปลายทางเท่านั้น
เราเรียกการเข้ารหัสแบบตั้งแต่ต้นอย่างนี้ ว่า end-to-end encryption หมายถึงว่า จะมีเฉพาะปลายทางสุดสาย (end) ทั้งสองของการสื่อสารเท่านั้นที่เห็นข้อความต้นฉบับ คนที่อยู่ตรงกลางที่เหลือจะเห็นเฉพาะข้อมูลที่ถูกเข้ารหัสแล้ว
ในทางปฏิบัติ การสื่อสารอาจมีการเข้ารหัสหลายรอบที่ระดับต่างๆ กัน
// รูปที่ 5 //
[A(โย่)>(#$)][P ][B ]
[A ][P ][B ]
[A ][P(#$)][B ]
[A ][P ][B ]
[A ][P ][B(#$)>(โย่)]
ในรูปที่ 5 จะเห็นว่าเป็นการเอารูปที่ 3 และรูปที่ 4 มารวมกัน มีการเข้ารหัสทั้งที่ข้อมูลระหว่างพัก (ในเครื่อง) และเข้ารหัสซ้ำอีกทีที่ข้อมูลระหว่างเดินทาง (ในท่อ)
ตัวอย่างของการรับส่งข้อมูลอย่างในรูปที่ 5 คือการเข้ารหัสข้อความในอีเมลด้วย PGP ก่อน -- จาก (โย่) ไปเป็น (#$) -- จากนั้นจึงส่งข้อมูลที่เข้ารหัสแล้วไปยังเซิร์ฟเวอร์อีเมล ผ่านโปรโตคอล TLS เพื่อปกปิดรหัสผ่านอีเมลของเรา เซิร์ฟเวอร์อีเมลจะเก็บข้อมูลเอาไว้โดยที่ไม่เห็นข้อความต้นฉบับ จากนั้นก็จะส่งต่อไปยังผู้รับ แล้วผู้รับก็จะถอดรหัสที่ปลายทางอีกที
กลับมาที่บั๊กในโทรศัพท์
บั๊ก Stagefright นี้พบใน Android รุ่นตั้งแต่ 2.2 เรื่อยมาจนถึงรุ่น 5.1 (โทรศัพท์ Android ส่วนใหญ่ในตลาด ตอนนี้เป็นรุ่น 4.x)
เช็คว่าโทรศัพท์ของเราได้มีรูรั่วนี้หรือไม่ ด้วยแอป Stagefright Detector จาก Zimperium INC.
https://play.google.com/store/apps/...
ถ้าเจอแล้วไงต่อ?
ถ้าที่ผ่านมาไม่เคยอัปโอเอสเลย ก็ลองอัปดูครับ สำหรับ Android ให้ไปที่ Settings -> About Phone/Tablet -> System updates (อุปกรณ์แต่ละรุ่นอาจต่างกันนิดหน่อย)
แต่ถ้าไม่มีให้อัป ก็ทำใจครับ แต่อ่านต่อหน่อยนึง
แล้วถ้าไม่เจอล่ะ?
ก็รอดตัวไปสำหรับบั๊กตัวนี้ แต่ก็อาจจะมีบั๊กตัวอื่นรออยู่
บั๊กของอุปกรณ์ (ทั้งซอฟต์แวร์และฮาร์ดแวร์) นั้นถูกค้นพบใหม่เรื่อยๆ และก็มีคนที่ไม่ได้ปราถนาดีกับเราพยายามจะหาประโยชน์จากรูรั่วตรงนี้เสมอ ต่อให้รอดคราวนี้ คราวหน้าก็อาจจะไม่รอด
เนื่องจากคนทั่วไปอย่างเราๆ ไปแก้ไขปรับปรุงโอเอสเองไม่ได้ ต้องรอผู้ผลิตอย่างเดียว คำแนะนำสำหรับการเลือกซื้อโทรศัพท์ก็คือ เลือกยี่ห้อและรุ่นที่เขาจะอัปเดตให้บ่อยๆ ทันเหตุการณ์ ทันกับการค้นพบรูรั่วใหม่ๆ
ซึ่งก็มีอยู่สองทางเลือกหลักตอนนี้ คือถ้าไม่ตระกูล iOS จากแอปเปิล ก็ตระกูล Nexus จากกูเกิล ส่วน Android อื่นๆ นี่แล้วแต่บุญแต่กรรม อย่างซัมซุงและโซนี่นั้นเลือกอัปเดตให้กับไม่กี่รุ่น แล้วก็ช้ามากกว่าจะอัป
อีกทางเลือกสำหรับโทรศัพท์ Android รุ่นที่ถูกทอดทิ้งก็คือ ไปใช้โอเอส Android รุ่นโม ที่ชื่อว่า CyanogenMod ซึ่งถ้าเทียบกับผู้ผลิตหลายๆ เจ้า โดยเฉพาะกับรุ่นที่ตกรุ่น ก็อัปเดตสม่ำเสมอกว่าแน่ๆ (CyanogenMod รุ่นตั้งแต่ 12.1 เป็นต้นไป แก้ไขบั๊ก Stagefright แล้ว)
สรุป
การรักษาความปลอดภัยทางคอมพิวเตอร์นั้น มีหลายส่วน ทั้งที่ตัวอุปกรณ์เอง สภาพแวดล้อมที่ใช้งาน และที่พฤติกรรมการใช้
ในส่วนของอุปกรณ์
- อัปเดตโอเอสและซอฟต์แวร์ให้ทันสมัย เพื่อลดโอกาสโดนโจมตีจากรูรั่วพวกนี้
- กรณีโทรศัพท์ที่ใช้มันไม่ยอมให้อัปเดตหรือกว่าจะอัปก็ช้ามาก ถ้าจำเป็นและพอจะทำได้ ก็ลองพิจารณาหาโทรศัพท์ใหม่
-
เครื่องไหนที่เราไม่ไว้ใจ อย่าไปใช้ ถ้าไม่จำเป็นจริงๆ อดใจไปใช้เครื่องตัวเองดีกว่า
-
ถ้าจำเป็นจริงๆ ให้ใช้เฉพาะงานที่ต้องการ อย่าเผลอบันทึกรหัสผ่านลงเครื่อง เสร็จแล้ว ล็อกเอาต์ทุกอย่าง และอย่าลืมลบประวัติการเข้าใช้ทุกอย่าง
- สำหรับเว็บเบราว์เซอร์ ถ้าทำได้ ให้ใช้งานในโหมด Private Browsing (สำหรับ Chrome เรียกว่า Incognito, สำหรับ Internet Explorer/Edge เรียกว่า InPrivate Browsing) เพราะจะไม่บันทึกข้อมูลลงเครื่อง
- การลบประวัติการใช้ในเว็บเบราว์เซอร์: บน Windows กดปุ่ม Ctrl+Shift+Delete, บน OS X กดปุ่ม Command+Shift+Delete, ใน Safari เลือกเมนู History -> Clear History, สำหรับ Chrome บน Android เลือก Settings -> Privacy -> Clear browsing data
- และกลับกัน อย่าให้คนที่เราไม่ไว้ใจ ใช้เครื่องของเรา ทางที่ดีควรสร้างบัญชีต่างหากให้เขา (บัญชี Guest) และจริงๆ เราสามารถปฏิเสธได้ ว่าไม่สะดวก
-
- ศึกษาเลือกแอปและบริการที่ปลอดภัยและเหมาะกับการใช้งาน เช่น ไม่ขอ Permission เกินจำเป็น มีระบบการรักษาความปลอดภัยที่ดี สำหรับแอปส่งข้อความอาจดูได้จาก Secure Messaging Scorecard https://www.eff.org/secure-messagin...
- ในแง่การได้รับการคุ้มครองทางเทคนิค ดูประวัติของบริษัทว่า กรณีเกิดข้อมูลรั่วหรือแอปมีปัญหา บริษัทจัดการรับมือยังไงบ้าง
-
ในแง่การได้รับการคุ้มครองทางกฎหมาย การเลือกแอปหรือบริการอาจต้องดูด้วยว่า บริษัทผู้ให้บริการมีสำนักงานใหญ่และสำนักงานสาขาที่จะรับเรื่องการบังคับใช้กฎหมายอยู่ที่ประเทศไหนเป็นหลัก และพอถูกขอข้อมูลหรือขอความร่วมมือ บริษัทจัดการยังไง เช่นดูจาก “transparency report” ของบริษัทต่างๆ EFF สรุปของบริษัทผู้ให้บริการใหญ่ๆ มาให้ดูที่ https://www.eff.org/who-has-your-ba...
- Facebook Government Requests Report https://govtrequests.facebook.com/
- Twitter Transparency Report https://transparency.twitter.com/
- Microsoft Transparency Hub https://www.microsoft.com/about/csr...
- Google Transparency Report https://www.google.com/transparency...
- ถ้าจำเป็น การใช้ VPN และ Tor ก็ควรพิจารณาศึกษาเอาไว้ อย่างเฟซบุ๊กนี่สามารถเข้าถึงผ่าน Tor ด้วย “hidden service” ได้ด้วยที่ https://facebookcorewwwi.onion/
- อย่างที่บอก ส่วนใหญ่ความผิดพลาดเกิดจากมนุษย์ทั้งนั้น เช่น ปกป้องกันตัวเองทางเทคนิคอย่างดี แต่ดันโพสต์ข้อมูลส่วนตัวลงเฟซบุ๊กเอง หรือเผลอให้ทวิตเตอร์มันเช็กอิน หรืออัปโหลดภาพที่มีตำแหน่ง GPS ฝังอยู่ในภาพ (EXIF)
- ไม่คลิกลิงก์ที่มีที่มาแปลกๆ (ส่งจากคนไม่รู้จัก, ส่งจากคนรู้จัก แต่ด้วยคำเชิญชวนแหม่งๆ, url เป็น url ที่เราไม่แน่ใจว่ามาจากไหน หรือจะพาไปไหน เช่นพวก shorten url)
- ไม่เล่นไฟล์มีเดียแปลกๆ (ไม่ว่าจะส่งมาทางใดก็ตาม MMS, Line ฯลฯ)
- เพื่อลดความเสี่ยงจากมิจฉาชีพ เบอร์โทรศัพท์ของเราก็ควรจะมีคนรู้เฉพาะเท่าที่จำเป็น หรือถ้าทำได้ ก็แยกเบอร์ส่วนตัวกับเบอร์งานออกจากกัน ไม่ใช้ปนกัน เพื่อลดความเสียหาย (sandboxing)
- ตั้งรหัสล็อกเครื่องเสมอ
- ถ้าหลีกเลี่ยงได้ ก็ไม่ควรจะให้เครื่องมันจำรหัสผ่านอีเมลหรือโซเชียลมีเดียของเรา (มันสะดวกในการใช้ก็จริง แต่ก็ทำให้คนที่ unlock เครื่องเราได้ เข้าถึงข้อมูลการสื่อสารของเราได้ อันนี้ก็ต้องชั่งน้ำหนักเอาเอง)
-
เปิดใช้การยืนยันตัวตน 2 ชั้น (2-step authentication) ถ้าทำได้ (Facebook, Gmail, Microsoft Account พวกนี้มีให้ใช้หมด / ลองค้นเน็ตคำว่า “2 step authen ชื่อบริการที่เราใช้”) -- ดูเหตุผลว่าทำไม
-
การใช้ 2-step authen จะช่วยลดปัญหาการถูกขโมยรหัสผ่านจาก keylogger ได้ด้วย (เพราะรหัสอีกชุดนั้น ต่อให้ถูกบันทึก ก็ถูกใช้ได้แค่ครั้งเดียว) -- แต่ไม่ช่วยแก้ปัญหาการถูกขโมยทางการพิมพ์อื่นๆ
- keylogger คือเครื่องบันทึกการพิมพ์บนคีย์บอร์ด ซึ่งจะขโมยรหัสผ่านและข้อมูลส่วนตัวอื่นๆ ของเราได้
- เวลาพูดถึง keylogger อย่าคิดว่ามันจะมีเฉพาะฮาร์ดแวร์มาเสียบที่เครื่องเรา หรือต้องเป็นมัลแวร์ที่แอบมาติดเครื่องเรา พวกซอฟต์แวร์ keyboard บน Android และ iOS นี่ก็เป็น keylogger เหมือนกัน เวลาใช้ต้องมั่นใจว่ามันมาจากผู้ผลิตที่เราไว้ใจได้จริงๆ
-
- ไม่ใช้รหัสผ่านซ้ำกัน โดยเฉพาะกับบัญชีหลักๆ แต่ละอันไม่ควรซ้ำกันเลย และไม่ควรเอารหัสผ่านของบัญชีหลักไปตั้งเป็นรหัสผ่านของบัญชีอื่น เหตุผลคือถ้ามีคนรู้รหัสผ่านหนึ่งของเรา (เช่นมีบริการหนึ่งที่เราเคยไปใช้ ระบบรักษาความปลอดภัยไม่ดี ทำรหัสผ่านเราหลุด) เขาสามารถเอารหัสเดียวกันนี้ไปลองเข้าบริการอื่นๆ ของเราได้
-
หมั่นสังเกตคำเตือนจากเว็บเบราวเซอร์และโอเอส เช่น ดูรูปกุญแจสีเขียว/สีแดงที่ช่อง url เพื่ออ่านคำเตือนเรื่องใบรับรองการเข้ารหัสของเว็บไซต์ (SSL/TLS encryption certificate) ว่าเป็นของจริงหรือไม่ เพื่อให้แน่ใจว่าเรากำลังสื่อสารกับเว็บไซต์ที่เรากำลังคิดว่าสื่อสารอยู่ด้วยจริงๆ
- การสื่อสารแบบเข้ารหัสนั้น การันตีเฉพาะว่าระหว่างทางข้อมูลจะอ่านไม่ได้ แต่ไม่ได้การันตีว่าที่ปลายทางที่ข้อมูลจะถูกถอดรหัสนั้น จะเป็นคนที่เราคิดว่าเป็น (เราอาจจะคุยกับคนแอบอ้างอยู่)
- จึงมีการคิดค้นระบบออกใบรับรองขึ้นมา เพื่อรับรองว่าเซิร์ฟเวอร์ที่เราติดต่อด้วยนั้น เป็นเซิร์ฟเวอร์ที่อ้างจริงๆ ใบรับรองนี้เรียกกันว่า “SSL certificate” หรือ “encryption certificate”
- คำสั่งกระทรวงไอซีที ที่ 163/2557 ที่ตั้งคณะทำงานทดสอบระบบเฝ้าติดตามสื่อออนไลน์ มาประสานงานกับผู้ให้บริการเน็ตและ Internet Gateway และทดสอบ “ระบบเฝ้าติดตามสื่อออนไลน์ที่มีการเข้ารหัสป้องกันข้อมูล” มีจุดมุ่งหมายในการจะเจาะการเข้ารหัสการสื่อสารด้วย SSL/TLS นี้ ซึ่งคาดกันว่าวิธีหนึ่งที่จะทำได้ คือด้วยการปลอมใบรับรอง เพื่อดูข้อมูลในแบบที่เรียกว่า “Man in the Middle Attack” หรือการปลอมตัวมาเนียนอยู่ตรงกลางของการสื่อสาร
- คือแทนที่ สมมติ เราจะคุยกับเฟซบุ๊กตรงๆ ก็อาจมีเซิร์ฟเวอร์ของไอซีทีมาคั่นกลาง แล้วทำให้เราเข้าใจว่าเป็นเซิร์ฟเวอร์ของเฟซบุ๊ก (ด้วยความร่วมมือของ ISP) เราก็ส่งข้อมูลให้เซิร์ฟเวอร์นี้โดยไม่รู้ตัว เซิร์ฟเวอร์นี้ก็ส่งต่อข้อมูลให้เฟซบุ๊ก เพื่อให้เราไม่สังเกต ใช้งานได้ปกติ [A][Facebook][B] [A][MICT][Facebook][B] แม้การสื่อสารระหว่างเรา [A] กับเซิร์ฟเวอร์ [MICT] จะเข้ารหัสก็จริง แต่ปลายทางที่จะถูกถอดรรัสมันก็คือเซิร์ฟเวอร์ [MICT] ด้วย ไม่ใช่ที่ [Facebook] แบบนี้ก็ไม่ปลอดภัยเช่นกัน วิธีนี้ทำไม่ได้ง่ายๆ และถ้าทำขึ้นมาก็จะมีจุดพอสังเกตได้ เพียงแต่ผู้ใช้ทั่วไปอาจจะไม่ค่อยสังเกต และการออกแบบแอปในมือถือก็ทำให้สังเกตได้ยากขึ้นด้วย
- ระลึกว่า การสื่อสารนั้น เป็นกิจกรรมที่ทำกันสองฝั่ง ข้อมูลที่เครื่องของเราไม่ได้มีเฉพาะข้อมูลของตัวเรา แต่มีข้อมูลจากคนที่เราสนทนาเก็บอยู่ด้วย (และกลับกัน) ดังนั้นถ้าเราทำตัวไม่ปลอดภัย เพื่อนๆ เราทั้งหมดที่เราเคยคุยด้วยก็จะไม่ปลอดภัยตามไปด้วย
- การสื่อสารที่ปลอดภัยจะเกิดขึ้นได้ก็ต่อเมื่อทุกจุดในการสื่อสารนั้นปลอดภัย ตั้งแต่ต้นทางตลอดถึงปลายทาง ถ้าเราไม่แน่ใจว่าผู้ใช้ที่ปลายทางจะเคร่งครัดกับความปลอดภัยในระดับเดียวกับตัวเรา ก็ให้ระมัดระวังมากขึ้นในการส่งข้อมูล
- Surveillance Self-Defense การป้องกันตัวเองจากการถูกสอดส่อง https://ssd.eff.org/th/
- Security in-a-Box แนะนำการรักษาความปลอดภัยทางดิจิทัล https://securityinabox.org/th
- ใช้เน็ตปลอดภัยด้วย Tor https://thainetizen.org/tor/
ที่มา: เฟซบุ๊ก Art Suriyawongkul