こんにちは、セキュリティオペレーション部の元田です。
2024年1月26日に、自動車技術会の主催で「実践!CANプロトコル解析」が開催され、講師として登壇しました。本稿では、その内容や会場の様子を紹介したいと思います。
大学時代に趣味でCANプロトコルを触っていた繋がりから、現業との直接の関連はないのですが、現在自動車セキュリティに関する外部団体に委員として参加しています。今回はその活動の一環で、シミュレータやテストベッドを使ったCANプロトコル解析のハンズオンイベントを企画し、開催しました。
車の中にはECU(Electronic Control Unit)と呼ばれる制御用のコンピュータが多数搭載されており、それらがネットワークで繋がっています。そのネットワークで最も使用されるプロトコルがCAN(Controller Area Network)です。CANはなりすまし、盗聴、DoS攻撃に弱い、というリスクがあるため、そのセキュリティ上の脅威を学べる内容にしました。
イベントのポスター
自動車技術会 サイバーセキュリティ講座企画委員会WGについて
本イベントは、公益社団法人自動車技術会のサイバーセキュリティ講座企画委員会のWG(Working Group)によって企画されました。本WGは、名古屋大学の倉地 亮先生を委員長として、元田を含む計5名のメンバーで活動しています。2023年に発足したばかりのWGで、今回の長崎でのイベントが初めての試みとなりました。
倉地先生は、私の大学院時代にいた研究室の先生で、CANプロトコルに関する演習を教育の一環で取り組んだ縁もあり、本WGの立ち上げの際にお声をかけて下さりました。
講座内容
自動車セキュリティ概要と倫理
名古屋大学の倉地先生から、自動車セキュリティの概要と攻撃事例の映像が紹介されました。倫理については、自動車特有の安全性や社会、産業への影響を踏まえ、その重要性に関する講義がありました。
CANプロトコル基礎
同WGメンバーの家平さんから、CANプロトコルの解説がありました。CANのフレームフォーマットや送信権の調停、CAN通信を保護する仕組みなど、今回の演習で必要な内容から発展的な内容まで幅広く紹介されました。
シミュレータを用いた演習
元田から、Linuxカーネル上でCANプロトコルを扱うためのSocketCANに慣れてもらうことを目的とし、ICSim(Instrument Cluster Simulator for SocketCAN)を用いた演習を行いました。SocketCANの中からcandump、cansniffer、cansend、cangen、およびcanplayerコマンドを手で動かしながら使い方を学んで貰いました。
グループ演習
午前の座学とシミュレータの演習を踏まえ、午後から実機へのリプレイ攻撃や妨害を想定した演習を行いました。今回実機として自動車向けのセキュリティテストベッドであるPASTAとPASTA for Educationを使用し、実車がなくても実際に近いCANバスへの攻撃を体験してもらいました。
会場の様子
長崎にある出島メッセ長崎の会議室をお借りし、9名の受講者(学生)に対してハンズオンイベントを行いました。受講者の中には、長崎県在住の方や同時期に同会場で開催されていたSCIS2024の発表者が参加されていました
午前午後ともに、受講者全員が周りの受講者と相談しつつ熱心に取り組んでいました。
PASTA for Education上で車を妨害している様子(画像は本イベントに参加してくれた元田の後輩の様子です。彼もSCIS2024にて研究発表を終えた後、本イベントに参加してくれました。)
今回使用したPASTA
これらの機材は、個人ではなかなか用意できないお値段となっているため、学生の皆様に貴重な機会を与えられたのではないかと思っております。
昼食に佐世保バーガーを頂きながら受講者と懇親しました。セキュリティに興味を持つ子が多い印象を受けました。
おわりに
後日行われた本イベントの受講者アンケートから、多くの受講者から高い評価を頂けました。今後も自動車セキュリティに関心を持ってもらうよう様々なイベントを企画していくつもりなので、興味のある方は次回是非ご参加下さい。
NTTセキュリティ・ジャパンでは、現職とは直結しない活動であっても、事前に申請して何らかの形で会社の利益に資するとの判断を得ることができれば、業務として取り組むことが許可されます。今回のイベントを含めたWGの活動も、自動車セキュリティに関連するということもあり、許可を得た上で業務として実施しています。入社前に築いた知見や人脈を活かした活動に、入社後に業務として参画できる環境はなかなか得難いものだと考えており、今後もWGの活動を通じて自動車セキュリティに貢献していきたいと考えています。