タグ

c++とsecurityに関するcrafのブックマーク (7)

  • PATH_MAX simply isn't

    Many C/C++ programmers at some point may run into a limit known as PATH_MAX. Basically, if you have to keep track of paths to files/directories, how big does your buffer have to be? Most Operating Systems/File Systems I've seen, limit a filename or any particular path component to 255 bytes or so. But a full path is a different matter. Many programmers will immediately tell you that if your buffer

  • 普通のコンピューターからAMラジオを鳴らそう

    読者の持っている至って普通のコンピューターは、実はAMラジオを鳴らす発信装置が備わっている。 ラジオを鳴らすコードは以下にある。 https://github.com/fulldecent/system-bus-radio ただしこれはMac OS Xでしか動かないので、C++11に移植したコードが以下になる。また、このコードはスレッドを回して消費電力を上げることにより、オリジナルより出力も上げてある。 https://github.com/EzoeRyou/system-bus-radio 動かし方(GCCの場合) git clone git@github.com:EzoeRyou/system-bus-radio.git cd system-bus-radio make gmain make grun Clangの場合、以下のようにする。 make cmain make crun そし

  • sizeofオペレータを正しく使おう ――C/C++セキュアコーディング入門(5)

    はじめに 今回はsizeofオペレータをとりあげます。sizeofは、引数に与えたオブジェクトや型名から、その型のデータがメモリ上に占めるバイト数を求めるオペレータです。皆さんも、メモリ領域を動的に確保したいときや文字列操作などに関連して使ったことがあるでしょう。まずはsizeofオペレータの使用上の注意について説明し、その後でsizeofオペレータの誤用例を2つ紹介します。 sizeofオペレータ使用上の注意 「sizeofオペレータの使用上の注意 その1」は、プログラマが意図する正しい引数を渡すこと、です。メモリ上のオブジェクトのコピーや移動などの操作は、オブジェクトのメモリ上のサイズにもとづいて行います。オブジェクトのサイズを間違っていたら、アクセス違反やオーバフローといった脆弱性につながることは容易に想像できるでしょう。 「sizeofオペレータの使用上の注意 その2」は、引数に副

    sizeofオペレータを正しく使おう ――C/C++セキュアコーディング入門(5)
  • セキュアプログラミング for Linux and Unix HOWTO

    この文書は、Linux および Unix システム上で安全なプログラムを書く際に必要と なる設計や実装について、そのガイドラインを提供します。 遠隔のデータを見るためのビューアーや Web アプリケーション(CGI スクリプト を含む)、ネットワーク・サーバ、setuid や setgid してあるプログラムが対象です。 C や C++JavaPerlPHPPython、TCL、Ada95 個別のガイドラインも掲載します。 Table of Contents1. はじめに2. 背景2.1. Unix や Linux、オープンソースもしくは フリーソフトウェアについて2.2. セキュリティの原則2.3. なぜプログラマは危ないコードを書いてしまうのか2.4. オープンソースはセキュリティに効果があるのか2.5. 安全なプログラムの種類2.6. 疑い深く、こだわりが強いことに価値がある

  • ATL Security Update

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. The Active Template Library (ATL) is a set of template-based C++ classes that simplify the development of Component Object Model (COM) objects. These objects have a wide range of use in Windows and Web solutions and, as such, their safe use and construct

    ATL Security Update
  • togeの日記 - mudflapを訳してみる

    まずい。 連休中、あまりに健全な生活を行っていたために、平日帰宅すると寝てしまいます。 ちっとも勉強が進みません。 まあ、健全な生活が送れてますけどね。 ぱぱっと実装完了。 DOMを使ったことがあるなら、簡単に利用出来ます。 いやぁこれは便利だわ。 敢えて文句を言えばC++のソースなのに#incldue とかしているのとか、ヘッダで無駄なファイルをインクルードしているのが気にいらんが。 せっかくの機能なのになかなか使われないみたいですね。便利なのに。 googleで"mudflap gcc"と指定してもあんまり情報がないのが残念です。 少しでも普及するように、以下のmudflap記事を適当に訳してみました。 http://gcc.gnu.org/wiki/Mudflap%20Pointer%20Debugging 続きを読む id:m107さんとかid:halo_w2さんが文字描画やってい

    togeの日記 - mudflapを訳してみる
  • 実践的なパターン: テストの容易性を高める設計

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. Security Briefs Protecting Your Code with Visual C++ Defenses Michael Howard Contents Stack-Based Buffer Overrun Detection (/GS) Safe Exception Handling (/SafeSEH) DEP Compatibility (/NXCompat) Image Randomization (/DynamicBase) Safer Function Calls C++

    実践的なパターン: テストの容易性を高める設計
  • 1