Орчин үеийн автомашинд 100 гаруй бие даасан “mini-computer” буюу Электрон хяналтын нэгж (ECU) байдгийг та мэдэх үү? Хөдөлгүүрийг удирдах, тоормосыг ажиллуулах, аюулгүйн дэрийг дэлгэх, цонхыг онгойлгох гэх мэт бүгд өөрийн гэсэн ECU-тай байдаг. Эдгээр олон ECU буюу “тархи” хоорондоо хэрхэн холбогддог вэ? Эдгээр ECU-г хакердаж болох уу? Жишээ нь: ECU-г хакердаж автомашины аль нэг системийг (тоормос, хөдөлгүүр гэх мэт) ажиллагаагүй болгож болох уу? гэдэг талаар мэдэж авцгаая.
Энэ нийтлэлээр бид CAN-ийн үндсэн ажиллагаа, яагаад энэ нь автомашины технологийн “чимээгүй баатар” болох, түүний аюулгүй байдлын сул тал, мөн таны ирээдүйн технологийн төслүүдэд хэрхэн ашиглагдаж болохыг судлах болно.
CAN гэж яг юу вэ?
CAN бол “Controller Area Network” гэсэн үгийн товчлол. Энгийнээр хэлбэл, энэ нь төв компьютер шаардахгүйгээр олон тооны microcontroller (ECU)-г хоорондоо холбодог, “bus” төрлийн сүлжээ юм.
CAN (Controller Area Network) гарахаас өмнө автомашины доторх цахилгааны утас хэдэн километр урт, асар хүнд, засварлахад бэрх, яг л “шпагетти” шиг байсан. Хянах товчлуур бүрээс мотор руу тусдаа утас очих шаардлагатай байв.


Энэ асуудлыг шийдэхийн тулд 1980-аад оны дундуур Bosch компани CAN хэмээх энгийн, бат бөх, найдвартай, хоёрхон утастай системийг бүтээж, автомашины үйлдвэрлэлд жинхэнэ хувьсгал хийсэн юм.
Үндсэн бүрэлдэхүүн хэсгүүд:
- ECU (Electronic Control Unit): Электрон хяналтын нэгж. Энэ нь тодорхой нэг үйлдлийг хариуцсан “mini-computer” юм. (Жишээ нь: Хөдөлгүүрийн удирдлага, ABS тоормосны систем, агааржуулагч, хөгжим тоглуулагч).
- The Bus (Түгээгүүр): Хоёр мушгирсан утас (Twisted Pair). Энэ хоёр утсыг CAN-High (CAN-H) CAN-Low (CAN-L) гэж нэрлэдэг бөгөөд бүх ECU-г хооронд нь холбодог “мэдээллийн гол зам” юм.

Энэхүү хоёр утастай differential signaling (ялгаварт дохиолол)-ын гол ид шид нь цахилгаан соронзон “шуугиан”-д (noise) маш тэсвэртэй байдагт оршино. Автомашины хөдөлгүүр, асаалтын систем зэрэг нь асар их цахилгаан шуугиан үүсгэдэг ч CAN сүлжээний мэдээлэл алдагдалгүй дамждаг.
CAN хэрхэн ажилладаг вэ?
CAN сүлжээний ажиллагааг ойлгохын тулд “Уламжлалт утас” болон “CAN Bus” хоёрыг харьцуулъя.
- Уламжлалт (Point-to-Point): Таны машины жолооч талын цонхны товчлуур дээр 4 товчлуур байна гэж бодъё. Энэ нь зорчигчийн 3 цонх болон өөрийн цонхыг удирдах ёстой. Хуучин системд товчлуур бүрээс тусдаа мотор руу утас очих шаардлагатай болно.
- CAN (Broadcast): CAN сүлжээнд бүх ECU (жолоочийн хаалганы модуль, зорчигчийн хаалганы модулиуд) нэг “уулзалтын өрөө”-нд (bus network) хамт сууна.
Хурлын өрөөний зарчим
CAN bus-ыг нэг том дугуй ширээтэй хурлын өрөө гэж төсөөлцгөөе. ECU-г тэр өрөөнд сууж буй хүмүүс (хэлтсийн дарга нар) гэж бодъё.
- Хаяг байхгүй (No Destination Address): Энэ өрөөнд хэн ч хэн нэгнийг нэрээр нь дууддаггүй. “Батаа, энэ чамд!” гэж хэлдэггүй.
- Message-Based (Зурваст суурилсан): Үүний оронд, хүмүүс өөрийн мэдээллийг зүгээр л “зарладаг”. Жишээ нь, жолоочийн хаалганы модуль (ECU) “ЦОНХЫГ ХААХ КОМАНД, ID: 123” гэж өрөөнд ярина.
- Broadcast (Нэвтрүүлэг): Энэ мэдээллийг өрөөнд байгаа бүх хүн (бүх ECU) сонсоно.
- Filtering (Шүүлтүүр): Гэхдээ зөвхөн энэ мэдээллийг сонирхож буй, эсвэл энэ мэдээлэлд хариу үйлдэл үзүүлэх ёстой гэж программчлагдсан ECU-г л (жишээ нь, баруун урд зорчигчийн хаалганы модуль) тэр мэдээллийг “хүлээн авч” боловсруулна. Бусад нь (жишээ нь, хөдөлгүүрийн ECU) “Энэ надад хамаагүй” гээд үл тооно.
Энэ зарчим нь маш цөөн утас ашиглан асар олон мэдээллийг үр дүнтэй солилцох боломжийг олгодог.
Давуу талууд:
- Найдвартай байдал (Reliability): Маш хүчтэй шуугиантай орчинд (хөдөлгүүрийн ойролцоо) ч алдаагүй ажилладаг.
- Зардал ба Жин (Cost & Weight): Олон километр зэс утсыг хэмнэдэг. Энэ нь машиныг хөнгөн, хямд, шатахуун зарцуулалт багатай болгоход шууд нөлөөлнө.
- Уян хатан байдал (Flexible): Сүлжээнд шинэ ECU (жишээ нь, нэмэлт гэрэл, мэдрэгч) нэмэхэд маш хялбар. Зүгээр л CAN-H, CAN-L хоёр утсанд нь холбоход л хангалттай.
- Оношилгоо (Diagnostics): Бүх систем нэг сүлжээнд байдаг тул таны машины OBD-II (On-Board Diagnostics) портоор дамжуулан засварчид компьютероо залгаад, бүх ECU-тай “ярилцаж”, алдааны кодыг уншиж чаддаг.
Сул талууд:
- Хурд (Speed): Орчин үеийн хэрэгцээнд харьцангуй удаан. Ихэнх автомашины CAN сүлжээ 500 kbit/s эсвэл 1 Mbit/s хурдтай байдаг. Энэ нь мэдрэгчийн мэдээлэл, команд дамжуулахад хангалттай ч, камерын өндөр нягтралтай бичлэг дамжуулахад хаана ч хүрэлцэхгүй.
- Аюулгүй байдал (Security): Энэ бол CAN-ийн хамгийн том сул тал. 1980-аад онд үүнийг зохион бүтээхдээ “аюулгүй байдал”, “нууцлал”-ыг огт тооцоолоогүй.
Аюулгүй байдлын сул тал
Дээрх “хурлын өрөө”-ний жишээ рүүгээ буцаж очъё. CAN сүлжээ бол “итгэмтгий” (trusting) сүлжээ юм.
- Authentication (Баталгаажуулалт) байхгүй: Хурлын өрөөнд хэн нэгэн “Би бол Тоормосны систем (ECU) байна” гээд ярихад, бусад бүх ECU түүнд итгэдэг. Түүнийг үнэхээр тоормосны систем мөн эсэхийг шалгах “identification” буюу нууц үг байдаггүй.
- Encryption (Шифрлэлт) байхгүй: Өрөөнд яригдаж буй бүх яриа “ил” (plain text) явагддаг. Хэн нэгэн гаднаас “чагнаж” (sniffing) байвал бүх мэдээллийг шууд ойлгоно.
- Physical Access (Физик хандалт): OBD-II порт бол тэр “хурлын өрөө”-ний шууд хаалга юм. Хэн нэгэн тэр портоор төхөөрөмжөө залгахад л дотоод сүлжээнд бүрэн эрхтэй оролцогч болж хувирна.
Бодит амьдрал дээрх жишээ “2015 оны Jeep hack”
Энэ бол CAN сүлжээний эмзэг байдлыг дэлхий нийтэд нотолсон түүхэн үйл явдал юм.
- Үйл явдал: Аюулгүй байдлын судлаачид болох Charlie Miller болон Chris Valasek хурдны зам дээр явж байсан 2014 оны Jeep Cherokee машиныг интернэтээр дамжуулан алсаас удирдаж, хакердсан.
- Хэрхэн хакердсан бэ? Тэд OBD-II порт ашиглаагүй. Харин машины Uconnect гэх “infotainment” системийн (хөгжим, GPS, интернэт холболттой) программ хангамжийн сул талыг ашиглан, гар утасны сүлжээгээр (cellular network) дамжуулан машиныг хакердсан.
- CAN рүү нэвтэрсэн нь (The Pivot): Тэд хөгжим тоглуулагчийн системээр дамжин машины дотоод удирдлагын CAN сүлжээ рүү нэвтэрч, хуурамч зурвас (fake messages) илгээж эхэлсэн.
- Үр дүн: Эхлээд тэд машины агааржуулагч, хөгжмийн дуу, шил арчигчийг удирдсан. Эцэст нь тэд машины хурдны хайрцгийг салгаж, тоормосыг нь идэвхгүй болгож, жолооны хүрдийг удирдаж чадсан.
- Үр дагавар (The Impact): Энэ үйл явдал нь “ухаалаг” буюу интернэтэд холбогдсон тээврийн хэрэгсэл ямар ноцтой аюултай болохыг бодитоор харуулсан юм. Энэ үйл явдлын дараа Fiat Chrysler компани нийт 1.4 сая гаруй (Jeep, Dodge, Ram, Chrysler брэндийн) машиныг эргүүлэн татаж, аюулгүй байдлын нөхөөс буюу security patch хийсэн.
Орчин үеийн шийдэл: Automotive “Firewall“
Энэ явдлаас хойш автомашин үйлдвэрлэгчид Gateway ECU-г өргөнөөр ашиглах болсон. Энэ нь “Firewall” шиг ажилладаг:
- Энгийн сүлжээ (Жишээ нь: хөгжим, Bluetooth, Wi-Fi)
- Амин чухал сүлжээ (Жишээ нь: хөдөлгүүр, тоормос, жолоодлого) зэргээр ялгаж хооронд нь тусгаарладаг.
Gateway нь “Хөгжим тоглуулагч тоормостой холбогдохыг хориглоно” гэсэн дүрэмтэй ажилладаг. Гэсэн хэдий ч аюулгүй байдлын эрсдэл одоо ч байсаар байна.
CAN-ийн хэрэглээ
CAN сүлжээг анх автомашинд зориулан Bosch компани бүтээсэн ч, түүний бат бөх, найдвартай байдал нь бусад олон салбарын итгэлийг хүлээсэн юм. Ялангуяа цахилгаан соронзон “шуугиан” ихтэй, өндөр найдвартай ажиллагаа шаардагддаг газруудад өргөн ашиглагддаг.
- Агаарын тээвэр ба Сансар (Aerospace and Aviation): Онгоцны нислэгийн хэрэгслүүд (avionics), буух төхөөрөмжийн мэдрэгч, хяналтын системүүдэд ашиглагддаг. Энэ салбарт утасны жинг бууруулах нь асар чухал ач холбогдолтой.
- Анагаах ухааны төхөөрөмж (Medical Devices): Найдвартай ажиллагаа нь амин чухал байдаг тул CT болон X-ray сканерууд, ухаалаг эмнэлгийн ор, лабораторийн автоматжуулалтын системүүд нь дотоод эд ангиудынхаа харилцаа холбоог CAN-аар зохицуулдаг.
- Үйлдвэрийн автоматжуулалт (Industrial Automation): Үйлдвэрийн угсрах шугам, робот гар, сав баглаа боодлын машинууд нь CANopen эсвэл DeviceNet (CAN дээр суурилсан протоколууд) ашиглан олон зуун мэдрэгч, мотор, удирдлагын төхөөрөмжүүдийг хооронд нь холбодог.
- Далайн тээвэр (Maritime): Усан онгоц, завины удирдлагын гүүрэн дээрх системүүд NMEA 2000 хэмээх CAN дээр суурилсан нийтлэг стандартыг ашигладаг. Энэ нь GPS, радар, хөдөлгүүрийн мэдээлэл, гүн хэмжигч (sonar) зэргийг нэг сүлжээнд холбодог.
- Робот техник (Robotics): Үйлдвэрийн роботуудаас гадна, Агуулахын өөрөө явагч тээвэрлэгч (AGV) болон судалгааны роботууд нь олон тооны мотор, мэдрэгчийг удирдахдаа CAN сүлжээг ашигладаг.
Дүгнэлт
CAN Network бол бидний өдөр тутам унадаг автомашины технологийн “чимээгүй баатар” юм. Энэхүү энгийн мэт хоёрхон утастай систем нь бидний машинуудыг илүү ухаалаг, аюулгүй, хөнгөн, хямд болгож чадсан.
Хэдийгээр түүний хурд хязгаарлагдмал, аюулгүй байдлын хувьд эмзэг талуудтай ч, түүнийг орлуулсан CAN-FD (Flexible Data-rate) шинэ хувилбар, мөн автомашин доторх Ethernet-ийн хэрэглээ нэмэгдэж байна. Гэсэн хэдий ч CAN-ийн бат бөх, найдвартай ажиллагаа нь ойрын арван жилд ч ашиглагдсаар байхын баталгаа юм.
Ирээдүйн инженер, технологийн мэргэжилтнүүд болох та бүхний хувьд эдгээр “далд” ажилладаг сүлжээг ойлгох нь зөвхөн автомашин гэлтгүй IoT (Internet of Things), робот техник, үйлдвэрийн автоматжуулалт зэрэг ямар ч салбарт амжилттай ажиллах суурь ур чадварын нэг байх болно.
CAN-ын Туршилт
Та ч гэсэн CAN сүлжээтэй “ярилцаж” болно. 1996 оноос хойш үйлдвэрлэгдсэн бараг бүх машинд жолооны хүрдний доор OBD-II порт байдаг. Энэ бол CAN bus руу орох таны “хаалга” юм.
Юу хийж болох вэ?
- CAN Sniffer (Чагнагч): Microcontroller (жишээ нь, SEEED Studio эсвэл Arduino) ашиглан машины сүлжээг “чагнаж” болно. Таныг тоормос дарах, хаалга онгойлгох, хурд авах үед ямар зурвас (message) явж буйг уншиж, тайлж болно.
- Дижитал хянах самбар (Dashboard) бүтээх: Машинаас ирсэн хурд, хөдөлгүүрийн эргэлтийн мэдээллийг уншиж, өөрийн хийсэн дэлгэцэн дээр харуулах.
Хэрэг болох зүйлс:
- Microcontroller (XIAO seeed studio, ESP, Arduino, Raspberry Pi)
- CAN Transceiver Module: (Жишээ нь: MCP2515 эсвэл TJA1050 модуль). Microcontroller нь 5V логикоор ажилладаг бол CAN bus нь өөр хүчдэлээр ажилладаг. Энэ модуль нь хооронд нь “орчуулагч” болж өгдөг.
- OBD-II холбогч.
Бодит машин дээр ажиллахдаа маш болгоомжтой байх ёстой. Зөвхөн “чагнах” (read-only) үйлдлээс эхлээрэй. Хэрэв та CAN сүлжээ рүү буруу, хуурамч зурвас илгээвэл (write/send) таны машины ажиллагааг ноцтой доголдуулж, осол аваарт хүргэх эрсдэлтэй!