タグ

ブックマーク / cpplover.blogspot.com (50)

  • 中国の悪意あるハードウェアの細工を見破る方法

    中国で生産されているハードウェアに悪意あるチップが取り付けられておりAppleAmazonが被害にあっているとする報道があり、真偽について議論がある。 これに関連して、Hacker Newsで興味深いコメントが寄せられていた。 I have worked in card payment industry. We would be getting products from China ... | Hacker News 俺はカード支払い業界で働いている。中国から送られてくる製品にクレジットカード情報を送信する装置が取り付けられていることがある。これは国家による攻撃ではない。装置は生産ラインの途中で取り付けられている。大抵は賄賂を受け取った従業員によるものだ。装置が組み立てられた後は、改造防止の機能が動くので、改造を検知させずに装置を分解するのは不可能だ。 この問題が発覚してから、我々は製

    nanakoso
    nanakoso 2018/10/08
    全数検査っていうか 抜き取り検査でもいいけどちゃんとサイコロとか使え コンテナの外側は良品だぞ
  • マストドン会議で技術と自由を語る

    マストドン会議というものがあり、清水亮も登壇するというので行ってきた。 マストドン会議 ―― その無限の可能性を、いま語らずしていつ語らう! ~コミュニティもマーケティングも揺るがすTwitterのライバル出現~ | Peatix マストドンは日ではやってからまだ2週間しかたっていない。一体そんな状況で誰が集まるのだろうか。主催は角川が絡んでいるらしいが、まあ、あまり期待はせずに行くことにした。 その日は来るべき超会議2017のリハーサルの日だった。会場の幕張メッセではマストドンブースが設営されていた。私が担当なので当然私も現地にいた。そして少し遅れてマストドン会議の会場に着いた。清水亮は私よりも更に少し遅れて会場入りした。 会場に入ってみると、ぬるかる氏のmastdn.jpにサーバーを提供しているさくらインターネットの人とぬるかる氏が、サーバーの運営上の話をしていた。とても技術的な話だ

  • マストドンが直面している問題はすでにP2P技術が15年前に遭遇した問題だ

    Media content caching strategy · Issue #1847 · tootsuite/mastodon勢がマストドンに目をつけ始め、Pixivがマストドンのインスタンスを立ち上げてからというもの、マストドンは2つの問題に直面している。 日国内で合法である現実に基づかない純粋な思想の表現である絵が海外基準では児童ポルノであり違法なデータである 画像投稿を主目的とするPixivの利用形態により大量のトラフィックとストレージがキャッシュとして消費されるため貧弱なインフラでは耐えられない これにより、Pixivによるマストドンのインスタンスは海外で主流のマストドンのインスタンスから遮断された。 現在、マストドンのコミュニティではこの問題に対する議論が行われているが、この問題には見覚えがある。15年前のP2P技術が流行した時代と同じ問題だ。我々は歴史に学ぶべきであ

    nanakoso
    nanakoso 2017/04/16
    とりあえず、サーバ間の移民の自由が保障されれば一極集中よりはだいぶマシになると思われ
  • AWSのアクセスキーをハニートークンとして使うアイディア

    Early Warning Detectors Using AWS Access Keys as Honeytokens この発想はなかった。 AWSのアクセスキーはハニートークンとして使える。 ハニートークンとは、普段使用しないものが使用されたことを検知して、意図しない利用を検知するトリックである。例えば、通常ならば使われないメールアドレスをパスワードとともに、自分しかアクセスできないストレージに格納しておく。その状態で、もしメールサーバーにログインされた場合は、自分しかアクセスできないはずのストレージに他人がアクセスして、マヌケにもメールアドレスとパスワードをストレージ上に保存しているのを発見して、利用を試みたということになる。つまり、侵入を検知できる。 AWSのアクセスキーは、ハニートークンに使うことができる。AWSに権限を持たないユーザーを追加して、そのユーザーでアクセスキーを発行

  • Grub2の認証でバックスペースを28回押すとレスキューコンソールに入れる脆弱性が発見された

    Back to 28: Grub2 Authentication Bypass 0-Day Grub2のバージョン1.98(2009年12月)から、2.02(2015年12月)までにおいて、脆弱性が発見された。 脆弱性はGrub2の認証機能を使っていた場合に、ユーザー名を入力すべきところで、バックスペースを28回入力すると、レスキューコンソールに入れてしまうものだ。これにより、コンピューターに物理アクセスを得ている人間が、Grub2の強力なレスキューコンソール機能を使うことができる。 脆弱性の原因も詳しく書かれていて興味深い。grub2のコードでは、'\b'が入力されるたびに、unsigned型の変数をデクリメントする。この時、アンダーフローをチェックしていない。その変数は配列の添字に渡されて、ゼロが書き込まれる。 結果として、関数のreturn addressを0x0にすることができ、関

    nanakoso
    nanakoso 2015/12/17
    >通常のユーザースペースのプログラムやカーネルの場合、便利な保護機能が何重にもあるので、ここで終わりになるはずだが、grub2はブートローダーなので、そのような便利な保護機能はない
  • GoogleのエンジニアがAmazonで片っ端からType-C USBケーブルをレビューしている

    Amazon.com: Profile for Benson Leung GoogleChromebook PixelのエンジニアであるBenson Leungが、アマゾンで売られているType-C対応を謳っているUSBケーブルとアダプターを片っ端からレビューしている。 なぜそんなことをしているのか。Googleの製品であるChromebook PixelはUSB Type-Cによる充電ができるが、巷に出回っている自称USB Type-C対応の製品の多くが、USB規格に違反していたり、十分な性能がない欠陥品だったりするからだ。 そもそも、USB Type-C規格は、3A, 5V, 15Wの電力供給ができる。3Aの電力供給は、途中の経路がすべてUSB Type-C対応の製品である場合に限る。例えば、途中にUSB 2.0などのレガシーケーブルを挟む場合は、USB Type-C規格準拠のケーブ

  • 囲い込みの代償

    韓国は、政府によるインターネット整備が抜きん出ていた国である。アメリカ合衆国が暗号を武器とみなし、輸出を制限していた頃、鍵長が40bitのSSLに不安を感じ、独自の暗号規格、SEEDを開発した。さらに、法律を制定して、オンライン上の通貨取引には、かならずこの暗号を使わなければならないと定めた。 暗号としてのSEEDは、鍵長が128bit固定であることを除けば、今のところ、大した欠陥は見つかっていないようだ。問題は、その実装にある。 ブラウザー上のSEEDの実装はActive Xのみなのだ。他のブラウザーはサポートしていない。唯一、FirefoxだけがSEEDを実装しているらしいが、暗号としてのSEEDを実装しているだけで、他の部分の規格を実装していないので、それだけでは役に立たない。つまり、韓国でのオンラインでの銀行取引やネットショップなどは、必ずIEを使わければならない。さもなければ、法

  • 500マイル以上離れた場所にメールが送れないのだが

    http://web.mit.edu/jemorris/humor/500-miles From: Trey Harris <trey@sage.org> 今から私が書く話は、起こりようのない問題についてだ。この話を広く一般に公開してしまうのは惜しい。というのも、いい酒の話のネタになるからだ。この物語は、退屈な詳細や問題を隠すために、多少事実を変えていて、物語を面白く脚色している。 数年前、私はキャンパスのメールシステムを保守する仕事をしていて、統計学部の学部長から電話を受けた。 「大学の外にメールを送るのに不具合が発生しているのだが」 「どんな問題でしょう?」と私はたずねた。 「500マイル以上メールを送れないのだよ」と学部長は説明した。 私はラテを吹き出した。「何だって?」 「ここから500マイル以上離れた場所にメールを送信できないのだよ」と学部長は繰り返した。「実際は、もう少しあるの

  • 何でWindowsは俺のワイヤレスキーボードをトースターだと認識するんだ?

    device manager - Why does Windows think that my wireless keyboard is a toaster? - Super User 俺は彼女の父親から古いPCを相続したんだが、プリンターを設定していると、ちょっとおどろきのものが現れた。 画像 さて、二つの疑問がある。 なんでWindowsは俺のワイヤレスキーボードをトースターだと認識するんだ? なんでWindowsはデバイスメニューにトースターのアイコンを持っているんだ? なぜか、質問者のワイヤレスキーボードに、トースターのアイコンが表示されている。Windowsはなぜそんなアイコンを用意しているのだろうか。 答えは。 理由1 Microsoftはトースター用ドライバーというサンプルを作っている。このサンプルでは、<DeviceIconFile>Toaster.ico</DeviceI

  • 表計算をマジなことに使わないほうがいいよ(マジで)

    You shouldn’t use a spreadsheet for important work (I mean it) 経済学者はうらやましいね。コンピューター科学者とは違って、革新的な研究で、ベストセラーをだせるときている。たとえば、 Capital in the Twenty-First Centuryだ。このはマルクス経済を再認識させるだ。を読んでいない人のために要約すると、資の増加は賃金の増加よりも高いので、資を持つ者はますます富み、ますます強大になる。大多数は貧する。少数のエリート達が、富のすべてをかき集める。一般人には富は残らない。この見方は、彼の専売特許ではない。富の集中という概念には、富める者はますます富み、貧するものはますます貧すというキャッチフレーズまである。 同じ主張をするものはいくらでもいる。しかし、証明するのは難しいし、一部の経済学者は、反証すら

    nanakoso
    nanakoso 2014/05/30
    「Excelではテストが書けない」
  • OSによる仮想化とは何だったのか

    最近の動向でわからないことがある。最近、クラウド(笑)とか称するマーケティング用語はともかく、クラウド(笑)のサーバー群の実装に、ハードウェアの仮想化技術がふんだんに使われていることだ。 完全にソフトウェアでハードウェアを実装するエミュレーターと違い、この手の仮想化技術は、ハードウェアに仮想化をサポートするための機能があり、それを使って、大きなオーバーヘッドが生じない仮想化を実現させている。 そのハードウェア仮想化の上で、ユーザーごとにゲストOSを実行している。つまり、これはOS外の仮想化である。 OSとは何だったのか。 我々は何十年も、OS内で仮想化を実装してきた。ひとつのコンピューターを複数人が使うという状況で、ユーザーとかアカウントという単位で仮想化を実現してきた。また、ファイルアクセスに権限を設け、ユーザーごとに柔軟に設定できるようにもした。プログラムはプロセスという単位で、他のプ

  • Linus、CPUの信頼性について語る

    CPU reliability (Linus Torvalds) 2007年のLinusのメールだが、Hacker Newsで話題になっていたので。 From: Linus Torvalds <torvalds@linux-foundation.org> Newsgroups: fa.linux.kernel Subject: Re: [patch] CFS scheduler, -v8 Date: Fri, 11 May 2007 16:52:21 UTC Message-ID: <fa.oZhj8hj7kSDLnitsqrEJcRJN+RE@ifi.uio.no> On Thu, 10 May 2007, Pavel Machek wrote: そもそも、今のCPUは300年も稼働するようには設計されていない。50年以上稼働するハードウェアが設計された後で考えても遅くはない。 そうだな

    nanakoso
    nanakoso 2013/12/10
    GPUは厚みに制限があるのでどうしても無理がくる。本当ならCPUと同じくらいの大きさのヒートシンクがついてないとおかしい。
  • C99の複素数ライブラリがクソすぎる。

    C99では、複素数ライブラリが採用された。たとえば3.0 + 4.0iの複素数を書きたい場合、GNU拡張では、以下のように書く。 #include <complex.h> double _Complex x = 3.0 + 4.0i ; complex.hをincludeすれば使えるようになる。見た目はそのまんまだ。 これはGNU拡張であって、C99の規格による正式な書き方は以下の通りだ。 float _Complex x = 3.0 + 4.0 * _Complex_I ; _Complex_Iは、"0+1i"を意味する虚数単位定数であり、にかければ任意の虚部を表現できる。あとは実部を足せばいい。 どうやら、C標準化委員会は、まともな名前を考えつかなかったらしい。まあ、大方のきれいな名前は、既存のソースコードと衝突してしまうから、アンダースコアに大文字で始まる予約語を使うしかないのだろう

    nanakoso
    nanakoso 2013/11/13
    罠 #define I _Complex_I
  • うっかりチューリング完全になっちゃったもの

    Accidentally Turing-Complete ― Andreas Zwinkau 来なら、チューリング完全となるべきではなかったものがある。これは、そのようなうっかりチューリング完全になってしまったものの例である。 C++テンプレート 当初はチューリング完全を目指していなかったが、C++テンプレートはチューリング完全になってしまった。その証明は、この論文にある(PDF) x86 MMU x86のpage fault handlingは、単純なマシンの実装に使える。原理としては、page faultが1 wordをスタックに積み、それによりアンダーフローを起こして別のトラップを生成する。この仕組みは、「減算して0以下ならば分岐」処理を実現する。チューリングマシンを実装するには十分である。デモ動画、講演動画 マジック・ザ・ギャザリング マジック・ザ・ギャザリングはカードゲームであ

    nanakoso
    nanakoso 2013/10/20
    うっかりチューリング完全(意図せずにチューリング完全になってしまったもの) チューリング完全のざっくりした説明はニコニコがわかりやすい http://dic.nicovideo.jp/a/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E5%AE%8C%E5%85%A8
  • オンラインブックマークという移り変わりの激しいWebサイトについて

    オンラインブックマークというサービスの価値に、私は当初、懐疑的だった。だが、実際のところ、ブログのネタを探す目的には、非常に役に立っている。 大勢の人間が、わざわざオンラインブックマークをするからには、そのURLには、大勢の人間の興味を惹きつける、何らかの要素がある。それがいいものにせよ、悪いものにせよ、だ。とくに、個人が最近書いた秀逸な技術的なブログ記事などは、このようなオンラインブックマークで話題にならなければ、なかなか見つけにくい。 日語圏では、このオンラインブックマークは、はてなブックマークが事実上独占しているようだ。ただし、はてなブックマークは、英語圏のオンラインブックマークが提供している、ある根的な機能が欠けている。フォーラムだ。はてなブックマークのコメント機能はとても貧弱で、到底、汎用的なフォーラムの代替とは成り得ない。英語圏で有名なオンラインブックマークは、いずれもフォ

    nanakoso
    nanakoso 2013/09/30
    システムに考えなしにユーザのニーズを全部とりいれるとコミュニティが崩壊する(こともある)
  • なぜいまだにコミケを開くのか

    この日には、「コミケ」という慣習的な催しがある。私は行ったことがないし、よく知らないのだが、何でも年二回ほど、東京のビッグサイトとかいう施設を貸しきって行われているそうだ。 聞くところによると、この「コミケ」では、「同人」と呼ばれる、手作りの作品(多くはマンガであるが、小説やソフトウェア、彫刻、あるいは独自のプリントがされたシャツやキーホルダーなどといった作品もあるそうだ)を展示し、また販売しているそうだ。この作品の質は玉石混合で、中にはプロの印刷屋に依頼して美しい印刷製の作品もあれば、普通のプリント用紙に個人用の簡易なプリンターで印刷して、ステイプラーで止めただけといった作品もあるそうだ。 大多数の作品は、後者のような簡易的な個人製作のもので、その価格も、原価程度だそうだ。 聞くところによると、この「コミケ」は、大変有名な催しで、全国から人間が一斉に一箇所に集まり、開催地はさながら芋

  • 最も変わった自然言語

    The weirdest languages 自然言語処理の一環として、最も変わった言語を算出したそうだ。 変わった言語スコアを算出するために、21種類の言語機能について、多数派の方法ではない文法を使っている言語が高く評価されるようにした。 スコアの結果はともかく、いくつか紹介されている自然言語の文法が興味深い。 例えば、語順はSOV型の方が多いので、英語のような広く使われている言語は、全体からみると変わった言語であるというのはよく知られているが、他にもいくつか変わった文法が紹介されている。 イエスかノーで答えられる疑問文の文法で、多数派なのは、どこかに特別な疑問助詞を追加する文法だ。たとえば、日語の「か」のような文法が相当する。 か(疑問文) 英語では語順をひっくり返すことで疑問文にする。 This is a cat. Is this a cat?(疑問文) もちろん、英語でも

    nanakoso
    nanakoso 2013/06/30
    疑問文と肯定文の違いがまったく無いって、その言語に質問とか問い合わせとかの概念自体あるんだろうか。
  • Windows要件を満たしたPCで、Microsoftの屈辱的なライセンスに同意せず別OSを使うのが困難な状況

    Windows要件を満たしたPCで、Microsoftの屈辱的なライセンスに同意せず別OSを使うのが困難な状況 [Phoronix] Windows 8 Hardware Has Another Problem For Linux mjg59 | Secure Boot isn't the only problem facing Linux on Windows 8 hardware マイクロソフトの不自由なライセンスへの同意を強要するWindows 8を動作させるハードウェア要件として、セキュアブート(Secure Boot)とファーストブート(Fast Boot)がある。 マザーボードのファームウェアがブートローダーの署名を検証し、ブートローダーはそこから先のOSやらドライバーやらの署名を検証し、未署名のコードが特権モードで実行されないようにするというのが、セキュアブートの仕組みだ。セ

    nanakoso
    nanakoso 2013/05/31
    「ファームの設定が特定OSに依存するのはよろしくない」
  • NTFSのAlternate Data Streamとrarアーカイブによるマルウェア隠し

    Why questionable downloads use rar archives : Len Boyette NTFSには、Alternate Data Streamという機能がある。これは、ファイルに複数のストリームを関連付ける機能で、主となるストリーム以外は、基的にあまり表に出ない。Windowsはファイルのメタデータを保存するのにこの機能を使っている。例えば、インターネット上からダウンロードしたファイルに対して警告を発するのも、特別なAlternate Data Streamを付加しているからで、ファイルのプロパティからこれ以上警告しないという設定するのは、このストリームを削除するという事である。 Alternate Data Streamは、ファイル名の後ろにコロンをつけることで使える。例えば、"example.txt"という名前のファイルがある場合、"example.tx

    nanakoso
    nanakoso 2013/04/16
    rarは危ない
  • 様々なUNIX環境のecho.cの比較

    UNIX V5, OpenBSD, Plan 9, FreeBSD, and GNU coreutils implementations of echo.c UNIX Fifth Editionのecho.cは、以下のような実装になっている。 main(argc, argv) int argc; char *argv[]; { int i; argc--; for(i=1; i<=argc; i++) printf("%s%c", argv[i], i==argc? '\n': ' '); } いかにも昔のC言語らしいコードだ。ヘッダーの#includeはなく、関数の戻り値の型も指定されない。仮引数の型も、今となっては物珍しいだろうが後書きだ。 OpenBSDのコードは以下の通り。 /* $OpenBSD: echo.c,v 1.7 2009/10/27 23:59:21 deraadt

    nanakoso
    nanakoso 2013/04/10
    やりすぎ