- จากการแกะและวิเคราะห์เฟิร์มแวร์ของเครื่องรับชำระเงิน Worldline Yomani XR ที่ใช้ในสวิตเซอร์แลนด์ พบว่าสามารถเข้า root shell ได้เพียงพิมพ์
rootที่ serial console ซึ่งเข้าถึงได้ผ่านฝาหลังเครื่อง - เครื่องมี การป้องกันการแกะ (tamper protection) ที่ตรวจจับการเปิด housing, การหลุดสัมผัสของ PCB, การตัด trace แบบซิกแซ็ก และความเสียหายของ flex PCB รอบ card reader แต่การเปิดเผย debug port กลายเป็นเส้นทางโจมตีอีกทางหนึ่ง
- เฟิร์มแวร์ที่ดึงจาก flash บนบอร์ดมี filesystem ที่ไม่ได้เข้ารหัส และทำงานบน Linux kernel 3.6, Buildroot 2010.02, BusyBox, uClibc และ bootloader แบบคัสตอม Booter v1.7
- ฟังก์ชันความปลอดภัยอย่างบัตร, PIN, หน้าจอ และ keypad ดูเหมือนจะอยู่ภายใต้โปรเซสเซอร์แยก
mp1และmp1.imgที่เข้ารหัสและลงลายเซ็นไว้ โดยไม่พบหลักฐานว่าสามารถเข้าถึงโดยตรงจาก Linuxmp2 - ยังไม่ยืนยันว่าเฟิร์มแวร์เวอร์ชันใดมีช่องโหว่ และมีบางเครื่องที่ปิด root login แล้ว แต่ในสภาพแวดล้อมที่ผู้โจมตีสามารถครอบครองเครื่องได้ชั่วคราว ยังเหลือ attack surface ที่ใหญ่เกินความจำเป็น
เป้าหมายการวิเคราะห์: Worldline Yomani XR
- เป้าหมายการวิเคราะห์คือเครื่องรับชำระเงิน Worldline Yomani XR ที่ใช้อย่างแพร่หลายในสวิตเซอร์แลนด์
- หลังบูตแล้วตรวจสอบ UI และสแกนพอร์ตไม่พบผลลัพธ์ที่สะดุดตา จึงนำไปสู่การแกะฮาร์ดแวร์
- ภายในประกอบด้วย PCB หลายแผ่น
- บอร์ดขนาดเล็กสำหรับคอนเนกเตอร์ภายนอก
- บอร์ดหลัก
- บอร์ดแนวตั้งที่ติดตั้งช่องเสียบบัตร
- SoC หลักดูเหมือนจะเป็น custom ASIC แบบ Arm dual-core ที่ปรากฏในเฟิร์มแวร์ด้วย codename “Samoa II”
- ตามเอกสารของ Worldline ชิปนี้เป็น custom ASIC ไม่ใช่ชิปสำเร็จรูปที่นำมา rebrand
- ข้าง SoC มี flash และ RAM ภายนอกขนาดเล็ก
โครงสร้างการป้องกันการแกะฮาร์ดแวร์
- ไม่พบสวิตช์ตรวจจับการเปิด housing แบบทั่วไป แต่ใช้ board-to-board interconnect เองเป็นวิธีตรวจจับการเปิดแทน
- ระหว่างบอร์ดมี Zebra strip ที่ไวต่อแรงกด จึงต้องขันสกรูยึดบอร์ดให้แน่นเพื่อรักษาการสัมผัสไว้
- แค่คลายสกรูบางตัวก็อาจทำให้การสัมผัสขาดและเกิดเหตุการณ์ tamper ได้
- มีการใช้ coin cell battery เพราะต้องตรวจจับได้แม้ตอนถอดไฟออก
- พื้นที่ PCB ที่เปราะบางถูกคลุมด้วย tamper-detection trace รูปซิกแซ็ก
- หากการบุกรุกทางกายภาพทำให้ copper trace ขาดเพียงเส้นเดียว ก็อาจเกิดการตรวจจับ tamper ได้
- ช่องเสียบบัตรอยู่ใน housing ภายในแยกต่างหาก และ flex PCB ที่ล้อมรอบทำหน้าที่เป็นการป้องกัน tamper
- หลังประกอบกลับ เครื่องแสดงเพียงหน้าจอสีแดงขนาดใหญ่พร้อมข้อความ “TAMPER DETECTED” และในโหมดนี้ดูเหมือนจะไม่ตอบสนองต่อ input ภายนอก
การดึงข้อมูล flash และกู้คืน filesystem
- เมื่อการสำรวจขณะรันไทม์ถูกปิดกั้น จึงถอด flash chip บนบอร์ดออกมาแล้วต่อสายเพื่อ dump เนื้อหา
- เนื้อหาที่ dump ได้กลับไม่ได้ถูกเข้ารหัสทั้งก้อนอย่างที่คาด
- flash ใช้รูปแบบ ECC ที่ไม่ทั่วไป
- ไม่ใช่โครงสร้างมาตรฐานแบบ payload 2048 byte + ECC/spare 64 byte
- เป็นโครงสร้างที่มี data chunk ขนาด 694 byte จำนวน 3 ก้อน และมี ECC 10 byte ต่อท้ายแต่ละ chunk
- 16 byte สุดท้ายของ spare area ดูเหมือนจะเป็น metadata ของ filesystem YAFFS2
- เนื่องจาก metadata area เล็กกว่า YAFFS2 ทั่วไป จึงต้อง patch filesystem เพื่อให้รองรับโครงสร้าง metadata ที่เล็กกว่า
- หลังจาก implement filesystem reader ที่เข้ากันได้ ก็สามารถดึงเนื้อหา filesystem ออกมาได้สำเร็จ
ระบบฐาน Linux ที่เก่า
- จาก filesystem ที่ดึงออกมา ยืนยันได้ว่าเครื่องนี้รัน Linux
- ระบบมีคอมโพเนนต์ที่เก่า
- Linux kernel 3.6
- Buildroot 2010.02
- build เดือนกุมภาพันธ์ 2023
- bootloader แบบคัสตอม
Booter v1.7 - init script, BusyBox, uClibc
libcrypt0.9.26
- ยังไม่ยืนยันว่าเฟิร์มแวร์ที่ dump ได้นั้นใหม่แค่ไหน แต่ต้องเป็นเฟิร์มแวร์ที่ปล่อยหลังเดือนกุมภาพันธ์ 2023
root shell ที่ไม่ต้องใช้รหัสผ่าน
- เมื่อต่อ flash chip กลับด้วยสาย เครื่องบูตอีกครั้งแม้จะแสดงข้อความ tamper
- เพื่อดู Linux boot log จึงใช้ logic analyzer ตรวจรอบ debug connector และพบกิจกรรมที่ pad หนึ่งของ debug connector ที่ยังไม่ได้ใส่หัวต่อ
- serial console แสดง login prompt พร้อมกับ Linux boot log
- boot log แสดง “Reset reason: Tamper”
- ยังมี log เช่น
dropbear is not present, การตรวจสอบ firmware update และการเริ่ม application monitoring daemon - ตอนท้ายแสดง prompt
samoa login:
- เมื่อพิมพ์
rootเป็น login ก็ปรากฏ shell prompt~ #โดยไม่ต้องใช้รหัสผ่าน - การเข้าถึงนี้ไม่ต้องใช้ exploit chain หรือการ brute-force password cracking
debug port ที่เข้าถึงได้จากภายนอก
- การเข้าถึง root shell ไม่ได้จำกัดเฉพาะกรณีเปิดเครื่องเท่านั้น
- serial port เข้าถึงได้จากภายนอกผ่านฝาเล็ก ๆ ที่ด้านหลังเครื่อง
- สามารถเชื่อมต่อกับ debug connector ได้โดยไม่ต้องเปิดเครื่องและไม่ trigger การป้องกัน tamper
- ประเมินว่า หากครอบครองเครื่องได้ชั่วคราว ก็สามารถเชื่อมต่อ serial port, login, วาง malware แล้วจากไปได้
การแยกบทบาทระหว่าง security processor กับ Linux
- root shell ที่เปิดเผยไม่ได้หมายความว่าจะเข้าถึงข้อมูลบัตรหรือ PIN ได้ทันที
- ระบบ Linux เป็นเพียงส่วนหนึ่งของสถาปัตยกรรมทั้งหมด และไม่พบหลักฐานว่าสามารถเข้าถึง display, keypad หรือ card reader โดยตรงจาก Linux
- การแสดงผลบนหน้าจอก็ดูเหมือนไม่ได้ประมวลผลโดย framebuffer driver โดยตรง แต่เป็นการส่ง string ให้ binary
display_toolแล้ว binary นี้ส่ง inter-processor message ต่อ - ฟังก์ชันด้านความปลอดภัย เช่น บัตร, การป้อน PIN และการแสดงผลหน้าจอ ดูเหมือนจะถูกจัดการโดยโปรเซสเซอร์แยก
mp1 - Linux ที่รันบนโปรเซสเซอร์ตัวที่สอง
mp2รับผิดชอบ networking, update และ business logic
ลำดับการบูตและ image ด้านความปลอดภัย
- ดูเหมือนว่า Linux core จะบูตเสมอไม่ว่าสถานะ tamper จะเป็นอย่างไร
- จากนั้น Linux จะโหลด secure bootloader ชื่อ
loadercodeเข้า memory loadercodeตรวจสอบว่าการป้องกัน tamper ถูก trigger หรือไม่- หากตรวจพบ tamper จะแสดงหน้าจอสีแดง
- หากไม่มีปัญหา จะบูต secure image จริงคือ
mp1.img
mp1.imgอยู่ใน filesystem ของ Linux แต่ดูเหมือนจะถูกเข้ารหัสและลงลายเซ็นโดย entity สองราย- secure image ที่จัดการบัตร, display และ keypad ถูกเข้ารหัสและลงลายเซ็นไว้อย่างเหมาะสม
กำหนดการเปิดเผยและความไม่แน่นอนที่เหลือ
- กำหนดการเปิดเผยถูกบันทึกไว้ดังนี้
- 14 พฤศจิกายน 2024: พบ root shell
- 15 พฤศจิกายน 2024: รายงานไปยังผู้ผลิตและแจ้งว่าจะเปิดเผยหลัง 90 วัน
- 18 พฤศจิกายน 2024: ผู้ผลิตยืนยันว่าได้รับรายงาน
- 1 มิถุนายน 2025: เปิดเผย
- root shell ที่เปิดเผยเป็น attack surface ที่ใหญ่เกินความจำเป็น แต่ไม่พบหลักฐานว่าข้อมูลอ่อนไหวอย่างข้อมูลบัตรสามารถถูกละเมิดผ่านเส้นทางนี้ได้
- ยังไม่ยืนยันว่าเฟิร์มแวร์เวอร์ชันใดมีช่องโหว่
- ระหว่างการวิจัยยังพบเครื่องบางเครื่องที่ปิด root login แล้ว
- ยังไม่ยืนยันว่า debug feature นี้เข้าไปอยู่ใน production firmware ตั้งแต่เมื่อใด หรือผู้ผลิตพบและแก้ไขภายในแล้วหรือไม่
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
สามารถสร้างธุรกรรมบัตรเดบิต/เครดิตปลอมได้ด้วย เครื่องอ่านบัตร USB ราคา 2 ดอลลาร์
สเปกเปิดเผยทั้งหมด และโปรโตคอลก็มีเอกสารอธิบายไว้ เท่าที่จำได้ PDF ยาวราว 5,000 หน้า อ่านแล้วทรมานมาก
แต่ถ้าจะตรวจสอบยืนยันธุรกรรมนั้น ก็ต้องส่งไปยังธนาคารผ่านอินเทอร์เน็ต แล้วหน่วยงานรัฐบาลกลาง/FBI อะไรทำนองนั้นก็อาจมาหาได้
ตัวเครื่องอ่านบัตรเองแทบไม่มีการป้องกันจริง ๆ ส่วนใหญ่เป็นลินุกซ์ตัวเล็ก ๆ ที่ใช้รหัสผ่านห่วย ๆ การป้องกันมาจากสัญญาและกฎระเบียบระหว่างร้านค้ากับธนาคาร
noexecไว้การล็อกอินเป็น root ถูกปิดไว้ ใช้ busybox ที่ตัดฟีเจอร์ออกไปมาก และคีย์จะถูกโหลดจากพื้นที่ปลอดภัยตอนบูต การฉีด master key ทำได้เฉพาะตอนโหลดจากโรงงานเท่านั้น ตัวการบูตเองก็ปลอดภัยอยู่ระดับหนึ่ง และถ้าตรวจพบการงัดแงะก็จะล้างชิป
แน่นอนว่าถ้าเป็นเทอร์มินัล Android ราคาถูกที่ไม่ได้รับการรับรอง EMV นำเข้าจากเอเชีย ก็มีโอกาสสูงที่จะเป็นลินุกซ์มาตรฐานที่มีระบบไฟล์ root แบบอ่าน/เขียนได้ เปิด root login และแม้แต่เปิด sudo ให้ผู้ใช้ที่รันแอปอยู่ด้วย ไม่มีการตรวจจับการงัดแงะ การแคสต์หน้าจอก็ไม่ได้ล็อกไว้ พอร์ตก็เปิดได้ และ busybox ก็อาจแทบจะครบถ้วน
ในฐานะคนที่พัฒนา แอปพลิเคชัน EMV สำหรับการรับบัตรมาหลายปีและตอนนี้ก็ยังทำอยู่บ้าง แม้แต่โหมดพัฒนายังต้องให้เวนเดอร์ออก developer ID ให้ และถูกล็อกไว้ค่อนข้างแน่น
ดังนั้นทฤษฎีสมคบคิดประเภทถือเครื่องอ่านบัตรพกพาเดินไปมาแล้วขโมยเงินจากบัตรไร้สัมผัสก็ผิดเช่นกัน ธุรกรรมแบบนั้นสร้างขึ้นได้จริง แต่ปัญหาคือสิ่งที่จะเกิดขึ้นหลังจากนั้นและการตั้งค่าที่ต้องมีล่วงหน้า
ยังไม่แน่ด้วยซ้ำว่าจะดึงเงินออกมาได้ก่อนถูกจับและถูกบล็อกหรือไม่ ทุกวันนี้หลายคนเปิดแจ้งเตือนธุรกรรมแบบ push ไว้ จึงน่าจะยากขึ้นอีก
ถ้าคีย์นั้นรั่วไหล ใครบางคนก็สามารถปลอมตัวเป็นธุรกรรมที่ถูกต้องได้
ในกรณีเฉพาะนี้ดูเหมือนจะยากหรือเป็นไปไม่ได้ แต่นั่นก็เป็นเหตุผลที่งานวิจัยในสาขานี้มีความหมาย
ผมไม่รู้ว่าควรจะดูอะไร แต่ก็เคยถูกล่อใจให้งัด Stripe M2 reader ที่มีอยู่เครื่องหนึ่งออกมาดูข้างใน
ปัญหาคือจาก reader 36 เครื่องที่ซื้อมา มี 7 เครื่องที่ “ตาย” แล้ว 2 เครื่องเก็บประจุไม่อยู่, 1 เครื่องสแกน NFC ไม่ได้ และ 4 เครื่องขึ้นว่า “tampered” ดูจากภายนอกอัตราสูญเสียก็แย่แล้ว แต่ต้องดูความถี่ในการใช้งานและอายุด้วยถึงจะเห็นภาพรวม
แต่คำตอบนั้นยิ่งแย่กว่าเดิม อุปกรณ์มีอายุ 1–3 ปี และจำนวนวันใช้งานรวมมากสุดเพียง 9 วันเท่านั้น เท่ากับว่าใช้งานรวม 9 วัน แล้ว 7 จาก 36 เครื่องเสียในรูปแบบใดรูปแบบหนึ่ง เวลาเคลื่อนย้ายก็เก็บทั้งหมดในเคสแข็งที่มีโฟมรองและมีช่องแยกเฉพาะสำหรับ reader แต่ละเครื่อง
ดังนั้นผมจึงไม่ได้ชอบ M2 reader มากนัก แต่ก็ยังเป็นตัวเลือกที่ดีที่สุดสำหรับผม
[0] ขอเสริมบริบท บริษัทของเราจัดการชำระเงินในงานเทศกาล เราเดินทางไปสถานที่จัดงานและประมวลผลการชำระเงินแบบพบหน้าด้วย iPad กับ M2 reader ส่วนการชำระเงินส่วนใหญ่เกิดขึ้นบนเว็บ/แอป นั่นจึงเป็นเหตุผลที่ “วันใช้งาน” ตลอด 3 ปีมีน้อยขนาดนี้
และการตรวจจับการงัดแงะก็น่าจะต้องใช้แบตเตอรี่ที่ทำงานได้ปกติด้วย
อาจเป็นโครงสร้างที่เมื่อ ซีลกันงัดแงะ ทำงานแล้วจะเปิด root shell
กล่าวคือ ระบบอาจอยู่ในโหมดปลอดภัยที่มีคีย์เข้ารหัสซึ่งจำเป็นต่อการทำงาน หรืออยู่ในโหมดไม่ปลอดภัยที่เปิด root shell ไว้เพื่อการดีบักและวิเคราะห์ปัญหา โดยระหว่างการสลับโหมดนั้นจะลบ private key สำคัญออกไป
ชักสงสัยแล้วว่าจะหาเทอร์มินัลจริง ๆ สักเครื่องได้ไหม ถ้ามันกำลังถูกเปลี่ยนออกและหายไป การหาของมือสองก็อาจไม่ยากขนาดนั้น
สำหรับคนที่ตื่นเต้นง่าย ขอเสริมว่ามีข้อความว่า “root shell ที่ถูกเปิดเผยดูไม่ใช่ความเสี่ยงใหญ่เท่าที่กังวลกันในตอนแรก เราไม่พบหลักฐานว่าข้อมูลอ่อนไหวอย่างข้อมูลบัตรอาจถูกเจาะได้ด้วยวิธีนี้”
ถึงอย่างนั้นสำหรับ สถาปนิกความปลอดภัย ก็ยังเป็นบทอ่านที่ดี
ในด้านความปลอดภัย การเข้าถึงทางกายภาพ และแม้แต่การเข้าถึง root แม้จะระดับรองลงมา ก็นับว่าเกือบเทียบเท่ากับการแฮ็กสำเร็จแล้ว
ถ้า Linux ที่ถูกเจาะเป็นตัวตัดสินว่าจะโหลดโค้ด “โหมดถูกเจาะ” หรือระบบความปลอดภัย mp1 ก็ดูเป็นเส้นทางที่น่าตรวจสอบ
มีการบอกว่า bootloader เองปลอดภัย แต่ถ้ามันถูกโหลดเข้าไปในสภาพแวดล้อมที่ถูกเจาะ ขึ้นอยู่กับตำแหน่งที่รันจริง ก็อาจไม่ได้มีความหมายมากนัก
อาจมองโปรเซสเซอร์เสริมเป็นเหมือน Secure Enclave ชนิดหนึ่งได้ แต่ข้อเท็จจริงที่ว่า Linux สามารถโหลดและรัน bootloader แยกต่างหากได้นั้นน่ากังวล
loadercodeแล้ว แต่บูตไม่ขึ้นดังนั้นผมจึงเดาว่ามีบุคคลที่สาม อาจเป็น boot ROM คอยตรวจสอบมัน
นอกจากนี้ Linux ดูเหมือนจะโหลด
loadercodeและmp1.imgเสมอโดยไม่ขึ้นกับสถานะการงัดแงะ เส้นทางโค้ดที่แตกต่างกันตามสถานะการงัดแงะน่าจะถูกเลือกอยู่ภายในloadercodeซึ่งได้รับการป้องกันความถูกต้องสมบูรณ์หากต้องการโหมดง่าย ก็ลองดู เครื่องรูดบัตรที่ใช้ Android รุ่นใหม่ ๆ ได้เลย
โดยเฉพาะอย่างยิ่งเพราะต้องกด PIN บนหน้าจอโดยตรง จึงมีโอกาสคุ้มค่ากว่ามาก
เมื่อป้อนข้อมูลอ่อนไหวอย่าง PIN หรือ PAN เอาต์พุตของตัวควบคุมการสัมผัสจะถูกส่งตรงไปยังโปรเซสเซอร์ความปลอดภัย โดยอ้อมผ่านระบบปฏิบัติการตระกูล Android ที่รับผิดชอบ GUI
ดังนั้นแอปพลิเคชันตัวกลางที่เข้าถึงได้ในการโจมตีแบบนี้จึงมองไม่เห็น PIN
บัตรสมัยใหม่ทำ การคำนวณเข้ารหัสลับ จำนวนมากภายในตัวบัตรเพื่อป้องกันการโจมตีแบบนี้
การโจมตีนี้น่าจะใช้ได้เฉพาะกับเครื่องที่ในบรรดาตัวเลือกการชำระเงิน เหลือใช้งานได้แค่เครื่องอ่านบัตรแม่เหล็กเท่านั้น และเครื่องแบบนั้นควรทำให้ไฟเตือนสกิมเมอร์ติดขึ้นตั้งแต่ก่อนจะเห็นพรอมป์ PIN แล้ว
ยอดเยี่ยมมาก ผมชอบคิดหาวิธีเลี่ยงและใช้ประโยชน์จากข้อจำกัดฮาร์ดแวร์แบบ ป้องกันการดัดแปลง ที่ครอบคลุมกว้าง ๆ แบบนี้ แต่เคยคิดว่าพอมันทำงานแล้วก็จบเกม
แต่จริง ๆ ไม่จำเป็นต้องเป็นแบบนั้น ยังมีส่วนที่น่าสนใจให้เข้าไปดูอีกมาก เพียงแต่เป็นเรื่องธรรมดาที่ส่วนความปลอดภัยจะถูกปิดใช้งานอย่างถูกต้อง ไม่อย่างนั้นคงหมดความเชื่อมั่นในตัวผู้ออกแบบไปหมดแล้ว
ดูเหมือนว่ามีเพียงสตริงข้อความเท่านั้นที่ถูกส่งต่อไปยังไบนารีชื่อ
display_toolและไบนารีนั้นเหมือนจะส่งข้อความระหว่างโปรเซสเซอร์ แป้นกดหรือตัวอ่านบัตรก็น่าจะเป็นแบบเดียวกัน ไม่พบหลักฐานว่าอุปกรณ์ต่อพ่วงเหล่านี้เข้าถึงได้โดยตรงจาก Linuxแต่ดูเหมือนว่าโปรเซสเซอร์ที่แยกออกมาต่างหากชื่อ
mp1จะรับผิดชอบงาน “ความปลอดภัย” เช่น การประมวลผลบัตร การป้อน PIN และการแสดงข้อมูลบนหน้าจอ ส่วน Linux “ไม่ปลอดภัย” ที่รันบนโปรเซสเซอร์ตัวที่สองmp2จัดการแค่เครือข่าย การอัปเดต และตรรกะทางธุรกิจถึงอย่างนั้นก็หวังว่าโครงสร้างจะเป็นแค่มองเห็นได้ว่าเกิดการดัดแปลงเท่านั้น ไม่เช่นนั้น หลังได้ root shell ก่อนแล้วก็อาจมีโอกาสขัดขวางไม่ให้เหตุการณ์ดัดแปลง ลบคีย์ความปลอดภัย ได้
พออ่านเรื่อง การตรวจจับการดัดแปลง ทั้งหมดของอุปกรณ์แล้ว ก็สงสัยว่าวิธีที่ง่ายที่สุดในการกระตุ้นโหมดดัดแปลงคืออะไร
สุดท้ายแล้ว ถ้าทำให้อุปกรณ์แบบนี้แค่ไม่กี่เครื่องเป็นแบบนั้นได้ ก็อาจกลายเป็นการโจมตีแบบปฏิเสธการให้บริการที่มีประสิทธิภาพต่อร้านค้าที่การชำระเงินส่วนใหญ่หรือทั้งหมดทำผ่านเครื่องเหล่านี้
การสำรวจอุปกรณ์แบบนี้น่าสนใจดี แต่ไม่เข้าใจว่าทำไมถึงเปิดเครื่องทันทีจนกระตุ้น สถานะดัดแปลง เขาไม่รู้หรือว่าเครื่องอ่านส่วนใหญ่มีระบบแบบนั้นอยู่?
การทดสอบจริงในสถานะดัดแปลงอาจไม่มีความหมายก็ได้ อาจเป็นโครงสร้างที่พอเข้าสถานะดัดแปลงเพื่อการเริ่มต้นระบบแล้วเชลล์จะเปิดขึ้น
ดูแล้วการเปิดเครื่องน่าจะเป็นสิ่งที่ควรลองเป็นอย่างสุดท้าย
ไม่อย่างนั้นก็มืดแปดด้านเกินไป แน่นอนว่าถ้ามองย้อนกลับไป แคะเข้าที่คอนเน็กเตอร์ดีบักแล้วก็อาจจบได้เลย
และผมก็ได้เชลล์จากเครื่องตัวที่สองที่ยังไม่ถูกดัดแปลงด้วย
อุปกรณ์แบบนี้มีอยู่ทั่วไปในยุโรป ส่วนสวิตเซอร์แลนด์ไม่แน่ใจ แต่ในพื้นที่ส่วนใหญ่ของยุโรปที่ผมรู้จัก คนไม่ได้ถือหรือใช้บัตรเครดิตกันจริงจังมากนัก
ผมจะเรียกมันว่า POS หรือระบบ ณ จุดขาย อุปกรณ์แบบนี้อ่านบัตรได้สารพัดชนิด อย่างไรก็เป็นบทความที่ดี
ผมก็ไม่เห็นเสน่ห์ของการยัดสิ่งต่าง ๆ เข้าไปในโทรศัพท์หรือสมาร์ตวอตช์มากขึ้นด้วย ผมชอบนาฬิกากลไกมากกว่า และถ้าทำโทรศัพท์หาย แค่ในแง่ความเป็นส่วนตัวก็เป็นหายนะมากพออยู่แล้ว แน่นอนว่านี่เป็นกรณีของผม