- 1. Firebase Authのカスタムクレームをターミナルから簡易に設定する
- 2. エンジニアが意識すべき『情報セキュリティ』について
- 3. 買ったらまず実施!Jetson Nanoのセットアップとセキュリティ対策
- 4. (随時更新)メンバー30人以下くらいの副業もいるチームの社内セキュリティについて
- 5. セキュリティ
- 6. HTTPセッションIDをログイン時に更新する(セッション固定攻撃対策)
- 7. コードインジェクション攻撃
- 8. パスワード変更で、そのユーザのHTTPセッションをすべて破棄する
- 9. 【Laravel】SQLインジェクション対策(LIKE句)
- 10. セキュリティ資格ロードマップ
- 11. 情報セキュリティマネジメント試験(SG) 勉強メモー01:セキュリティの基礎
- 12. vistaのセキュリティのいい話
- 13. 【悪用ダメ】XVWAちゃんにバックドアによるサイバー攻撃を仕掛けてみる(Unrestricted File Upload編)
- 14. Googleの脆弱性?メタマスクの設定・利用時の注意点
- 15. Cloud Center of Excellenceとは何か
- 16. 暗号とセキュリティの常識
- 17. CTF環境づくり
- 18. 【CSRF・XSSとは その対策】
- 19. 【悪用ダメ】XVWAちゃんにサイバー攻撃を仕掛けてみる(OS Command Injection編)
- 20. CVE-2021-41773とCVE-2021-42013をDockerで確認する
Firebase Authのカスタムクレームをターミナルから簡易に設定する
サービスの管理者でも、全権限がある人や、アルバイトで一時的に入った人など、細かく権限を設定したいものです。
Firebase Authのカスタムクレームという機能を使えば、細かい権限設定が行えます。https://firebase.google.cn/docs/auth/admin/custom-claims?hl=ja
しかし、その登録はAdmin SDKを介するので、**NodeのRepl環境で行うのは、認証情報の初期化がややこしい**です。
個人的にかなりつまづいたので、共有させていただきます。
# localのfunctionsディレクトリでNodeを起動
まず、ターミナルで`functions/`のディレクトリに移動してNode Replを起動します。
“`bash
cd XXX/functions/
node
“`
# サービスアカウントの秘密鍵を作成1. Firebase Consoleのプロジェクトの設定に移動する
現在の私たちの日常生活や仕事において、インターネットはなくてはならない存在となりました。
しかし非常に便利で欠かせない存在であると同時に、『情報漏洩』や『不正アクセス』『ウイルス感染』などの脅威が存在することを忘れてはいけません。
特にエンジニアとしてWebサービスやアプリケーションを提供する立場として、サービスを利用してくださるお客様が安心して使えるものを作ることは非常に重要です。しかしいきなり『セキュリティに気を付けろ!!』といわれても
・そもそも情報セキュリティって何?
・どんな脅威が潜んでいるのか?
・どんな対策方法があるのか?
を知らないと非常に困ってしまうと思います。ということで『[キタミ式イラストIT塾 基本情報技術者 令和03年](https://www.amazon.co.jp/%E3%82%AD%E3%82%BF%E3%83%9F%E5%BC%8F%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88IT%E5%A1%BE-%E5%9F%BA%E6%9C%AC%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93%E8%8
買ったらまず実施!Jetson Nanoのセットアップとセキュリティ対策
# はじめに
本記事は、**Jetson Nano**購入時の**セットアップ方法と、実施すべきセキュリティ対策**について紹介します。# Jetson Nanoとセキュリティ
[Jetson Nano](https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-nano/)は、ポータブルにDeep Learning等のAI技術を活用できるデバイスで、2021年時点では代表的なIoT製品の一つと言えます。近年このような**IoT製品を悪用したセキュリティ攻撃が多発**しており、
その代表例である[マルウェア”Mirai”](https://www.ipa.go.jp/files/000059579.pdf)では、ネットに常時接続されたWebカメラの脆弱性を悪用されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/610167/067d2c77-91ef-1566-bd04-2b3bc6f
(随時更新)メンバー30人以下くらいの副業もいるチームの社内セキュリティについて
この記事では、以下のようなチームを想定して、お金と手間をできるだけかけずにそこそこセキュリティを向上させることをまとめようと考えています。そんなんじゃだめだ!とか、こういう場合は漏れませんか?というコメント大歓迎です。
# 想定するチーム
– 営業やCS、マーケの人など全職種含めると30人前後あるいはそれ以下で、Webサービス(アプリ含む)開発を行っている
– 副業人材も多く、半数のメンバーは会社支給でないマシンを使っている
– それらのマシンは他社の業務でも使用されている
– Macが多めだがWindowsもいる
– 基本的に業務データはクラウド上にあり、PCローカルにあるのは開発途中のデータ、Biz/バックオフィス系のドキュメント、重たいデザイン系データ程度。自社データセンターや、オフィスネットワークでしかアクセスできないサーバはない。
– メインの業務ツールはGoogle WorkspaceとSlackとGithub
– 予算はそんなにない。Slackもケチって一部メンバーはシングルチャネルゲストにしていたり、Google workspaceアカウントも付与していない
セキュリティ
自分のメモとして
###参考サイト
https://www.security-next.com/130881https://news.mynavi.jp/kikaku/tis_security-2/
https://enterprisezine.jp/article/detail/15052
HTTPセッションIDをログイン時に更新する(セッション固定攻撃対策)
—
### はじめに**「ログイン認証に成功したらセッションIDを更新する」**というのは、セッション固定化攻撃(Session Fixation)の対策としては有名な話かと思う。
PHPの[session_regenerate_id](https://www.php.net/manual/ja/function.session-regenerate-id.php)のようなWebアプリケーション・フレームワークにセッションIDを再生成する関数が用意されていればいいのだけど、そういう関数がない場合は、どういう実装方法があるのかという点について考察した。—
### フレームワーク提供のHTTPセッションID + 独自乱数 = HTTPセッションID単純な話で、ログイン時に**セキュアな乱数※を生成して**、それをセッション関数/セッションオブジェクトとクッキーに同時に保存する。
セッションIDの一意性はWebアプリケーション・フレームワーク提供のセッションIDが保証しているので、自作側(上記のセキュアな乱数)には一意性の必要性はなく、推測困難性だけでよい。
なので、適
コードインジェクション攻撃
こんにちは。
今日のお題はコードインジェクションについてです。
JapaScriptのコーディングには自信がある方にも、お役にたちそうな記事内容を見つけました。コードインジェクション攻撃で、注射針を思い出すのは私だけかと思っていたところ、こちらのブログ記事にも注射アイコンを発見。万国共通のイメージなんですね。
コーディングの段階からセキュリティを取り入れるという考え方が理にかなっているとはわかるけど、やっぱりちょっと面倒、、、という方も、是非、最後まで読んでみてください。
##JavaScriptとNode.jsでコードインジェクションを防ぐ5つの方法
https://snyk.io/blog/5-ways-to-prevent-code-injection-in-javascript-and-node-js/JavaScriptとNode.jsでコードインジェクションを防ぐ5つの方法
Liran Tal (リラン・タル)
2021年4月5日コードインジェクションを防ぐ安全なコードを書くのは簡単なようで実は、多くの落とし穴があります。たとえば、あなた自身がデベロッ
パスワード変更で、そのユーザのHTTPセッションをすべて破棄する
—
### はじめにWebアプリケーションで、**利用者が「パスワード変更」**を行ったら、**そのユーザのHTTPセッションをすべて破棄する。**
という実装を一般的なWebアプリケーション・フレームワークではどのように実装するのかという点について考察した。—
### なぜこれが必要なのかユーザのHTTPセッションが、不正行為者にハイジャック(乗っ取り)されている場合、利用者はパスワード変更で不正行為者が乗っ取っているHTTPセッションを破棄することができる。
しかしながら、パスワードが漏洩している場合は、不正行為者が先にパスワード変更されると**「おしまい(パスワード変更での2要素認証は必須)」**だが、不正行為者よりも先にパスワード変更ができれば、不正行為をその時点までに止めることもできる。
(セッションハイジャックされた原因がそのままだと、再度ハイジャックされるかもしれないが・・・)
![passChg02a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182822/
【Laravel】SQLインジェクション対策(LIKE句)
# **問題**
派手なSQLインジェクションは一般的なWebフレームワークを使用すれば基本的に発生しません。
しかし、LIKE検索を行う場合はDoS攻撃が成立してしまうことがあります。
`LIKE “%a%b%c%d%e%e%f%g%@%.%”`
上記のようなクエリはSQLエンジンに大きな負荷をかけます。
LIKE句のメタ文字はエスケープする必要がありますが、“`php
$query->where(‘hoge’, ‘LIKE’, ‘%’ . $value . ‘%’);
“`と直に書いてしまうケースは多いと思います。
# **対策**
LaravelでのこのLIKE句のインジェクション対策はおそらく3通りほどあると思うので、
それぞれのソリューションをご紹介していこうと思います。## **1. macroを用意する**
まずBlueprintのmacroを定義するために、
サービスプロバイダを新しく作ります。(AppServiceProvider.phpに書き込む方法もある。“`shell
php artisan make:provider Bluepri
セキュリティ資格ロードマップ
#セキュリティ資格ロードマップとは?
以下に掲載されているものです。Security Certification Roadmapというもので、随時更新されたものが公開されています。
https://pauljerimy.com/security-certification-roadmap/セキュリティ資格ロードマップは、横に長いほど複数の分野にまたがっていることになります。
例えばセキュリティ業界では最も有名な資格の1つであるCISSPは、ここに記載されているすべての分野にまたがっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549537/f3998a91-adb7-9da9-1b69-079a7f56b228.png)また、明記はされていませんが、上に記載されているほど難しい資格になると思われます。
一番上に記載されているGSEは、受験するための条件から厳しく、間違いなく最難関だと思います。
ただ、そのすぐ下にGREMは、確かに難しい資格ではあると思いますが、CIS
情報セキュリティマネジメント試験(SG) 勉強メモー01:セキュリティの基礎
情報セキュリティマネジメント試験向けに、セキュリティ初心者が用語をまとめるための勉強メモです。
特にためになるような内容はありません。#情報セキュリティの要素
## 情報セキュリティの3大要素
頭文字をとって、「CIA」という呼び方をする。* 機密性(Confidentiality):許可のない人にはアクセスをさせない
* 完全性(Integrity):内容が正しい
* 可用性(Availability):使いたいときに使える## その他の要素(4つの新要素)
* 否認防止(non-repudiation)
* 真正性(Authenticity)
* 責任追及性(Accountability)
* 信頼性(Reliability)これらの性質を確保するために対策を体系的に考えていくことを「情報セキュリティマネジメント」という。
#マルウェア
ユーザーのデバイスに不利益をもたらす悪意のあるプログラムやソフトウェアを総称してマルウェアという。## 代表的なマルウェア
* ウィルス:プログラムファイルの一部を悪意のある内容に書き換えるマルウェア。自己増殖することもでき
vistaのセキュリティのいい話
#概要
vistaのセキュリティのいい話
#参考にしたページ。
https://security.macnica.co.jp/blog/2021/04/USBMalware.html
#何が起きた。
記事をメモ帳にコピペして、usb.txtで、名前を付けて保存した、その時、デフェンダーに隔離された。
#どうして
記事の内容が、デフェンダーの、yaraルールに、ヒットしたのだろう。ウィルスと判断して隔離した。
以上。
【悪用ダメ】XVWAちゃんにバックドアによるサイバー攻撃を仕掛けてみる(Unrestricted File Upload編)
#初めに
どうも、クソ雑魚のなんちゃてエンジニアです。
本記事は前回紹介した総受けサイト「XVWA」に対してバックドアによる攻撃を仕掛けてみたときのことをまとめてみようと思う。
今回はバックドアになるリバースシェルを簡易作成するためにKali Linuxを使用していきます。さて、XVWAちゃんは一体どんな反応を見せるのか…乞うご期待…
※XVWAをローカルに立てる記事は以下になります。
https://qiita.com/schectman-hell/items/d33716320616a6fca772
※OSコマンドインジェクションした時の記事もあるのでこっちもみていってね!!
https://qiita.com/schectman-hell/items/220582a017062963b5d7
___※悪用するのはやめてください。あくまで社会への貢献のためにこれらの技術を使用してください。法に触れるので。___
#目次
+ バックドアとは?
+ ツール紹介
+ Metasploit
+ 環境構築
+ バックドア埋め込み実践
+ 事
Googleの脆弱性?メタマスクの設定・利用時の注意点
こんにちは、nicoin39と申します:feet:
仮想通貨のウォレットとして使われている**メタマスクの実装セキュリティ**についての備忘録です。
いきなりソースコードの話ではなく恐縮ですが、大手取引所の記事にも注意点として記載されていないため、「プログラムサービスレビュー」としてこちらに記載します。
#メタマスクの拡張機能の設定について
実装後、すぐに確認して欲しいのは、**「拡張機能の設定」**についてです。
![めた.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2174529/206feb9f-8ccb-d46d-712f-e5e532a50734.png)
① 右上のパズルのような形の部分をクリックします。
② MetaMaskの右側にある点3つの部分をクリックします。
③ 「サイトデータの読み取りと変更を行います」が出てくるので、そこにカーソルを合わせます。
④ 初期設定では自動的に「すべてのサイト」が選択されているため、「拡張機能をクリックしたとき」に変更しておきましょ
Cloud Center of Excellenceとは何か
#はじめに
本記事は**Cloud Center of Excellence**(以下、CCoE)について、CCoE立ち上げに関する視点から基本的な考え方について記載しています。クラウドファーストという言葉が意味する通りに、クラウドインフラの利用はITサービスを実現するための手段として第一に考えるべき戦略の一つです。
近年、パブリッククラウドのサービスを提供するクラウド事業者は、クラウド活用に有効な手段としてCCoEという役割に着目し、その重要性を謳っています。
**※本記事の内容は、あくまで考え方の一例であり、必ずしも全ての考え方がシステムに適合したり、ここに書いている内容で満たされている訳ではありません。**
## CCoE
CCoEは、**Cloud**と**[Center Of Excellence](https://en.wikipedia.org/wiki/Center_of_excellence)**(以下、CoE)を組み合わせた造語です。CoEという単語はビジネス用語として、ITに関わらず様々な業界、行政、研究所などで使用されてきました。
業界や組織によ
暗号とセキュリティの常識
#暗号の常識4つ
暗号技術におけるすごく基本的なことをまとめてみた。##秘密の暗号アルゴリズムは使わない
自社内で開発して秘密にした暗号アルゴリズムは危険。####暗号アルゴリズムの秘密はいつか必ず暴かれる
秘密にしているアルゴリズムが暴かれると危ない。逆にアルゴリズムが公開されていて使われているものは、暴露も何もないよね、ということ。つまり、強い暗号というのはアルゴリズムがわかっていても解読できないもの。アルゴリズムがわかると終わる暗号は弱い。
####強い暗号アルゴリズムを生み出すことは危険
強いという自信が過信につながる。
強い暗号とは、**暗号の専門家に、アルゴリズム・ソースコード・平文と暗号文を渡していても、新しい暗号文の解読に時間がかかるもの**である。##弱い暗号は暗号化しないよりも危険
暗号化を少しでもやった方がいいだろうと弱い暗号を使うことで、過信につながる。「暗号」という言葉によって安心感が出てしまう。##どんな暗号もいつかは解読できる
どんな暗号アルゴリズムでも、すべての鍵を試せばいつかは解読できる。それが現実的な時間内かどうかはさておき。
CTF環境づくり
# CTF環境作り
今回CTFへ初挑戦ということで、win10にvirtualboxをインストールしてkali-linux
を動かした時に引っかかったところを書き残していく。## virtualboxのインストール
ここは[公式](https://www.virtualbox.org/)からexeファイル落としてきて
基本ポチポチでインストールする。## kali-linuxのisoファイル取得
・[kaliの公式ホームページ](https://www.kali.org/get-kali/)からisoファイルを
インストールする。(ディスクっぽいアイコンのやつ)## kali-linuxのインストール
・ストレージは50GBは欲しいかも
* 初期設定でのパッケージインストールでlarge選んで合計17GB取ってたんで
それ考えると最低30GBは欲しいかも…
・ファイル共有設定を行う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488536/
【CSRF・XSSとは その対策】
SPA開発をするにあたって、モノリスなアプリケーションと意識するところが違うためにCSRFとXSSへの理解を深める必要があるなーと感じたので、これら2つについて様々なサイトを参考にしながら自分なりのメモとしてまとめてみることにした。
##「XSS」
ユーザーがサイトにアクセスした際に不正なスクリプトが実行されてしまう攻撃手法や脆弱性のこと。名詞と動詞が同じように使われている感じなのかもしれない。(XSSしといてーみたいな)
**・基本的な攻撃手法**
スクリプトを埋め込むことで、フォームなどに入力させたユーザー情報を奪い取る。
外部URLからユーザーに不正アクセスをさせて、cookieなどを送信させて奪い取ったり。**・代表的な対策**
表示する文字を表示前にエスケープ処理するなど。
**XSSの3つの種類**
**・反射型XSS**
これは、外部から受け取ったパラメータをWebページに表示する際に起こる脆弱性だ。
嬉しいことに、ChromeやSafariなどのブラウザでは反射型XSSへの対策が進んでいるらしい。ただ、100%ではないので注意しないといけないようだ。
【悪用ダメ】XVWAちゃんにサイバー攻撃を仕掛けてみる(OS Command Injection編)
#初めに
どうも、クソ雑魚のなんちゃてエンジニアです。
本記事は前回紹介した総受けサイト「XVWA」に対してOSコマンドインジェクションを仕掛けてみたときのことをまとめてみようと思う。
今回はXVWAちゃんに攻撃を仕掛けるのでKaliを使用しなくてもOSコマンドインジェクションはできちゃいます。さて、XVWAちゃんは一体どんな反応を見せるのか…乞うご期待…
※前回の記事は以下になります。
https://qiita.com/schectman-hell/items/d33716320616a6fca772
___※悪用するのはやめてください。あくまで社会への貢献のためにこれらの技術を使用してください。法に触れるので。___
#目次
+ OSコマンドインジェクションとは?
+ ツール紹介
+ BurpSuite
+ FoxyProxy
+ 環境構築
+ OSコマンドインジェクション実践
+ まとめ#OSコマンドインジェクションとは?
IPAさんの記事を参考にすると以下のように説明されている。>ウェブアプリケーションによっては、外部からの攻
CVE-2021-41773とCVE-2021-42013をDockerで確認する
# httpd.confをローカルにコピー
`$ docker pull httpd:2.4.49`
`$ docker run -v $(pwd):/tmp –name cve -it –entrypoint sh httpd:2.4.49`
`# cp conf/httpd.conf /tmp/`
# httpd.conf ファイルの編集
“`
AllowOverride none
Require all denied
“`
を“`
AllowOverride none
Require all granted
“`
に修正# Dockerfileを作る
“`
FROM httpd:2.4.49
COPY ./httpd.conf /usr/local/apache2/conf/httpd.conf
“`# ビルドと起動 (ポート18882で待ち受けてるけどどこでもいい)
`$ docker build