Anti Zeroday C compiler
AZ-Cはゼロディ問題を抜本から解決します。
ゼロディ問題による制御権の乗っ取り(Exproit)は通常はバッファオーバーラン現象が原因で発生します。
AZ-Cはこの現象防止装置を実装したC言語のコンパイラです。
AZ-Cでコンパイルビルドしたプログラムではバッファオーバーラン現象は発生しません。
既存のCで記述したソースコード(設計図)をAZ-Cに掛けてください。
高セキュリティシステムを実現します。
サイバー攻撃は爆発的に増加しています。
サイバー攻撃の原因となるセキュリティホールは日々見つかっています。
セキュリティホールを見つけたがまだ対策されてない。これがゼロディ問題です。
セキュリティホールはパイプの水漏れに似ています。
水漏れが見つかるとそれを防ぐ。いたちごっこです。
複雑な配管ほど水漏れ対策は収集がつかなくなります。
現在、セキュリティホールは17000個以上報告されています。
Linux OSのカーネルは約2000万行以上の大きさと言われています。
このPC/サーバのブロック図で説明すると次のようになります。このマークのある箇所はC言語で記述しておりゼロディ問題の発生する可能性のある箇所です。潜在的なセキュリティホールのある箇所と思ってください。
このようにPC/サーバは危険な状態にあります。
これだけ沢山あるセキュリティホールの解決は従来の考え方では解決不可能です。
AZ-Cでは次の図のようなアプローチを採用しています。
水漏れするパイプを全て「防水ゴムで包めば良い」この発想でAZ-Cは開発されています。
AZ-Cは機械的に全てのプログラムにバッファオーバーフロー防止装置を組み込みます。
※バッファオーバーフローとはセキュリティホール発生の原因です。
OS/サーバーの99%はC言語で記述しています
AZ-CはこのC言語で記述した箇所にバッファオーバーラン防止装置を自動で組み込みます。
2000万行あるプログラムのセキュリティホールを自動で塞ぎます。
■AZ-Cを適用したブロック図
バッファオーバーランによるPCの制御権の乗っ取り(Exproit)はC言語の設計ミスが原因です。
AZ-Cはこの「設計ミス」を改修したC言語です。
AZ-CでリビルドしExproitによるゼロディ問題を一括して除去します。
C言語のコンパイラとはOSを構成する基本アプリをビルドするものです。
Unix/LinuxにおいてはOSを構成するプログラムの99%はC言語により構成しています。
AZ-Cはこの99%からセキュリティホールを除去します。
Unix/Linux系はOS本体そのものもC言語で記述しています。
AZ-CはUnix/LinuxのOSそのものもリビルドして作り直します。
Unix/Linux系で作動しているGCC(C言語コンパイラ)そのものもリビルドします。
AZ-CはUnix/Linux系のサーバを丸ごとリビルドし不特定多数のセキュリティホールを除去します。
簡単なバッファオーバーランの説明
https://dnki.co.jp/w2/download/azc/bufferoverrun.pdf
政府団体IPAによる詳細な説明”[6-1.]バッファオーバーラン~その1・こうして起こる~”
https://www.ipa.go.jp/security/awareness/vendor/programmingv1/pdf/b06_01.pdf
この危険な現象をAZ-Cは次のメカニズムで遮断します。
Ubuntu Linux にてAZ-Cを使いバッファオーバーランの防止するデモ資料を公開します。
https://dnki.co.jp/w2/download/azc/demo_doc.pdf
■バッファオーバーランの簡単な説明
バッファオーバーランとはテンポラリ作業領域(ローカル変数)とシステム管理領域(関数のリターンアドレス)がサンドイッチ状に配置しているため起きる現象です。
アプリのプログラミングミスで後ろの「システム管理領域」の上書き破壊は簡単に発生します。
ウィルスはこの現象を利用してウィルスプログラムを流し込み、流し込んだプログラムを実行させて制御権を乗っ取ります。これがPCウィルスの感染です。
■AZ-Cのメカニズム
バッファオーバーランが発生した時、AZ-Cでは「システム管理情報」への上書き変更を遮断します。
バッファオーバーランによる「システム管理領域」の上書き変更は起きないためバッファオーバーランによるゼロディ問題は消えます。
このようなサンプルプログラムを作り実行してみます。
11行目で意図的にメモリ破壊を起こしています。
これを従来のCコンパイラとAZ-Cでビルドして実行してみます。
このように差がでます。通常のCコンパイラではメモリ破壊がおき、コアダンプして以上終了します。
AZ-Cの場合はメモリ破壊はデータのみです。システム管理領域は保護します。
下の図のようにプログラムを正常終了させます。
またメモリオーバーランの起きたプログラムをOSに告知します。
AZ-Cとその利用製品、姉妹品を案内します。
![]() |
■ gcc互換のCコンパイラです。本システムの中核です。 提供価格: Call me ! |
![]() |
・10の27000乗の超長周期、乱数生成速度秒速16Gbps |
![]() |
■ 業界で主要なdbです。AZ-Cでビルド済み。 |
![]() |
■ 業界標準のシェルスクリプトです。AZ-Cでビルド済み。 |
![]() |
■ GCC 標準ライブラリパッケージ AZ-CでリビルドしたGCCです。 |
![]() |
■ 高セキュリティLinux Kernelパッケージ AZ-CでビルドしたOSのカーネルです。セキュリティホールのないカーネルを提供します。 |
![]() |
■ データセンター向け総合統括パッケージ データセンター向けのスペシャルパッケージです。AZ-Cで構築したサーバーは潜在的なセキュリティホールを機械的に塞ぎます。 |
■ 「自動発報装置」 の実装をオプション提供
AZ-Cは併せてオーバーラン発生時にサーバー管理者に電子メール、警報を提供可能です。より高度なセキュリティ体制を希望する時に検討ください。
「Bash by AZ-C」に限らずAZ-Cでビルドしたアプリにこの機能は簡単に追加できます。
AZ-Cでコンパイルビルドしたアプリに自動で発報装置を提供可能です。
【自動発報装置】
備考
・gcc 9.フル互換Cコンパイラー
・Intel x86–64アーキテクチャ対応(2021. 04.22時点)。これ以外のCPUへの対応は別途開発で可能です。