การเสียชีวิตจากการรั่วไหลของข้อมูลนับพัน: APIs ครอบงำความปลอดภัยได้อย่างไร

เผยแพร่แล้ว: 2022-06-14

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

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

API คืออะไร?

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

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

Agile และ API: Security Double-Trouble

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

แม้ว่าการปะแก้แบบถาวรนี้จะดูยอดเยี่ยมสำหรับการรักษาความปลอดภัย (การสนับสนุนซอฟต์แวร์คงที่หรือไม่ เยี่ยมมาก!) ความเป็นจริงทางเศรษฐกิจของการผลิตซอฟต์แวร์หมายความว่าปริมาณของ API จะกลายเป็นเทอะทะอย่างรวดเร็ว

ในขณะที่ทีมพัฒนาพัฒนาไปอย่างรวดเร็ว APIs นั้นแทบจะไม่ได้รับการจัดทำเป็นเอกสารอย่างครอบคลุม ซึ่งทำให้ยากอย่างเหลือเชื่อที่จะตรวจสอบกลไกภายในของแอปและทำความเข้าใจว่า API ใดทำหน้าที่อะไร นอกจากนี้ยังทำให้การรักษาความปลอดภัยทำได้ยากขึ้นอีกมาก เนื่องจากทีมพัฒนาเองก็ไม่ทราบขนาดที่แท้จริงของคลัง API ของตน สิ่งนี้ทำให้การรักษาความปลอดภัยทางไซเบอร์มีความสำคัญต่ำ มีปฏิกิริยาตอบสนองเสมอและไม่เคยเชิงรุก

API ที่ถูกมองข้าม

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

APIs ให้ความสนใจเพียงเล็กน้อยเท่านั้น ส่งผลเสียต่อองค์กรที่หลงลืมและลูกค้าของพวกเขามาก ยกตัวอย่างช่องโหว่ของ API ที่ครอบตัดในระบบของ Uber

เมื่อคนขับ Uber เข้าร่วม Uber ผ่านลิงก์อ้างอิง พวกเขาจะเปิดแอปและป้อนรหัสอ้างอิง เมื่อกดปุ่ม Enter เบราว์เซอร์ของแอปจะสื่อสารกับโฮสต์ API “bonjour.uber.com” จากนั้น bonjour.uber จะได้รับพารามิเตอร์ User ID และส่งคืนรายละเอียดเกี่ยวกับไดรเวอร์กลับไปยังแอปของผู้ใช้ พร้อมที่จะป้อนลงในหน้าจอความยินยอมต่อไปนี้

อย่างไรก็ตาม API นี้พบว่ามีความผิดในการละเมิดความปลอดภัยที่สำคัญสองรายการ อย่างแรกคือ Broken Object Level Authorization (BOLA) API ไม่ได้ตรวจสอบว่า ID ของผู้ใช้ตรงกับพารามิเตอร์ ID หรือไม่ ดังนั้นจึงเป็นไปได้ที่จะเข้าถึงข้อมูลของผู้ใช้รายอื่นโดยเพียงแค่เปลี่ยน ID ผู้ใช้

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

ตอนนี้ ให้พิจารณาว่าองค์กรโดยเฉลี่ยต้องอาศัย API มากกว่า 15,500 รายการ และระดับความเสี่ยงก็เริ่มปรากฏขึ้น โชคดีที่ Uber API ถูกเสียบปลั๊กก่อนเกิดความเสียหายร้ายแรง บริษัทต่อไปนี้ไม่ค่อยโชคดีเท่าไหร่

ปัญหา Peloton

แบรนด์ฟิตเนสที่บ้านของ Peloton มีสมาชิกมากกว่า 3 ล้านรายชื่นชอบ ชั้นเรียนออกกำลังกายแบบสดเป็นจุดขายที่สำคัญ แม้ว่าคุณจะไม่ต้องการแบ่งปันข้อมูลทางการแพทย์ของคุณกับผู้เข้าร่วมชั้นเรียนคนอื่นๆ คุณก็ตั้งค่าบัญชี peloton ของคุณเป็นแบบส่วนตัวได้

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

API เป็นสาเหตุของการรั่วไหลของข้อมูลที่มีรายละเอียดสูงมานานหลายปี เรื่องอื้อฉาวด้านข้อมูลอย่างต่อเนื่องของ Facebook ตลอดปี 2018 และ 2019 พบว่ามีการละเมิดเกิดขึ้นครั้งแล้วครั้งเล่า โดยส่วนใหญ่ผ่าน API ของนักพัฒนาบุคคลที่สาม ตัวอย่างหนึ่งคือ Groups API; นักพัฒนาที่ทำงานบนแอพจัดการโซเชียลมีเดีย B2B สามารถเข้าถึงชื่อและข้อมูลส่วนตัวของสมาชิกในกลุ่มได้อย่างอิสระ แม้ว่าแอปการจัดการโซเชียลมีเดียนี้มีขึ้นเพื่อช่วยให้ผู้ดูแลระบบกลุ่มจัดการกลุ่มของตนได้อย่างมีประสิทธิภาพมากขึ้น แต่ Facebook ก็ต้องลบแอปและ API ของแอปออก

เรื่องอื้อฉาวข้อมูลเหล่านี้สิ้นสุดลงในปี 2564 เมื่อฐานข้อมูลตลาดมืดที่มีผู้ใช้ Facebook กว่า 533 ล้านคนมีชื่อ หมายเลขโทรศัพท์ และ ID ผู้ใช้ Facebook รั่วไหล

การป้องกันการรั่วไหลของ API

โครงการ Open Web Application Security (OWASP) เผยแพร่ช่องโหว่ของเว็บแอปที่ร้ายแรงและแพร่หลายที่สุดเป็นประจำเพื่อจับตาดู ภัยคุกคามด้านความปลอดภัยที่เพิ่มขึ้นซึ่งแสดงโดย API นั้นรุนแรงพอที่จะรับประกันรายการ OWASP สิบอันดับแรกของตัวเอง ซึ่งอยู่ด้านบนสุดอย่างต่อเนื่องโดย Broken Object Level Authorization

โชคดีที่ปกป้อง API ของคุณ - นอกเหนือความต้องการของวงจรการพัฒนาที่ช้าลง - ติดตามอย่างใกล้ชิดด้วยการรักษาความปลอดภัยองค์กรโดยรวมของคุณโดยรวม จุดติดต่อแรกของคุณคือ Web Application Firewall (WAF) ที่ดี โซลูชันนี้จะตรวจสอบขอบเขตของแอปของคุณ ป้องกันไม่ให้เกตเวย์ API ถูกโจมตีโดยช่องโหว่ที่สำคัญ

เว็บแอปพลิเคชันและการป้องกัน API (WAAP) ก้าวไปอีกขั้น ตั้งอยู่ที่ขอบเขตของแอปที่เปิดเผยต่อสาธารณะโดยวิเคราะห์การรับส่งข้อมูลขาเข้าทั้งหมด โดยการตรวจสอบรูปแบบของการรับส่งข้อมูลและคำขอที่ถูกต้อง WAAP เป็นเครื่องมือรักษาความปลอดภัยที่มีความเชี่ยวชาญสูงที่ออกแบบมาโดยเฉพาะเพื่อปกป้อง API

ในขณะที่ WAAP เป็นระบบป้องกันระดับเอ็นด์พอยท์ โซลูชัน Runtime Application Self Protection (RASP) ครอบคลุมเว็บแอปเฉพาะ โซลูชัน RASP ซึ่งแตกต่างจาก WAF มีข้อมูลเชิงลึกเกี่ยวกับการทำงานภายในและพฤติกรรมของแอปพลิเคชันด้วย ด้วยวิธีนี้ หาก API ถูกใช้เป็นฐานหลักในการโจมตี และสอบถามข้อมูลเพิ่มเติมมากกว่าที่ควรจะเป็น RASP สามารถปิดการโจมตีในเชิงรุกได้

ด้วยตัวเลือกการป้องกัน API ที่มีอยู่มากมาย การรักษาความปลอดภัยแอปและองค์กรของคุณไม่เคยง่ายอย่างนี้มาก่อน