พื้นผิวเล็ก การตรวจสอบเปิดเผย
Missivus ถือครองข้อมูลรับรองที่สามารถส่งอีเมลในนามบริษัทของคุณได้ นั่นคือโค้ดประเภทที่ควรได้รับการตรวจสอบทีละบรรทัดและจัดทำเอกสารต่อสาธารณะ — เราจึงทำเช่นนั้น
แบบจำลองความปลอดภัยในหนึ่งย่อหน้า
นโยบายการเข้าถึงระดับแอปพลิเคชันของ Exchange คือสิ่งที่จำกัดขอบเขตความเสียหาย ทุกข้อค้นพบด้านล่างถูกจำกัดด้วยนโยบายนี้ — แม้ข้อมูลรับรองจะถูกเจาะทั้งหมด ก็ส่งได้จากกล่องจดหมายที่ใช้ร่วมกันเพียงกล่องเดียวและทำอย่างอื่นไม่ได้ นั่นคือเหตุผลที่คู่มือการติดตั้งถือว่านโยบายนี้เป็นขั้นตอนบังคับพร้อมคำสั่งตรวจสอบ ไม่ใช่การเสริมความปลอดภัยแบบเลือกได้
การตรวจสอบครอบคลุมอะไรบ้าง
โค้ดรุ่น v0.1.1 ได้รับการตรวจสอบหลังการใช้งานจริงครั้งแรก — ทั้งส่วนการขนส่งผ่าน Graph โมเดลการตั้งค่า เมธอด API ของอีเมลทดสอบ และคอมโพเนนต์ Vue โดยตรวจหาการรั่วไหลของรหัสลับผ่านบันทึก การตอบกลับของ API ซอร์ส HTML และคอนโซลของเบราว์เซอร์ ตรวจการยืนยันตัวตนและ CSRF บนพื้นผิว API ตรวจการตรวจสอบความถูกต้องของทุกการตั้งค่า และตรวจว่าเนื้อหาข้อผิดพลาดจาก Graph จะเข้าถึงใครได้บ้างนอกจากผู้ใช้ระดับสูงสุด ข้ออ้างเกี่ยวกับพฤติกรรมของ Matomo ได้รับการตรวจยืนยันกับซอร์สโค้ดของ Matomo ไม่ใช่การนึกเอา
ข้อค้นพบ กล่าวอย่างตรงไปตรงมา
แก้ไขแล้วก่อนเผยแพร่
- การแทนที่ URL ฐานอาจเล็งรหัสลับไคลเอนต์ไปยังโฮสต์ของผู้โจมตีได้ — ขณะนี้ URL จะถูกตรวจสอบว่าเป็นออริจิน https ล้วนก่อนสร้างคำขอใด ๆ
- ความล้มเหลวของเครือข่ายระหว่างการอัปโหลดอาจทำให้ URL อัปโหลดที่ผ่านการยืนยันตัวตนแล้วรั่วลงบันทึก — ขณะนี้ถูกแปลงและปกปิดเช่นเดียวกับความล้มเหลวอื่น ๆ
- การตั้งค่าเคยรับสตริงใดก็ได้ — ขณะนี้ทุกช่องตรวจสอบรูปแบบของตนเอง ทำให้ Secret ID ที่วางผิดล้มเหลวตั้งแต่ตอนบันทึก ไม่ใช่กลายเป็นข้อผิดพลาดคลุมเครือของ Microsoft ในภายหลัง
- เมธอด API ของอีเมลทดสอบเคยรับผู้รับรายใดก็ได้และตอบสนองต่อ GET — ขณะนี้รับเฉพาะ POST พร้อมที่อยู่ที่ผ่านการตรวจสอบ และไม่ปรากฏในบันทึกการเข้าถึงของเซิร์ฟเวอร์
ตรวจยืนยันแล้วว่าสะอาด
- รหัสลับไม่เคยไปถึงซอร์ส HTML การตอบกลับของ API หรือคอนโซลของเบราว์เซอร์ — ช่องรหัสผ่านถูกปิดบังโดยแกนหลักของ Matomo และปลั๊กอินยังเพิ่มการป้องกันของตัวเองอีกสองชั้น
- การเรียกทดสอบได้รับการป้องกัน CSRF ด้วยโมเดลโทเคนของ Matomo พร้อมกฎรับเฉพาะ POST ที่เพิ่มเข้ามาเป็นการป้องกันเชิงลึก
- ทุกสิ่งที่ถูกบันทึกหรือโยนออกมาจะผ่านตัวปกปิดที่ลบรหัสลับที่รู้จักตามค่าและข้อมูลรับรองตามรูปแบบ — โทเคน คำยืนยัน ส่วนหัว bearer และ URL อัปโหลด — และล้มเหลวในทางที่ปลอดภัย
ข้อแลกเปลี่ยนที่ยอมรับและจัดทำเอกสารไว้
- โทเคนการเข้าถึงอายุสั้นถูกแคชไว้ในแคชแบบไฟล์ของ Matomo — ใครก็ตามที่อ่านมันได้ ย่อมอ่านการตั้งค่าของ Matomo ได้อยู่แล้ว ซึ่งอาจมีตัวรหัสลับอยู่ในนั้น บรรเทาด้วยอายุ 55 นาทีและนโยบายการเข้าถึง
- ผู้ใช้ระดับสูงสุดสามารถส่งอีเมลทดสอบได้ไม่จำกัด — เป็นช่องทางก่อความรำคาญ ไม่ใช่การยกระดับสิทธิ์ เพราะผู้ใช้ระดับสูงสุดสามารถตั้งค่าอีเมลใหม่ได้อยู่แล้ว
- รหัสลับที่กรอกในหน้าตั้งค่าจะถูกเก็บแบบไม่เข้ารหัสในฐานข้อมูลของ Matomo — ชั้นไฟล์กำหนดค่าและตัวแปรสภาพแวดล้อมมีไว้เพื่อไม่ให้จำเป็นต้องทำเช่นนั้น และมีลำดับความสำคัญเหนือกว่า
การรายงานช่องโหว่
ส่งอีเมลพร้อมรายละเอียดไปยังที่อยู่ด้านล่าง โปรดให้โอกาสเราแก้ไขปัญหาก่อนที่จะเปิดเผยต่อสาธารณะ — และอย่าใส่รหัสลับไคลเอนต์ ใบรับรอง หรือไฟล์ PEM ลงในรายงานเป็นอันขาด
ผู้ติดต่อด้านความปลอดภัย: …