Cに関する記事とニュース
-
2016/05/30
疎行列の計算を実装してグラフ理論をかじってみる
長いお休みの間コードを触ってないと休み明けのリハビリがしんどいので、それといった目的もなくVisual Studioと戯れておりました。せっかくだから(?)普段めったにやらない分野で遊ぼうと「グラフ理論を行列で学ぶ」ってお題でコードを書いてたんですけど、なんだか面白い結果が出てきちゃったので紹介しておきますね。
-
2016/04/20
50年前に作られたメモリ管理アルゴリズム「Buddy memory allocation」
4月ですねー、この世界に身を置いて三十数年目の春です。当時のノートを読み返すと、組み込み用途のメモリ管理ルーチンをアセンブラで書いたりしてました。黄ばんだノートの覚え書きの中から、メモリ確保/解放のスピードを重視したメモリ管理アルゴリズム:Buddy memory allocationを紹介しましょうか。
-
2015/06/11
「Intel Edison」と「IoT Analytics Dashboard」を使って簡単なデバイス間連携を行ってみる
本連載ではTIS株式会社が提供している技術ブログ「Tech-Sketch」から「コレは!」というテーマをピックアップし、加筆修正して皆さまにお届けしています。今回はIntelが展開している小型コンピューティングプラットフォームである「Edison」を取り上げます。
-
2014/06/26
制御システム用ソフトウェアの脆弱性対策 ~CERTコーディングスタンダードの活用~
年度頭からOpenSSLの脆弱性が世間を賑わせていましたが、Webの世界だけでなく、社会インフラを支える制御システムソフトウェア(ICSソフトウェア)においても脆弱性対策を留意しておく必要があります。本稿では、米国のICS-CERTが公開している脆弱性アドバイザリから見えてきたICSソフトウェアの脆弱性の傾向に加え、セキュアコーディングに特に効果的なルールを厳選して紹介します。(編集部)
-
2010/08/06
TIFFライブラリに潜む脆弱性をつぶすパッチ(その2)
本連載では、脆弱性を含むサンプルコードを題材に、修正方法の例を解説していきます。今回は以前にも取り上げたオープンソースの画像処理ライブラリであるlibtiffに最近見つかった脆弱性を、セキュリティコードレビューを行いながら見てみましょう。
-
2010/07/06
Linuxのカーネルに潜む脆弱性をつぶすパッチ
本連載では、脆弱性を含むサンプルコードを題材に、修正方法の例を解説していきます。今回はLinuxカーネルのソースコードに注目してセキュリティコードレビューを行いたいと思います。
-
2010/06/22
Samba smbclient―書式指定文字列に潜む脆弱性
本連載では、脆弱性を含むサンプルコードを題材に、修正方法の例を解説していきます。今回取り上げるコードは、Windowsからアクセスできるファイルサーバーを構築するためのオープンソースソフトウェア「Samba」です。
-
2010/06/15
画像処理ソフトウェア「ImageMagick」の脆弱性
本連載では、脆弱性を含むサンプルコードを題材に、修正方法の例を解説していきます。今回取り上げるコードは、C言語で書かれたオープンソースの画像処理ソフトウェア「ImageMagick」です。
-
2010/05/27
TIFFライブラリに潜む脆弱性をつぶすパッチ
本連載では、脆弱性を含むサンプルコードを題材に、修正方法の例を解説していきます。今回のサンプルコードは、TIFFファイルの読み書きを行うためのライブラリ「libTIFF v3.6.1」です。
-
2010/05/20
glibライブラリに潜む脆弱性をつぶすパッチ
本連載では、脆弱性を含むサンプルコードを題材に、修正方法の例を解説していきます。今回取り上げるコードは、GUIツールキット「gtk+」で使われているライブラリglibの中で定義されている関数g_base64_encode()です。
-
2010/03/12
ファイルディスクリプタについて(7) ~シグナル駆動I/Oの紹介
ファイルディスクリプタは、プログラムの外部との入出力を行う為の抽象的なインタフェースです。Unix/Linux におけるファイルディスクリプタは、一般的なファイルだけではなく、デバイスやソケットやパイプも対象としております。当レポートは、ファイルディスクリ プタにまつわる色んな機能と管理方法等を提示したいと思っております。
-
2010/03/05
ファイルディスクリプタについて(6) ~多重I/Oの性能とC10K問題
本連載では、プログラムの外部との入出力を行うための抽象的なインタフェース「ファイルディスクリプタ」の機能や管理方法などを紹介していきます。第6回では、多重I/Oの性能と問題点について検証していきます。
-
2010/02/26
ファイルディスクリプタについて(5) ~多重I/O「Multiplex I/O」の種類の特徴、使い方
本連載では、プログラムの外部との入出力を行うための抽象的なインタフェース「ファイルディスクリプタ」の機能や管理方法などを紹介していきます。第5回では、複数のファイルディスクリプタを一元管理する「多重I/O」機能について解説します。
-
2010/02/19
ファイルディスクリプタについて(4) ~シグナル用ディスクリプタ「signalfd」の特徴
ファイルディスクリプタは、プログラムの外部との入出力を行う抽象的なインタフェースです。Unix/Linuxのファイルディスクリプタは、一般的なファイルだけでなくデバイスやソケットやパイプも対象としています。当連載は、ファイルディスクリプタの機能や管理方法などを提示します。第4回は、シグナルイベントを補足するディスクリプタ「signalfd」を紹介します。
-
2010/02/15
配列コピー時に犯しやすい誤りに注意する ――C/C++セキュアコーディング入門(6)
配列をコピーする際、記憶領域の扱いを適切に行わないとバッファオーバーフローにつながります。コピー元のデータ量またはコピー先の記憶領域のサイズをチェックするのが基本的な対策になりますが、誤って脆弱性を引き起こすことも多々あります。今回は、こういった配列コピー時に犯しやすい誤りについて解説します。
-
2010/02/12
ファイルディスクリプタについて(3) ~タイマー用ディスクリプタ「timerfd」の特徴
ファイルディスクリプタは、プログラムの外部との入出力を行う抽象的なインタフェースです。Unix/Linuxのファイルディスクリプタは、一般的なファイルだけでなくデバイスやソケットやパイプも対象としています。当連載は、ファイルディスクリプタの機能や管理方法などを提示します。第3回は、設定時間をファイルディスクリプタ経由で通知する「timerfd」を紹介します。
-
2010/02/05
ファイルディスクリプタについて(2) ~イベント用ファイルディスクリプタ「eventfd」の特徴
ファイルディスクリプタは、プログラムの外部との入出力を行う抽象的なインタフェースです。Unix/Linuxのファイルディスクリプタは、一般的なファイルだけでなくデバイスやソケットやパイプも対象としています。当連載は、ファイルディスクリプタの機能や管理方法などを提示します。第2回は、イベント用ファイルディスクリプタ「eventfd」を紹介します。
-
2010/01/29
ファイルディスクリプタについて(1) ~ファイルディスクリプタの概要
ファイルディスクリプタは、プログラムの外部との入出力を行う抽象的なインタフェースです。Unix/Linuxのファイルディスクリプタは、一般的なファイルだけでなくデバイスやソケットやパイプも対象としています。当連載は、ファイルディスクリプタの機能や管理方法などを提示します。第1回では、ファイルディスクリプタの概要を紹介します。
-
2010/01/22
sizeofオペレータを正しく使おう ――C/C++セキュアコーディング入門(5)
今回はsizeofオペレータをとりあげます。sizeofは、引数に与えたオブジェクトや型名から、その型のデータがメモリ上に占めるバイト数を求めるオペレータです。まずはsizeofオペレータの使用上の注意について説明し、その後でsizeofオペレータの誤用例を2つ紹介します。
-
2010/01/04
安全なシグナルハンドラを実装するには ――C/C++セキュアコーディング入門(4)
UNIXなどPOSIX準拠のOSでは、割り込みや例外を抽象化した「シグナル」と呼ばれる仕組みを用いてプロセスに(非)同期イベントが通知されますが、シグナルハンドラで行える処理には制約があり、これを無視したコードを書くと脆弱性につながる恐れがあります。今回はシグナルハンドラの制約に関するルールを見てみましょう。