StorjでHDDの空き容量を貸し出して仮想通貨を得る【コマンドライン編】

  • POSTS
⚠この記事はブログ移転前のアーカイブです ビットコインやイーサリアムが登場してから色々なコンセプトの仮想通貨が登場しました. Storjコインもその一つです.Storjは世の中のストレージの空き容量をクラウドストレージにしてしまおうというコンセプトのコインです.HDDの空き容量を提供する人にはStorjを報酬として与えられます.StorjはERC20に準拠しており,イーサリアムのアドレスを指定することでStorjが報酬としてもらえます. Storj – Decentralized Cloud Storage StorjでHDDを共有するにはStorj Shareと呼ばれるElectronアプリを使用して簡単に参加できます. が,今回はLinuxサーバーでもHDDを共有できるようにコマンドライン版をセットアップしてみましょう. もくじ 初期セットアップ 1. ディレクトリ作成 2. Ethereumウォレットの作成 Storj Shareセットアップ 1. 設定ファイル作成 storjshare デーモン起動 データの降ってくるタイミング 支払い まだよくわからないことが多し.しかし期待できるサービス 初期セットアップ 1. ディレクトリ作成 コンフィグファイルの格納場所,storjで提供するストレージのディレクトリを作成します. mkdir -p ~/.config/storj mkdir -p ~/share/storj この場所じゃないと駄目というわけではないのでお好きに設定してください. 2. Ethereumウォレットの作成 ERC20対応のEthereumウォレットを作成してください. おすすめはMyEtherWallet 間違っても取引所のDepositアドレスを使用しないでください. MyEtherWalletでの新しいアドレスの作成の仕方はこちらが詳しいです.http://ermis.hatenablog.com/entry/2017/06/26/182417 Storj Shareセットアップ NodeJS及びnpmが必要です.導入してない場合は各ディストリビューションの導入インタラクションを実行してください.

Raspberry Pi やAndroid でAMラジオを発信する

  • POSTS
⚠この記事はブログ移転前のアーカイブです エアギャップネットワーク / コンピュータ というものをご存知でしょうか。LAN、WLAN、BT等の公衆ネットワークから完全に切り離されたスタンドアロンのネットワーク / コンピュータのことです。 このエアギャップコンピュータから情報を抜き出すための手法としてGSMemがあります。 これはコンピュータのCPUとメモリバスの間から発信される電磁波を利用してB-ASK変調したデータを送信することが出来るものです。 普通のコンピューターからAMラジオを鳴らそう system-bus-radio これらはx86 CPU、すなわちintel、AMD製のCPUを搭載したコンピュータでしか動作しません。ボードの形状やCPU命令の発行効率によって動作可能なPCが限られます。 Raspberry Pi で試す ARMアーキテクチャ版を作りました。x86と違ってデータキャッシュを回避する命令がないためデータロード命令を使用しました。 https://github.com/gorillanet/system-bus-radio-neon 上記ソースをクローンし、makeしてください。arm_neon.hが必要です。 raspbianなら apt install build-essential でビルドに必要な者は揃うはずです。 make すると neon という実行ファイルがあるので実行してください。 AMラジオを用意し、1450kHz ~ 1600kHz の間を慎重に合わせてください。メリーさんの羊のメロディーが流れます。 Android でも まだ非公開ですがAndroid でも動作確認しています。しばしお待ち下さい 動作端末を教えて下さい 某所で発表するため詳細は控えますが、是非ご自身の環境で動かしてみてください。もし、リストにない端末で動作した場合は是非教えて下さい。 ※動作の際は電波暗室でお試しください  

Macでスリープ時にバッテリーが減る現象を改善する方法まとめ

  • POSTS
⚠この記事はブログ移転前のアーカイブです El capitanから?よくわからないけどMacのスリープ中にバッテリーがモリモリ減る現象が出るようになった。夜100%、朝80%とかになってたり。MBA2012モデル使ってたときは夜100%朝100%ってくらいスリープ時にバッテリーは減らなかったので、直したいなあと思ってました。原因はいくつかあるので1つずつ潰してみたいと思います。 もくじ Power Napの設定を確認する 詳細な電源設定を確認する SDカードを挿しっぱなしにしていないか スリープ時にもネットワーク接続を許可するオプションを確認 SIPをオフに TCPKeepAliveDuringSleepをオフに 12時間スリープで1%消費まで改善 Power Napの設定を確認する システム環境設定 -> 省エネルギー -> バッテリー の項目で 「バッテリー電源使用中にPowerNapをオンにする」にチェックが入っていないか確認してください。 スリープ中勝手に起きて更新やらなにやらを確認する設定です。自分の環境では既にオフ状態でした。 詳細な電源設定を確認する バッテリー電源で動作させているときに以下のコマンドを実行します pmset -g こんな感じの結果が出力されたでしょうか。 System-wide power settings: Currently in use: standbydelay 1800 standby 1 halfdim 1 hibernatefile /var/vm/sleepimage powernap 0 gpuswitch 2 disksleep 0 sleep 3 autopoweroffdelay 0 hibernatemode 3 autopoweroff 0 ttyskeepawake 1 displaysleep 3 acwake 0 lidwake 1 stanbydelay カバーを閉じてから、スタンバイモードに突入する時間です(秒)デフォルトは10800秒 hibernatemode スリープの状態を選択します。0,3,25から選択します。 各モードの意味についてはここ参照 http://www.

Mac でスリープ時にSDカードを自動アンマウントさせる

  • POSTS
⚠この記事はブログ移転前のアーカイブです Macのストレージ問題を解決する方法にSDカードやUSBメモリを利用する事が多いですよね。最近だとMacの筐体から飛び出さないような特殊形状のSDカードもあります。しかし問題点が。SDカードを挿したままMacの蓋を閉じると完全なスリープに移行せず、スリープ状態にも関わらずバッテリーがモリモリ減っていくことがあります。 対策としてTranscendのJetDrive Lite では、JetDrive Toolboxを導入することでスリープ時にSDカードを自動アンマウントするようなパワーセーブ機能があります。通常のSDカードやMicroSDカード使用者は、Jettisonという600円ほどのシェアウェアを使うことで対策ができます。 いやしかし、自力でなんとかならないものか、、、と思って調べたらフリーソフトウェアとシェルスクリプトで上記機能を実現できたので書き残しておきます。 用意するもの SleepWatcher ( macOS Sierra は2.2以降をダウンロード) http://www.bernhard-baehr.de 以上です。SleepWatcherはMacのスリープ時と復帰時にトリガーして指定のスクリプトを実行することができるソフトウェアです。ソースも付いてくるみたいです。 インストール ダウンロードしたファイルを解凍すると以下のファイルが出てくるかと思います。 ├── ReadMe.rtf ├── config │ ├── de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist │ ├── de.bernhard-baehr.sleepwatcher-20compatibility.plist │ ├── rc.sleep │ └── rc.wakeup ├── sleepwatcher ├── sleepwatcher.8 └── sources ├── Makefile ├── sleepwatcher.c └── sleepwatcher.xcodeproj ├── bb.pbxuser ├── bb.perspectivev3 └── project.pbxproj ターミナルを起動して解凍したフォルダに移動しましょう。 ターミナル上で sudo cp ./sleepwatcher /usr/local/sbin sudo cp ./sleepwatcher.8 /usr/local/share/man/man8 sudo cp ./config/de.bernhard-baehr.sleepwatcher-20compatibility.plist /Library/LaunchDaemons/de.berhard-baehr.sleepwatcher.plist sudo cp .

PHPでつくるシリアルコードによるダウンロードサイト

  • POSTS
⚠この記事はブログ移転前のアーカイブです だいぶ前になりますが,私が企画していたEpic RPG 4という音楽コンピにて作品の受取にダウンロードコード(シリアルコード)を使ったダウンロードページを制作しました.同人音楽でもディスクというモノ以外にスマートな提供方法があればいいなあと思い作りました.(本サービスは参加者向けのみの提供でした.一般頒布向けにコードは発行していません) この記事では(再現コードですが)PHPを用いてシリアルコードによるダウンロードシステムを作りたいと思います. もくじ シリアルコードによるダウンロードサイトとは シリアルコードの仕様 使用する文字 文字の長さ コード出力 ダウンロードしてみる おまけ:reCAPTCHAで総当り対策 シリアルコードによるダウンロードサイトとは つまりこういうことです. コードを持っている人だけがそのファイルをダウンロードできる. コードは推測・総当りしにくい. URL直叩きによるファイルアクセスは不可 シリアルコードの仕様 シリアルコードの仕様を決定します.使う文字とか長さです.提供先の規模に応じて決定します. 使用する文字 基本的にはアルファベット+数字です.コードの発行量に応じて使う文字の種類を決定します. アルファベット大文字+小文字+数字 26+26+10 = 62 アルファベット大文字+数字 26+10 = 36 【オススメ】:1,2から誤読しやすい文字を排除 「I,1」「O,0」「V,U」など などがありますね.コードの発行量が多い(1万超える)場合「大文字+小文字+数字」を選ぶべきでしょう.ただし,可読性と入力のしやすさが低下してしまいます. オススメは「アルファベット大文字+数字」から「誤読しやすい文字を排除」する方法です.36文字から30文字に減ってしまいますが可読性が増します. 文字の長さ 文字の長さを決定します.短すぎても長すぎてもダメです.短すぎる場合,コードを持っていない人が総当りで不正にダウンロードできる可能性があるためです.長さにブレがあるような作り方でもいいでしょう. 長さは8~15桁が良いと思います. 「使用する文字」セクションで「アルファベット大文字+数字」から「誤読しやすい文字を排除」する方法を選んだ方は 15桁~20桁あると良いでしょう.

Avast! 無料版 WEBスキャン機能の脆弱性

  • POSTS
⚠この記事はブログ移転前のアーカイブです 最近見つけたけど僅差で先を越されて報奨金取りそこねた脆弱性の解説をします.既に直ってます. 大手のアンチウイルスソフトには「WEBセーフスキャン」だとか「HTTPSスキャン」とかいう「暗号化されたHTTP通信のスキャン」機能を持つ事が多いです.Avast!無料版にもこの機能が含まれています. このHTTPSスキャン機能に「Avastインストール後,再起動が行われるまで,どのような証明書でも妥当と判断されるバグ」が存在しました. もくじ HTTPSスキャンとは 一度復号→再暗号化 エラーの出る証明書にはどう振る舞う? バグ概要 影響 HTTPSスキャンとは HTTPS通信はそれまで平文通信だったHTTP通信を暗号化する技術です.つまりは盗聴などがしにくくなるということです. しかしアンチウイルスソフトがWEBサイトを検査する際に,プロキシを立ててパケットを覗いても暗号化されているので検査ができません.それでは困るので暗号化された通信でもスキャン可能なHTTPSスキャン機能が登場しました.(ブラウザ拡張機能を用いた手法もあります) 一度復号→再暗号化 では暗号化されたHTTPS通信をどうやって覗き見るのでしょうか.多くのアンチウイルスソフトがとっている手法は復号からの再暗号化です. SSLの仕組みはここで理解していただくとして,Avastがやっていることは,本来クライアント↔サーバー間でやり取りされる通信の間にプロキシ(のようなもの)を立てて,プロキシ↔サーバー間で証明書の妥当性や暗号通信を行うのです. プロキシ↔サーバー間で暗号化された通信は一度プロキシ内で復号され,スキャンされます. そして”Avastが署名した証明書で再暗号化してブラウザに渡す”のです.なのでAvastが入ったPCで(かつHTTPSスキャンを有効にして)ブラウザでhttpsサイトにアクセスすると,本来そのサイトで使われている証明書ではなくAvast発行の証明書にすり替わっているのが分かります. 「Avastの自己署名ならオレオレ証明書として扱われてエラーが出ないか?」となるかもしれませんが,AvastのSSL証明書に対応するルート証明書はAvastをPCにインストールするタイミングでルート証明書もインストールが行われるのでエラーは出ません. エラーの出る証明書にはどう振る舞う? 上記のAvastの動作は「サーバーで用意してあるSSL証明書がクライアントで妥当と判断されている前提」でのお話です.クライアントで用意されている証明書がそもそも「期限切れ」だったり「オレオレ証明書」だったり,所謂**「妥当と判断されない証明書」**が使われた通信であった場合はAvastはどう振る舞うのでしょうか. もちろん,Avastで用意した証明書でもエラーを出すように工夫されています.そうでなければいけません. バグ概要 では発生していたバグの概要です. 「Avastインストール後,再起動が行われるまで,どのような証明書でも妥当と判断されるバグ」 です.どういうことかというと,「期限切れ」・「オレオレ証明書」のような**「妥当と判断されない証明書」**であっても,妥当な証明書として扱ってしまうバグです. このバグ,一度再起動すると発現しなくなります.なので影響は少ないと見られがちなんですが,最近のAvastはインストール後の再起動は不要というなんともむず痒い仕様になったのです.(100年後リブート機能があるくらいだし不思議じゃない) 影響 じゃあこのバグによってどんな影響が出るのか?色いろあると思うんですが代表的なのは ブラウザのパスワード自動入力機能が誤作動を起こしてパスワードが盗まれる といったところでしょう.本来ブラウザのパスワード自動入力機能は最初にログインに成功したサイトしか機能しません.(login.twitter.comならlogin.twitter.comでみたいな) しかし,ChromeなどのメジャーなブラウザはHTTPSエラーが発生すると自動入力は行われません.見た目 login.twitter.comであっても証明書のエラーがでると正規のサイトだと判断されないからです. HTTPSパスワードの窃取テクニックはXSSを使ったりルート証明書を仕込んだししなければならずハードルが高い傾向にあります. しかしAvastのバグによって,適当にオレオレ証明書作ってドメイン偽装してしまえば簡単にブラウザを騙しパスワードを盗み出すことが可能になります. 先程も書きましたが,バグ自体が存在したままでも再起動さえしてしまえば発生しないです.むしろ長くPCに触っていた方なら条件反射で再起動していたかもしれませんね.Windows10のコンシューマー版は強制アップデートと名高いOSですから気付かれにくかったのでしょう.

BugBountyの賞金が口座に振り込まれるまでのメモ

  • POSTS
⚠この記事はブログ移転前のアーカイブです 先日,某アンチウイルスのバグを報告し賞金を頂きました.発見から報告まで自分ともう一人の二人体制でやったため賞金は折半ですが,賞金の引き出しは私がやったためメモに残しておこうかと思います.バグの詳細は修正され次第気が向いたら書きます. HackerOneの賞金支払い方法はPaypalとビットコインの2種類が提供されています.今回ビットコインでの支払いを選択しました.   もくじ 米国用Tax Informationを書く PayPalかBitcoinか PayPal Bitcoin タイムライン 賞金受取からわずか5時間で手元にとどく 米国用Tax Informationを書く HackerOneはアメリカのWEBサイトで,賞金を支払いをするにあたっては受取人が国内だろうが国外だろうが”Tax Information”を米政府に提出する必要があります. HackerOneでTax Informationの提出するのにはそう難しくありません.住所・氏名・サインを所定の項目に入力するだけです.サインは手書きでもいいですしタイプでも良いです.Tax Informationを提出したら受理までに時間がかかります. おおよそ1営業日で承認されますが,予めTax Informationだけ登録しておくと良いかもしれません PayPalかBitcoinか HackerOneで賞金を受け取るにはPayPalとBitcoinの2種類の方法が用意されています. PayPal paypalはPaypalに登録したメールアドレスを使用することでHackerOneからの賞金を受け取ることが出来ます.賞金はPayPal残高にチャージされ,出金手続きを行うことにより登録した日本国内の銀行口座に入金されます. 50,000円未満の出金は手数料250円 HackerOne支払いから口座に着金まで3~6営業日 日本国内PayPalアカウントは「ビジネスクラス」アカウント以上のグレードが必要 となります.着金まで時間がかかることに加え,日本国内では個人間送金・支払い受取の機能が日本の法律に基づき削除されています.日本国内でHackerOneの賞金を受け取るのには使いづらいです. Bitcoin Bitcoinを使用する支払い方法です.HackerOneではBitcoinアドレスによる送金ではなく,coinbaseという取引所のアカウントを通じて支払われます.coinbaseは日本語対応ですが日本国内銀行口座に出金ができないので,日本の仮想通貨取引所にビットコインを移して出金する必要があります. 手数料はTransaction fee + 口座振込手数料 ≒ 410円 HackerOne支払いから口座に着金まで最短4~5時間 年間20~50万円以上の賞金受取は譲渡所得・雑所得の対象となる可能性あり 手数料はPayPalより若干高額ですが,うまく行けば最短4時間ほどで日本円の賞金が受け取れるのがメリットでしょう. PayPalでも言えることですが,高額な賞金の受取には税金が掛かる可能性を考えないといけません.特にビットコインに関する課税は長いこと議論がつきませんので慎重に(このへん詳しくないので間違ってたら指摘ください). タイムライン 日時 アクション 2017/01/10 深夜 HackerOneから賞金$500の支払いが確定 2017/01/11 7:26 HackerOneからCoinbaseへ$500相当のビットコイン受取 +0.

Dirty Cowを使ってDocker から不正に脱出する

  • POSTS
⚠この記事はブログ移転前のアーカイブです 乗り遅れましたが CVE-2016-5195 で報告された脆弱性,通称「Dirty Cow」です.この脆弱性は特権昇格に脆弱性を持ちますが,公開された幾つかのPoCの一つに,Dockerコンテナ内で適用してホストのrootにログイン出来るPoCがあります. コンテナ技術は仮想化技術の一種ですがカーネルをホストと共有させている性質上,カーネル脆弱性には敏感です.パッチ未適用の場合は早急に当てましょう. Dirty Cow PoC Dirty Cow のPoCたくさんあります https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs そのうちvDSO-based root の https://github.com/scumjr/dirtycow-vdso 0xdeadbeef を使用します. 詳細なインタラクションは以下のURLやYoutubeに掲載されていますが少し簡単に https://blog.paranoidsoftware.com/dirty-cow-cve-2016-5195-docker-container-escape/ Docker user? Haven’t patched Dirty COW yet? Got bad news for you 対象コンテナが最低1つのポートフォワードがされている必要がある 対象コンテナ内にログインし, https://github.com/scumjr/dirtycow-vdso をクローンする ifconfigでコンテナのipアドレスを調べる payload.sを編集し,「IP」セクションと「PORT」セクションを3で調べたipアドレス,ポートに書き換える.この際16進数でリトルエンディアンよろしく逆から書くこと makeして実行 Youtube見ると分かるんですがDockerfileが配布されているのでパッチ未適用の環境さえあればすぐ試せます. https://github.com/gebl/dirtycow-docker-vdso まあQEMUのVENOMもそうですが環境を隔離したからといって絶対安全とはいえないし,Dockerなんてそれこそ他人の作ったコンテナを何の疑いもなくpullしている人も少なくないかと思います.本来不要なsshやtelnetが走っていて不正侵入される事例もありますしね.コンテナ内に入られる時点でアレですが,Dirty Cowを悪用してホストに入られたらもうアレじゃすまないほどアレだと思うので,Dockerエンジニアの皆さんはkernel脆弱性もチェックするべきかと思います

大量にCDを生産する時に”焼きミスの混入を防ぐ”方法

  • POSTS
⚠この記事はブログ移転前のアーカイブです 大量にCDやDVDを焼く際にどうしても出てしまう”焼きミス”ディスク.間違って配布させてしまうと対応が面倒くさいし,焼きミスを手にした人に申し訳ないです. 特に同人イベントでCD頒布後,焼きミス混入が発覚してサイトやTwitterで告知・・・なんてのもたまに見ます. 今回自分が実践している”焼きミス混入防止法”を書いていきます. (あくまで自宅のPCで生産するCDの焼きミス混入防止法であり,デュプリケーターや完パケサービスを利用するものは対象外です.) もくじ 全体の流れ 使用機材・ソフト ImgBurnのインストール 手順1.モデルディスク作成 手順2.モデルディスクからイメージの作成 手順3.大量生産&焼きミスチェック あとは焼きあがるのを待つだけ 焼きミス混入を事前に防いで良い同人音楽ライフを 全体の流れ 焼きミスCDを混入させない方法としては,焼き終わったCDをチェック(ベリファイ)することです.しかし,手動でチェックなんてしてたら時間がかかりすぎて現実的ではありません.ここはCDの生産過程で自動でチェックさせるようにしましょう. ImgBurnというソフトを使用して,CDの大量生産と焼きミスチェックを自動で行います.おおまかな流れとしては 音楽CD1枚(モデルディスク)を制作する. モデルディスクをイメージ化する イメージからCDを量産&焼きミスチェックする といった流れです. 使用機材・ソフト PC内蔵型CD/DVDドライブ(自動開閉対応) ImgBurn (Microsoft Windows 専用) ディスクユーティリティソフトである”ImgBurn”を使用します. 外付け・ノートPC内蔵のCD/DVDドライブは自動開閉に対応していないものが多いので,あまりお勧めできません. ImgBurnのインストール ImgBurnは大変便利なのですが,”望まないソフトのバンドル”があり何も考えずにインストールすると広告や不要なソフトがインストールされてしまいます.間違っても次へボタンを連打しないでよく見ながら進めていきましょう. ImgBurn URL http://www.imgburn.com 上記URLにアクセスします. ダウンロード先が幾つもありますが,ここは**Mirror 7 – Provided by ImgBurn**を選択します.ダウンロードサイト経由ではなく,ImgBurnから直接落とします. 落としたexeファイルを起動します.