หากคุณเช่าเซิร์ฟเวอร์ คุณจะไม่สามารถควบคุมเซิร์ฟเวอร์ได้อย่างสมบูรณ์ ซึ่งหมายความว่าผู้ที่ได้รับการฝึกอบรมมาเป็นพิเศษสามารถมาที่โฮสต์และขอให้คุณให้ข้อมูลใด ๆ ของคุณได้ตลอดเวลา และผู้ให้เช่าจะคืนให้หากมีการเรียกร้องอย่างเป็นทางการตามกฎหมาย
คุณไม่ต้องการให้บันทึกเว็บเซิร์ฟเวอร์หรือข้อมูลผู้ใช้ของคุณรั่วไหลไปยังบุคคลอื่น เป็นไปไม่ได้ที่จะสร้างการป้องกันในอุดมคติ แทบจะเป็นไปไม่ได้เลยที่จะป้องกันตัวเองจากผู้ให้บริการโฮสต์ที่เป็นเจ้าของไฮเปอร์ไวเซอร์และมอบเครื่องเสมือนให้กับคุณ แต่บางทีอาจจะสามารถลดความเสี่ยงได้นิดหน่อย การเข้ารหัสรถเช่าไม่ได้ไร้ประโยชน์อย่างที่คิดเมื่อเห็นแวบแรก ในขณะเดียวกัน เรามาดูภัยคุกคามของการดึงข้อมูลจากเซิร์ฟเวอร์จริงกันดีกว่า
รูปแบบภัยคุกคาม
ตามกฎแล้ว โฮสต์จะพยายามปกป้องผลประโยชน์ของลูกค้าให้มากที่สุดตามกฎหมาย หากจดหมายจากหน่วยงานอย่างเป็นทางการร้องขอเพียงบันทึกการเข้าถึง โฮสต์จะไม่จัดเตรียมฐานข้อมูลให้กับเครื่องเสมือนทั้งหมดของคุณ อย่างน้อยก็ไม่ควร หากพวกเขาขอข้อมูลทั้งหมด โฮสต์จะคัดลอกดิสก์เสมือนพร้อมไฟล์ทั้งหมด และคุณจะไม่รู้เกี่ยวกับมัน
ไม่ว่าสถานการณ์จะเป็นอย่างไร เป้าหมายหลักของคุณคือทำให้การโจมตียากเกินไปและมีราคาแพง โดยปกติแล้วจะมีตัวเลือกภัยคุกคามหลักสามตัวเลือก
เป็นทางการ
ส่วนใหญ่แล้วจดหมายกระดาษจะถูกส่งไปยังสำนักงานอย่างเป็นทางการของผู้โฮสต์โดยมีข้อกำหนดในการให้ข้อมูลที่จำเป็นตามกฎระเบียบที่เกี่ยวข้อง หากทุกอย่างถูกต้อง โฮสต์จะมอบบันทึกการเข้าถึงที่จำเป็นและข้อมูลอื่น ๆ ให้กับหน่วยงานอย่างเป็นทางการ โดยปกติแล้วพวกเขาจะขอให้คุณส่งข้อมูลที่จำเป็น
ในบางครั้ง หากจำเป็นจริงๆ ตัวแทนของหน่วยงานบังคับใช้กฎหมายจะมาที่ศูนย์ข้อมูลด้วยตนเอง ตัวอย่างเช่น เมื่อคุณมีเซิร์ฟเวอร์เฉพาะของคุณเอง และข้อมูลจากเซิร์ฟเวอร์นั้นสามารถนำไปใช้ได้ทางกายภาพเท่านั้น
ในทุกประเทศ การเข้าถึงทรัพย์สินส่วนตัว การค้นหา และกิจกรรมอื่นๆ จำเป็นต้องมีหลักฐานว่าข้อมูลอาจมีข้อมูลที่สำคัญสำหรับการสืบสวนอาชญากรรม นอกจากนี้จำเป็นต้องมีหมายค้นที่ดำเนินการตามข้อบังคับทั้งหมด อาจมีความแตกต่างที่เกี่ยวข้องกับลักษณะเฉพาะของกฎหมายท้องถิ่น สิ่งสำคัญที่ต้องเข้าใจคือหากเส้นทางอย่างเป็นทางการถูกต้อง เจ้าหน้าที่ศูนย์ข้อมูลจะไม่ยอมให้ใครผ่านทางเข้า
ยิ่งไปกว่านั้น ในประเทศส่วนใหญ่คุณไม่สามารถดึงอุปกรณ์การวิ่งออกมาง่ายๆ ได้ ตัวอย่างเช่นในรัสเซียจนถึงสิ้นปี 2018 ตามมาตรา 183 ของประมวลกฎหมายวิธีพิจารณาความอาญาของสหพันธรัฐรัสเซียส่วนที่ 3.1 รับประกันได้ว่าในระหว่างการยึดสื่อบันทึกข้อมูลอิเล็กทรอนิกส์ได้ดำเนินการโดยมีส่วนร่วม ของผู้เชี่ยวชาญ ตามคำขอของเจ้าของตามกฎหมายของสื่อจัดเก็บข้อมูลอิเล็กทรอนิกส์ที่ถูกยึดหรือเจ้าของข้อมูลที่มีอยู่ในนั้น ผู้เชี่ยวชาญที่เข้าร่วมในการยึดต่อหน้าพยาน คัดลอกข้อมูลจากสื่อจัดเก็บข้อมูลอิเล็กทรอนิกส์ที่ถูกยึดไปยังสื่อบันทึกข้อมูลอิเล็กทรอนิกส์อื่น ๆ
แต่น่าเสียดายที่ประเด็นนี้ถูกลบออกจากบทความแล้ว
เป็นความลับและไม่เป็นทางการ
นี่เป็นอาณาเขตของกิจกรรมของสหายที่ได้รับการฝึกฝนมาเป็นพิเศษจาก NSA, FBI, MI5 และองค์กรสามตัวอักษรอื่น ๆ แล้ว บ่อยครั้งที่กฎหมายของประเทศต่างๆ ให้อำนาจที่กว้างขวางมากสำหรับโครงสร้างดังกล่าว ยิ่งไปกว่านั้น มีการห้ามทางกฎหมายเกือบทุกครั้งในการเปิดเผยข้อมูลโดยตรงหรือโดยอ้อมเกี่ยวกับข้อเท็จจริงของความร่วมมือกับหน่วยงานบังคับใช้กฎหมายดังกล่าว มีคนที่คล้ายกันในรัสเซีย
ในกรณีที่มีภัยคุกคามต่อข้อมูลของคุณ ข้อมูลเหล่านั้นเกือบจะถูกนำออกไปอย่างแน่นอน ยิ่งไปกว่านั้น นอกเหนือจากการยึดแบบธรรมดาแล้ว ยังสามารถใช้คลังแสงแบ็คดอร์อย่างไม่เป็นทางการทั้งหมด ช่องโหว่แบบ Zero-day การดึงข้อมูลจาก RAM ของเครื่องเสมือนของคุณ และความสุขอื่น ๆ ได้อีกด้วย ในกรณีนี้ เจ้าของที่พักจะต้องช่วยเหลือผู้เชี่ยวชาญด้านการบังคับใช้กฎหมายให้มากที่สุด
ลูกจ้างไร้จรรยาบรรณ
คนทุกคนไม่ได้ดีเท่ากัน ผู้ดูแลระบบศูนย์ข้อมูลคนใดคนหนึ่งอาจตัดสินใจหารายได้พิเศษและขายข้อมูลของคุณ การพัฒนาเพิ่มเติมขึ้นอยู่กับพลังและการเข้าถึงของเขา สิ่งที่น่ารำคาญที่สุดคือผู้ดูแลระบบที่สามารถเข้าถึงคอนโซลการจำลองเสมือนจะสามารถควบคุมเครื่องของคุณได้อย่างสมบูรณ์ คุณสามารถถ่ายภาพสแน็ปช็อตพร้อมกับเนื้อหาทั้งหมดของ RAM แล้วค่อยๆ ศึกษามัน
VDS
ดังนั้นคุณจึงมีเครื่องเสมือนที่โฮสต์ให้คุณ คุณจะใช้การเข้ารหัสเพื่อป้องกันตัวเองได้อย่างไร? ในความเป็นจริงไม่มีอะไรเลยในทางปฏิบัติ ยิ่งไปกว่านั้น แม้แต่เซิร์ฟเวอร์เฉพาะของคนอื่นก็อาจกลายเป็นเครื่องเสมือนที่มีการเสียบอุปกรณ์ที่จำเป็นเข้าไปด้วย
หากงานของระบบระยะไกลไม่ใช่แค่การจัดเก็บข้อมูล แต่เพื่อการคำนวณบางอย่าง ตัวเลือกเดียวสำหรับการทำงานกับเครื่องที่ไม่น่าเชื่อถือก็คือการใช้งาน
นอกจากนี้ในขณะที่เครื่องเสมือนกำลังทำงานและดำเนินการบางอย่าง โวลุ่มที่เข้ารหัสทั้งหมดจะอยู่ในสถานะที่สามารถเข้าถึงได้ มิฉะนั้นระบบปฏิบัติการจะไม่สามารถทำงานร่วมกับพวกเขาได้ ซึ่งหมายความว่าเมื่อมีสิทธิ์เข้าถึงคอนโซลการจำลองเสมือน คุณสามารถถ่ายภาพสแน็ปช็อตของเครื่องที่กำลังทำงานอยู่และดึงคีย์ทั้งหมดออกจาก RAM ได้
ผู้จำหน่ายหลายรายพยายามจัดระเบียบการเข้ารหัสฮาร์ดแวร์ของ RAM เพื่อให้แม้แต่โฮสต์ก็ไม่สามารถเข้าถึงข้อมูลนี้ได้ ตัวอย่างเช่น เทคโนโลยี Intel Software Guard Extensions ซึ่งจัดระเบียบพื้นที่ในพื้นที่ที่อยู่เสมือนที่ได้รับการปกป้องจากการอ่านและการเขียนจากภายนอกพื้นที่นี้โดยกระบวนการอื่น รวมถึงเคอร์เนลของระบบปฏิบัติการ น่าเสียดายที่คุณจะไม่สามารถเชื่อถือเทคโนโลยีเหล่านี้ได้อย่างเต็มที่ เนื่องจากคุณจะถูกจำกัดอยู่เพียงเครื่องเสมือนของคุณ นอกจากนี้ยังมีตัวอย่างสำเร็จรูปอยู่แล้ว
เราเข้ารหัสข้อมูลบน VDS
ฉันขอจองทันทีว่าทุกสิ่งที่เราทำด้านล่างนี้ไม่เข้าข่ายการคุ้มครองเต็มรูปแบบ ไฮเปอร์ไวเซอร์จะอนุญาตให้คุณทำสำเนาที่จำเป็นโดยไม่ต้องหยุดบริการและโดยที่คุณไม่ต้องแจ้งให้ทราบ
- หากโฮสต์ถ่ายโอนอิมเมจ "เย็น" ของเครื่องเสมือนของคุณตามคำขอ แสดงว่าคุณค่อนข้างปลอดภัย นี่เป็นสถานการณ์ที่พบบ่อยที่สุด
- หากโฮสต์แสดงสแน็ปช็อตของเครื่องที่ทำงานอยู่ทั้งหมด แสดงว่าทุกอย่างค่อนข้างแย่ ข้อมูลทั้งหมดจะถูก mount ในระบบในรูปแบบที่ชัดเจน นอกจากนี้ยังสามารถค้นหาผ่าน RAM เพื่อค้นหาคีย์ส่วนตัวและข้อมูลที่คล้ายกัน
ตามค่าเริ่มต้น หากคุณปรับใช้ระบบปฏิบัติการจากอิมเมจวานิลลา โฮสต์จะไม่มีสิทธิ์การเข้าถึงรูท คุณสามารถเมานต์สื่อด้วยอิมเมจช่วยเหลือและเปลี่ยนรหัสผ่านรูทได้ตลอดเวลาโดยทำการรูทสภาพแวดล้อมเครื่องเสมือน แต่จะต้องรีบูตเครื่องซึ่งจะสังเกตได้ นอกจากนี้ พาร์ติชั่นที่เข้ารหัสที่ติดตั้งไว้ทั้งหมดจะถูกปิดด้วย
อย่างไรก็ตาม หากการใช้งานเครื่องเสมือนไม่ได้มาจากอิมเมจวานิลลา แต่มาจากอิมเมจที่เตรียมไว้ล่วงหน้า ผู้โฮสต์มักจะสามารถเพิ่มบัญชีพิเศษเพื่อช่วยในสถานการณ์ฉุกเฉินที่ลูกค้าได้ ตัวอย่างเช่น หากต้องการเปลี่ยนรหัสผ่านรูทที่ลืม
แม้ในกรณีของการถ่ายภาพโดยสมบูรณ์ ไม่ใช่ทุกอย่างจะน่าเศร้านัก ผู้โจมตีจะไม่ได้รับไฟล์ที่เข้ารหัส หากคุณติดตั้งไฟล์เหล่านั้นจากระบบไฟล์ระยะไกลของเครื่องอื่น ใช่ ตามทฤษฎีแล้ว คุณสามารถเลือกดัมพ์ RAM และแยกคีย์เข้ารหัสออกจากที่นั่นได้ แต่ในทางปฏิบัติสิ่งนี้ไม่ใช่เรื่องเล็กน้อยและไม่น่าเป็นไปได้อย่างยิ่งที่กระบวนการนี้จะไปไกลกว่าการถ่ายโอนไฟล์ธรรมดา
สั่งซื้อรถ
เพื่อจุดประสงค์ในการทดสอบ เราใช้เครื่องจักรอย่างง่ายเข้ามา
dm-crypt แบบคลาสสิกสำหรับพาร์ติชันทั้งหมดไม่ได้ถูกถอดออก ตามค่าเริ่มต้น ดิสก์จะถูกกำหนดให้เป็นชิ้นเดียว โดยมีการรูทสำหรับพาร์ติชันทั้งหมด การลดขนาดพาร์ติชัน ext4 บนพาร์ติชันที่ติดตั้งรูทนั้นถือเป็นอิฐที่รับประกันได้จริงแทนที่จะเป็นระบบไฟล์ ฉันพยายามแล้ว) แทมบูรีนไม่ได้ช่วยอะไร
การสร้างคอนเทนเนอร์ crypto
ดังนั้นเราจะไม่เข้ารหัสทั้งพาร์ติชั่น แต่จะใช้ไฟล์คอนเทนเนอร์เข้ารหัสลับ ได้แก่ เวราคริปต์ที่ได้รับการตรวจสอบและเชื่อถือได้ สำหรับจุดประสงค์ของเราก็เพียงพอแล้ว ขั้นแรกเราดึงและติดตั้งแพ็คเกจด้วยเวอร์ชัน CLI จากเว็บไซต์อย่างเป็นทางการ คุณสามารถตรวจสอบลายเซ็นได้พร้อมกัน
wget https://launchpad.net/veracrypt/trunk/1.24-update4/+download/veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb
dpkg -i veracrypt-console-1.24-Update4-Ubuntu-18.04-amd64.deb
ตอนนี้เราจะสร้างคอนเทนเนอร์เองที่ไหนสักแห่งในบ้านของเราเพื่อให้เราสามารถติดตั้งได้ด้วยตนเองเมื่อรีบูต ในตัวเลือกแบบโต้ตอบ ให้ตั้งค่าขนาดคอนเทนเนอร์ รหัสผ่าน และอัลกอริธึมการเข้ารหัส คุณสามารถเลือกตั๊กแตนรหัสรักชาติและฟังก์ชันแฮช Stribog
veracrypt -t -c ~/my_super_secret
ตอนนี้มาติดตั้ง nginx ติดตั้งคอนเทนเนอร์แล้วเติมข้อมูลลับลงไป
mkdir /var/www/html/images
veracrypt ~/my_super_secret /var/www/html/images/
wget https://upload.wikimedia.org/wikipedia/ru/2/24/Lenna.png
แก้ไข /var/www/html/index.nginx-debian.html เล็กน้อยเพื่อให้ได้หน้าที่ต้องการและคุณสามารถตรวจสอบได้
เชื่อมต่อและตรวจสอบ
ติดตั้งคอนเทนเนอร์แล้ว เข้าถึงและส่งข้อมูลได้
และนี่คือเครื่องหลังจากรีบูต ข้อมูลจะถูกเก็บไว้อย่างปลอดภัยใน ~/my_super_secret
หากคุณต้องการมันจริงๆ และต้องการมันแบบฮาร์ดคอร์ คุณสามารถเข้ารหัสระบบปฏิบัติการทั้งหมดได้ ดังนั้นเมื่อคุณรีบูทมันจะต้องเชื่อมต่อผ่าน ssh และป้อนรหัสผ่าน สิ่งนี้จะเพียงพอในสถานการณ์ของการถอน "ข้อมูลเย็น" ออกไป ที่นี่
โลหะเปล่า
การติดตั้งเซิร์ฟเวอร์ของคุณเองในศูนย์ข้อมูลไม่ใช่เรื่องง่าย การทุ่มเทของคนอื่นอาจกลายเป็นเครื่องเสมือนที่อุปกรณ์ทั้งหมดถูกถ่ายโอนไป แต่สิ่งที่น่าสนใจในแง่ของการป้องกันเริ่มต้นเมื่อคุณมีโอกาสวางเซิร์ฟเวอร์จริงที่เชื่อถือได้ในศูนย์ข้อมูล ที่นี่คุณสามารถใช้ dm-crypt แบบดั้งเดิม, VeraCrypt หรือการเข้ารหัสอื่น ๆ ที่คุณเลือกได้อย่างเต็มที่
คุณต้องเข้าใจว่าหากมีการใช้การเข้ารหัสทั้งหมด เซิร์ฟเวอร์จะไม่สามารถกู้คืนได้ด้วยตัวเองหลังจากรีบูต จำเป็นต้องเพิ่มการเชื่อมต่อกับ Local IP-KVM, IPMI หรืออินเทอร์เฟซอื่นที่คล้ายคลึงกัน หลังจากนั้นเราจะป้อนคีย์หลักด้วยตนเอง รูปแบบนี้ดูพอใช้ได้ในแง่ของความต่อเนื่องและความทนทานต่อข้อผิดพลาด แต่ไม่มีทางเลือกอื่นพิเศษหากข้อมูลมีคุณค่ามาก
โมดูลรักษาความปลอดภัยฮาร์ดแวร์ NCipher nShield F3
ตัวเลือกที่นุ่มนวลกว่าจะถือว่าข้อมูลได้รับการเข้ารหัสและคีย์นั้นอยู่บนเซิร์ฟเวอร์โดยตรงใน HSM พิเศษ (Hardware Security Module) ตามกฎแล้วอุปกรณ์เหล่านี้เป็นอุปกรณ์ที่ใช้งานได้ดีมากซึ่งไม่เพียงแต่ให้การเข้ารหัสฮาร์ดแวร์เท่านั้น แต่ยังมีกลไกในการตรวจจับความพยายามในการแฮ็กทางกายภาพอีกด้วย หากมีคนเริ่มใช้เครื่องบดมุมเจาะเซิร์ฟเวอร์ของคุณ HSM ที่มีแหล่งจ่ายไฟแยกอิสระจะรีเซ็ตคีย์ที่เก็บไว้ในหน่วยความจำ ผู้โจมตีจะได้รับเนื้อสับที่เข้ารหัส ในกรณีนี้ การรีบูตอาจเกิดขึ้นโดยอัตโนมัติ
การถอดกุญแจออกเป็นวิธีที่รวดเร็วและมีมนุษยธรรมมากกว่าการเปิดใช้งานระเบิดเทอร์ไมต์หรือตัวป้องกันแม่เหล็กไฟฟ้า สำหรับอุปกรณ์ดังกล่าว คุณจะถูกเพื่อนบ้านของคุณทุบตีที่ชั้นวางในศูนย์ข้อมูลเป็นเวลานานมาก นอกจากนี้ในกรณีการใช้งาน
ในเวลาเดียวกันเราต้องไม่ลืมว่าพอร์ตที่ไม่จำเป็นทั้งหมดจะต้องถูกปิดการใช้งานทางกายภาพหรือเพียงแค่เติมสารประกอบลงไป มิฉะนั้น คุณจะให้โอกาสผู้โจมตีดำเนินการ
ในเวอร์ชันที่ซับซ้อนมาก ผู้โจมตีจะสามารถโจมตีด้วยการบูตแบบเย็นได้ ในเวลาเดียวกัน เพียงเทไนโตรเจนเหลวในปริมาณที่เหมาะสมลงในเซิร์ฟเวอร์ของคุณ ดึงเมมโมรี่สติ๊กที่แช่แข็งออกคร่าวๆ และนำคีย์ทั้งหมดออกไปด้วย บ่อยครั้งที่สเปรย์ทำความเย็นปกติและอุณหภูมิประมาณ -50 องศาก็เพียงพอที่จะทำการโจมตีได้ นอกจากนี้ยังมีตัวเลือกที่แม่นยำยิ่งขึ้น หากคุณไม่ได้ปิดการโหลดจากอุปกรณ์ภายนอก อัลกอริธึมของผู้โจมตีจะง่ายกว่า:
- แช่แข็งเมมโมรี่สติ๊กโดยไม่ต้องเปิดเคส
- เชื่อมต่อแฟลชไดรฟ์ USB ที่สามารถบู๊ตได้ของคุณ
- ใช้ยูทิลิตี้พิเศษเพื่อลบข้อมูลออกจาก RAM ที่รอดจากการรีบูตเนื่องจากการค้าง
หารและพิชิต
โอเค เรามีแค่เครื่องเสมือน แต่ฉันต้องการลดความเสี่ยงของการรั่วไหลของข้อมูล
โดยหลักการแล้ว คุณสามารถลองแก้ไขสถาปัตยกรรมและกระจายพื้นที่จัดเก็บข้อมูลและการประมวลผลข้ามเขตอำนาจศาลต่างๆ ได้ ตัวอย่างเช่น ส่วนหน้าที่มีคีย์เข้ารหัสนั้นมาจากโฮสต์ในสาธารณรัฐเช็ก และส่วนแบ็คเอนด์ที่มีข้อมูลที่เข้ารหัสนั้นอยู่ที่ไหนสักแห่งในรัสเซีย ในกรณีที่มีการพยายามยึดมาตรฐาน ไม่น่าเป็นไปได้อย่างยิ่งที่หน่วยงานบังคับใช้กฎหมายจะสามารถดำเนินการนี้พร้อมกันในเขตอำนาจศาลที่แตกต่างกันได้ นอกจากนี้ สิ่งนี้ยังช่วยประกันเราบางส่วนจากสถานการณ์การถ่ายภาพสแนปช็อตอีกด้วย
หรือคุณสามารถพิจารณาตัวเลือกที่บริสุทธิ์อย่างสมบูรณ์ - การเข้ารหัสจากต้นทางถึงปลายทาง แน่นอนว่าสิ่งนี้อยู่นอกเหนือขอบเขตของข้อกำหนดและไม่ได้หมายความถึงการคำนวณที่ด้านข้างของเครื่องระยะไกล อย่างไรก็ตาม นี่เป็นตัวเลือกที่ยอมรับได้อย่างสมบูรณ์แบบเมื่อพูดถึงการจัดเก็บและซิงโครไนซ์ข้อมูล ตัวอย่างเช่น สิ่งนี้ถูกนำไปใช้อย่างสะดวกมากใน Nextcloud ในเวลาเดียวกัน การซิงโครไนซ์ การกำหนดเวอร์ชัน และคุณสมบัติอื่นๆ ฝั่งเซิร์ฟเวอร์จะไม่หายไป
เบ็ดเสร็จ
ไม่มีระบบที่ปลอดภัยสมบูรณ์แบบ เป้าหมายคือเพียงทำให้การโจมตีมีค่ามากกว่าผลกำไรที่อาจเกิดขึ้น
การลดความเสี่ยงในการเข้าถึงข้อมูลบนไซต์เสมือนสามารถทำได้โดยการรวมการเข้ารหัสและพื้นที่เก็บข้อมูลแยกต่างหากกับโฮสต์ที่แตกต่างกัน
ตัวเลือกที่น่าเชื่อถือไม่มากก็น้อยคือการใช้เซิร์ฟเวอร์ฮาร์ดแวร์ของคุณเอง
แต่ผู้โฮสต์จะยังคงต้องได้รับความไว้วางใจไม่ทางใดก็ทางหนึ่ง อุตสาหกรรมทั้งหมดขึ้นอยู่กับสิ่งนี้
ที่มา: will.com