0Pricing
Cloud & IT Cert Prep · บทเรียน

การตรวจสอบ SSL/TLS และการโจมตีแบบคนกลางในเบราว์เซอร์

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

การตรวจสอบ SSL/TLS และการโจมตีแบบคนกลางในเบราว์เซอร์ เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องตรวจสอบการรับส่งข้อมูลที่เข้ารหัส

ปัจจุบัน HTTPS คิดเป็นสัดส่วนมากกว่า 90% ของการรับส่งข้อมูล Web ซึ่งรวมถึงการดาวน์โหลด Malware ช่องทาง C2 และการลักลอบนำข้อมูลออก เครื่องมือรักษาความปลอดภัยที่ขอบเขตเครือข่ายซึ่งไม่สามารถตรวจสอบ TLS ได้จะเห็นเพียงข้อมูลที่เข้ารหัสจนอ่านไม่ออก ทำให้เกิดจุดบอดที่ผู้โจมตีใช้ประโยชน์อย่างแข็งขัน การตรวจสอบ SSL/TLS (เรียกอีกอย่างว่าการดักตรวจสอบ SSL การทำ SSL bumping หรือการตรวจสอบแพ็กเก็ตเชิงลึกสำหรับ HTTPS) ช่วยให้เกตเวย์รักษาความปลอดภัยถอดรหัส ตรวจสอบ และเข้ารหัสการรับส่งข้อมูล HTTPS ใหม่ก่อนถึงจุดปลายทาง การมองเห็นนี้จำเป็นสำหรับการกรองเนื้อหา Web, DLP และการสแกนต่อต้าน Malware ในสภาพแวดล้อมที่การรับส่งข้อมูลส่วนใหญ่เป็น HTTPS

การทำงานของการตรวจสอบ SSL/TLS

การตรวจสอบ SSL เป็นการโจมตีแบบคนกลางที่อยู่ภายใต้การควบคุม โดยโครงสร้างพื้นฐานด้านความปลอดภัยขององค์กรเอง ขั้นตอนมีดังนี้: ขั้นตอนที่ 1: Client สร้าง TLS ไปยังพร็อกซี (โดยใช้ใบรับรองของพร็อกซีที่ลงนามโดย CA ขององค์กร) ขั้นตอนที่ 2: พร็อกซีสร้างเซสชัน TLS แยกต่างหากไปยัง Server จริง โดยใช้ใบรับรองจริงของ Server ขั้นตอนที่ 3: พร็อกซีถอดรหัสการรับส่งข้อมูลจาก Client ตรวจสอบ แล้วเข้ารหัสใหม่และส่งต่อไปยัง Server (และดำเนินการย้อนกลับในทิศทางตรงกันข้าม) Client เชื่อถือใบรับรองของพร็อกซี เพราะมีการติดตั้งใบรับรอง CA ขององค์กรไว้ล่วงหน้าบนจุดปลายทางที่มีการจัดการทั้งหมดผ่าน MDM หรือ Group Policy

# SSL inspection flow
Client                  Proxy (SEG)           Real Server
  |                        |                       |
  |--TLS ClientHello------>|                       |
  |  (proxy cert presented)|                       |
  |<-TLS Established-------|--TLS ClientHello----->|
  |                        |<-TLS Established------|
  |--HTTPS Request-------->|                       |
  |                        |--HTTPS Request------->|
  |                        |<-HTTPS Response-------|
  |  (inspect, DLP, AV)    |                       |
  |<-HTTPS Response--------|                       |
  |                        |                       |

ข้อยกเว้นในการตรวจสอบ SSL

ไม่ควรตรวจสอบการรับส่งข้อมูลทุกประเภท โดยทั่วไปองค์กรจะยกเว้นหมวดหมู่ที่มีข้อมูลอ่อนไหวทางกฎหมายหรือจริยธรรม ได้แก่ เว็บไซต์ธนาคารและ Financial พอร์ทัล Healthcare ฐานข้อมูลค้นคว้าด้านกฎหมาย ที่อยู่เว็บสำหรับความโปร่งใสของใบรับรองและ OCSP (เพื่อหลีกเลี่ยงการทำให้การตรวจสอบใบรับรองเสียหาย) และ เว็บไซต์ที่ใช้การตรึงใบรับรอง (ซึ่งจะปฏิเสธใบรับรองที่ลงนามใหม่และทำให้แอปพลิเคชันทำงานไม่ได้) รายการยกเว้นจะได้รับการดูแลเป็นรายการข้ามในนโยบายการตรวจสอบ ในบางเขตอำนาจศาล กฎหมายการติดตามพนักงานอาจจำกัดการตรวจสอบการท่องเว็บส่วนตัว ทำให้ต้องเปิดเผยข้อมูลอย่างชัดเจนในนโยบายการใช้งานที่ยอมรับได้

# SSL inspection bypass list examples
ssl_inspect_bypass:
  # Financial sites
  - *.bankofamerica.com
  - *.chase.com
  # Healthcare
  - *.mychart.com
  # Certificate infrastructure
  - ocsp.*.com
  - crl.*.com
  # App that uses cert pinning
  - api.corporate-erp.com
  # Government sites
  - *.irs.gov
  - *.ssa.gov

การตรึงใบรับรองและการหลบเลี่ยงการตรวจสอบ

การตรึงใบรับรองคือเทคนิคที่แอปพลิเคชันกำหนดใบรับรองหรือกุญแจสาธารณะที่คาดหวังไว้ในโปรแกรมสำหรับ Server เฉพาะ และปฏิเสธการเชื่อมต่อหากใบรับรองไม่ตรงกัน — แม้ใบรับรองนั้นจะถูกต้องและได้รับความเชื่อถือจากคลัง CA ของ OS ก็ตาม วิธีนี้ทำให้การตรวจสอบ SSL ทำงานไม่ได้ เพราะใบรับรองที่พร็อกซีลงนามใหม่ไม่ตรงกับค่าที่ตรึงไว้ แอปบนอุปกรณ์เคลื่อนที่ (แอปธนาคาร แอปชำระเงิน) มักใช้การตรึงใบรับรองเพื่อป้องกันการโจมตีแบบคนกลาง องค์กรต้องข้ามการตรวจสอบสำหรับแอปที่ตรึงใบรับรอง มิฉะนั้นแอปจะทำงานไม่ได้ นอกจากนี้ยังหมายความว่าผู้โจมตีที่ต้องการหลบเลี่ยงการตรวจสอบ SSL จาก Malware ของตนอาจใช้การตรึงใบรับรองได้

SSL Stripping คืออะไร

การทำ SSL strippingคือการโจมตีแบบคนกลางที่ผู้โจมตีดักการรับส่งข้อมูล HTTPS และลดระดับเป็น HTTP ทำให้สามารถอ่านข้อความและแก้ไขเนื้อหาในรูปแบบข้อความธรรมดาได้ การโจมตีนี้ทำงานกับการเชื่อมต่อที่เริ่มต้นด้วย HTTP ก่อนเปลี่ยนเส้นทางไปยัง HTTPS โดยผู้โจมตีดักคำขอ HTTP แรกเริ่ม รักษาการเชื่อมต่อ HTTP กับเหยื่อไว้ ขณะเดียวกันก็สร้าง HTTPS กับ Server ที่ถูกต้อง แล้วส่งต่อการรับส่งข้อมูลอย่างโปร่งใส จากมุมมองของเหยื่อ เว็บไซต์จะดูเหมือนใช้ HTTP HTTP Strict Transport Security (HSTS) ป้องกันการทำ SSL stripping โดยแจ้งเบราว์เซอร์ให้ใช้ HTTPS กับโดเมนนั้นเสมอ แม้ผู้ใช้จะพิมพ์ HTTP ก็ตาม

# HSTS response header (server sends this)
Strict-Transport-Security: max-age=31536000;
                          includeSubDomains;
                          preload

# max-age=31536000 = 1 year in seconds
# includeSubDomains = also enforces HTTPS on subdomains
# preload = include in browser HSTS preload list
#           (HSTS enforced even on first visit)

# After receiving HSTS header:
# Browser WILL NOT connect via HTTP for 1 year
# SSL stripping becomes ineffective

การโจมตีแบบคนกลางในเบราว์เซอร์ (MitB)

การโจมตีแบบคนกลางในเบราว์เซอร์ (MitB)เป็นรูปแบบหนึ่งของโทรจันธนาคารที่แทรกตัวเข้าไปในเบราว์เซอร์ Web — ในรูปแบบส่วนขยายอันตรายหรือการแทรกกระบวนการของเบราว์เซอร์ — และแก้ไขหน้า Web กับธุรกรรมโดยที่ผู้ใช้ไม่ทันสังเกต ต่างจากการโจมตีแบบคนกลางบนเครือข่าย MitB ทำงาน ภายในเซสชันที่เข้ารหัสในชั้นเบราว์เซอร์ ดังนั้น TLS จึงไม่สามารถป้องกันได้ Malware MitB (Zeus, SpyEye) สามารถเปลี่ยนจำนวนเงินที่ชำระ แก้ไขหมายเลขบัญชีผู้รับ ดักรหัสผ่านใช้ครั้งเดียว และแก้ไขแบบฟอร์มอย่างเงียบ ๆ หลังผู้ใช้กรอกข้อมูลแล้ว การแก้ไขเกิดขึ้นหลังถอดรหัส TLS และก่อนผู้ใช้เห็นหน้าที่แสดงผล

กลไกการโจมตี MitB

มัลแวร์ MitB เชื่อมต่อเข้ากับ API ของเบราว์เซอร์ในชั้นแอปพลิเคชัน บน Windows มัลแวร์จะแทรกโค้ดเข้าไปในกระบวนการของเบราว์เซอร์ (Chrome, Firefox, IE) โดยใช้การแทรก DLL หรือการยึดการทำงานของ COM จากนั้นจะเชื่อมต่อเข้ากับฟังก์ชัน JavaScript และ API สำหรับจัดการ DOM เมื่อผู้ใช้เข้าสู่เว็บไซต์ธนาคาร มัลแวร์จะดักจับ JavaScript ที่ใช้แสดงหน้าเว็บและการยืนยันธุรกรรม แล้วเปลี่ยนบัญชีผู้รับเป็นบัญชีของผู้โจมตี เซิร์ฟเวอร์จะเห็นธุรกรรมที่ถูกต้อง และบันทึก HTTPS ฝั่งเซิร์ฟเวอร์จะไม่แสดงสิ่งผิดปกติ ผู้ใช้จะเห็นการยืนยันที่ถูกต้อง — พร้อมจำนวนเงินตามที่ตั้งใจ — แต่การโอนเงินจริงจะไปยังบัญชีของผู้โจมตี

การป้องกัน MitB

การป้องกัน MitB จำเป็นต้องใช้มาตรการควบคุมหลายชั้น การแยกเบราว์เซอร์ (Menlo Security, Zscaler Browser Isolation) จะประมวลผลการแสดงผลของเบราว์เซอร์ใน VM บนคลาวด์ระยะไกล และส่งมายังหน้าจอผู้ใช้เฉพาะพิกเซลเท่านั้น — มัลแวร์จึงไม่สามารถแทรกโค้ดเข้าไปในกระบวนการเบราว์เซอร์ที่ทำงานอยู่ในสภาพแวดล้อมระยะไกลได้ การตรวจสอบธุรกรรม: ธนาคารยืนยันรายละเอียดธุรกรรม (จำนวนเงิน + ผู้รับ) ผ่านช่องทางนอกแบนด์ (SMS OTP ที่มีรายละเอียดธุรกรรม) เพื่อให้ผู้ใช้ต้องตรวจสอบสิ่งที่เซิร์ฟเวอร์ได้รับจริง EDR ที่ปลายทาง ซึ่งตรวจจับการแทรก DLL เข้าไปในกระบวนการเบราว์เซอร์ สามารถระบุการติดมัลแวร์ MitB ได้ การอนุญาตส่วนขยายเบราว์เซอร์ตามรายการช่วยป้องกันส่วนขยายที่เป็นอันตรายได้

ส่วนขยายเบราว์เซอร์ที่เป็นอันตราย

ส่วนขยายเบราว์เซอร์ที่เป็นอันตรายเป็นภัยคุกคามสำคัญต่ออุปกรณ์ปลายทาง ส่วนขยายมีสิทธิ์การเข้าถึงกว้างขวาง — สามารถอ่านเนื้อหาหน้าเว็บ แก้ไขคำขอ ดักจับการส่งแบบฟอร์ม และเข้าถึงคุกกี้ได้ ส่วนขยายที่ปลอมตัวเป็นเครื่องมือที่มีประโยชน์ (ตัวบล็อกโฆษณา โหมดมืด) อาจขโมยข้อมูลยืนยันตัวตน แทรกโฆษณาเปลี่ยนเส้นทางการรับส่งข้อมูล หรือทำหน้าที่เป็นตัวดำเนินการ MitB การควบคุมระดับองค์กร: ใช้ Group Policy หรือ MDM เพื่อจำกัดการติดตั้งส่วนขยายให้ติดตั้งได้เฉพาะรายการที่อนุมัติแล้ว Block การติดตั้งส่วนขยายจากแหล่งอื่นนอกเหนือจาก Chrome Web Store หรือ Firefox Add-ons ตรวจสอบส่วนขยายที่ติดตั้งบนอุปกรณ์ปลายทางที่อยู่ภายใต้การจัดการเป็นประจำ เพื่อค้นหาการละเมิดนโยบาย

# Chrome enterprise extension control (Group Policy)
# Computer Config > Admin Templates > Google Chrome
# > Extensions > 'Configure the list of force-installed apps'
# Add extensions by ID:
ExtensionInstallAllowlist:
  - 'efaidnbmnnnibpcajpcglclefindmkaj'  # Adobe Acrobat
  - 'cjpalhdlnbpafiamejdnhcphjbkeiagm'  # uBlock Origin

ExtensionInstallBlocklist:
  - '*'  # Block all others

# Force-install approved extensions from URL
ExtensionInstallForcelist:
  - 'id;https://internal-extension-server/update.xml'

นโยบายตรวจสอบ TLS และความสมดุลด้านความเป็นส่วนตัว

องค์กรที่ใช้การตรวจสอบ SSL ต้องจัดการกับผลกระทบด้านความเป็นส่วนตัวที่มีต่อพนักงาน หลายเขตอำนาจศาลและกฎหมายแรงงานกำหนดให้แจ้งอย่างชัดเจนก่อนตรวจสอบการรับส่งข้อมูลที่เข้ารหัส แนวปฏิบัติที่ดี: เผยแพร่ นโยบายการใช้งานที่ยอมรับได้ (AUP) ซึ่งระบุอย่างชัดเจนว่าอาจมีการตรวจสอบการรับส่งข้อมูลเครือข่าย รวมถึง HTTPS ให้พนักงานรับทราบ AUP ระหว่างการเริ่มงาน ใช้ หมวดหมู่ที่ยกเว้นการตรวจสอบสำหรับเว็บไซต์ธนาคารส่วนบุคคลและเว็บไซต์ทางการแพทย์ และจัดเก็บบันทึกการรับส่งข้อมูลที่ถอดรหัสแล้วไว้เท่าที่จำเป็นเท่านั้น (โดยทั่วไป 30-90 วัน) ฝ่ายกฎหมายควรตรวจทานโครงการตรวจสอบก่อนนำไปใช้งาน โดยเฉพาะในประเทศ EU ซึ่ง GDPR กำหนดข้อจำกัดที่เข้มงวดกว่าสำหรับการตรวจสอบพนักงาน

ความโปร่งใสของใบรับรอง HTTPS (CT)

Certificate Transparency คือกรอบการทำงาน (RFC 6962) ที่กำหนดให้ใบรับรอง TLS ที่ได้รับความเชื่อถือจากสาธารณะทั้งหมดต้องถูกบันทึกในบันทึก CT ที่สาธารณะสามารถตรวจสอบได้และเพิ่มข้อมูลได้อย่างเดียว ก่อนที่เบราว์เซอร์จะยอมรับใบรับรองเหล่านั้น CT ช่วยให้เจ้าของโดเมนตรวจสอบใบรับรองที่ออกโดยไม่ถูกต้องได้ หากผู้โจมตีสามารถหลอกให้ CA ออกใบรับรองสำหรับโดเมนของคุณได้ (เช่นกรณี DigiNotar ในปี 2011) บันทึก CT จะช่วยให้ตรวจพบได้เกือบแบบเรียลไทม์ เครื่องมืออย่าง crt.sh ช่วยให้ทีมรักษาความปลอดภัยค้นหาบันทึก CT เพื่อดูใบรับรองทั้งหมดที่ออกให้โดเมนของตนได้ เบราว์เซอร์บังคับใช้ CT โดยกำหนดให้มีหลักฐานการบันทึกลงในบันทึก (Signed Certificate Timestamps หรือ SCTs) อยู่ภายในกระบวนการจับมือ TLS

# Search CT logs for certificates issued for your domain
# Use crt.sh public CT log aggregator
curl 'https://crt.sh/?q=example.com&output=json' | \
  python3 -m json.tool | grep '"name_value"'

# Result shows all certs issued for example.com and
# *.example.com including: issuer, validity, SANs
# Monitor for unexpected certs = potential mis-issuance

# Also subscribe to cert monitoring services:
# Facebook Certificate Transparency Monitoring
# sslmate.com/certspotter
# Google cert-manager webhook notifications

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความเข้าใจแนวคิด CompTIA Security+ (SY0-701) จากบทเรียนนี้

ทบทวนบทเรียน

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

คำถามที่พบบ่อย

บทเรียน “การตรวจสอบ SSL/TLS และการโจมตีแบบคนกลางในเบราว์เซอร์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตรวจสอบ SSL/TLS และการโจมตีแบบคนกลางในเบราว์เซอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตรวจสอบ SSL/TLS และการโจมตีแบบคนกลางในเบราว์เซอร์”

เรียนรู้ว่าเมื่อใดและอย่างไรจึงควรตรวจสอบทราฟฟิก HTTPS ที่เข้ารหัสบนเกตเวย์ความปลอดภัย พร้อมสำรวจการโจมตีผ่านเบราว์เซอร์ เช่น การถอด SSL และส่วนขยายอันตราย คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การตรวจสอบ SSL/TLS และการโจมตีแบบคนกลางในเบราว์เซอร์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม

ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การยืนยันตัวตนอีเมล: SPF, DKIM และ DMARC
  2. เกตเวย์อีเมลที่ปลอดภัยและการควบคุมสแปม
  3. การกรองเนื้อหาเว็บและ DNS Sinkhole
  4. การตรวจสอบ SSL/TLS และการโจมตีแบบคนกลางในเบราว์เซอร์
← กลับไปที่ Cloud & IT Cert Prep