* はじめに [#s7d3da65] 2018/4/22に実施された技術書典4での購入物などのメモと感想などをまとめます。あと半分は愚痴ですよー。許してほしいのですよー。&br; 整理の都合上敬称略ですので、ご容赦願いします。&br; よくよく考えると感想並べるよりも紹介を一文書けよと思うのですよ。書くのですよごめんなのですよ。&br; &br; 現地に行くまで技術書''展''と勘違いしていました。展覧会じゃなくて、イベントそのものが一冊の本(典)なのね…。&br; ---- #contents ---- * 事前情報 [#lb87a2d7] 公式HP:[[https://techbookfest.org/]]&br; イベント情報:[[https://techbookfest.org/event/tbf04]]&br; Twitter検索:[[https://twitter.com/search?q=%23%E6%8A%80%E8%A1%93%E6%9B%B8%E5%85%B8]]&br; * 入場まで [#zb381142] ** 入場について [#fa347d76] 入場時間間違えました。サークル入場は10:00からで、一般参加は11:00からでした。&br; 一方一般参加の整理券頒布は10:00から実施されました。9:00から並んでいた勢もいますが、一度解散指示があったことがTwitter上で言及されていました。&br; ** 整理券 [#f5601b46] 告知通り、整理券が頒布されました。私は650番でした。&br; 一回目の入場で200番まで開放され、約5分毎に100番づつ開放という形でした。(もっとはやかったかもしれません。)&br; 整理列を作り、それを会場に入れ込む形でしたので、遅れると次の列に並んで入場という形になることもありました。&br; 自分は900番までの列に並び入場しました。650番でしたので別途先に入れる案内もありましたが、並んでいたほうが整理しやすそうでしたので、並ばせていただきました。&br; ** 透明スタンプ [#tbf58214] 謎、何あれ?&br; 外で待っていたら体が暑くなってわくわくする気持ちが止まらなかったので淫紋の可能性がある。&br; ちなみに気温は29℃(!?)でしたが、体が暑くなったこととの因果関係は不明瞭な状態です。&br; * 購入物 [#wa1d6511] ** 技術季報2018SPRING [#lb38bfa0] tech booster 達人出版会&br; &br; 完売したのこと、めでたい。&br; 公式本が完売するのは基本的に珍しいのでは?相当数あったはずである。&br; ** 電子決済できるかな?―導入と現状― [#k89d39f1] とこしえ工房&br; &br; 電子決済が出来るようになるまでの道のりが記載された本である。&br; 個人的に電源周りをどうしているのかすごく気になっていたので、その詳細と努力が記載されていて面白かった。簡潔に書いてしまうと、お金を払って物理で殴る作戦でした。&br; また、JCBカードの決済ができなかったのだが、その詳細もこの本に記載されている。&br; 決済端末の設置は、責任のある法人が担い特定の場所で使い管理することも含めてセキュリティとなっているため、何故個人での運用ができるのかさっぱり分からなかったがその詳細もこの本にある。某猫系のサービスで貸し出していたらしいのだが、2015年にストップがかかったようである。&br; なお、当日はJ-MupsのCCT+Castle-VEGA3000のRWで、IC決済の実施が出来た。ContactlessはどこのRWかは分からなかった。ちなみにこの構成に関してこの本には言及はなかった。&br; ** 脆弱性ってなんだろう? ~CVSSを知ろう~ [#q52bfdad] なつよ(@infragirl755)&br; &br; CVSSについてわかりやすく漫画で書いてある本です。&br; CVSSは評価基準がえいごでわかりづらいので簡単に例示して図解しているので、直感的(経験的)に理解しやすいです。&br; &br; Common Vulnerability Scoring System&br; 共通脆弱性評価システム&br; CVSSでかねてからの疑問なのですが、基本的にOpenSoftwareに適用されるものであることが前提なのですよ。しかし、OpenSoftwareなんていうのはBuild Optionがいっぱいあり、そもそもExploitabilityがターゲットのビルド環境によってはゼロということもあるのですよ。他の本で出てくるHardeningとこの評価方法は相性があまり良くないと思うのですよー。&br; あとは、ハイスコアだったからどうするのこうするのとかいうのが実はあんまり分かりづらいのですよー。ハイスコアだったらいつまでに対応するとかそういうのは、各社が決めないとならないのですよー。&br; ** バグ票コミュニケーション アンチパターン・ランゲージ 草稿版 [#s51c02dc] バグ票ワーストプラクティス検討プロジェクト&br; &br; フォースって何…?→対象の問題事象の原因や影響?&br; &br; コミュニケーションロス、教育ロスにおける品質への影響は、時間とお金をかけないと解決しないのが普通なんだよ!いい加減にしろ!ということを具体的に理解できる本。&br; この本を読めば相手に説明することが出来るようになる。&br; ただ、文脈という欄にストーリーが記述されているが、それより1段階粒度が高いものが例示となってしまっているため、どういうケースなのかを端的に自分で言い換えながら読んだほうが理解度が高くなりそう。&br; グレート合体BTSロボ:プロジェクト立ち上げ時にバグ管理票が複数存在するケース&br; 西と東の名探偵:別々にBTSに同じ修正内容が上がるケース&br; いじわるばあさん:モチベーション低下要員がいて、そいつを排斥出来ないケース&br; バグピンポン:文化的背景が異なったり、はじめてチームアップする初心者がいるケース&br; とかかなぁ…。&br; 本格的なテストからは離れているんですが、再現方法を貰って設計側が修正方法を理解できないとバグ除去ってめんどいですよね。&br; &br; おーけーおーけー、何言ってるか分からんってメールする前に電話しよ。相手も恐らく自分が何言ってるかわかってねーから管理者飛ばして報告者にコアを聞こう。&br; &br; 自分の知っているテスト炎上ケースは、そもそも仕様書に仕様が書いてないことが原因なのですが、それについてアンチパターンはなかった。良かった!きっと自分だけなんだ!&br; あと、テスト前にそもそもわざわざ複雑なものを作るな!!!そこ全部単純化できるじゃねーか!!&br; &br; ** ファジング本 AFL編 [#x31c2b81] らいるぐだぐだ自宅研究所&br; &br; 思うのですが、CRCやHashなどで値の正当性をチェックし、弾いた場合なにも応答を返さないシステムの場合、ファジング(特にダムファジング)を構成するためにいろいろ前提知識が必要なのですよ。その場合、そもそも外部からのランダムアタックには耐性がある程度あるわけでして、そうではなくて明確な破壊シナリオを用意しなくてはならないのではかと思うのですよー。&br; 一方、パケット(電文)データに暗号学的な認証が必要なものはそもそもアタックに対して耐性を持っているわけで、それこそどんどん普通のテストに近づいちゃうのですよ。ここの境界の解釈が全然出来なくて、結局Expert(Developer)による有意な総当たり攻撃シナリオを用意するのですが、それってマジモンの意味があるのかよくわからんのですよー…でも不具合は見つかるから不思議ねー。&br; この本においてはP3のWebアプリケーションへのファジングとして示唆が与えられているのですよ、やっぱり難しいというか、解釈齟齬が生まれる領域ではありそうなのですよ。大変なのですよ。助けてほしいのですよ。&br; AFLを使う場合にはうぶんちゅからインターネットに対してダウンロードをかける必要があるのですよ。ですので、うぶんちゅを使うとなるとあぷとげっと投げないとならないのですよ。VirtualBoxやVMWareからInternet環境に通すのが大変な環境はそもそも開発環境ではないのですよ。ローカルダミーサーバやファイル偽装をしてまでインストールするのは非常に骨が折れるのですよ。諦めたほうがいいのですよ。その場合、それはもうあなたの領域じゃないのですよ。あなたは定義上開発者じゃないのですよ。死んでからでは遅いのですよ。&br; &br; この手のツールでコンパイラを抱えている場合、死にたくなることがあるのですよ!そもそも一般的なgccなんてつかってねーよふざけんな!互換も用意してねーよ!ってことがおうおうにしてあるのですよ!!前提OS確定したアプリレイヤ開発じゃないとビルド領域によってコンパイラが異なってそのたびに壁にあたるのですよバーカバーカ!!!テストやりたいのに壁が多すぎるのですよ!!&br; あとはクロスでターゲット環境だけで開発するとこの手のツールのインストールで死ぬことになるのですよ。普通にやるのならば必ずクロスの母体でもコンパイルできるように頑張っておくのですよ。その必要性があることはあなたしか通達できないのですよ!!&br; &br; 本の内容に戻ると、AFLの使用の部分でP13に簡単なバッファオーバーフローのプログラムサンプルがあり、それをAFLが解析して、引数のないmain中に記載のある変数bufを因子として抽出していたが、何故これを選べたのがかがさっぱり分からなかった。まぁ実際に動かしてみないと分からないのであろうが…。逆にいうとmain内で定義されている関数全てに対してアプローチをかけているのであろうか?大きいPGになるとどのようになるのかいまいち想像ができない。こういうのは試さないと意味がないので仕方ないが…。&br; &br; ファジングについて理解したい人と、サンプルプロジェクトで実施できるところまで辿り着きたい開発者の方には非常に良い本。逆に品質管理をして既存PJに対して評価を行う場合にはもう少し先の知識も必要となるし、PJによってはAFLの利用は適さないこともあるので注意が必要である。Fuzzingという概念をサンプルを持って学ぶことはできる。&br; AFLは聞いたことはあったが、何者かを調査した記憶が飛んでしまっていたので思い出しつつ読んだが分かりやすくまとまっていた。ファジング好きの人は読んだらうんうん、それもまたアイカツだね!というようにほっこりすることだろう。ほっこりした。&br; &br; ファジングについては定義域が狭い内部の関数に対するアプローチの他、定義域が(比較的)広い外部の開放ポート(TCPやOriginal Protocol)に対してアプローチすることもある。AFLでは派生PJでそれが抑えられていることが本の中に記載がある。 &br; マイメモ&br; ダムファジング:機械的総当たり(Fuzzの選定ロジックが存在しない。)&br; スマートファジング:調整的総当たり(Fuzzの選定ロジックが介在する。)&br; AFL:Americal Fuzzing Lop)&br; ** ソートの本 [#y979a5bf] にじけん / Garbage Collection&br; ** やってみようHardenig [#t2d902e7] ※タイトルは原文ママ&br; goto33&br; ** バグ票コミュニケーション アンチパターン・ランゲージ 草稿版 [#s51c02dc] バグ票ワーストプラクティス検討プロジェクト&br; ** テスコンからの納得できるテスト設計への挑戦 [#d1844925] 人口片吟&br; ** テスト設計入門 2018年度版 [#t55e48f1] 小田部健&br; ** Alchemist Vol.1 [#e33f9a3a] 錬金術 Meetup&br; ** めもおきば Tech Report 2016.12 [#ufd84df0] めもおきば&br; Aki@nekoruri&br; ** めもおきば Tech Report 12 たたかっています Hardening project [#mc117336] めもおきば&br; ** めもおきば Tech Report 201712 [#zd46c45e] めもおきば&br; ** めもおきば Tech Report 2017 8 [#qe0eae1a] めもおきば&br;