ผู้ให้บริการซอฟต์แวร์ทางการแพทย์รายที่สองของโปแลนด์ถูกโจมตีภายในเวลาไม่กี่สัปดาห์ ผู้โจมตีใช้ช่องโหว่ SQL injection เพื่อขโมยข้อมูลผู้ป่วยจาก Medyc ซึ่งเป็นแพลตฟอร์มที่ QBUSoft ขายให้กับคลินิกและสำนักงานแพทย์ การรั่วไหลของข้อมูล Medyc ในโปแลนด์ที่เปิดเผยหมายเลข PESEL เกิดขึ้นต่อจากเหตุการณ์ที่ใหญ่กว่ามากในเดือนสิงหาคม และทั้งสองเหตุการณ์ร่วมกันแสดงให้เห็นว่าความเสี่ยงจำนวนมากอยู่ที่ผู้ให้บริการซอฟต์แวร์คลินิก ไม่ใช่ที่ผู้ป่วยที่เป็นเจ้าของข้อมูล

รายละเอียดด้านล่างมาจากการรายงานของ Help Net Security บางส่วนของบทสรุปต้นฉบับถูกตัดทอน ดังนั้นบทความนี้จึงยึดเฉพาะสิ่งที่ได้รับการยืนยันแล้วเท่านั้น

สิ่งที่ถูกขโมยไปจาก Medyc

Medyc เป็นแพลตฟอร์มที่สำนักงานแพทย์และคลินิกใช้จัดการการลงทะเบียนผู้ป่วย เวชระเบียน และใบสั่งยา ตามรายงาน แฮกเกอร์ขโมยข้อมูลผู้ป่วยจากผู้ให้บริการโดยใช้ช่องโหว่ SQL injection

รายงานระบุว่าข้อมูลที่ถูกขโมยรวมถึงรายละเอียดการติดต่อและหมายเลข PESEL ซึ่งเป็นหมายเลขประจำตัวประชาชนที่ใช้ในโปแลนด์ ขอบเขตทั้งหมดของการโจรกรรม Medyc รวมถึงจำนวนผู้ป่วยที่ได้รับผลกระทบ ไม่มีอยู่ในเนื้อหาที่ให้มา ดังนั้นเราจะไม่คาดเดาตัวเลข

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

การรั่วไหลของ MyDr ปูทางอย่างไร

เหตุการณ์ Medyc ไม่ได้เกิดขึ้นอย่างโดดเดี่ยว ในเดือนสิงหาคม ผู้โจมตีขโมยข้อมูลของคนเกือบ 19 ล้านคนจาก MyDr ซึ่งเป็นบริษัทในวอร์ซอที่ซอฟต์แวร์ถูกใช้โดยสถานพยาบาลประมาณ 12,000 แห่ง ฐานข้อมูลที่รั่วไหลที่นั่นก็มีหมายเลข PESEL เช่นกัน

ขนาดคือส่วนที่สำคัญ ผู้ให้บริการรายเดียวที่ให้บริการสถานพยาบาลหลายพันแห่งถือเวชระเบียนของประชากรส่วนใหญ่ของประเทศไว้ในที่เดียว เมื่อผู้ให้บริการรายนั้นถูกบุกรุก ทุกคลินิกที่พึ่งพามันจะได้รับผลกระทบพร้อมกัน และผู้ป่วยมักไม่รู้ว่าสำนักงานแพทย์ของตนใช้ซอฟต์แวร์อะไร

กรณี Medyc เพิ่มข้อมูลจุดที่สอง ผู้ให้บริการสองราย การรั่วไหลสองครั้ง และทั้งสองเกี่ยวข้องกับตัวระบุตัวตนที่ละเอียดอ่อนประเภทเดียวกัน รูปแบบนี้ชี้ให้เห็นว่าผู้โจมตีมองว่าผู้ให้บริการซอฟต์แวร์ทางการแพทย์เป็นเป้าหมายที่มีประสิทธิภาพ เนื่องจากการบุกรุกสำเร็จหนึ่งครั้งสามารถให้เวชระเบียนจากหลายคลินิกได้

ทำไม SQL Injection ยังคงโจมตีผู้ให้บริการด้านสุขภาพ

SQL injection เป็นหนึ่งในช่องโหว่เว็บที่เก่าแก่ที่สุดและเป็นที่เข้าใจดีที่สุด มันเกิดขึ้นเมื่อแอปพลิเคชันส่งข้อมูลที่ผู้ใช้ป้อนเข้าสู่คิวรีฐานข้อมูลโดยไม่แยกข้อมูลออกจากคำสั่งอย่างเหมาะสม ผู้โจมตีสามารถสร้างข้อมูลนำเข้าที่เปลี่ยนแปลงคิวรีและทำให้ฐานข้อมูลส่งคืนข้อมูลที่ไม่ควรเปิดเผย

วิธีแก้ไขเป็นที่รู้จักกันดี: parameterized queries การตรวจสอบข้อมูลนำเข้า บัญชีฐานข้อมูลที่มีสิทธิ์น้อยที่สุด และการทดสอบอย่างสม่ำเสมอ แต่ช่องโหว่นี้ยังคงปรากฏอยู่ โดยเฉพาะในซอฟต์แวร์ที่พัฒนามาหลายปีหรือที่มีการเชื่อมต่อจำนวนมาก แพลตฟอร์มด้านสุขภาพมักตรงกับคำอธิบายนั้น เนื่องจากประมวลผลแบบฟอร์มลงทะเบียน ใบสั่งยา และการค้นหาเวชระเบียนผ่านองค์ประกอบที่เชื่อมต่อกับเว็บ

ช่องโหว่ประเภทเดียวกันปรากฏขึ้นนอกวงการแพทย์เช่นกัน บทความของเราเกี่ยวกับผู้โจมตีที่ใช้ช่องโหว่ zero-day SQL injection ของ GeoServer ที่ยังไม่ได้แพตช์ แสดงให้เห็นว่าช่องโหว่ประเภทหนึ่งสามารถถูกใช้กับแพลตฟอร์มที่แตกต่างกันมากได้อย่างไร บทเรียนนั้นสอดคล้องกัน: เมื่อแอปพลิเคชันที่เชื่อมต่ออินเทอร์เน็ตสื่อสารกับฐานข้อมูล คิวรีที่ไม่ปลอดภัยคือความเสี่ยงร้ายแรง

สิ่งนี้หมายความว่าอย่างไรสำหรับคุณ

หากคุณเป็นผู้ป่วยในโปแลนด์ คุณคงบอกไม่ได้ว่าคลินิกของคุณใช้ Medyc, MyDr หรือระบบอื่น นั่นคือปัญหาหลัก ข้อมูลของคุณอยู่กับบุคคลที่สามที่คุณไม่ได้เลือก และพฤติกรรมด้านความปลอดภัยของคุณเองมีอิทธิพลน้อยมากต่อวิธีที่บุคคลที่สามเขียนโค้ดของตน

VPN เข้ารหัสการรับส่งข้อมูลระหว่างอุปกรณ์ของคุณกับเซิร์ฟเวอร์ มันไม่ได้ปกป้องฐานข้อมูลที่ผู้ให้บริการจัดเก็บและที่ผู้โจมตีเข้าถึงผ่านช่องโหว่ในแอปพลิเคชันของผู้ให้บริการเอง เช่นเดียวกันกับการเข้ารหัสอุปกรณ์และรหัสผ่านที่แข็งแกร่ง: สิ่งเหล่านี้มีประโยชน์ แต่ไม่ได้หยุดการรั่วไหลจากฝั่งผู้ให้บริการ

สิ่งที่คุณทำได้คือลดความเสียหายหากข้อมูลของคุณถูกนำไปใช้ในทางที่ผิด:

  • ระแวงต่อสาย ข้อความ หรืออีเมลที่ไม่คาดคิดซึ่งกล่าวถึงสุขภาพ ใบสั่งยา หรือ PESEL ของคุณ แม้ว่าพวกเขาจะดูเหมือนรู้รายละเอียดส่วนตัว
  • อย่าแชร์หมายเลข PESEL หรือข้อมูลทางการแพทย์ของคุณผ่านการติดต่อที่ไม่ได้ร้องขอ ให้ติดต่อคลินิกผ่านหมายเลขที่คุณค้นหาเอง
  • จับตาดูประกาศอย่างเป็นทางการจากคลินิกหรือหน่วยงานกำกับดูแลว่าข้อมูลของคุณเกี่ยวข้องหรือไม่
  • ใช้รหัสผ่านที่แข็งแกร่งและไม่ซ้ำกัน และการยืนยันตัวตนสองขั้นตอนบนอีเมลและบัญชีการเงิน เนื่องจากสิ่งเหล่านี้เป็นเป้าหมายทั่วไปหลังการรั่วไหลของข้อมูลระบุตัวตน
  • ตรวจสอบบันทึกทางการเงินและเครดิตของคุณสำหรับกิจกรรมที่คุณไม่รู้จัก

ประเด็นสำคัญ

การรั่วไหลของข้อมูล Medyc ในโปแลนด์ที่เปิดเผยหมายเลข PESEL ซึ่งเกิดขึ้นหลังการรั่วไหลของ MyDr ที่ส่งผลกระทบต่อคนเกือบ 19 ล้านคน แสดงให้เห็นว่าผู้ให้บริการซอฟต์แวร์สุขภาพที่รวมศูนย์เป็นจุดล้มเหลวจุดเดียว เครื่องมือส่วนตัวเช่น VPN คุ้มค่าที่จะใช้สำหรับการท่องเว็บส่วนตัว แต่ไม่สามารถแก้ไขช่องโหว่ภายในฐานข้อมูลของผู้ให้บริการได้ ความรับผิดชอบนั้นอยู่ที่ผู้ให้บริการ ซึ่งจำเป็นต้องแก้ไขปัญหาพื้นฐานเช่น SQL injection และหน่วยงานกำกับดูแลที่ overseeing พวกเขา

สำหรับผู้อ่าน ขั้นตอนปฏิบัติคือความระมัดระวังรอบการแอบอ้างตัวตนและฟิชชิงที่ใช้ตัวระบุตัวตนที่รั่วไหล เพื่อดูว่าช่องโหว่ประเภทเดียวกันถูกใช้ประโยชน์ที่อื่นอย่างไร อ่านรายงานของเราเกี่ยวกับ zero-day SQL injection ของ GeoServer