みちくさを楽しむ

IT関係の雑多な内容の日記

情報処理安全確保支援士試験に合格した。

合格発表後、少し時間が空いてしまいましたが、情報処理安全確保支援士試験に合格しました。

情報処理安全確保支援士試験とは

IPAの主催している試験で

サイバーセキュリティリスクを分析・評価し、組織の事業、サービス及び情報システムの安全を確保するセキュリティエンジニアや、技術・管理の両面から有効な対策を助言・提案して経営層を支援するセキュリティコンサルタントを目指す方に最適です。

だそうです。

 

このブログ(日記)を始めたきっかけはネスペに落ちたことだったので、それから半年経ちました。毎度のことですが、試験日が10/9で合格発表が12/22とかなり時間がかかるのがいやなところです。

 

今回の点数は以下のようでした。

自画自賛になりますが、それなりにいい点数なのでは。

特に午後1はこんなに取れてたっけ笑。

 

最後に今回もやったことをまとめます。

情報処理教科書 情報処理安全確保支援士 2023年版 | 上原 孝之 |本 | 通販 | Amazon

とりあえず1周しました。

・過去問演習

4年分くらいのすべての問題を解いた気がします。

ただ、直前まであまりやる気でませんでした。なんとなく受かるかなという気持ちもあった。

・午前対策

定番の過去問道場(情報処理安全確保支援士過去問道場|情報処理安全確保支援士.com)

で演習しました。

 

今回の試験範囲は、ネスペの勉強とかぶる範囲も多く、また、試験対策以外でもCTF用の本を読んだりしていたので比較的ラクでした。セキュアコーディング周りの知識は少しあったのも良かった気がします。

あと問題の題材の運も良かったです。Log4j2などは学校のレポートの際に調べたことがあったり、CTFに関連した問題も取り組みやすかったです。

 

次の春はネスペのリベンジかなぁ。就活と研究の状況次第ではあるけど。

LPIC Level1に合格した。

LPICとは

正式名称は「Linux技術者認定試験(Linux Professional Institute Certification)」であり、Linux技術者としての技術力を認定するIT資格です。

Level1、Level2、Level3に分かれていて、Level1を取得するには101と102の両方に合格する必要があります。

それぞれ試験範囲が異なっており、1科目受験するのに15000円かかります。

 

受験はオンラインまたは会場で受けることができますが、家の環境を片付けるのがめんどくさそうだったので、会場に行って受けることにしました。

 

ただ会場に行くのもめんどくさいので、1度に101と102の両方受けてきました。

 

予約は14:00からと15:45分からにしましたが、101が終わってからすぐに102の手続きもすることが出来ました。

 

結果は

101が点数:720/800  正答数:55/60

102が点数:710/800  正答数:54/60

で合格点が500点なのでそれぞれ合格することが出来ました。

欲を言えばどちらも9割取りたかったところですが。(9割正解はしているのに得点は9割いかない、、)

勉強内容について

あずき本とping-tを使いました。

とりあえず、あずき本を1周して次に101のping-tをときました。

その後、スピードマスターも1週したところで、101は合格できると思ったので、102の勉強にとりかかりました。ping-tの1ヶ月の課金を開始しました。12/12に始めたので1/12まで期限があります。

 

とりあえず102のpingtも埋めたところで合格できると思ったので、試験に申し込みしました。

 

申し込み手順は少しめんどくさかったです。

 

学易(https://gakuyasu.byaku.jp/)でバウチャーを買ってから申し込むと買ってから少し時間はかかりますが、受験料が少し安く申し込みできます。

 

pingtの期限が後3週間強残っているので、年末年始を利用して次はLPIC2を勉強していきたいです。

セキュリティミニキャンプに参加した

セキュリティ・ミニキャンプ オンライン 2022に参加したので、その前に参加したセキュリティ・ミニキャンプ in 山梨 2022と一緒に記録を書いておきます。

 

セキュリティ・ミニキャンプ in 山梨 2022

www.security-camp.or.jp

応募課題があり、参加したい動機や学んだことをどうするかなどを書きました。

私の場合は、セキュリティに最近興味が出たことやセキュリティ・キャンプを知ったときは年齢制限で応募すらできなかったので参加してみたいなどのことを書いたと思います。

 

講義は9/23(金)で三村さんの午前の講義では『ディスクに残る証跡について調べよう』という題でファイルシステムの構造体の仕組みやファイルを消したときにどうなるかをFATをベースに学びました。

内容としては入門的なものでしたが、ファイルシステムの概要を理解することが出来ました。

 

芦田さんの午後の講義では、ブロックチェーンを色々いじってみて出力を見ると行った感じでした。

事前課題でブロックチェーンの上に乗っている情報について調べる課題があったのですが、詳しい内部の仕組みについて書いている日本語の文献が少なくて、英語の文献から探す必要があり検索力を求められました。しかし自分で調べたおかげでどのような情報がどのようにチェーン上に載っているかをなんとなく知ることが出来ました。

参加してから日にちが経っていて忘れた部分も多いので山梨の回についてはこれまでにしてオンラインの回について振り返ります。

 

セキュリティ・ミニキャンプ オンライン 2022

 

www.security-camp.or.jp

 

今回のキャンプに参加した主なきっかけはkubernetesについて知りたかったのと、前回の山梨のキャンプと比べてもっとセキュリティ要素が多い授業があるのが面白そうだと思ったからです。

こちらも応募課題がありました。上とだいたい似たような志望動機などを書きました。

 

また、課題を4つから2つ以上提出するということでAI以外の3つの課題を解いて提出しました。コンテナの課題はコンテナの仕組みや歴史などについてまとめる課題。

IoTの課題はサイドチャネル攻撃の例としてmeltdown脆弱性について調べてまとめました。Webとクラウドの課題はSSRFについてとAWS上にそれがあるときの問題点についてまとめました。

提出してから数日後に連絡があって参加できることになりました。

 

今回のミニキャンプは梅内さんのコンテナの講義がテキストと課題ベースの講義になっていて、ミニキャンプ講義日前に4回分の課題がありました。ミニキャンプで初めての取り組みだそうですが、テキストがとても充実していて勉強になりました。

また、2日目終了後に懇親会がありNonpiのフードデリバリーサービスを利用したご飯をいただくことが出来たり、グループワークとしてミニキャンプが終わったあとに取り組むことについてをグループで話し合うといった時間があるというように山梨のミニキャンプと比べて講義の日程が多い分いろいろな要素が追加されていました。

 

また、一番の大きな追加要素として、講義最終日に終了問題と題して講義に関連した問題のCTFがありました。景品があり、1位はアマギフとパーカー2,3位はパーカー,4-6位はTシャツでした。私は4位だったのでTシャツをもらえることになりました。やったね。

 

各講義の内容をまとめて書いておきます。(あまり詳しい内容は書けないので概要のみです)

 

『特別講義(倫理)~ハッカーの倫理~』 北條 孝佳 氏

気をつけるべき倫理の内容についてわかりやすく解説してもらう講義でした。

素人には法律は難しいです笑。

 

『AIを騙すテクニックと対策を学ぼう ~敵対的サンプル入門~』
  高江洲 勲 氏 三井物産セキュアディレクション株式会社

google Colabtoryを使った講義でした。画像認識などのAIに対しても攻撃が可能であるということは知らなかったので勉強になりました。

 

『シミュレーションを用いたIoT機器の解析体験』 土井 康平 氏 電気通信大学 情報学専攻在学

chipwhisperを使った講義でした。こちらの内容も完全には理解できたとは言えませんが、暗号化していても消費電力などから内容が漏れる可能性があるのは危険だなと感じました。

 

『WebとCloudにおけるセキュリティの基礎と実践』 森岡 優太 氏 情報科学専門学校在学

とにかく内容盛りだくさんの授業でした。事前課題から内容が多めだなとは思いましたが、講義は絶対に3時間の内容ではなかったです笑。何ならWebセキュリティとクラウドセキュリティそれぞれで3時間でもいいぐらいでした。内容としてはWebセキュリティはOwasp Juice Shopという脆弱性がたくさんあるサイト(100個)を使いました。

クラウドセキュリティはAWSを利用したサービスに対する攻撃に対して気をつけるべき点などを学びました。実習型の講義でとても楽しかったです。

 

『コンテナ技術に着目したクラウドネイティブセキュリティ入門』 梅内 翼 氏 株式会社サイバーエージェント

上でも軽く述べましたが、テキストベースの講義でした。毎回盛りだくさんの内容でした。最初が環境構築、1週目はDockerfileの書き方やkubectlのYamlマニフェストの書き方やkubectlの使い方などを学びました。

2週目はCI・CDツールについて学びました。GitHub Actionsやcircle ciなどは触ったことがありましたが、ArgoCD などのGitOpsの CD専用ツールは初めて触りました。 

3週目はコンテナの脆弱性スキャンツールなどについて学びました。コンテナの仕組みについての理解も深まりました。

4週目はPolicy as Codeについて学びました。具体的にはOpen Policy Agent(OPA)の提供しているGatekeeperというkubernetes用のツールを使ったセキュリティポリシーの管理について学びました。gatekeeperを使うためにRegoという言語についても学びました。

毎週毎週内容が濃くて楽しかったです。去年度は普通の講義形式だったようですが、講義時間内だとこんなにいろいろなことを試せないと思うので、テキストベースの講義で本当に良かったです。

 

最後になりましたが、開催してくださったIPAやセキュリティ・キャンプ協議会事務局のかたや講義してくださった先生方、ありがとうございました。

 

 

インターンに参加した。

終わってからだいぶ立ちましたが、この夏は、インターンに2つ参加しました。

 

1つはyahooさんのインフラ系の2週間インターンに参加しました。守秘義務の関係で詳しくやったことは書けないのでリンクを貼るだけですが、とても楽しかったのでインフラ系に興味がある方はおすすめです。

 

about.yahoo.co.jp

 

もう一つはbiprogyさんのwebのチーム開発の5日間インターンに参加しました。保育園向けの連絡帳をテーマにプロダクトを作りました。

バックエンド(fastcgimysql)とフロントエンド(next.js)に分かれて、開発しました。ウェブアプリは他の人のソースコードを読んだりすることはあってもチームで1から開発することは初めてでした。

flaskの経験はありましたが、fastcgiは初めて使用しました。自動でswaggerのページも作れるし、apiサーバーを作るにはすごい便利でした。mysqlに関してはisuconで触った経験があったのでそれほど苦労はありませんでしたが、sqlalchemyの使い方で少し戸惑いました。

また、docker-composeやgithub actionを使うことも出来たので楽しく作れました。

 

さくらのクラウドでクローンしたubuntuサーバーにsshできないときの解決法

 

isuconの申し込みのときにもらったさくらのクラウドのクーポンが2万円分余っていたのでせっかくならちゃんと使わせていただこうと思い以下の記事を参考にサーバを構築しました。

ISUCON過去問題の環境を「さくらのクラウド」で構築する | さくらのナレッジ

 

サーバーを1台構築するところまではよかったのですが、cloud-initで環境を構築するのに結構時間がかかったので、もう一台作成しようと思ったときにサーバーのコピーで構築してみました。

 

しかし、新たに構築したサーバではsshが上手く行かなかったので、ネットの記事などを参考に設定しました。

上手く行かない原因は、元のサーバーの設定を完全にコピーしているため、ipアドレスの設定などが上手く言っていないことでしたがネットにある記事はcentosを対象にしたものばかりでubuntu対応のものはなかったのでメモとしてまとめておきます。

(参考)CentOsの場合の解決法

tsukarooohi.com

 

まず、必要な条件としてコピー元のサーバーでパスワードログインでき、かつsudo権限のあるユーザーを作成する必要があります。

isuconのcloud-initを利用している場合は自動で

ユーザー名:isucon

パスワード:isucon

のユーザーが作成されるので大丈夫です。

次にサーバーのコピーが終わったら、web-uiのサーバの欄にあるコンソールというところから先ほどのisuconユーザーで新規にコピーで作ったサーバーにログインします。

 

まずは、端末のipアドレスを設定します。(ipアドレスは人によって違います。)

sudo ip a add  a.a.a.a/24 dev ens3

次にsudo  ip link set ens3 up

次にデフォルトゲートウェイを設定します。(ゲートウェイのアドレスも違います。)

sudo ip route add defalut via a.a.a.1

以上でつながるようになりました!他の人も書いていましたが、AWSなどではクローンするだけでつながるのでその点はすこし不満ですが、ただで使わせていただいているのでそれだけで大変ありがたいです!

(追記)

この方法だと端末を再起動したときに、再び設定する必要があります。

centosの場合は、設定ファイルに書いていたので永続化されますが、ubuntuの場合はip コマンドで設定しただけでは永続化されません。

試してないですが、/etc/netplan 以下に新規ファイルを作成したら永続化されると思います。(50-cloud-init.yamlは編集してはいけません。)

 

qiita.com

qiita.com

・疑問点

通常のサーバーだとdhcpIPアドレスを設定しているみたいですが、ここのファイルにかかれているmacaddressとens3に設定されているmacaddressがコピー先のサーバでは異なるために上手く行かないのかな?今度暇なときに実験してみようかな。

 

 

 

 

macbook (2017)のバッテリー交換修理をした。

macbook(2017)が、1%も充電ができなくなったので修理したらappleのサービスがすごかったという話です。

 

パソコンを買ったのは2018年の入学と同時のタイミングで、生協モデルパソコンのセットを買ったときは合計20万で以下の物がついていました。

  • パソコン本体(定価14万くらい)
  • パソコンケース(2000円くらい?)
  • ハブ(3000円くらい?)
  • HDD 2TB 
  • 4年間保証

一番最後の4年間保証がかなりありがたいサービスになっていて、保証サービス期間中は1年目15万円、2年目12万円、3年目10万円、4年目6万円(税込)​ まで修理費用を補償してくれます。

私も、1年目こそ利用しなかったものの2年目の2月にディスプレイを割り修理したり、4年目の8月にパソコンが完全に起動しなくなったりとお世話になりました。

1回目のときはディスプレイとキーボードとbottom caseの交換をして修理代が約12万でしたが5000円の自己負担ですみました。

2回目のときはlogic boardの交換をして6万円の修理代でしたがこれも5000円の自己負担ですみました。

 

今回は、バッテリーが劣化していますとずっと出ていたのを無視していましたがついに充電できなくなったので修理を決断しました。もしかして違うパソコンのワット数が大きい充電器で充電してしまったのがよくなかったのかもしれません。

今までの修理のときは生協の保証期間でしが、今回は4年間の保証期間が終わったのでAppleGenius Barに持っていきました。

 

Genius Barで診断したときはなんとか起動はすることが出来ていたので診断をしてもらいやはりバッテリーの故障ということで修理をお願いしました。

修理センターで状態をみて状態次第で値段が変わりうるとのことで、現金払いの場合は店頭で受け取る際に支払う必要があるとのことでしたが、クレジットカードを登録したら家まで郵送してくれるとのことだったので、迷わずそちらを選択しました。

 

7/27に修理に出したら7/30に家に届くというとてもスピード感がよかったです。

ヤマトのパソコン宅急便で届きました。

 

修理箇所を確認してみたらなんと、バッテリーだけではなく、logic boardも交換されていました。2回目の修理のときは部品代だけで4万円かかっていたので、修理費が6万くらいかかるのではないかと不安になりましたが、後日メールで届いた請求書を見たらバッテリー交換のお金しかかかっていませんでした。ありがたい!!

 

もしかしたら、2回目の修理のときに不良品のlogic boardだったのかなとかも考えましたが、appleの優しさだと思うようにします笑。

 

これがapple以外の修理店だとlogic boardの料金はかかっていたと思うのでこれからも修理の際はappleGenius Barを利用していきたいなと思いました。

isucon12に参加した

7/23に開催された isucon12に参加しました。

研究室の合宿と重なっている都合上、自分もどれだけ参加できるか分からなかったので、チームを組むことはしませんでした。

チーム名 「Phantom Troupe」

 

# 参加申し込み

学生であることのメリットを生かして申し込み開始と同時にアクセスしたら、第1次申込期間に申し込むことができました。なんと開始3分程度で埋まってしまったとのことなので、申し込むことができてよかったです。

準備としては他の人のリポジトリからいい感じのsetup用のmakefileをお借りしたり、Isucon本を読んだりしました。

 

#当日のタイムライン

10時

 

いきなり新幹線の弱々wifiからの参加になりました。

rsync でファイルをローカルに持ってこようとするのですが、

かなり時間がかかりました。

 
11時30分~

大阪着。ここからホテルの移動と昼食があったのでまったく作業していません。

 

13時~

研究室の発表開始

他の人の発表を聞きながら、合間の時間で少しコードを読んでいたりしました。

ベンチを回してtopの結果を見るとmysqlのCPU使用率が高いことがわかったのでmysqlを2台目に移動させようと思いました。

 

2台目にmysqlを移動させたですが1台目からなかなか接続できず結構ハマってしまいました。

 

原因としては、MYSQLが接続を待ち受けるinterface の指定が足りていませんでした。my.cnfに設定を加えて、ベンチを回してみると3500点程度でした。

初期実装だと3000点程度だったので少し改善を加えることができました。

他にもalpの結果を見ると遅いエンドポイントなどがわかったのでそこにも改善を加えようとしたのですが、処理を上手く追うことができませんでした。

18時

競技終了。ちなみに発表はまだ続いていました笑。

 

感想

前から興味があって参加してみたいと思っていたので参加できてよかったです。

改善はmysqlの移動しかできなかったですがFAILにならず点数を向上させることができたのでよかったです。

ただ、研究室の都合であまり参加時間を取れなかったので、来年はぜひちゃんとした環境で集中して取り組みたいです。