以下の内容はhttps://security.nekotricolor.com/より取得しました。


「セキュリティエンジニアの知識地図」の感想と、自分の今までのキャリアの振り返り

はじめに

予約して買って読みました。

Xでとりとめなくポストしたものをまとめた記事です。Xの方にはここに書いていないことも書いているで興味のある方はこちらをどうぞ。


本の感想

まずは本の感想を章ごとに。

第1章 セキュリティエンジニアという仕事

「セキュリティエンジニアとは」とか「代表的なサイバー攻撃」などが書かれています。これからセキュリティエンジニアをやる人、興味がある人向けですね。私は現役ですが、読んだ第一印象としては、こんなにあるんだーたいへーんでした。まあ本文にも書かれていますが全部やる必要はないです。個人的には表1.1の「セキュリティエンジニアの歴史」が良かったです。ほんと、この25年で変わりましたよね。何でも屋から専門家へ。

第2章 セキュリティエンジニアの職種

脆弱性診断士とかスレットハンターとか、セキュリティエンジニアと一言でいってもいろいろあり、そういった職種が一通り書かれています。「どこで働けるのか」「初心者にお勧めの仕事」が書かれているのもいいですね。セキュリティエンジニアに興味がある人だけでなく、すでに働き始めて数年、みたいな人にも良さそう。

第3章 サイバーセキュリティの基礎知識

基本用語のほか、暗号と認可/認証のことが書かれています。なぜこの2つだけなんだろう?と思いましたがもっと具体的な話は第4章に書かれているということみたいですね。この章は、これからセキュリティエンジニアとして働くことが決まっている人向けかな。

私も一年前の今頃、これから新卒でセキュリティエンジニアとして働く人向けにエントリを書いたので、該当する方はぜひご一読ください。

security.nekotricolor.com

第4章 組織を守るためのセキュリティ技術

必要な知識をギュッと濃縮した感じの章です。これだけでは足りませんが、全体をざっくり知るには良いと思います。こういうの書くの大変ですよね。一つ一つを完全に理解する必要はないしできないし、私だってしてませんが、とりあえずその単語がどの分野なのかを知っておくのは、今や広範囲になりすぎたセキュリティをやっていく上で重要だと私は思います。その時に必要なものを深掘りすれば良い。

第5章 必要なスキルとスキルセット

こんなに身につけなきゃいけないんだーたいへーんと、第1章と同じ印象を受けましたが、特にソフトスキルについては仕事しながら身につけていくんじゃないですかね。ツールもそうだな。前半のネットワークやCSの知識は無いと全てがフンワリとするので必須と思いますが、仕事をしているとなかなかじっくりとは取り組めない気がするので、早い段階でどこかで時間を作ってやるのがいいと思います。

第6章 セキュリティエンジニアのキャリアパス

職種ごとのキャリアパスは第2章に書いてあって、こっちは資格取得の話やマネジメント職に行くのかみたいな大枠の話でした。私、恥ずかしながら資格って一個も持ってないんですよね。セキスペは持っていたんですが、支援士に登録可能な期間中に無職だったので登録しませんでした。今はもう仕事と家庭を回す以上のことはできないので、このまま資格0でキャリアを終えそう。あ、今や存在しませんがSCSAは持ってます!

第7章 近年のトレンドと将来のセキュリティ

クラウドやAIの話でした。「セキュリティエンジニアとして成功するために」という節がいいですね。業界での認知とかコミュニティへの参加とか。これはある程度セキュリティエンジニアとしてやってきた人向けですかね。

私のキャリア

ここから自分のキャリアを振り返ってみようと思います。やってきた職種順に書いていきます。

セキュリティシステムエンジニア

2000年に新卒でセキュリティ専門の部署がある民間企業に就職し、最初にやった仕事はサーバー構築と要塞化でした。DNSのBIND、メールのSendmailやqmail、WebのApacheとIIS、FWのFireWall-1などなど。ルータはあんまりなかったな。

DNSとメールはインターネットの根幹をなすサーバーなので、この二つを山ほど構築できたのは非常に良かったです。FWもネットワークの仕組みを知るのに良かった。というかこれがなければ未だにOSIの七階層とかぼんやりとしか理解していなかったかもしれない。この辺勉強した方がいいよって話は前に書きました。今はクラウドで簡単にできますが、やっぱり一度は触っておいた方がいいと思います。

security.nekotricolor.com

要塞化のためにとにかく最小構成にする、余計なものを入れない、という時代だったため、bashすら入れずviとターミナル切り替えを駆使しながら構築していて、それもLinuxの操作を勉強できてよかった。Solarisに普通のキーボードをシリアル接続して、breakをどうやって送ればいいか分からずサポートに電話したのは良い思い出。

脆弱性研究者/エクスプロイト研究者

次にやっていたのは未知の脆弱性探しとシェルコード書き。私が名実共にSolarisの女王となった?所以です。SPARCのシェルコードをgdbとviで書いていました。gdbって素のgdbですよ。今考えると正気の沙汰じゃないです。でもまあ当時はスタック領域でもコード実行できたしASLRもなかったので、書きやすくはありました。SPARCはメモリウィンドウとかdelayed slotとか機能が素晴らしくかつわかりやすく、8086より勉強しやすいのも良かったです。

セキュリティコンサルタント

コンサルタントは書籍の各職種のキャリアパスとして書かれている職種です。確かにエンジニアとはちょっと違いますね。

コンサルティングは辛かった思い出しかないです。今ならもっとうまくやるんでしょうけど、技術的に正しいことと客が受け入れられることのギャップが激しすぎて心折れそうでした。まあJavaScriptを無効にするなんて当時だってユーザー企業じゃできませんよね。リスクと対策のバランスみたいなのは20代には難しかったです。

このころ会社がISMSを取得するということで、そこに関われたのも良かったです。資産の洗い出しと分類の大切さと大変さが実感できて。セキュリティ企業ですらあれだけ大変なので、普通の民間企業はもっと大変でしょうね。最近なんか新しくなってたし。

教育

本には職種としてはありませんが、セミナー講師もやってました。学生時代は人に関わる仕事とか絶対無理と思っていましたが、人事の人にほだされて新人研修やってハマって、社外セミナーもやるようになりました。まだVMとかなかったからHDに環境コピーしてでも当日必ずトラブって、でその辺のトラブルシュートの知識も得られたのは良かったです。

教育には完全にハマってしまい、この後青年海外協力隊に参加して中米の工業高校にLinuxを教えに行きます。協力隊に行くために退職するまでで4年ちょいなので、相当駆け足でいろんなことをやっていますね。書籍に「セキュリティエンジニアの歴史」という年表があり、そこにも2000年前後は「幅広い業務を担当」とある。少しずつ専門性は出てきた時期ですがまだまだ何でも屋でした。

協力隊からの帰国後は結構迷走していて、バイトを掛け持ちしたりしていましたが、この後のキャリアを決定づけた仕事があって、それが偶然にもセキュリティエンジニアの知識地図の監修者である上野さんとやったお仕事。人様との仕事なので内容は書かないけど文書の作り方とかすごく勉強させてもらいました。

マルウェアアナリスト

ここからしばらくは公的機関で働いています。直前まで教育とかのちょっと上位レイヤに食い込んでいたんですが、ゴリゴリのエンジニアに一度戻ります。といっても実際の分析からは早々に手を引いて、傾向分析の方に夢中になっていました。とにかくExcelをいじってるだけで幸せなんですよね私は。統計取るの大好き。それを、先述の文書の作り方の知識を駆使して報告書に起こして好評いただいたりして、文書作るの好き&得意かも?と思い始める。

この時いた組織は超ホワイトで、仕事に対する考え方も変わりました。言葉ではっきりと自分の能力を評価してくれたのもここが初めてでした。ただ残念ながら、体壊して辞めしまいました。これも今ならもっとうまくやってたと思うんだけど、変にまじめだから体壊すまでやってしまった。なのでここでいったん私のキャリアは完全に断絶します。

リサーチャー?

ひたすら寝て、少し元気になったら猫のいる公園に行って、もう少し元気になってからつくばに帰って、母校でバイトして、東日本大震災があり、ポリテクに通って、結局セキュリティしかできんということで研究機関に契約職員として入所しました。

ここではとある文書を作ってそれが結構な評判になり、論文も契約職員では珍しくファーストオーサーとして書いりしていました。職種はリサーチャーってことになるんですかね。書籍にある「セキュリティリサーチャー」とはちょっと違いますが。この辺からこれっていえる職種じゃなくなっていく気がする。

論文は学生のころ以来で、しかも学士しか持ってないので人生2本目でした。ここでじっくり書き方を学べたのはすごい良かったです。未だに報告書は論文の章立てを基本に作っていてだいたい外さないので、みんな論文を書くといいと思います。契約職員で週何日働くか自由自在だったので、週4とか3にして外の活動に精を出したりしていました。CTF for Girlsの講師をやったり、本の翻訳をしたり、地域の活動に参加したり。ブログも結構精力的に更新していた時期です。でも結婚して妊娠もしたのでまたここでキャリア断絶。妊娠も出産も産後もほんとおおおおおに大変で3年くらい何もできませんでした。臨月~産後数か月休むだけで仕事に復帰できる人がいるの信じられない。

ライターもどき

多少回復してきたところで、業務委託で、結構な規模のセキュリティ教育の案件があって、その講師の人たちに話を聞いてまとめる、みたいな仕事をやりました。ライターもどきですね。この仕事がとてもよかったのは、昔一緒に仕事をした人たちや会社の後輩に再会できたこと。10年以上ぶりに会って、今でもセキュリティ業界でしっかり活躍していることにすごく刺激を受けました。あとやっぱこの業界好きだわ~って思った。なんだかんだいっても、こんな業界に長くいる人はそれなりに世間をよくしたいみたいな思いを持ってる人が多いんですよ。それがすごいいいなと思った。

あと、フリーランスは無理だなっていうのをこの業務委託で痛いほど実感しました。フリーランスになりたいと思っていたわけではないんだけど、体調とかいろいろ考えると会社勤めはもう無理そうだなと思っていて。でもフリーランスは替えが効かないので、こっちはこっちで全然無理だわと。

どうしようかと思っているうちにコロナ禍が来ました。子供の保育園が閉鎖されたりして仕事どころではなく、ただ翻訳は前述のライター仕事をしているときに誘われたのでやっていました。私は基本的に誘いはよっぽどのことがない限り断らないようにしています。翻訳なら家で隙間時間で何とかできるのでありがたかった。

何でも屋に逆戻り

コロナ禍でフルリモートの仕事が増えているのでは?と思い立って就職活動して、民間のセキュリティ企業に就職しました。今もその会社にいます。ここでの職種は何とも言い難い。難しい仕事や新しいことを引き受けて何とかする人、みたいな立ち位置です。何でも屋に逆戻りですね。書籍で言うところの「スレットハンター」にギリ引っかかるかなーと思いましたが、IoCとかそういうのを見ているわけではないのでなんか違う。やってきた案件としては調査研究が圧倒的に多くて、最近R&Dの部署に異動して現場仕事からは手を引き、インテリジェンスの人になりつつあります。余談ですがDeep Researchみたいなのが出てきて、情報収集とその加工は丸投げできる時代が来そうでワクワクしています。
今後はインテリジェンス案件に顔を出しつつ、社内の環境整備をしてR&Dにつなげていく、みたいなことをするのかなと思ってます。まあでもどうなるか分かんないですけどね。状況が許す限り、人に求められかつ自分ができる仕事をやっていくだけです。

終わりに

職種をまとめると、


セキュリティシステムエンジニア→脆弱性研究者/エクスプロイト開発者→セキュリティコンサルタント→教育→マルウェアアナリスト→リサーチャー?→ライターもどき→何でも屋(インテリジェンスの人)


という感じですね。なんか後ろの方が曖昧過ぎるけど年取ると何でも屋に収束していきますよねみんな。でもなるべくしてなっている感じはありますね。ここに書いたキャリアのすべてが一つも無駄になっていないと自信を持って言えます。人間万事塞翁が馬。

なお、このエントリは職種を軸に書いていますが、もう少し広い人生そのものの話も以下でまとめていますのでご興味のある方はぜひご一読ください。

www.nekotricolor.com

セキュリティに関する情報源を整理してみた 2025年版

以前公開↓してから5年経ったので更新しました。

security.nekotricolor.com

脆弱性情報は最近は追っていないので消しました。定常的に見にいくというより、何かを調査する際にそれほど疑う必要のない信頼性の高い公的機関や一次情報のリストという感じです。

目次

政府機関

国内

国外

セキュリティ関連団体

国内のみ。

ベンダー

国内外問わず。

シンクタンク

国外のみ。

終わりに

いま自分が何に注目しているか分かって面白い。五年だと情報が古くなりすぎるので、二年に一度くらいは更新したい。

小泉悠「情報分析力」を読んだ

はじめに

読みました。

Xでもよく見る方の本。「サイバースペースの地政学 (ハヤカワ新書)」がとても面白かったので買ってみたのですが、あまりに「ですよね!!!」なことが多すぎてハイライトのメモが「わかる」だらけになっています。

以下、短いですが読んで感じたことを書きます。

バックグラウンドを知ることで得られる「違和感」

本書では繰り返しバックグラウンドとなる情報が大事だと述べられています。

私のような、調査研究を主にやっているセキュリティエンジニアは、必ずしもサイバーとは関係がない事項についても押さえておくべきであると常々思っています。

例えば某国は決まった時期に日本にサイバー攻撃を仕掛けてくるのは、過去のその時期に日本絡みで何かが起こっていたりするので、注目する国のその手の日は把握しておくべき、とか。旬な話題としては国内の海底ケーブルの陸上げ局がどこかやどこを通っているのかを知っておくべき、とか。

何か起こった時に、「これいつもと違うな」という違和感が持てるかどうかは、この手のバックグラウンドを知っているか否かで決まると思っています。逆に、違和感がなければわざわざ時間を割いて追う必要はなく、業務の効率化にも繋がります。

考えてみると、私は仕事をする際にはいつもこの「違和感」を重要視しているように思います。情報を扱うときだけでなく、報告書を作るときやレビューするときもそう。違和感がある時は論理が破綻していたり、前提を飛ばして自分が欲しい結論を書いてしまっていたりすることが多いです。

違和感を大事にするようになったのは、青年海外協力隊でエルサルバドルに行っていた時、世話役のJICAの人が「帰宅して何か違和感があったら、中には入らずすぐに警察を呼んでほしい。人の違和感は侮れない。」と教えられた時からだと思います。警察も慣れているから何もなくても別に怒られない。何かあれば取り返しがつかないが、何もなければ笑い話にできるから、と。これは私の重要な人生哲学かもしれない。

結局は泥臭く情報を収集するのが大事

最近の私のキーワードは「泥臭く」です。LLM華やかなりし現代、必死になって情報収集しなくても、と思われるかもしれませんが、私はLLMや他社のインテリジェンスサービスを利用する前に、ある程度は自分の手で泥臭く情報収集する期間が必要だろうと思っています。実際、某社のインテリジェンスチームは、立ち上げからずっとメンバーがピックアップした記事の読み合わせをしているそうで、あんなでかいところでもそういうことをやるのね!と嬉しくなりました。「情報分析力」にも、足で稼げとか、まずは自分が教師データになれとか書かれていて、大変心強くなりました。

そうして手を動かさないと、本当に自分の身につかないということなんだと思います。本当に身についたものは、他の何を読んでいても常に底に流れていて必要な時に取り出せるようになる。私も最近広く浅く情報収集していて、中身を完全に覚えていなくても、記録しておくことで「あ、これに関係しそうな記事どっかで読んだな・・」となって読み直すことができます。そしてそれが、一連の攻撃キャンペーンの一端だったりする(ように見える)。そこから新たな仮説が立つ。前述の違和感も同じですね。バックグラウンドが身についているからこそ違和感が持てる。

終わりに

「情報分析力」は、自分のやり方はそんなに間違ってなかったと確認できたのが良かったのと、必ずしも鵜呑みにできないタイプの情報をどう活用するかとか、モニタをデカくしろとか、大変勉強になりました。ただ、この手の記事ってどこまで引用していいかわからないから書きにくい。もっと書きたいことはあるんだけど引用なしで書けない。でも、これみたいに読んで思い出したことを書くのも面白いかもしれない。いずれにせよ、何か読んだら何か書く、を今年の目標としているので、また仕事に役に立つ本を読んだら何か書きます。

春からセキュリティエンジニアとして働く人たちに伝えたいこと

はじめに

歳をとってきて、若手の人たちにいろいろいい残しておきたいけど直接言うと老害になるのでブログに書く試み第二弾。春からセキュリティエンジニアとして会社で働く学生に向けた言葉です。第一弾はこちら。

security.nekotricolor.com

食わず嫌いせずいろんな分野に挑戦しよう

幼稚園の頃からバイナリコードに夢中で・・とかいう人はいいです。その道を邁進してください。高校・大学からCTFやってますとか、なんとなくペンテストに興味があって、とかいう人は、興味のない分野でもとりあえずやってみることをお勧めします。意外な分野で適性があるかもしれません。社会人人生は五十年くらいあります。なるべくいろんなことをやってみて、自分に合っているものを見つけましょう。

できないことを悩まない

入社してしばらくすると、あの人はあんなにできるのになぜ自分はこんなにできないのかってなるんですよねえ。でもその悩んでいる時間、あなたは止まっていて、周りは前に進んでいます。差はどんどん開いていきます。そもそも、入社時点での差というのはそれまでの人生の差ですので、どうしようもありません。悩むのは三十分くらいで切り上げて手を動かしましょう。何をすればいいのか分からなければ先輩に聞きましょう。

分からないことは分からないと言おう

セキュリティ関係なく、技術者としてこれが一番大事だと私は思っています。自分の知識や技術力については誇張も謙遜もしない。お客さんに聞かれたことが分からないなら、調べて後でお答えします、と言っていいんです。

私は研究機関に勤めていたことがあり、そこでは分からないことを分からないと言わないと大変な目に遭うので普通に言うようになりましたが、意外と言えないって人が多いんですよね。特に若手だと。経験を積んでいくと、それは分からないけどこっちには自信があります、みたいな分野ができてくるので言いやすくなるのかもしれない。私なんかもうマルウェア解析もペンテストもできませんよ。でも調査研究や、初めての案件に道筋をつけるのはまあまあできます。そして得意分野でも、やばいと思えば普通にヘルプを出します。そうしないと、いつまでたっても仕事を任せてもらえません。

とはいえ、SSHが何か分かりません、はさすがにまずいです。新人研修で基本的なことはやるはずですので、そこは押さえておきましょう。一つ一つを深く知る必要はまだないですが、IPAの情報セキュリティマネジメント試験レベルの知識は欲しい。

技術力の貯金をしよう

今はもう休日返上で仕事をするような時代ではなく、勉強も業務時間のみ、プライベートな時間は好きに使う、という風潮のようですが、やはり若いうちに勉強しておいて、技術力の貯金をしておくことを私は勧めたい。

すでに子供がいるとか、重い持病があるとかならなんとか仕事を回すことだけを考えましょう。でも、あなたが健康で、一人暮らしで、ケアする必要のある誰かがいないのであれば、つまり自分の時間を全て自分のために使える状態なのであれば、ほんの少しでいいですから、その時間を勉強にあてて欲しい。そうすれば、転職によるキャリアアップはもちろん、何かあって仕事を辞めることになっても、再就職できる可能性がグッと上がるはずです。私は新人の頃に激務でセキュリティの基礎を叩き込まれたことで、四十代でブランクがあってもセキュリティ業界に戻ってこられました。今ならpwnable.twHack The Boxのようなオンラインサービスや、無料の勉強会やカンファレンスなど、もっと余裕を持って、楽しく勉強できる場がたくさんあります。ちなみに私が一時期講師をやっていたCTF for GIRLSでは、女性限定のワークショップをやっています。男性でも参加できるSECCON Beginnersというのもあります。他に個人的におすすめなのは、体験型演習のMicro Hardening、ガチアナリストが集うJSACです。

コミュニケーションを忌避しない

「コミュ力」という単語を忌避する人がいますが、サラリーマンとしてやっていくにはやはり大事です。別に面白い話をしろとか、人の話に気の利いた返しをしろとかいうことではありません。挨拶する、何か教えてもらったらお礼を言う、ミスしたら謝る、そういう人として基本的なことだけできればいいです。それができなくて許されるのは、リーナス・トーバルズレベルの天才だけです。そのリーナスですら、2018年に自らの行いについて謝罪したことがありますからね。

健康に気をつけよう

急に年寄り臭くなりましたがマジで大事です。学部卒だとしたら二十二歳、すでに体力はピークを過ぎ衰え始めています。あなたはあと四十年以上、衰える一方の体に鞭打って働かなければいけません。ちなみにアラフィフの私はいま腰を痛めていて、座っていられないので昇降デスクで立ちっぱなしで仕事をしています。あと二十年くらいあるのにどうすればいいんですかね?ずっと立ってんの?

特に最近増えているフルリモート(弊社もです)、これはいけません。外に出なくなるので二十代でも簡単に腰をやります。一度やってしまうと、治ってもまたやります。散歩でもラジオ体操でもなんでもいいので、運動を習慣にしましょう。

自分がいま痛めているから腰痛について力説してしまいましたが、関節だけではありません。食事にも気をつけないと、若くても血糖値だ尿酸値だが上がります。食事制限は辛いです。避けられるならそれに越したことはありません。会社の健診は必ず受けましょう。

ま、この辺は何言ってもやらない人は痛い目を見るまでやらないのは分かってるんですけどね。年寄りの勤めとして忠告はしておきます。

おわりに

読み返してみるとセキュリティはあんまり関係なかったですね。とにかく、社会人人生はとてつもなく長いです。健康に気をつけて、頑張るところは頑張りつつ、楽しく乗り切っていきましょう。

トップガンでなくてもセキュリティエンジニアとして長く続けていくには

はじめに

セキュリティ業界は人が少ないので、どこに行っても名前を聞く人とか、バイナリを見ただけでどこ製のマルウェアかわかる人とか、つよつよ人材が身近にいがちです。そんなトップガンを目指すのも一興ですが、ある程度の期間は、起きている時間全てをセキュリティに捧げる覚悟が必要です。私はそこまでできないので、別の戦略で生き延びています。そんな話です。

セキュリティ以外に得意分野を作ろう

私はもはやセキュリティの技術的な能力は干からびてしまっていますが、文書を作成するのがまあまあうまいです。今の会社はこの一点突破で採用されました。セキュリティを知っている人はたくさんいます。文書を作成するのがうまい人は星の数ほどいます。ではその両方は?おそらくとても少ないです。なぜなら大抵のセキュリティエンジニアは報告書などの文書作成が苦手or嫌いだからです。(そのうちchatGPTに駆逐されそうではありますが)

「二つの分野がそこそこできる人」は少ない

隣接分野も良いと思います。機械学習とかプログラミングとか。AWSなんかもいいですね。扱う案件があれば積極的に手をあげて、知識を身につけておくと、後々きっと良いことがあります。

まあぶっちゃけセキュリティ業界は超絶人手不足なので、マルウェア解析なりペンテストなりがある程度できれば引く手数多ではあるんですけどね。ただ、私のように諸々の事情でフルリモートでないと働けないとか長時間勤務が難しいとか譲れない条件がある場合には、強みがあると交渉がしやすくなります。また、歳をとってくるとどうしたってセキュリティの技術だけで若い人とやりあうのは難しくなっていきます。それでも管理職ではなくプレイヤーとしてい続けたい人は、この戦略で生き延びられるかもしれません。

おわりに

歳をとってきて、若手の人たちにいろいろいい残しておきたいけど直接いうと老害になるのでブログに書く試み。もはやセキュリティエンジニアとしての遺言といっても良い。これからもぽつぽつ書いていこうと思います。先日書いた記事もよかったらどうぞ。

security.nekotricolor.com

私のプロフィールはこちら。

www.nekotricolor.com

セキュリティエンジニアとして勉強しておいてよかったこと

はじめに

歳をとってきたからか、「セキュリティエンジニアとしてやっていくには何を勉強すればいいのか」ということを聞かれるようになりました。 正直私は体系だった勉強をしておらず言えることがその場ではあまりなかったため、自分が勉強しておいてよかったことをここで改めて思い返してみようと思います。

シェルコード作成

要はアセンブリ言語の勉強です。シェルコードを作る、という目的があったのが私にはよかったです。

学生時代はCのポインタはさっぱり理解できませんでしたが、アセンブリ言語をやってよく理解できました。メモリの使い方とかもここで学んだ。私はSPARCが好きだったので、Delayed Slotやビッグエンディアン、メモリのウインドウシステムの美しさに感動したのを覚えています。便利なツールなぞない時代だったので、ひたすらgdbでbreakしてsiしてxです。 ちなみに、当時超役に立った本で「 」(サンソフトプレスシリーズ)というのがあるんですがもう売ってないみたいですね・・。

今だとARMかx86かしか選択肢がほぼないのかな。ARMは命令が固定長ですし、スマホのようなメモリ容量が限られるマシン用な分シンプルに作ってあるはずなので、やるならARMがいいのかも(実態を知らないので違ったらすいません)。x86はアセンブリ言語を初めて勉強するには複雑すぎますが、環境を準備するのは楽だし情報は多いからx86でもいいのかな。pwnable.twで初心者用の問題を解いたやつがあるのでよかったらどうぞ。

security.nekotricolor.com

netcatもどきの実装

シェルコードを作る過程で、カスタマイズできるバックドアが欲しくなったので作りました。指定したポートをListen状態にし、受信したコマンドを実行してその結果を返すだけのシンプルなプログラムです。言語は、当時唯一まともな開発環境が使えたVisual C++だったと思います。.NETが出る直前でした。こんな感じ↓

実装したPCで:

$ ./myBackdoor -p 8080         ← 8080/tcpをListen状態に

別のPCから:

$ ns 192.168.1.100 8080    ← netcatで8080番ポートにアクセス
>>> cat /etc/passwd  ← /etc/passwdをcatする
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

参考にした本は、学生時代の教科書でもあった「The UNIX Super Text」です。今はが出ているようです・・いやこれも2003年だから相当古いな。 I/Oまわりやプロセス間通信を学ぶのにとてもよかったです。

ファイアウォールの構築

ネットワークの知識はこれでものすごく付きました。NIC三枚挿し・四枚挿しで、それを介してネットワークをつなげるだけでも最初は大変でした。構成としては今ではあり得ないくらいシンプルなものが多かったので、勉強するにはちょうどよかったです。

F/W構築

とりあえずつないでデフォルトゲートウェイを設定するだけだと、社内LANからインターネットは行けても、インターネットからWebサーバにはつなげません。DMZ上のメールサーバから社内のメールサーバにもつなげない。これを、必要な通信のみ通すように設定していきます。もちろんNATもします。余計なブロードキャストが発生しないように、F/Wには各種サーバの静的なARPテーブルも設定します。

こういうのを信じられないほど早い納期で連続してやっていた時期があり、この時にネットワークの知識とともに段取り八分を叩き込まれました。納期があまりに早いと、走りながら考えるというのは通用せず、腰を据えてマニュアルを読み込み、どこをどう設定するのかを事前に決めてスケジュールを立ててから本番機を触るようにしないと間に合いません。他機で設定ファイルを作り込み、分単位の線表を引いて何とかやり切った記憶。

DNSサーバの構築

一番複雑なやつでマスター一台、スレーブ五台とかだったかな。いまはプライマリとセカンダリというそうですが。A、NS、MXレコードに加え、大量のサブドメインがあったので大量のCNAMEを設定。当然ゾーン転送も。今は自前ではあんまりやらないですよねえ。インターネットの仕組みみたいなものを理解するのによかったです。メールサーバもたくさん構築しました。qmailってまだあるのかな。

こんな課題はどうですか

これら自宅でも学べる課題を考えてみました。

たとえばこんな課題
Raspberry Pi Zero アイコン by Icons8

ラズパイを三台とハブを二台用意し、それぞれF/W、DMZ上のWebサーバ、DNSサーバという超シンプルな構成で、ラップトップからWebサーバの名前解決ができるようにする。できれば全部有線がシンプルでいいですがNIC三枚はラズパイでは難しいのかな。であればラップトップは無線接続で。

WebサーバはNXやASLRのような攻撃に邪魔な機能は全てオフ。なんでもいいのでroot権限で動く脆弱なプログラムと、実装したnetcatもどきを置いて、ラップトップからWebサーバ上でバックドアを作って/etc/passwdをcatする。

さすがに静的なARPテーブルやメールサーバはいらない気がしますが、ARPに関してはブロードキャストされているところをパケットキャプチャで見てみてほしいなあ。間違ったARPテーブルを設定してみて、なんも通信できねーっていう経験もしてほしいです(やった)。なお、おすすめする書籍は古典にして名著「」です。一度読んでみて、さっぱり分からんとキレながらこの課題をなんとかこなして、「最初っからこう書いてくれれば分かったのに・・」と思いつつもう一度読んで、「いや書いてあるじゃん」てなってください(なった)。

おわりに

今は全てがリッチすぎて、基礎を学ぶのは逆に難しくなっている気がします。ネットワーク構築はクラウドばかりだし、マルウェア解析もデコンパイルしてソースコードを読むことの方が多いみたいだし。業務では意識することはあまりないかもしれませんが、つまづくことがあるとすれば、この手の基礎を押さえていないことが原因かもしれません。

特にネットワークはもうちょっとやると良くて、たとえばVPNとWifiのAESとTLSの違いとかはぜひパケットを見て実感してほしいし、HTTPとQUICの違いを見てほしいし、IPフラグメンテーションも実際のパケットを見て感動してほしい。課題のARPのブロードキャストもそうですけど、要はパケットを眺めることでOSIの七階層をきちんと理解してほしいというか。元気な人ならイベントのNOCとかやってみるといいかもしれませんね。

2020年下半期に公開されたセキュリティ関連文書まとめ

リアルタイムには情報を追っておらず、お知らせ一覧等から調べているため抜けがあるかもしれません。

ルールは以下。

  • 公共性の高いものを載せています
  • WGや研究会の純粋な活動報告書、個別のインシデント・脆弱性は載せていません

情報源はこの辺。

security.nekotricolor.com

上半期は以下。

security.nekotricolor.com

政府機関

高度情報通信ネットワーク社会推進戦略本部(IT総合戦略本部)

文書タイトル 公開日
デジタル・ガバメント実行計画 2020/12/25

セキュリティ関連団体

JNSA

文書タイトル 公開日
電子署名Q&A 2020/09/16
中小企業において目指すSecurity By Design 2020/11/05



以上の内容はhttps://security.nekotricolor.com/より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14