タグ

ブックマーク / www.jpcert.or.jp (4)

  • INT30-C. 符号無し整数の演算結果がラップアラウンドしないようにする

    以降のセクションでは、符号無し整数のラップアラウンドが発生する可能性のある演算について詳しく見ていく。int より小さな整数型に対する演算には、整数拡張 (integer promotion) が適用される。算術演算が行われる前に通常の算術型変換 (usual arithmetic conversion) が適用され、オペランドの型を共通の型へ暗黙的に変換する場合もある。セキュアな算術演算を実装する前に、C言語の整数変換のルールを理解しておくべきである(「INT02-C. 整数変換のルールを理解する」を参照)。 整数値は、特に次のいずれかの目的で利用する場合には、ラップアラウンドさせてはならない。 ポインタ演算の整数オペランド (配列インデックスを含む) 可変長配列の宣言における代入式 [] に先立つ後置式 (postix expression) もしくは配列オブジェクトの要素を指し示す

    INT30-C. 符号無し整数の演算結果がラップアラウンドしないようにする
  • ENV34-C. getenv() が返す文字列へのポインタを保存しない

    ENV34-C. getenv() が返す文字列へのポインタを保存しない C 標準では getenv() の動作を次のように規定している。[ISO/IEC 9899:2011] getenv 関数は、一致する並び(environment list)の要素に結び付けられた文字列へのポインタを返す。このポインタが指す文字列をプログラムで変更してはならないが、引き続く getenv 関数の呼出しで書き換わることがある。 ゆえに、getenv() が返すポインタは保存すべきでない。このポインタは、2 回目以降に getenv() 関数を呼び出したときに上書きされたり、putenv() や setenv() の呼び出しによって環境変数の並びが変更された結果として無効になる可能性がある。getenv()が返すポインタを後で使用するために保存しておくと、ダングリングポインタとなったり、正しくないデータを

    ENV34-C. getenv() が返す文字列へのポインタを保存しない
    mumumu-tan
    mumumu-tan 2018/08/16
    strdup(getenv("XXX")) != NULL とかいうコードを見せられてなんのこっちゃと思ってたけど、これか... 無知だった... (´ー`; )
  • DNS の再帰的な問い合わせを使った DDoS 攻撃に関する注意喚起

    各位 JPCERT-AT-2013-0022 JPCERT/CC 2013-04-18 <<< JPCERT/CC Alert 2013-04-18 >>> DNS の再帰的な問い合わせを使った DDoS 攻撃に関する注意喚起 https://www.jpcert.or.jp/at/2013/at130022.html I. 概要 JPCERT/CC では、海外 CSIRT などから、日国内の DNS キャッシュサーバ を使用した DDoS 攻撃が発生しているとの報告を受けています。 JPCERT/CC に報告された攻撃では、攻撃者は外部からの再帰的な問い合わせを 許可している DNS キャッシュサーバ (以下、オープンリゾルバ) を使用して、 DNS アンプ攻撃を行っているとのことです。攻撃者は、攻撃対象の IP アドレ スを送信元 IP アドレスに偽装した再帰的な問い合わせパケットを

    DNS の再帰的な問い合わせを使った DDoS 攻撃に関する注意喚起
  • JPCERT C Secure Coding Standard 日本語版 - プリプロセッサ (PRE) (#c01)

    CERT C コーディングスタンダード 00. はじめに 01. プリプロセッサ (PRE) 02. 宣言と初期化 (DCL) 03. 式 (EXP) 04. 整数 (INT) 05. 浮動小数点 (FLP) 06. 配列 (ARR) 07. 文字と文字列 (STR) 08. メモリ管理 (MEM) 09. 入出力 (FIO) 10. 環境 (ENV) 11. シグナル (SIG) 12. エラー処理 (ERR) 13. Application Programming Interface (API) 14. 並行性 (CON) 49. 雑則 (MSC) 50. POSIX (POS) AA. 参考情報 BB. Definitions CC. 未定義の動作 DD. 未規定の動作 XX. お問い合わせ 00はじめに このページでは、JPCERTコーディネーションセンターが翻訳を行っている CE

    JPCERT C Secure Coding Standard 日本語版 - プリプロセッサ (PRE) (#c01)
  • 1