年末なので、今年1年を振り返ってみようと思います。
1月
だそうです...
殴り合いをするとかいうなかなかハードな初夢をみた
— /dev/zakki (@zakki0925224) 2023年1月1日
my new gear...
— /dev/zakki (@zakki0925224) 2023年1月7日
ということでモニター2枚目 pic.twitter.com/raVsjmiD9O
2月
確かデータサイエンスの授業の期末課題で取り扱ったネタ。徹夜でやってたのを覚えている。内容はしょうもなかったけど一応高評価をもらえた。 マルチスレッド実行が上手く行かなくてシングルでやったので、データの加工にクソほど時間を要した。
CVE Listをデータ分析のネタにしたいんだけど、CVE Detailsにあるようなプロダクト名とベンダー名はどこから入手すればいいのか(現状Descriptionの正規表現で分類しようとしてる)
— /dev/zakki (@zakki0925224) 2023年2月5日
なるほど
— /dev/zakki (@zakki0925224) 2023年2月5日
NISTからCVE ListをダウンロードすればもれなくCPEとかいう識別名がついてくるから、それをPythonのライブラリで分類すればいいのか
エスケープ処理をすっかり忘れてたので20万件のデータを生成し直してる
— /dev/zakki (@zakki0925224) 2023年2月11日
唸るpc、進む時間、終わらない課題
— /dev/zakki (@zakki0925224) 2023年2月12日
今まで類を見ないほどのひどい課題を締切が近いので仕方なく提出した(一週間前に戻りてぇ〜)
— /dev/zakki (@zakki0925224) 2023年2月12日
この時期特有の電気使い過ぎ問題。
ブレーカーが落ちたのでもう今日はコード書くのやめる
— /dev/zakki (@zakki0925224) 2023年2月15日
あーあ今年もブレーカーが落ちる季節がやってきた
— /dev/zakki (@zakki0925224) 2023年2月15日
3月
DTM、楽しいけどやる時間がなさすぎて結局趣味にはならなかった。
「0円DTM」が新しい趣味になりそうな予感
— /dev/zakki (@zakki0925224) 2023年3月6日
というか今のところ金はかからないのに時間がアホみたいにかかる趣味ばっかやってる
この頃ずっと自作OSのUSBドライバの実装に取り組んでた。ちなみにノートPCのキーボードは今でも(仮想?)PS/2制御だということを大分後に知った。
どうしてPS/2サポートを終了したんですか??
— /dev/zakki (@zakki0925224) 2023年3月10日
USBドライバを自作しなければいけないのですが(泣)
久々にお絵かきをしたり。
動いてないのに暑いよ~… pic.twitter.com/eRTpchfN1I
— /dev/zakki (@zakki0925224) 2023年3月11日
人生で最も長時間プレイしたゲームがHearts of Iron IVで、そんな感じのゲームを自作してみたくなった。
netural earthで配布されてるshapefileを取り込んで世界中のプロヴィンスをunityのgame objectとして出現させることに成功した(インドの先端部分のプロヴィンスはメッシュがバグって表示されてない)
— /dev/zakki (@zakki0925224) 2023年3月17日
属性テーブルとも紐付いているのでプロヴィンスの情報も見れる pic.twitter.com/u7d9V1WunV
luaでstateの定義を反映できるようになった pic.twitter.com/hM1Py4wSzU
— /dev/zakki (@zakki0925224) 2023年3月21日
こういうのがあるので自作OSのデバッグと同時並行してQEMUのソースコードを読む会が行われている。
virtual boxだと動くけどqemuだとうまく動かない問題が多すぎる
— /dev/zakki (@zakki0925224) 2023年3月23日
4月
ぼざろの影響で聴き始めた。個人的にはアフターダークが一番好き。
最近アジカンを聴き始めた
— /dev/zakki (@zakki0925224) 2023年4月3日
(QEMUのソースコードを読みながら自作OSの実装の)何を間違った それさえも わからないんだ ローリング ローリング
— /dev/zakki (@zakki0925224) 2023年4月4日
Cのプリプロセッサで遊んでた。
nano使いお嬢様ですわ〜〜!!! pic.twitter.com/z5vOX4CKXb
— /dev/zakki (@zakki0925224) 2023年4月17日
ELFデバッガーを自作してた。
elf-debuggerなのでgdbならぬedb pic.twitter.com/RLBlDEyEf3
— /dev/zakki (@zakki0925224) 2023年4月27日
symbol tableが取得できるようになった pic.twitter.com/t1YbAnybts
— /dev/zakki (@zakki0925224) 2023年4月27日
シンボル名からアドレスを確認できるようになった pic.twitter.com/dpAGhSqzAy
— /dev/zakki (@zakki0925224) 2023年4月28日
5月
ELFデバッガーの自作でptraceやforkを学んでたりした。
なるほど
— /dev/zakki (@zakki0925224) 2023年5月5日
forkを実行した瞬間から親と子で同時に処理が再開されるんだ
自分が親なのか子なのかを戻り値で判断してるっていうことか pic.twitter.com/g468YagXxX
来たわね
— /dev/zakki (@zakki0925224) 2023年5月7日
breakpointで一時停止と再開をできるようになった pic.twitter.com/xoXOQMxx20
こんな感じか pic.twitter.com/MaXfK3T7BN
— /dev/zakki (@zakki0925224) 2023年5月8日
2度目のセキュリティ・キャンプに参加するために応募課題を書いてた。この悩みは結局杞憂だったが、hsjoihs氏に名言を教えてもらった。
#seccamp
— /dev/zakki (@zakki0925224) 2023年5月15日
いまこのことを考えてモヤモヤしながら応募課題やってる
初回参加ってアドバンテージになりそうだし流石に負けちゃうかなぁ https://t.co/fG98uNvVFO
「応募できるレベル」という言葉にはかなりキレたくて、そんなものがあるなら応募資格に明記されているべきであり、仮に暗黙的に存在するとすればそれは運営が誹りを受けるべきであって、勝手に萎縮する理由には絶対にならない
— sksat (@sksat_tty) 2022年4月14日
この「作業」というやつが運命の分かれ道だった。
セキュキャン応募課題の締切3日前にしてやってみたい作業を思いついたのでやってみることにする(これが締切駆動かぁ〜~)
— /dev/zakki (@zakki0925224) 2023年5月19日
具体的に何をやっていたかというと、応募したゼミがZ2の「Rust製Linux向けアンチウイルス実装ゼミ」で、当時は「アンチウイルスに興味はあるが仕組みが全くわからん」という状態で応募しようとしていたため、せっかくなら少しでも実際に手を動かして勉強してみようと思い、リアルタイムマルウェア検知機をChatGPTに質問しながら作り、応募課題にその進捗状況や感想を書く欄もないのに無理矢理ねじ込んだ。 内容はシンプルで、inotifyによるディレクトリ内の変更検知、変更があったファイルの表層解析、ELFバイナリの静的解析を行っている。静的解析に関してはこの短時間で難しいことはできないので、脆弱性のあるscanfコードをバイナリから検出するみたいなことをしていた。
ちなみにこの古いtogetterまとめを見て大いに勇気づけられたので、みんなも応募課題を書くときはぜひ見てほしい。
6月
初めてSECCON Beginners CTFに参加した。Beginnersであってもやっぱり難しかった。
勢いでCTFに参加したはいいものの、簡単なリバースエンジニアリングの問題2問ぐらいしか解けなかった...
— /dev/zakki (@zakki0925224) 2023年6月4日
無事に選考通過。よかった~
うぉおお!セキュキャン選考通過!
— /dev/zakki (@zakki0925224) 2023年6月5日
これで2年連続だ!
ついにUSBキーボードの入力にまでこぎつけることができた。ちなみに入力を続けると止まってしまう現象は未だに直ってない。
お?もしかしてこれはキーボードからのデータ受け取れてる?? pic.twitter.com/v16z7eNdwx
— /dev/zakki (@zakki0925224) 2023年6月18日
アセンブラを自作し始めた。結局全然やらずに放置してしまっているので、いつかは再開したい。
_startだけのelfバイナリを自作アセンブラで吐けるようになった
— /dev/zakki (@zakki0925224) 2023年6月27日
ちなみにまだnopとsyscallのパースしか対応してないので、アセンブリに書かれた命令は全部_startに吐き出されるようになってる pic.twitter.com/R6S5NUuEb8
7月
やらかし。メインで使ってたLinuxを破壊した。その後も色々あってメインでLinuxを使うのはやめてWindowsに戻した。今の時代WSL2とか便利なものがあるしね。
/binとかも消えたのでバックアップもできねえわ
— /dev/zakki (@zakki0925224) 2023年7月15日
詰んだ https://t.co/YvIOyGn9OG pic.twitter.com/OCfEJdJzOy
ちょうど事前学習期間だった気がする。
暇を見つけてちょくちょくセキュキャンの作業やってる(あんま進んでない)
— /dev/zakki (@zakki0925224) 2023年7月27日
8月
ついにセキュリティ・キャンプが始まった!
— /dev/zakki (@zakki0925224) 2023年8月7日
おへや pic.twitter.com/F1UH0viQsr
— /dev/zakki (@zakki0925224) 2023年8月7日
本番でもかなり波乱万丈なことをやっていたが、とても勉強になった。
#seccamp
— /dev/zakki (@zakki0925224) 2023年8月8日
2日目の進捗
vmではなく実機で開発しててosをぶっ壊しそうになった
愚かだ...
#seccamp
— /dev/zakki (@zakki0925224) 2023年8月9日
3日目の進捗
なんとか一番の難所は乗り越えたのでよかった
本番はここからや!
全工程の7割をデバッグに割いてしまって他がだいぶおざなりになってしまったけど
— /dev/zakki (@zakki0925224) 2023年8月11日
デバッグによって新たな知見が得られたのはよかった https://t.co/bs6FA4M5C8
去年お世話になった内田さんとhikaliumさんと現地で再開できた。
去年の講師陣と再会できたのはなかなかよかった!
— /dev/zakki (@zakki0925224) 2023年8月10日
やっぱリアル開催は最高だな
田舎の工場事務所で社内SEのバイトを始めた。通勤に車で1時間かかるのはアレだけど待遇が良いので結構気に入ってる。
バイト初日終わり
— /dev/zakki (@zakki0925224) 2023年8月16日
時間感覚が爆速であんまり働いた感じはしない
9月
成人した。結局タイミングがなくてほぼ飲酒してない。
20になりました pic.twitter.com/oGIM6PY49b
— /dev/zakki (@zakki0925224) 2023年9月10日
バイトの初任給でStarfieldを買った。PCのスペックが低くてしょっちゅうフリーズしたり、メインクエストが進行不可になったりしている。悲しい。
my new game... pic.twitter.com/sewnYPMeGh
— /dev/zakki (@zakki0925224) 2023年9月16日
10月
Chromebookをポチった。お絵かきに丁度よくて、こういう持ち運べるのが1台あると結構便利。
my new gear... pic.twitter.com/Ecsc2De8Ti
— /dev/zakki (@zakki0925224) 2023年10月12日
これはchromebookで描いた喜多ちゃん
— /dev/zakki (@zakki0925224) 2023年10月14日
なんか塗り絵っぽくなってしまった pic.twitter.com/T0GVc9cIr6
— /dev/zakki (@zakki0925224) 2023年10月16日
課題やらバイトやらの開発で10~12月はかなり忙しかった。セキュリティコンテスト、ドローンの自動操縦システムを作るなどをしていた。
ここ2ヶ月ぐらい様々な開発の進捗に追われながら生活してる
— /dev/zakki (@zakki0925224) 2023年10月24日
というのを何回か投稿してる
11月
研究開発の課題用でFPGAをやることになったので、Tang Primer 20Kを購入した。思いつきでnand2tetrisを実装している。
nand2tetris on FPGA、一応動いてるっぽくて、プログラムカウンタが更新されてることがわかる
— /dev/zakki (@zakki0925224) 2023年11月26日
シリアル出力と2KBしかないRAMの拡張はちゃんとやりたい pic.twitter.com/3VSuwnOHc6
友達が通っている千葉工大の文化祭に行った。ちぇりーたくあん氏のNAND CPUも実物で見れて感動。色々おしゃべりできたのでとても楽しかった。
高速にのって津田沼までやって来た
— /dev/zakki (@zakki0925224) 2023年11月19日
はははははは直った直った‼️‼️‼️‼️
— ちぇりーたくあん🍒 (@cherry_takuan) 2023年11月16日
NAND CPU完全復活おほほほほ
てなわけで千葉工業大学で開催する津田沼祭で動態展示やる
アセンブラも持ってくからアセンブリ言語に覚えのある方はその場で実行できる様にしておくのでぜひ#only7400 pic.twitter.com/skXzrYs5z5
12月
ひたすらFPGAをやっていた。nand2tetris自体は完成していて、MMIOを実装して機械語からLEDやディスプレイを制御できるように増築工事中。
ついにMMIOを実装してROMに書き込んだ機械語からLEDを光らせることに成功した! pic.twitter.com/cpDXHeHAeh
— /dev/zakki (@zakki0925224) 2023年12月1日
BGとFGの色指定もできるようになった(左下の意図しない色指定はよくわからん) pic.twitter.com/ii9bjbMt2N
— /dev/zakki (@zakki0925224) 2023年12月20日
総括
今年は色々なことに挑戦するという目標でやっていたので、本音を言うともうちょっと密度が欲しかったところですが、おおむね達成できたのではと思います。特に去年もそうでしたが、今年の2度目のセキュリティ・キャンプに参加したのをきっかけに視野がかなり広まったので、とても良い機会だったなと思います。
授業などが忙しくてセキュリティの勉強が全然できていなかったので、来年はちゃんとやります。