c_cpp:safe_c_library

文書の過去の版を表示しています。


Safe C Library

Safe C Libraryは、ISO/IEC TR 24731に準拠したバウンドチェックメモリと文字列関数を提供します。これらの関数は、より安全で安全なプログラミングを促進する、既存の標準Cライブラリに対する代替関数です。

ISO/IEC プログラミング言語 - C spec、C11には、付録K「境界チェックインターフェース」の境界APIが含まれています。

この最新のアップロードは静的ライブラリ、共有ライブラリ、そしてLinuxカーネルモジュールの構築をサポートします。

Safe C Library download | SourceForge.net より
GitHub - rurban/safeclib: safec libc extension with all C11 Annex K functions

バッファオーバーフロー(あふれ)対策が施された strcpy_s 関数をはじめとする 37の関数が導入された。
IPA ISEC セキュア・プログラミング講座:C/C++言語編 第10章 著名な脆弱性対策:コマンド注入攻撃対策 より

2019/02/12 現在、glibc が strcpy_s などの関数をサポートしていない。
そこで登場するのが Safe C Library である。
Safe C Library は glibc の代わりに関数群を提供してくれます。

GitHub より最新の Safe C Library を入手する。

$ git clone https://github.com/rurban/safeclib.git

ビルドに必要な Graphviz の dot ツールをインストールするために Graphviz をインストールする。

$ sudo dnf install graphviz

Safe C Library のビルドを行う。

$ cd safeclib/
$ ./build-tools/autogen.sh
$ ./configure
$ make
doxygen
warning: Included by graph for 'safe_str_lib.h' not generated, too many nodes. Consider increasing DOT_GRAPH_MAX_NODES.
  • c_cpp/safe_c_library.1549985969.txt.gz
  • 最終更新: 2019/05/18 02:23
  • (外部編集)