สรุปย่อ
เมื่อสัปดาห์ที่ผ่านมา ทีมนักวิจัยซึ่งประกอบด้วยนักวิจัยจาก Münster University of Applied Sciences, Ruhr University Bochum และ KU Leuven ได้ร่วมกันเปิดเผยช่องโหว่ใหม่ภายใต้ชื่อช่องโหว่ว่า EFAIL โดยช่องโหว่ดังกล่างนั้นเป็นช่องโหว่ที่อาจทำให้เกิดการรั่วไหลของข้อมูลเมื่ออีเมลถูกเข้ารหัสด้วยเทคโนโลยีอย่าง OpenPGP และ S/MIME ซึ่งจำเป็นต้องอาศัยการดักจับและแก้ไขข้อมูลรวมไปถึงปัญหาในโปรแกรมอ่านอีเมลด้วยได้
เมื่อถูกโจมตีโดยช่องโหว่นี้นั้น ทันทีที่ผู้ใช้งานทำการเปิดอีเมลและถอดรหัสอีเมลที่ทำการเข้ารหัสด้วยวิธีการตามที่ระบุพร้อมทั้งมีปัจจัยที่จะทำให้ถูกโจมตีครบถ้วน ผู้โจมตีจะสามารถเข้าถึงข้อมูลซึ่งถูกเข้ารหัสได้ทันทีจากระยะไกล
ช่องโหว่ EFAIL นั้นเกิดขึ้นจากปัญหาด้านความปลอดภัยหลายปัจจัย โดยในบล็อกนี้นั้นทีมตอบสนองการโจมตีและภัยคุกคามจะมาอธิบายปัญหาดังกล่าวซึ่งนำไปสู่การเกิดขึ้นของช่องโหว่ ข้อเท็จจริงของช่องโหว่ พร้อมทั้งวิธีการลดผลกระทบจากช่องโหว่ให้ได้ทำความเข้าใจกันครับ
รายละเอียดช่องโหว่
ช่องโหว่ EFAIL นั้นเกิดขึ้นได้เนื่องจากปัญหาด้านความปลอดภัยหลัก 2 ประการดังต่อไปนี้
ปัญหาจากการทำงานในโปรแกรมรับ-ส่งอีเมล (E-mail Client) ซึ่งทำให้เกิดการประมวลผลข้อมูลที่มาในรูปแบบของ HTML ในลักษณะที่เป็นอันตรายได้
ปัญหาในกระบวนการเข้ารหัสของ OpenPGP และ S/MIME ซึ่งส่งผลให้ผู้โจมตีสามารถควบคุมและกำหนดลักษณะของข้อมูลเมื่อถูกถอดรหัสออกมาแล้วด้วยการแก้ไขข้อมูลที่ถูกเข้ารหัสอยู่ได้ โดยไม่จำเป็นต้องถอดรหัสข้อมูลหรือรู้กุญแจหรือใบรับรองในการเข้ารหัสข้อมูลได้
ปัญหาจากการทำงานโปรแกรมรับ-ส่งอีเมล
สำหรับปัญหาแรกที่ทำให้เกิดช่องโหว่ EFAIL ได้นั้นมีที่มาจากโปรแกรมรับ-ส่งอีเมลที่เราใช้กันอยู่ทุกวันซึ่งแตกต่างกันไปในแต่ละโปรแกรม โดยพฤติกรรมของโปรแกรมที่ทำให้เกิดปัญหานั้นคือวิธีการในแสดงผล HTML ที่มากับอีเมล
ในโปรแกรมรับ-ส่งอีเมลบางโปรแกรมนั้น เมื่อผู้ใช้งานทำการเปิดอีเมลซึ่งมีเนื้อหาประกอบด้วยโค้ดในภาษา HTML โปรแกรมจะพยายามทำการแสดงผลตามโค้ด HTML ที่มีอยู่โดยอัตโนมัติ ซึ่งรวมไปถึงการพยายามดึงรูปจากแหล่งอื่นซึ่งถูกฝังมากับแท็กอย่าง <img>
ผู้โจมตีสามารถอาศัยพฤติกรรมของโปรแกรมในลักษณะนี้นั้นในการขโมยเนื้อหาที่อยู่อีเมล (ที่ยังไม่ถูกเข้ารหัส) ออกมาได้โดยการเพิ่มหรือแก้ไขโค้ด HTML ซึ่งมีอยู่แล้วในอีเมล โดยตัวอย่างหนึ่งในการแก้ไขเพื่อให้ขโมยข้อมูลออกมาได้ถูกแสดงตามรูปภาพด้านล่าง (เนื้อหาของอีเมลจะถูกเน้นเป็นตัวเข้ม)
หากสังเกตตามโค้ดซึ่งปรากฎตามรูปภาพด้านบน อาจจะสังเกตได้ว่าแท็ก <img> ไม่ได้ถูกใช้งานในการแสดงผลรูปภาพอย่างถูกต้อง เพราะในการใช้งานโดยทั่วไปนั้นพารามิเตอร์ src จะถูกชี้ไปยังไฟล์รูปภาพที่อยู่ในแหล่งอื่นๆ คำถามสำคัญก็คือหากผู้ใช้งานมีการเปิดอีเมลที่มีเนื้อหาตามรูปภาพด้านบนแล้วจะเกิดอะไรขึ้น?
ในกรณีที่อีเมลนี้ถูกเปิดด้วยโปรแกรมรับ-ส่งอีเมลซึ่งพยายามแสดงผลเนื้อหาที่อยู่ในรูปแบบของโค้ด HTML โดยอัตโนมัติ สิ่งที่จะเกิดขึ้นคือโปรแกรมรับ-ส่งอีเมลจะพยายามเรียกหารูปตามที่ระบุอยู่ในแท็ก HTML แต่จะระบุข้อมูลปลายทางตามรูปภาพด้านล่าง
จะสังเกตเห็นว่าเนื้อหาที่ถูกระบุอยู่ในอีเมลซึ่งก็คือส่วนที่เป็น Secret Meeting.