コンパイラのスイッチ俳り紋えひとつでセキュリティを膿晒坤櫂ぅ鵐身^および蛍瓷タ`ゲット紛艶のg
粥姻馨エコシステムにとって、ポインタ範^┗粉^筍と蛍瓷タ`ゲット紛艶┻意鴛が駅倬のセキュリティ室宝である嘘尚と尖喇について盾hします。
广Nicolas DevillardArm ア`キテクチャ&テクノロジ`グル`プ セキュリティア`キテクト
暴たちの晩械伏試のあらゆる魁中では、テクノロジ`がますます償邑しています。デ`タポイントとコネクティビティの寄により、デジタルソリュ`ションは繁?の頂らしを匯笋気擦討い襪發里痢△海譴藩扮に鹸j晒も序んでいます。こうしたソリュ`ションのセキュリティを砿尖することは、粥姻馨のコンピュ`ティング?ア`キテクトにとっての單枠並遒任△蝓匍順畠悶の徊米にも郡啌されています。によると、テクノロジ`の吭房畳協宀の75%は、セキュリティをビジネスの單枠並遒反爾┐討い泙后
淫凄議なセキュリティ藺
シリコンパ`トナ`、ソフトウェアパ`トナ`との亅薦を宥じて、粥姻馨は嶬據▲札ュリティのベストプラクティスとテクノロジ`を序晒させるべく、淫凄議な藺圓鉾,袗蕕鵑任い泙后ソフトウェアのセキュリティにvしては、恷除のア`キテクチャ?リリ`スを宥じ、メモリv銭のさまざまなセキュリティの巌樋來に函り怏んできました。2019定には、粥姻馨厩8.5凋綜セットの匯桟として、メモリタギング嫖字嬬┣儖娵。を擬秘しました。このほか、參和の室宝も擬秘しました。
- 粥姻馨厩8.3-粥坤櫂ぅ鵐身^┗粉^筍
- 粥姻馨厩8.5-粥嵯已タ`ゲット紛艶┻意鴛
- 粥姻馨厩8.1-珂艮粉^箋意鴛の由栽サポ`ト
貧芝の室宝はいずれも、ソフトウェアの佚m來膿晒を廷遊に譜柴されており、侮震なセキュリティバグ畠悶の狛磯方を媼める、メモリの芦畠來離郡やメモリ篤鱒といった、蒙協のクラスのセキュリティ巌樋來のX受に篠嚥します。
Renesasの仟侏マイクロコントロ`ラ`がPACBTIを駻
檎艶稼艶壊温壊は2023定10埖31晩、粥姻馨雰貧恷互のパフォ`マンスとセキュリティを推る遺看姻岳艶恰-珂プロセッサ`のCortex-M85を兜めて駻辰靴燭魄k燕しました。この檎粥8シリ`ズはArm Heliumテクノロジ`を駻辰垢襪海箸如禽皆永と珂晦のパフォ`マンスを膿晒しており、イノベ`ション峺鬚旅望はセキュリティを徂にすることなく、粥鴛の字氏に函り怏むことが辛嬬です。
RenesasのIoTプラットフォ`ム並I何バイスプレジデントであるDaryl Khoo箆は、肝のように峰べています。仝Arm Cortex-M85とHeliumテクノロジ`をRA8シリ`ズにg廾したことで、AIg廾などの互塞ユ`スケ`スに勣箔されるパフォ`マンスの鯢呂鰡_撹できたことを耙しく房います。これに紗えて、PACBTIと恷仟のRSIP-E51Ay栽侏セキュリティ?エンジンは、PSA Certifiedのレベル3 RoTコンポ`ネントJ^を覿┐靴討り、ロ`タッチの個ざん契峭C嬬を蝕k宀に戻工することで、さまざまなI順のu瞳の駅コンポ`ネントとなっている、}jなアプリケ`ションのセキュリティを隠oできます々
Armア`キテクチャとRenesasのセキュリティ鴛永によるパフォ`マンスとセキュリティの晒C嬬の方?に紗えて、書指のRA8シリ`ズは、PACBTIのセキュリティC嬬を駻辰靴拭兜の偏Cortex-Mベ`ス?シリコンとなっています。
PACとBTIの袁
云後でに函り貧げるメリットとして、PACとBTIを聞喘すれば、ソフトウェア児Pのコ`ドに匯俳乾れることなく、セキュリティ?エクスプロイトをXpできるため、アプリケ`ションのセキュリティを契囮するソフトウェア蝕k宀にとってはF嶷なツ`ルとなります。PACとBTIの2つの室gは、エコシステム畠悶のセキュリティにとっても音辛之な贋壓であり、光Nセンサ`、スマ`トフォン、ス`パ`コンピュ`タなど、テクノロジ`偏のあらゆる勣殆をW_するArm IPで嫌レく旋喘辛嬬です。
及匯に、メモリ篤鱒にv銭する慌宥のリスクとは
g佩プログラムのポインタが篤鱒すると、ル`トの筝により、ガジェットなど、麿のソフトウェアがg佩されることがあります。ガジェットとはソフトウェアの匯嶽であり、そのg佩字嬬は、デバイスやシステムに鱒墾を紗えようとする好蔦澆猟紳杣を朔兀しします。醤悶議な字嬬としては、販吭のファイルやメモリの魁侭のiみ函り、ソケットのオ`プン、艶のプロセスのスポ`ン、蒙悗N鯉が深えられます。好蔦澆呂海譴蕕了嬬を怏み栽わせることで、屡贋のソフトウェアを壅旋喘して吭のある好弔g佩できます。ガジェットは、ありとあらゆるプログラムやライブラリに需鞭けられます。そして、より互業なリモ`ト好弔鬟泪轡鵑撲个錣擦誚磴かりとして聞喘されるのが匯違議です。
リタ`ン峺鬟廛蹈哀薀潺鵐阿肇献礇鵐忖枯鬟廛蹈哀薀潺鵐亜△修靴謄ジェットとのv銭來
リタ`ン峺鬟廛蹈哀薀潺鵐娃┯薜娠複とジャンプ峺鬟廛蹈哀薀潺鵐娃┫外娠複は、メモリ篤鱒を旋喘し、プログラムのg佩を聞喘辛嬬なガジェットにリダイレクトする2つの好鎚峽┐任后8薜娠聞弔任蓮▲愁侫肇ΕД?スタックをスキャンすることで、仟たなプログラムの更撹で銭潤辛嬬なガジェットを冥します。匯圭、干或永好弔蓮∫v方ポインタや界温壊艶猟のような、麿の侘塀の寂俊┰~蛍瓷で嶮わるシ`ケンスを炎議としており、好蔦澆呂海譴\っ函ることで、ガジェットを銭潤させることが辛嬬です。
PACの蒙罿塙弔する契囮のメカニズム
永粥遺とは、聞喘念のアドレスへの筝がないことを編^し、檎或永を怦峭するための契囮メカニズムです。遺看姻岳艶恰-粥では64ビット、遺看姻岳艶恰-珂では32ビットのポインタのりアドレスの恷貧了ビット貧了ビットに範^コ`ドを携襪垢襪燭瓠粥姻馨の凋綜セットア`キテクチャ┗皆粥には仟たな凋綜が弖紗されています。そして、v方からるためのアドレスを聞喘する念に、範^コ`ドをチェックします。その潤惚、好蔦澆枠^コ`ドやアドレスを筝することも、りアドレスをスタック坪の艶のりアドレスに崔き算えることも音辛嬬になります。というのも、販吭のコ`ドg佩へとつながることはなく、プログラムを唯峭させる箭翌がトリガ`されるからです。
BTIの蒙海
京意鴛とは、干或永を怦峭するための契囮メカニズムです。京意鴛の畠悶議な朕議は、云栖覿┐気譴襯食`ゲットの魁侭だけに蛍瓷を崙泙垢襪海箸如△気泙兇泙福厳已々を鵑法△茲蠻秦Δ淵札ュリティを隠^することです。この潤惚、好蔦澆砲箸辰討蓮▲廛蹈哀薀爐琳酉フロ`の音屎荷恬が是佃になります。蛍瓷の喘に縞しては、ジャンプポインタを筝することで、販吭のコ`ドをg佩させます。これにより、g佩スレッドはコ`ド坪の艶の魁侭、匯違議には尖覽弔淵ジェットへのジャンプを膿崙されます。京意鴛では、粥姻馨の凋綜セットア`キテクチャ┗皆粥に蛍瓷タ`ゲットのコンセプトを弖紗しており、蛍瓷タ`ゲットではない凋綜に蛍瓷した魁栽、箭翌がk伏します。好蔦澆メモリ篤鱒を朕胎む魁栽、蛍瓷は涙燭奮)にリダイレクトされ、g佩は唯峭されます。
PACとBTIの隠擦レベル
永粥遺と京意鴛では、りアドレスと蛍瓷アドレスに鯉なコントロ`ルを弖紗できるため、聞喘辛嬬な檎或永と干或永のガジェットの方は寄嫌に受富します。は、PACとBTIを試喘したLinuxディストリビュ`ションで、聞喘辛嬬なガジェットが50蔚pされたことを蒙協しました。匯圭、Armの鏡徭{砲砲茲襪函■Arm Cortex-A CPUによるglibcで聞喘辛嬬なガジェットの方は、PACとBTIのアクティベ`ション瘁は97%參貧pされました。
竃灸:&稼恢壊沿;
PACとBTIの試喘圭隈
恷仟井Armv9ア`キテクチャなど、恷除のア`キテクチャでは、Arm ISAの匯何としてPACとBTIが弖紗されています。こうした凋綜は、コ`ドのコンパイルrにバイナリに徭嘛啓咾気譴襪燭瓠∧荒耽苗椶淵ジェットのコレクションにはなりません。すべての蝕k宀に箔められるのは、ビルド凋綜のセキュリティ隠oを嗤燭砲垢襪海箸任后
PACとBTIの凋綜をサポ`トするプロセッサ`
Armv9-A CPUの畠u瞳は、PACとBTIをプロセッサ`にMみzんでおり、いずれのセキュリティC嬬も、アップデ`トと個措を協豚議にg仏しています。匯箭として、Cortex-A CPUの恷仟のv9弊旗では、Armv9 CPUOでセキュリティC嬬をアクティベ`トするHに、パフォ`マンスを鯢呂気擦誚醫促▲襯乾螢坤爐QARMA3 PACを秘しました。Cortex-Mプロセッサ`では、Cortex-M85がPACとBTIの凋綜をサポ`トします。
Cortex-A/Cortex-MによるPACBTIの離い
遺看姻岳艶恰-粥の或皆とアプリケ`ションは、寄号庁なエコシステムの更撹勣殆であり、永粥遺や京意鴛などのセキュリティ字嬬をすべてのバイナリに擬秘する縞は、秘廷に廣吭する駅勣があります。屎しいオプションですべてを壅コンパイルするだけでは音噴蛍で、參和の勣殆を深打する駅勣があります。
- 或皆がサポ`トの鵑任△覬慴があります。
- マニュアル芝峰のアセンブラ?ル`ティンと京意鴛鬋芥`ドを詞壓させる縞には、蒙に廣吭が駅勣です。
遺看姻岳艶恰-珂プロセッサ`喜墮デバイスの魁栽、ファ`ムウェアはゼロからコンパイルされることが謹いため、諒籾は富ない買鬚砲△蝓永粥遺および京意鴛に癖栽したフルソフトウェア?スタックを伏撹しやすくなります。
恷仟の遺看姻岳艶恰-珂プロセッサ`は、パフォ`マンスにvしてアプリケ`ション遺永雨との控を抹めています。ですから、遺永雨峺鬚緑架と揖殻業の廣朕を鹿めているのも妾きではありません。
PACとBTIの凋綜をサポ`トするコンパイラ
コンパイラとツ`ルチェ`ン室宝を怏み栽わせた晦晦閣珂は、晦晦閣珂バ`ジョン8のリリ`スされた參週、Cortex-A CPUO畠悶でPACとBTIをサポ`トしています。匯圭、GCCは、さまざまなプログラミング冱Zをサポ`トするため、GNUプロジェクトによって恬撹された恷m晒コンパイラであり、2022定7埖參週、Cortex-A CPUO畠悶でPACとBTIをサポ`トしています┌。2023定4埖には、GCCバ`ジョン13.1がCortex-M85プロセッサ`にPACとBTIのサポ`トを弖紗しました。Cortex-M處麻プラットフォ`ムでは、Armコンパイラ6AC6がPACBTI凋綜をサポ`トし、IAR Embedded Workbench for ArmがArm Cortex-M85でPACBTIをサポ`トします。PACとBTIにするハ`ドウェア?サポ`トにvするは、をごEください。
PACとBTIをサポ`トするプログラミング冱囂
尖胎貧は、晦晦閣珂や赫遺遺のバックエンドを隔つコンパイル冱囂であればサポ`ト辛嬬ですが、このことは、コンパイラがコンパイラ?インフラストラクチャにフックする魁侭に恣嘔されます。遺/遺++による永粥遺と京意鴛のサポ`トは、I圭のコンパイラスイ`トに駻辰気譴討い泙后8薐棆岳や赫看などの冱囂はすでに、gY字嬬として永粥遺と京意鴛のサポ`トに鬉靴討い泙后8薐棆岳による永粥遺と京意鴛のgYサポ`トにvする袁犬蓮△鬚貫Eください
PACとBTIの凋綜をすでに聞喘している、g桟廠のプロジェクト箭
GoogleのChromiumプロジェクトとJavaScript V8エンジンはF壓、PACとBTIの凋綜がコンパイルされたArm64鬚韻謀箍爾気譴討い泙后DebianやRedHatなど、匯何のLinuxディストリビュ`ションはすでに、札Qバイナリの秘により、PACとBTIをサポ`トしています。匯圭、肝豚リリ`スでI圭のセキュリティC嬬を篇している二Iも贋壓します。箭えば、SUSEのTumbleweedプロジェクトは、PACとBTI、その麿のArm耕嗤のC嬬をサポ`トします。については、和リンクをごEください。
症塀プロセッサ`で揖じコ`ドをg佩する駅勣がある魁栽
永粥遺と京意鴛の凋綜┗粉^筺永粥遺京意鴛、粥雨意は、鰻或永涙處麻蛍勸の匯何です。鰻或永凋綜を範紛しない症塀プロセッサ`の魁栽、永粥遺と京意鴛の凋綜は哈きAき強恬するものの、セキュリティ貧のメリットは誼られません。
PACとBTIがパフォ`マンスとコ`ドサイズに式ぼす唹
匯何の糞弔淵戰鵐船洫`クは、すでにRenesasのCortex-M85 RA8D1によりg佩されています。Y惚は和燕をごEください。
コンパイラ佐^馨コンパイラ6.20、-mbranch-protection=standard
Coremark
|
No PacBTI |
With PacBTI |
||
Compiler |
Code size |
perf (coremark/Mhz) |
Code size |
perf (coremark/Mhz) |
Os |
27568 |
4.143 |
31824 |
3.860 |
Ofast |
37160 |
5.496 |
40900 |
5.236 |
Omax |
37848 |
6.194 |
40756 |
6.133 |
AudioMark
|
No PacBTI |
With PacBTI |
||
Compiler |
Code size |
perf (audiomark/Mhz) |
Code size |
perf (audiomark/Mhz) |
Os |
70616 |
3.874 |
77072 |
3.923 |
Ofast |
88472 |
3.835 |
94440 |
3.887 |
Omax |
86456 |
3.864 |
90376 |
3.859 |
EEBMC Consumer CJPECG (compressor)
|
No PacBTI |
With PacBTI |
||
Compiler |
Code size |
perf (audiomark/Mhz) |
Code size |
perf (audiomark/Mhz) |
Os |
44670 |
49.23 |
51016 |
48.94 |
Ofast |
63942 |
50.4 |
69984 |
50.15 |
Omax |
69438 |
61.35 |
74160 |
61.72 |
嚠詬┐蝓永粥遺は、ポインタ範^が佩われる鵬寂の竃栖並であるため、v方柵び竃しに唹譴鮗阿椶靴泙后デジタル佚催I尖╋抒П複や佩双柴麻に寄磯の扮寂を継やす互處麻減塞のファ`ムウェアの魁栽、唹譴恷弌泙任后パフォ`マンスへの唹譴呂曚箸鵑匹覆、その唹譴蓮▲灰鵐僖ぅ蕕臨酳併によってX受できるため、コ`ドサイズが紗しても揖吉のパフォ`マンスが誼られます。
Armがg屬垢襦芦畠でセキュアなデジタル悶Y
デ`タセンタ`、コンシュ`マ`鬚吋謄ノロジ`、怏みzみu瞳など、好蔦澆リモ`トまたはロ`カルでデバイスを喘する圭隈を電茅するため、粥姻馨はさらなる怏みzみセキュリティ字嬬を擬秘しAけています。永粥遺と京意鴛を宥じ、檎或永や干或永のタイプの好弔する隠擦字嬬を怏みzむことで、屡贋のコ`ドの芦畠來とセキュリティは寄嫌に鯢呂靴泙后4^馨厩8/粥姻馨厩9ア`キテクチャは、粥姻馨エコシステム畠悶で駻辰気譴討り、弊順のデジタルセキュリティが粥姻馨を児徒とすることで、永粥遺と京意鴛は、セキュリティのメリットを寄号庁にg屬任ます。
粥姻馨について
Armは、I順恷互の來嬬と薦紳覆れたコンピュ`ティング?プラットフォ`ムであり、コネクテッドな弊順における繁笥の100%に廚垢覬肥のないスケ`ルを笋┐討い泙后Armは、處麻にするくなき俶勣に鬉┐襪燭瓠∧製腓鬟蟋`ドするテクノロジ`二Iに枠M議なソリュ`ションを戻工し、光芙がAIによるかつてない悶Yや嬬薦を盾き慧つことができるよう屶址しています。弊順恷寄のコンピュ`ティング?エコシステムと2,200嵐繁のソフトウェア蝕k宀とともに、暴たちはArm貧でBくAIの隆栖を侘恬っていきます。
畠ての秤鵑婁F彜のまま戻工されており、坪否について燕苧および隠^を佩うものではありません。云彿創は、坪否を個笋擦此竃灸を苧した貧で徭喇に慌嗤いただけます。Armは51云弼┐泙燭呂修臨啝疉腓粡vB氏芙の鞠h斌炎です。その麿のブランドあるいはu瞳兆は畠て、それぞれの慇宀の侭嗤麗です。©1995-2025 51云弼.