記事へのコメント26

    • 注目コメント
    • 新着コメント
    bonty_shushusha
    パスワードとmemset関数

    その他
    naqtn
    言われれば確かに納得だが、こんなの知識として持っていなかったら実装中に気づけないよなぁ。

    その他
    haishi
    C言語プログラム上で高機密性情報(パスワード文字列など)を消去するケースで、memset関数の単純利用では機密情報がメモリ上に残存してしまい、セキュリティ上の脆弱性につながる可能性がある。

    その他
    ot2sy39
    一般人としては、こういう低レベル関数をちゃんと利用したラッパーを作ってもらって、楽に安全確保させてほしい。

    その他
    karupanerura
    大事っぽい

    その他
    i43s
    memset_sとか知らなかった。

    その他
    tmatsuu
    ほほう!

    その他
    mohno
    「実際の処理系では、値が使用されないこと、及び(関数の呼出し又はボラタイルオブジェクトのアクセスによって起こる副作用を含め)副作用が必要とされないことが保証できる式は、評価しなくてよい」

    その他
    JULY
    逆に、最適化の餌食にならない方法を知りたい。memset の後ろで単純な参照、代入だけだと、どうせ捨てられると判断されそうだし。passwd を static にしちゃうとか。それも微妙な気がするけど。

    その他
    you21979
    最適化で削除。。。

    その他
    t_yamo
    t_yamo 「関数の呼び出しもvolatile修飾されたオブジェクトのアクセスも(規格に厳格に従いながらも)最適化により削除される可能性がある」 http://www.jpcert.or.jp/sc-rules/c-msc06-c.html 注)日本語訳はC11未対応(本文に原文リンクあり)

    2014/03/21 リンク

    その他
    maisenakajima
    memset関数の単純利用では機密情報がメモリ上に残存してしまうため、C11標準ライブラリではAnnex.K Bounds-checking interfacesの一部であるmemset_s関数がオプション扱いとして提供される。WindowsAPIでは、SecureZeroMemoryが提供される。

    その他
    f99aq
    f99aq memset後にその自動変数を使って無いから最適化で無かったことにされる。セキュリティ用途の関数が用意されている。

    2014/03/21 リンク

    その他
    replication
    クリアされないことがあるみたい。

    その他
    Rinta
    こーゆーの、最適化でやられると超困る。まあ、困らないケースのが圧倒的に多いんだろうけど、困るケースで発生する費用損害と困らないケースを守って得られる便益を比較できないもんか?

    その他
    s-tomo
    ええとつまりmemset関数を標準でない実装に置き換えた場合、意図した「標準ではない動作」がコンパイラの最適化によって実行されなくなるって事?それともmemset関数の動作内容まで見て最適化なん?

    その他
    R2M
    memset(passwd, 0, sizeof(passwd));*(volatile char *)passwd = *(volatile char *)passwd;

    その他
    funnnon
    funnnon 最適化怖い

    2014/03/21 リンク

    その他
    FTTH
    俺の立場でこれが問題になるケースに遭遇するとは思えないが

    その他
    suzutaku7
    volatile使えばいいような気がしないでもない

    その他
    topiyama
    topiyama volatile, inline, 最適化との果てることない戦いは続く… めんどうくせえw/大事なデータは、自動変数じゃなくて 関数でalloc/free形式にした方が良い気がする

    2014/03/21 リンク

    その他
    rna
    rna メモリ上の高機密データを消去する方法。普通にmemsetだとコンパイラの最適化で実行されない場合があるとのこと。

    2014/03/21 リンク

    その他
    maangie
    ぶこめも

    その他
    cad-san
    まじすか。組み込み系のクロスコンパイラだとC11対応していない所多そう

    その他
    zu2
    これは頭痛い… /

    その他
    mattn
    最適化怖い

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    パスワードとmemset関数 - yohhoyの日記

    C言語プログラム上で高機密性情報(パスワード文字列など)を消去するケースで、memset関数の単純利用で...

    ブックマークしたユーザー

    • rydot2018/07/15 rydot
    • bonty_shushusha2015/07/24 bonty_shushusha
    • naqtn2015/03/11 naqtn
    • tanakaBox2014/09/06 tanakaBox
    • sukka92014/03/26 sukka9
    • labunix2014/03/24 labunix
    • pytopy2014/03/23 pytopy
    • haishi2014/03/23 haishi
    • ot2sy392014/03/23 ot2sy39
    • karupanerura2014/03/23 karupanerura
    • i43s2014/03/22 i43s
    • tmatsuu2014/03/22 tmatsuu
    • mohno2014/03/22 mohno
    • JULY2014/03/22 JULY
    • you219792014/03/22 you21979
    • habarhaba2014/03/22 habarhaba
    • mjtai2014/03/22 mjtai
    • jigsaw92014/03/22 jigsaw9
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

    同じサイトの新着をもっと読む

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事

    いま人気の記事 - 企業メディア

    企業メディアをもっと読む