การโจมตีที่อาจเกิดขึ้นบน HTTPS และวิธีป้องกัน

ครึ่งหนึ่งของไซต์ ใช้ HTTPSและมีจำนวนเพิ่มมากขึ้นเรื่อยๆ โปรโตคอลช่วยลดความเสี่ยงของการสกัดกั้นการรับส่งข้อมูล แต่ไม่ได้กำจัดการโจมตีที่พยายามทำเช่นนั้น เราจะพูดถึงบางส่วน - POODLE, BEAST, DROWN และอื่น ๆ - และวิธีการป้องกันในเนื้อหาของเรา

การโจมตีที่อาจเกิดขึ้นบน HTTPS และวิธีป้องกัน
/flickr/ สเวน แกรม / CC BY-SA

สุนัขพูเดล

เป็นครั้งแรกเกี่ยวกับการโจมตี สุนัขพูเดล เป็นที่รู้จักในปี 2014 ช่องโหว่ในโปรโตคอล SSL 3.0 ถูกค้นพบโดยผู้เชี่ยวชาญด้านความปลอดภัยของข้อมูล Bodo Möller และเพื่อนร่วมงานจาก Google

สาระสำคัญมีดังนี้: แฮ็กเกอร์บังคับให้ไคลเอนต์เชื่อมต่อผ่าน SSL 3.0 เพื่อจำลองการเชื่อมต่อที่ขาด จากนั้นมันจะค้นหาในการเข้ารหัส CBCข้อความแท็กพิเศษโหมดการจราจร ผู้โจมตีสามารถสร้างเนื้อหาของข้อมูลที่น่าสนใจ เช่น คุกกี้ โดยใช้ชุดคำขอปลอมแปลง

SSL 3.0 เป็นโปรโตคอลที่ล้าสมัย แต่คำถามเรื่องความปลอดภัยของเขายังคงมีความเกี่ยวข้อง ลูกค้าใช้เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้กับเซิร์ฟเวอร์ จากข้อมูลบางส่วนพบว่าเกือบ 7% ของไซต์ยอดนิยม 100 แห่ง ยังคงรองรับ SSL 3.0. ด้วย ที่นั่น การปรับเปลี่ยน POODLE ที่กำหนดเป้าหมาย TLS 1.0 และ TLS 1.1 ที่ทันสมัยยิ่งขึ้น ปีนี้ ปรากฏ การโจมตี Zombie POODLE และ GOLDENDOODLE ใหม่ที่เลี่ยงผ่านการป้องกัน TLS 1.2 (ยังคงเกี่ยวข้องกับการเข้ารหัส CBC)

วิธีป้องกันตัวเอง. ในกรณีของ POODLE ดั้งเดิม คุณจะต้องปิดการใช้งานการสนับสนุน SSL 3.0 อย่างไรก็ตาม ในกรณีนี้ อาจมีความเสี่ยงต่อปัญหาความเข้ากันได้ โซลูชันทางเลือกอื่นอาจเป็นกลไก TLS_FALLBACK_SCSV ซึ่งช่วยให้มั่นใจได้ว่าการแลกเปลี่ยนข้อมูลผ่าน SSL 3.0 จะดำเนินการกับระบบรุ่นเก่าเท่านั้น ผู้โจมตีจะไม่สามารถเริ่มต้นดาวน์เกรดโปรโตคอลได้อีกต่อไป วิธีป้องกัน Zombie POODLE และ GOLDENDOODLE คือการปิดใช้งานการสนับสนุน CBC ในแอปพลิเคชันที่ใช้ TLS 1.2 วิธีแก้ปัญหาที่รุนแรงคือการเปลี่ยนไปใช้ TLS 1.3 - โปรโตคอลเวอร์ชันใหม่ไม่ได้ใช้การเข้ารหัส CBC แต่กลับใช้ AES และ ChaCha20 ที่ทนทานมากกว่าแทน

BEAST

หนึ่งในการโจมตีครั้งแรกใน SSL และ TLS 1.0 ที่ถูกค้นพบในปี 2011 เหมือนพุดเดิ้ล บีสท์ ใช้ คุณสมบัติของการเข้ารหัส CBC ผู้โจมตีติดตั้งเอเจนต์ JavaScript หรือแอปเพล็ต Java บนเครื่องไคลเอนต์ ซึ่งจะแทนที่ข้อความเมื่อส่งข้อมูลผ่าน TLS หรือ SSL เนื่องจากผู้โจมตีทราบเนื้อหาของแพ็กเก็ต "จำลอง" พวกเขาจึงสามารถใช้เพื่อถอดรหัสเวกเตอร์การเริ่มต้นและอ่านข้อความอื่น ๆ ไปยังเซิร์ฟเวอร์ เช่น คุกกี้การรับรองความถูกต้อง

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

วิธีป้องกันตัวเอง. ผู้โจมตีจำเป็นต้องส่งคำขอเป็นประจำเพื่อถอดรหัสข้อมูล ในวีเอ็มแวร์ แนะนำ ลดระยะเวลาของ SSLSessionCacheTimeout จากห้านาที (คำแนะนำเริ่มต้น) เป็น 30 วินาที แนวทางนี้จะทำให้ผู้โจมตีดำเนินการตามแผนได้ยากขึ้น แม้ว่าจะมีผลกระทบด้านลบต่อประสิทธิภาพก็ตาม นอกจากนี้คุณต้องเข้าใจว่าช่องโหว่ BEAST อาจกลายเป็นเรื่องในอดีตในไม่ช้า - ตั้งแต่ปี 2020 เบราว์เซอร์ที่ใหญ่ที่สุด หยุด รองรับ TLS 1.0 และ 1.1 ไม่ว่าในกรณีใด ผู้ใช้เบราว์เซอร์น้อยกว่า 1,5% ทำงานกับโปรโตคอลเหล่านี้

จมน้ำตาย

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

DROWN เป็นที่รู้จักครั้งแรกในปี 2016 - จากนั้นมันก็กลายเป็น หนึ่งในสามของเซิร์ฟเวอร์ได้รับผลกระทบ ในโลก. วันนี้มันไม่ได้สูญเสียความเกี่ยวข้อง จากไซต์ยอดนิยมกว่า 150 ไซต์ 2% ยังคงอยู่ สนับสนุน SSLv2 และกลไกการเข้ารหัสที่มีช่องโหว่

วิธีป้องกันตัวเอง. จำเป็นต้องติดตั้งแพตช์ที่เสนอโดยนักพัฒนาไลบรารีการเข้ารหัสที่ปิดใช้งานการสนับสนุน SSLv2 ตัวอย่างเช่น มีการนำเสนอแพตช์ดังกล่าวสองรายการสำหรับ OpenSSL (ในปี 2016 สิ่งเหล่านี้เป็นการอัปเดต 1.0.1 วินาที และ 1.0.2 ก.) นอกจากนี้ยังมีการเผยแพร่การอัปเดตและคำแนะนำสำหรับการปิดใช้งานโปรโตคอลที่มีช่องโหว่ด้วย หมวกสีแดง, อาปาเช่, debian.

“ทรัพยากรอาจเสี่ยงต่อ DROWN หากคีย์ถูกใช้โดยเซิร์ฟเวอร์บุคคลที่สามที่มี SSLv2 เช่นเมลเซิร์ฟเวอร์” หัวหน้าแผนกพัฒนากล่าว ผู้ให้บริการ IaaS 1cloud.ru เซอร์เกย์ เบลกิน. — สถานการณ์นี้เกิดขึ้นหากเซิร์ฟเวอร์หลายเครื่องใช้ใบรับรอง SSL ทั่วไป ในกรณีนี้ คุณต้องปิดใช้งานการสนับสนุน SSLv2 บนทุกเครื่อง"

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

Heartbleed

หนึ่งในช่องโหว่ที่ใหญ่ที่สุดในซอฟต์แวร์คือ Heartbleed. มันถูกค้นพบในปี 2014 ในไลบรารี OpenSSL ในขณะที่ประกาศจุดบกพร่อง จำนวนเว็บไซต์ที่มีช่องโหว่ ประมาณครึ่งล้าน - นี่คือประมาณ 17% ของทรัพยากรที่ได้รับการป้องกันบนเครือข่าย

การโจมตีจะดำเนินการผ่านโมดูลส่วนขยาย Heartbeat TLS ขนาดเล็ก โปรโตคอล TLS กำหนดให้มีการส่งข้อมูลอย่างต่อเนื่อง ในกรณีที่เครื่องหยุดทำงานเป็นเวลานาน จะเกิดการหยุดทำงานและต้องสร้างการเชื่อมต่อใหม่ เพื่อรับมือกับปัญหา เซิร์ฟเวอร์และไคลเอนต์ทำการ "รบกวน" ช่องสัญญาณปลอม (RFC 6520, หน้า 5) การส่งแพ็กเก็ตที่มีความยาวแบบสุ่ม หากมีขนาดใหญ่กว่าแพ็กเก็ตทั้งหมด แสดงว่า OpenSSL เวอร์ชันที่มีช่องโหว่จะอ่านหน่วยความจำเกินกว่าบัฟเฟอร์ที่จัดสรร พื้นที่นี้อาจมีข้อมูลใดๆ รวมถึงคีย์เข้ารหัสส่วนตัวและข้อมูลเกี่ยวกับการเชื่อมต่ออื่นๆ

ช่องโหว่นี้มีอยู่ในไลบรารีทุกเวอร์ชันระหว่าง 1.0.1 ถึง 1.0.1f รวมถึงในระบบปฏิบัติการหลายระบบ เช่น Ubuntu สูงถึง 12.04.4, CentOS ที่เก่ากว่า 6.5, OpenBSD 5.3 และอื่นๆ มีรายการครบถ้วน บนเว็บไซต์สำหรับ Heartbleed โดยเฉพาะ. แม้ว่าแพตช์ป้องกันช่องโหว่นี้จะถูกปล่อยออกมาเกือบจะในทันทีหลังจากการค้นพบ แต่ปัญหาก็ยังคงมีความเกี่ยวข้องมาจนถึงทุกวันนี้ ย้อนกลับไปในปี 2017 มีไซต์ทำงานเกือบ 200 แห่ง, อ่อนแอต่อ Heartbleed

วิธีป้องกันตัวเอง. จำเป็น อัปเดต OpenSSL สูงถึงเวอร์ชัน 1.0.1g หรือสูงกว่า คุณยังสามารถปิดการใช้งานคำขอ Heartbeat ได้ด้วยตนเองโดยใช้ตัวเลือก DOPENSSL_NO_HEARTBEATS หลังจากการอัพเดตผู้เชี่ยวชาญด้านความปลอดภัยของข้อมูล แนะนำ ออกใบรับรอง SSL ใหม่ จำเป็นต้องเปลี่ยนใหม่ในกรณีที่ข้อมูลในคีย์เข้ารหัสตกอยู่ในมือของแฮกเกอร์

การทดแทนใบรับรอง

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

ตามที่ การสำรวจ ทีมงานจาก Mozilla, Google และมหาวิทยาลัยหลายแห่ง ประมาณ 11% ของการเชื่อมต่อที่ปลอดภัยบนเครือข่ายถูกดักฟัง นี่เป็นผลลัพธ์ของการติดตั้งใบรับรองหลักที่น่าสงสัยบนคอมพิวเตอร์ของผู้ใช้

วิธีป้องกันตัวเอง. ใช้บริการที่เชื่อถือได้ ผู้ให้บริการ SSL. คุณสามารถตรวจสอบ “คุณภาพ” ของใบรับรองได้โดยใช้บริการ ใบรับรองความโปร่งใส (ซีที). ผู้ให้บริการคลาวด์ยังสามารถช่วยในการตรวจจับการดักฟัง บริษัทขนาดใหญ่บางแห่งมีเครื่องมือพิเศษสำหรับการตรวจสอบการเชื่อมต่อ TLS อยู่แล้ว

วิธีการป้องกันอีกวิธีหนึ่งจะเป็นวิธีการใหม่ มาตรฐาน ACME ซึ่งจะทำให้การรับใบรับรอง SSL เป็นแบบอัตโนมัติ ขณะเดียวกันก็จะเพิ่มกลไกเพิ่มเติมในการตรวจสอบเจ้าของเว็บไซต์ เพิ่มเติมเกี่ยวกับเรื่องนี้ เราเขียนไว้ในเอกสารฉบับก่อนๆ ของเรา.

การโจมตีที่อาจเกิดขึ้นบน HTTPS และวิธีป้องกัน
/flickr/ ยูริ ซามิลอฟ / ซีซีโดย

อนาคตสำหรับ HTTPS

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

นอกจากนี้ยังมีการวางแผนที่จะพัฒนาเทคโนโลยี SSL/TLS โดยใช้การเรียนรู้ของเครื่อง - อัลกอริธึมอัจฉริยะจะรับผิดชอบในการกรองการรับส่งข้อมูลที่เป็นอันตราย ด้วยการเชื่อมต่อ HTTPS ผู้ดูแลระบบไม่มีทางค้นหาเนื้อหาของข้อความที่เข้ารหัสได้ รวมถึงการตรวจจับคำขอจากมัลแวร์ ในปัจจุบัน โครงข่ายประสาทเทียมสามารถกรองแพ็กเก็ตที่อาจเป็นอันตรายได้ด้วยความแม่นยำ 90% (สไลด์นำเสนอที่ 23).

ผลการวิจัย

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

ลิงค์เพิ่มเติมในหัวข้อ:

ที่มา: will.com

เพิ่มความคิดเห็น