今さら聞けないセキュリティ 2021年02月13日

今さら聞けないセキュリティ 2021年02月13日

セキュリティ・キャンプ全国大会2020オンライン参加記録

## まえがき
2020/10/18~12/6の2ヶ月弱にわたり開催されたIPA主催のセキュリティ・キャンプ全国大会2020オンラインに参加しました。修了から少し時間は経ちましたが、参加の記録を綴っていきたいと思います。
##セキュリティ・キャンプとは
セキュリティキャンプはIPA(情報処理推進機構)が主催しています。IPAのサイトから引用すと以下のような説明になります。
>「セキュリティ・キャンプ」は、学生に対して情報セキュリティに関する高度な技術教育を実施し、次代を担う情報セキュリティ人材を発掘・育成する事業です。2004年に開始され、現在は全国大会を首都圏で毎年1回、2013年に開始された地方大会を毎年各地で10回程度開催しています。 全国大会、地方大会とも、参加するには応募課題を提出し、書類審査に通過する必要があります。

私の場合は、専門学校の先輩や先生の勧めでセキュリティキャンプの存在を知り、初めての応募で選考を通過し、参加できました。
例年は、合宿形式で開催されていましたが、今年は2ヶ月弱のオンライン形式で開催されました。
##応募課題について
私は、課題駆動トラック(

元記事を表示

HTTPS通信の中身ってどうなってる?踏み込んで解説

#はじめに
エンジニア1年目の私がお仕事でHTTPS通信についてお勉強することがあったのでメモ。
この記事ではHTTPS通信について、なんとなく知ってるフェーズからもう一歩踏み込みたい人のために**他のサイトより少しだけ詳しく**その仕組みについてまとめていきたいと思います。
※実装ハンズオンではなく、仕組みを理解するための内容となっております。

#HTTPとHTTPSの違いって?
HTTPやHTTPSとは、WebブラウザがWebサーバと通信する際に主として使用するプロトコルのことです。
HTTP (HyperText Transfer Protocol)通信ではデータの通信を平文で行います。
そのため、HTTP通信上でクレジットカードの番号やパスワードをやりとりした場合、その内容は簡単に盗まれてしまうのです。
一方、通信データを暗号化してやりとりするHTTPS (HyperText Transfer Protocol Secure)通信では、パケットを盗まれたとしても簡単に解読できません。
このHTTPS通信は個人情報やパスワード等のやりとりが必要なサイトで導入することで、盗聴・な

元記事を表示

初心向け!Vue.jsでReCPTCHAを使ってボタンの制御を行おう!(V2)

今回は、GoogleReCPTCHAを使ってボタンの制御を行っていきます。

GoogleReCPTCHAってなに?って思うかもしれないんですけど、よく見る「ロボットではありません」的なやつです。

今回はV2を使用します。

V3は以下の記事に詳しく書いてあるので、V3を使いたい場合は以下の記事をご覧ください!

・[さて、驚くほど簡単にreCapthca認証でBOT、スパム対策を行おう!!(フロントエンド偏)](https://qiita.com/akki-memo/items/e3a1f23ccd988b3f4bfe)
・[さて、驚くほど簡単にreCapthca認証でBOT、スパム対策を行おう!!(バックエンド偏)](https://qiita.com/akki-memo/items/0ad78824af1b298948d5)

それでは一緒に説明を見ていきましょう!

#GoogleReCPTCHAの登録#

下記の記事を参考にGoogleReCPTCHAの登録を行ってください。

[Google reCAPTCHAのWEBサイト登録とAPIキーの取得方法](https://w

元記事を表示

【AWS】「CloudTrail ユーザーガイド」を読んでみた[検出に関するベストプラクティス編]

#はじめに
「CloudTrailは良い」という認識は持っているのですが、「使いこなす」レベルには達していないので、ユーザーガイドを読んでみました。
https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/awscloudtrail-ug.pdf
このPDF資料が全352ページと中々えげつないボリューム。
AWS認定資格のアソシエイトレベルなら「AWS上のアクティビティ(APIイベント)を証跡として記録してくれるサービス」という理解だけ持っていれば大丈夫だったと思います。
が、CloudTrailマスターになるには道のりは長そうです…。

ということで、ユーザーガイドを読んで得た知見や試したことを書き残していきます。
今回は「セキュリティのベストプラクティス」の「検出に関するベストプラクティス」を読んだので、しゃべりかけるノリで理解した内容を書いてみます。
私自身の解釈含みます!
※わかりやすいかはわからないので、読んだ方ぜひコメントでご意見ください(__)!

#セキュリティのベストプラクティス
紹介するベスト

元記事を表示

AWS専門認定 セキュリティ(AWS SCS)合格体験記

# はじめに
AWS専門認定 セキュリティ – 専門知識(SCS)に合格しましたので、
情報を共有したいと思います。

# 目次

1. [受験時点での実力](#Chapter1)
1. [点数](#Chapter2)
1. [勉強法](#Chapter3)
1. [感想](#Chapter4)



# 受験時点での実力
AWS ソリューションアーキテクトアソシエイト(SAA)に一年前に合格。
AWS自体は業務で多少触ったことがある程度。


# 点数
1回目 647点不合格 
2回目 810点で合格 

※1000点満点の試験で750点で合格。
画像は2回目受験時のもの。

![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1085028/ebcd2573-e75d-0085-9cf4-4431bdc18482.png)

元記事を表示

情報セキュリティについて

# はじめに
引き続き研修で学んだことをアウトプットしてきます!

今回は「セキュリティについて」です。

# 学んだこと
情報セキュリティ10大脅威というPDFをもとに学習しました。
参考:https://www.ipa.go.jp/files/000066223.pdf

知らない用語も多々ありましたので、まとめていきたいと思います

### 標的型攻撃による被害
組織的セキュリティ脅威の上位にあたる被害。

#### 標的型攻撃とは
特定のターゲットを狙いを絞って、メールやウェブサイトからウイルスに感染させる攻撃

– メールを利用した手口
– ウイルスを含んだ添付ファイルを開かせる
– ウイルスを含んだウェブサイトへのリンクをクリックさせる

– ウェブサイトを利用した手口
– 標的組織がよく利用するウェブサイトを調べて、それを閲覧するとウイルスに感染するように改ざん

### ランサムウェアによる被害
これも上位に当たる被害。

#### ランサムウェアとは
– Ransom(身代金)とソフトウェアを組み合わせて作られた名称で、コンピュータウイルスの一種。
– 感染し

元記事を表示

URLパラメータの改ざん検出をする

# 目的
* URLにユーザーごとのパラメータを埋め込んで公開したい
* Twitterなどに投稿されたとき、パラメータが改ざんされているかをチェックしたい
* 改ざん検知のために、DBなどの仕組みを使用したくない
* (単純に、パラメータが書き換えられていないかのチェックでよい)

# 使用例
上記の目的がわかりにくいと思うので、実例を説明します。
[**三点リーダー症候群チェッカー**](https://santen-leader.nankakaku.com/)というWebサービスを作りました。
自分の過去のツイートに、どのくらい三点リーダー(…)が使用されているかを表示できます。
Twitterへのシェア機能が実装されており、自分の分析結果を動的OGP画像として共有できます。

**ユーザーごとのシェアURL**:https://santen-leader.nankakaku.com/share/Misa_Fd/32/169/FX174A
![1_動的OGP例_resize.png](https://qiita-image-store.s3.ap-northeast-1.ama

元記事を表示

【2021年最新】アプリ開発者・運営会社向けセキュリティ商品ランキング

アプリケーションの増加に伴い、セキュリティにおける脅威も日々増加し続けています。高い開発技術を保有していたとしても、セキュリティ上の観点から課金・送金の限度額やアプリの各種機能を制限するケースなどが多く見られます。

アプリを運営する上で付きまとうこれらの脅威に対し、“脆弱性の診断”や、“堅牢化”などの対抗サービスも充実してきており、それぞれの特色により機能も大きく異なってくるため、あなたのアプリに合ったサービスを利用することが重要です。

そこで今回はアプリを開発・運営する上でのセキュリティ7商品を、ランキング形式でご紹介します。アプリのセキュリティを考えられている方はぜひ参考にしてみてください!

7位 [株式会社IERAE SECURITY](https://ierae.co.jp/)
![図7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1078265/82b0554a-f79d-242a-6f17-d17ce952bee3.png)
参考サービスページ:https://ierae.c

元記事を表示

Zeronet ~モダンなP2Pネットワーク: Exit Nodeから特定されるか

こんにちは、c477usです。
Torの大きな脆弱性の中に**”Exit Node盗聴”**があります。Exit NodeはTorで最後に接続するサーバーのことで、ここでは通信が全て復号されるため第三者に傍受される恐れがあるというものです。
またZeronetはVPNを噛ませることができないため、Exit Nodeについて不安を覚える方もいらっしゃるかと思います。そこで、ここでZeronetとExit Nodeについて解説致します。

#盗聴・特定は可能か?
盗聴については可能です。理由は先ほどの通りExit NodeではTorの通信が全て復号されるからで、ここで解説する余地はありません。

しかし、Zeronetの場合**そこから特定することはほぼ不可能です。**それはZeronetが持つ以下の特性のためです。

* Zeronetではzite(Zerosite)のデータしかやり取りされない
* P2PのためPeer全員でデータの発信・受信を行なっている

詳しく解説します。(普通のサイトと区別をつけるためZeronet上のサイトをziteと呼称します。)

##Zeronetではz

元記事を表示

Zeronet ~モダンなP2Pネットワーク: 導入と設定

こんにちは、c477usです。
この記事はZeronetの導入と設定について説明します。Zeronetの仕組みやP2Pについては[こちらの記事](https://qiita.com/c477us/items/2c7a876af0099e5c8ac3)で紹介しています。

#ZeronetのProxy
**Zeronet’s Meta Proxy**
https://zero.acelewis.com/

上記のサイトに閲覧したいzite(Zerosite)のリンクを貼ればZeronetを導入せずともziteを閲覧することができます。
Zeronetを試してみたい・導入したくない方は上のサイトだけでも十分かもしれません。

#Zeronetの導入
Zeronetを導入します。とはいっても難しい操作は不要です。

##ダウンロード
**公式サイト**
https://zeronet.io/

公式サイトにアクセスし、自分の環境(Windows/MacOS/Linux)に合ったものをダウンロードして下さい。
Linuxの場合はwgetでもダウンロードできます。

“`code:wget
h

元記事を表示

Zeronet ~モダンなP2Pネットワーク: 技術

こんにちは、c477usです。
中央サーバーを持たないことで有名である**P2P**を利用したソフトウェアはいくつかあります。例えば**Freenet**、**Winny**、**Torrent**等が有名でしょう。

今回紹介するZeronetもこれらと同じくP2Pを利用しています。しかし、開発されたのが2015年と比較的最近で、まだ日本語のドキュメントが充実しているとは言えません。
そこで、今回はZeronetの技術面に焦点を当てて紹介していきます。詳しい使い方は別の記事で説明を行う予定です。 –>[完成しました](https://qiita.com/c477us/items/392b0e189155c2b502da)

#Zeronetとは
Zeronetは、P2P技術によって検閲不能なネットワークを作りアクセスするソフトウェアです。目的はFreenetと同様、**”インターネット上での自由な言論を保証する”**ところにあります。 –>[公式サイト](https://zeronet.io/)

##そもそもP2Pとは
(P2Pをご存知の方は飛ばしてください)

現在、コンピュ

元記事を表示

標的型攻撃について

# 標的型攻撃
情報処理安全確保支援士の勉強メモ

## 標的型攻撃とは
以下Wikipedia参照
標的型攻撃は、特定の組織内の情報を狙って行われるサイバー攻撃の一種であり、
その組織の構成員宛てにコンピュータウイルスが添付された電子メールを送ることなどによって開始される 。
以降も持続的に潜伏して行われる標的型攻撃はAPT攻撃と呼ばれている。

## 解釈
標的型攻撃は、対象を絞って攻撃する。
対象に適している文章などで攻撃するため、騙されやすい。

技術的な攻撃というよりは、ソーシャルエンジニアリング要素が多い。

## シチュエーション
攻撃したい企業の取引先情報を取得し、その取引先になりすましてメールを送信。
メールに添付されているファイルを開くとウイルス感染・・など。

## APT(Advanced Persistent Threat)
A(Advanced)先進的
P(Persistent):永続的
T(Threat):脅威

攻撃社が特定の目的を持ち、執拗に攻撃を繰り返すこと

## 水飲み場型攻撃
攻撃対象となる企業のユーザがアクセスしそうなWebサイトを特定し、

元記事を表示

sudo 脆弱性 CentOS・RHEL・Ubuntu・AmazoLinux系 対応方法 (CVE-2021-3156)

### 概要
sudo 脆弱性が発表されたので (CVE-2021-3156)
各OSでアップデート対応手順をまとめました。
実際の手順は検証してから作業お願いします。
私の場合はAWS環境で各OSのAMIで確認してます。

>対象となる製品とバージョンは次のとおりです。なお、各ディストリビューションにおける対象バージョンは、ディストリビュータの情報を参照ください。
>
– sudo バージョン 1.8.2 から 1.8.31p2
– sudo バージョン 1.9.0 から 1.9.5p1

>なお、本脆弱性を発見したQualys社は、”sudoedit -s /”コマンドを実行し、”sudoedit:”から始まるエラーが表示されると脆弱性の影響を受け、”usage:”から始まるエラーが表示されると影響を受けない、という情報を公開しています。
https://www.jpcert.or.jp/at/2021/at210005.html

参考:
https://www.jpcert.or.jp/at/2021/at210005.html
https://security.sios.co

元記事を表示

Pythonの組み込み関数eval・execのセキュリティリスクについて

# はじめに

Pythonの組み込み関数`eval`・`exec`は、文字列をPythonコードとして評価・実行してくれる便利な関数です。
例えばユーザが入力したコードをインタラクティブに実行するWEBサービスなんかを作ったりすることにも使えそうなように思えます。
が、この機能、気をつけて使わないと場合によってはシステムの重大な脆弱性になり得ます。
少なくとも、信頼できない入力を受け取って`eval`・`exec`に投げるのはご法度である、という話です。

※本記事の内容は以下の内容を噛み砕いてまとめたものです。
[Eval really is dangerous](https://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html)
[Redditの関連する議論](https://www.reddit.com/r/Python/comments/hftnp/ask_rpython_recovering_cleared_globals/)

`eval`についても`exec`についてもほぼ同様の議論になるので、以下で

元記事を表示

Android上でVPN-over-Torを構築する

**お詫び: 以前投稿した記事にに不正確な部分があったため、削除して再投稿いたしました。**

こんにちは、c477usです。
皆さんはVPN-over-Torという言葉をご存知ですか? 詳しくは後述しますが、たとえVPNがログを取得していても匿名を貫くことが出来るかなり強力な匿名化手段です。
この接続方式に対応しているVPNプロバイダーは[AirVPN](https://airvpn.org/)等が有名ですが、Androidに限りこの方式を簡単に構築することもできます。また、Cryptofreeを活用すれば無料で構築することも可能です。 –>[Cryptofreeについて](https://qiita.com/c477us/items/04884a63800b533383b9)

#VPN-over-Torとは何か?
VPN-over-Tor(VoTと表記)はVPNとTorを併用して構築する匿名ネットワークですが、一般的な”VPNに接続してからTorに接続する”Tor-over-VPN(ToVと表記)よりかなり匿名性が高いです。

##ToV、VoTそれぞれのメリットとデメリット

元記事を表示

イタズラ投稿者のIPアドレスを、簡単に取得する方法(Laravel)

##はじめに

私は未経験からプログラミングを学習して、Laravel等の技術を使用した
自作アプリをポートフォリオとして一般公開していました。

すると幸いにも、多くの方に実際にアプリを利用してもらうことができたものの、
やはり**イタズラ投稿や連続投稿等、迷惑な投稿**もされるようになりました。

→そんな体験の一部をまとめた記事:
[ポートフォリオのアプリを公開したらイタズラされまくった話](https://qiita.com/nasuB7373/items/10bebd8e9f0b3331f348)
(1,000LGTM突破ありがとうございます?‍♂️)

そこで、次の対策にも繋げるために、アプリに**「投稿者のIPアドレスを取得する機能」**を追加することにしました。
調べてみると、**Laravelで非常に簡単に**実現できることがわかったので、今回はその方法をご紹介いたします。

##前提条件

私は、以下の環境等で実現しました。

– Laravel 6.18.36
– 既に投稿機能が実装されている

##実際に、イタズラ投稿者のIPアドレスを取得してみた

まず初

元記事を表示

誕生日のパラドックスを分かりやすく解説(Pythonプログラム付き)

# 誕生日のパラドックスとは?

**誕生日のパラドックス**(バースデーパラドックス)とは、ある集団において「同じ誕生日のメンバーが存在するか?」を考えたとき、その確率が**直感的/経験的に思い浮かべる数値よりも、実際はずっと大きくなる**というものです。

先日、小学校の学級定員を全学年で $35$ 名にしていくという報道がありましたが、$35$ 名の集団を考えた場合、そのなかで**誕生日が同じ児童がいる確率**を計算すると「$81.4\%$」にもなります

この $81.4\%$ という確率が、私たちが直感的/経験的に考えたよりもはるかに大きい、というのが**誕生日のパラドックス**になります。確かに、自分の経験から考えても、高すぎる確率になっている気がします。

このパラドックスのカラクリは「同じ誕生日のメンバー(=**ペア**)が存在するか?」という問いに対して、「**自分と**同じ誕生日のメンバーが存在するか?」という読替え

元記事を表示

Basic認証・Digest認証・Form認証をざっくり理解

##はじめに
エンジニア1年目の私がお仕事でWebサーバー認証機能を実装する機会があったのでメモをペタリ。
ここでは具体的な実装やアーキテクチャの話ではなく、webサーバーの認証機能についてざっくりと理解するための情報をまとめています。

どの認証方法を選べばいいのか、へのヒントになれば幸いです。

#Webサーバーの認証機能
クライアントがWebサーバーにアクセスする際に、サーバー側がクライアントを特定・認可するための機能です。
セキュリティの観点から、認証機能はWebサーバーには欠かせない存在とも言えます。
この認証方法には大きく分けて3種類。
HTTPがサポートするBasic認証Digest認証、設計者が自分でログイン用htmlページを用意するForm認証です。

##Basic認証

Webサーバーへのアクセスで使われるHTTPプロトコルでサポートされているユーザー認証方式の1つです。

クライアントがWebサーバーにアクセ

元記事を表示

sudoさん危機!

Sudo Security Issue (CVE-2021-3156)
sudoの脆弱性情報(Important: CVE-2021-3156: Baron Samedi)

とりあえず、sudoは退避かリネーム。

Systems Manager Patch Manager で特定パッチを適用する
https://dev.classmethod.jp/articles/apply-specified-patch-by-ssm-patch-manager/

元記事を表示

時系列で見る:WordPressを運用中のサーバが丸ごとPHPマルウェアに感染する流れ

本投稿は、[WordPressを運用中のサーバがまるごとPHPマルウェアに感染していた時の対応メモ](https://qiita.com/Ayutanalects/items/a359df4e4b445229fcf2) の続きとなります。

はてブやTwitterでの、有識者・経験者のコメントありがとうございます。根本解決のためには新規インストール&作り直しが必要なのもごもっともです。
(あまり喋りすぎるとよくないので、甘んじるしかできないのももどかしいところではありますが…)

対応当時の、サイト止められない+きれいなデータがどこにもない状況に理解を示してくださる方のコメントに救われました。

さて、コード読んでみたの前に、時系列を知る必要がありログをさらったのでまとめました。

# 前置きとか
## ログ、保存されていますか?
レンタルサーバによっては、デフォルトではアクセスログやエラーログをユーザがみられるようになっていないところもあります。
残っていなければ足跡をたどることもできません。定期的に確認をするサイクルよりも少し長めの期間で残しましょう。

### マルチドメインの場

元記事を表示

OTHERカテゴリの最新記事