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

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

Cookieのセキュリティ周りでいちばんややこしいDomain属性をしっかり理解する

先日[某所](https://commew.net/)の勉強会でCookieのセキュリティ周りの話をしていたのですが、その中で自分のDomain属性の理解が不十分だということに気付きました。

Cookieのセキュリティ関係の属性としては、`Domain`, `Secure`, `HttpOnly`などがあります。`Secure`は設定されていればHTTPSで通信していなければCookieを送信しない。`HttpOnly`はJavaScriptからCookieにアクセスさせない、とどちらもわかりやすい機能ですが、`Domain`については割と複雑です。

複雑だからといって理解が不十分なままにしてはおけない、ということで調べてまとめてみました。

この記事ではサーバからクライアントへの`Set-Cookie`ヘッダによるCookieの送信を「(Cookieの)設定」と、クライアントからサーバへの`Cookie`ヘッダによるCookieの送信を「(Cookieの)送信」と呼びます。

# Domain属性は、Cookie送信時にどう働くか

順番としてはサーバからクライアントにCook

元記事を表示

弱衝突耐性・強衝突耐性

#違いがよくわからないぞ
という方のために・・・
色々しらべて、よりイメージしやすく分かりやすい説明を考えました。
wikiに載っている説明をどう解釈するのか

_`以下wiki引用`_
_`弱衝突耐性(第二現像計算困難性):`_
_`入力m1が与えられたとき、hash(m1)=hash(m2)となるような別の入力m2を求めることが困難でなくてはならない`_
_`強衝突耐性:`_
_`hash(m1)=hash(m2)となる2つの異なるメッセージm1とm2を探し出すことが困難でなくてはならない`_

自分はこの説明で何となくしかわかりませんでしたが、理解が進み、こんな解釈をしました。
・弱衝突耐性
要は1つのハッシュ値が固定で、それと一致するハッシュ値を持つメッセージm2を見つけ出せるか
・強衝突耐性
とりあえず一致するハッシュ値はなんでもよいけど、同じハッシュ値をもつメッセージのペアm1,m2を見つけ出せるか

一致させる必要のあるハッシュ値が特定のハッシュ値なのか
ハッシュ値自体は何でもよいけど、とにかく2つのハッシュ値を一致させる必要があるのか
つまり、__1つの固定ハッシュに注

元記事を表示

サーバーを公開すると来る攻撃的アクセス

# 公開サーバーは常に攻撃を受けるリスクがある
とよく聞くけれど、本当かどうか確かめてみる。
攻撃って「普通に・常に」されているという現実が少しでも広まればいいな。

## 自宅WEBサーバーのログを見てみた。
ちなみにセキュリティ管理を楽にする目的で静的HTML配信のみのEWBサーバーにしている。
ログは access*.txt のようなファイルなのでlinuxコマンドで集計してみた。

### ログの全行は3087行 (直近約2週間分)
“`
ls | grep access| xargs wc -l
3087
“`

### php関連の攻撃
CMSの管理ページなどを狙っている模様。phpファイルは動作しないので実害はなし。
全アクセスの20%とかなり多いことがわかる。

“`
ls | grep access| xargs cat| grep -i .php |wc -l
623
“`

### *.env なるファイルを取得しようとするアクセス
サーバー環境情報が欲しいのだろうか。

“`
ls | grep access| xargs cat| grep -i .

元記事を表示

企業向けTeamViewerベストプラクティス

#この記事を書く理由

この記事を書こうと思ったのは、TeamViewerが関係するセキュリティインシデントが起こるたびに、TeamViewerという製品自体のセキュリティレベルが疑われたり、TeamViewerについて間違ったアドバイスが記事になったりする状況が、いつまでたっても改善されないからです。

この記事を書いているつい先日も [「ハッキングであわや大量毒殺発生の危機だった水道処理施設のずさんなセキュリティー体制とは?」\(2021/02/12 GIGAZINE\)](https://gigazine.net/news/20210212-hacker-poison-water-supply-teamviewer/) といったインシデントがありました。

このインシデントについて米CISAが [‘Alert (AA21-042A) Compromise of U.S. Water Treatment Facility’](https://us-cert.cisa.gov/ncas/alerts/aa21-042a) という警告文書の最後で、TeamViewerの正しい使い方を推

元記事を表示

AWS 認定セキュリティの取得に向けての学習

#はじめに
AWSの認定資格について、昨年ソリューションアーキテクト プロフェッショナル(SAP-C01)を取得した。
そこからAWSの知識インプットの機会が減ってしまったので、上位資格の取得を目指すことにした。
そこで、選んだ結果**セキュリティ**を取得することにした。

#準備
こちらから認定について、抜粋する。
[AWS 認定 セキュリティ – 専門知識](https://aws.amazon.com/jp/certification/certified-security-specialty/)

##知っておくべきこと
+ AWSセキュリティのベストプラクティスを使用して AWS プラットフォームを保護する。
+ AWSアカウントで大規模な認証と許可を管理する。
+ 適切なデータ暗号化方法と AWS メカニズムを使用して、保管時のデータのセキュリティを運用する。
+ 適切、安全なインターネットプロトコルと AWSメカニズムを使用して、転送中のデータのセキュリティを運用する。
+ AWSでセキュリティモニタリングとログ記録を運用し、検出されたセキュリティインシデントへの対応を自

元記事を表示

Pythonでログ出力

bottleで簡単なサーバを立てたので、そこにアクセスする端末情報をアクセスログとしてファイルに出力したいと思いました。まず、何をしたらいいのかと思い、「python ログ出力」などと調べてみると、どうやら__logging module__というものを使用すると簡単にできるらしい!また、プログラム実行中に起こった出来事の記録を「Log(ログ)」といい、それを時系列に記録をする履歴のことを「Logging(ロギング)」ということも理解。このログの出力でどんなエラーや不具合なのか判別できるようになるので、開発や運用に即したレベルを指定する必要があるというわけ。ということでレッツコーディング!!
#ロギングチュートリアル
##簡単なロギング用法に便利な関数群

|関数名||||
|:—|:—|:—|:—|
|logging.info()|logging.debug()|warnings.warn()|logging.warning()|
|logging.error()|logging.exception()|logging.critical()|logging.basic

元記事を表示

OpenSCAP を使ってみる

LPIC 303 の勉強記録。

# SCAP

ecurity Content Automation Protocol:セキュリティ設定共通化手順
各システム管理者ごとにセキュリティ設定を考えていては非効率。そこで、NIST(アメリカ国立標準技術研究所)が制定したセキュリティ関連の標準仕様。
よく聞く CVE も SCAP の一環で定義されたものである。

# OpenSCAP
脆弱性の診断や、その修正を行えるツール。

## OpenSCAP を使ってみる
以下、対象 OS は RHEL8。

使い方は以下の RedHat のドキュメントに書いてあることで全てだが、本ページはもう少し初心者にもわかりやすい説明を目的とする。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/security_guide/vulnerability-scanning_scanning-the-system-for-configuration-compliance-and-vulnerabili

元記事を表示

二段階認証と多要素認証の違い

プログラミングの勉強をしていると、多要素認証という言葉が頻繁に出てくる。
私生活では二段階認証はよく聞くけど、多要素認証という言葉はあまり聞かない。
多要素認証とはどういうものなのか。
多要素認証と二段階認証はなにがどう違うのか。
これらについて自分なりにまとめておく。

## 多要素認証とは
多要素認証“`MFA:Multi-Factor Authentication“`
MFAと呼ばれることが多いらしい。

簡単にいうと、多要素認証とは複数の種類の要素で自分のアカウントだということを証明することをいう。
例えば、なにかのサービスを使用したいときにまずログインをしなければならない。

そのときに、パスワードを入力する。
これはパスワードを知っているから入力することができる。

要するに、ここで“`知っている要素(パスワードを知っている)“`ということになる。
また、最近では、QRコードを発行して、パスワードの入力と同時にQRコードの照合を要求するサービスもある。
これが“`持っている要素(QRコードを持っている)“`ということになる。

### 知っている要素と持っている

元記事を表示

閲覧者のユーザーエージェントを三角関数で判定できるか?

# 概要
先日ふと自分のPCの[フィンガープリント](https://contents.saitolab.org/fingerprint/)を取ってみたところ「IPアドレス」など様々な項目が並ぶ中に「**Math.tan**」という変な項目を見つけました。

「なぜ三角関数が出てくるの?」と気になって調べてみたところ、**三角関数の値はブラウザやOSの実装により微妙に異なることがあり、特定の式をブラウザに計算させることで利用者を識別する手段になり得る[^1]**という話でした。

面白そうだなと思ったので、本記事ではその手法で実際どの程度までブラウザ/OSを判別できるのか調査してみました。

# 検証方法

今回は様々な文献[^1][^2]の情報を参考に、以下の式を各OSの各ブラウザに計算させました。

– `tan(-1e300)`
– `cosh(10)`(厳密には三角関数の類似ですが)

これら以外も10数種類ほど試したのですが、判別に使えたのはこの2つのみでした。

##### 試したOSとバージョン
– macOS Catalina (ver.10.15.6)
– Windo

元記事を表示

Deviseのパスワードリセットでメールアドレスが登録済みかどうかに関係なく動くようにする方法

備忘録として書いたものです。

## やりたいこと

– deviseのパスワードリセット機能で、登録されていないメールアドレスを入力するとエラーが表示される(不正なアクセスにより使用されているメールアドレスが特定される可能性がある)

これを

– メールアドレスが登録されているか(できるだけ)分からないようにする

## 方法

Deviseのparanoidモードを使います。
設定ファイル内でコメントアウトされているので有効にします。

“`rb:config/initializers/devise.rb
config.paranoid = true
“`

詳しくは参考リンクをご確認ください。

## 参考リンク

Github

– https://github.com/heartcombo/devise/wiki/How-To:-Using-paranoid-mode,-avoid-user-enumeration-on-registerable

元記事を表示

HackTheBoxにてExploit completed, but no session was createdの対処法

#問題点

昨日、HackTheBoxのVIPを契約したんだけど、マシン攻略でどうしてもセッションが取れない不具合がおきた。
ちなみに、チャレンジしたのは初心者に有名な[Lame](https://www.hackthebox.eu/home/machines/profile/1)です。
調べてみると、初心者特有のエラーらしいので、日本語の記事がなかったからHackTheBoxを始めた方のお役に立てたら幸いです。

#対策
Lameに挑戦し、最後にmsfconsoleでexploitを送ると、以下の画面のようにexploitは完了しましたが、セッションは取れなかったというメッセージが出てしまいます。これは、HackTheBoxの_HTB Lab Access Details_に書いてある_HTB Network IPv4_が鍵です。つまり、自分のPCのIPアドレスではなく、HackTheBoxが指定したIPアドレスを使えということです。
![1*8W6oH_5mFlw5-EUMuAOAtw.png](https://qiita-image-store.s3.ap-northeast-1

元記事を表示

アンチパターンから考える Salesforce ゲストユーザ問題(02/19補足あり)

“`text
本記事の内容は可能な限り正確な情報を記載するよう努めていますが、
必ずしも内容の正確性や安全性を保証するものではありません。
当記事を参照・利用したことによってトラブルが発生しても一切の責任を負いかねます。
また、本記事にて記載している検証行為はすべて筆者の developer 環境で行っております。
“`

## はじめに
2020年の末ごろから、Salesforce の設定不備による情報漏洩を伝えるニュースが立て続けに報じられるようになりました。

この問題を一番よく伝えているのは[日経クロステック](https://xtech.nikkei.com/search/?KEYWORD=%E3%82%BB%E3%83%BC%E3%83%AB%E3%82%B9%E3%83%95%E3%82%A9%E3%83%BC%E3%82%B9)で、同紙によると現在までに、多数の企業で影響があったとされています。(注:ただし、報じられている企業の多くは、プレスリリースでは「クラウド型システム」というような表現に留めており、Salesforce のことであるとは発表しておりません)

元記事を表示

絵で見てわかるDNS用語

## はじめに
[「DNSの用語を中心にまとめてみました」](https://qiita.com/nk9bb8/items/163f94f97b5411226d74)の記事を読んで、初学者の自分がよくわからなかった部分を抜き出して、くわしく調べてみました。もし間違いなどあればご指摘ください:pray_tone2:

## スタブリゾルバとは?
> ◆クライアント端末に搭載された名前解決のソフトウェア。

「クライアント端末に搭載された」というのは、OSに標準で備わっていることを表しています。

![StubResolver.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507353/6a03ae39-4ef5-34ea-b8f7-c4a05d92fa39.png)

スタブリゾルバは、ブラウザによって呼び出されます。
呼び出されたら、最寄りのキャッシュDNSサーバーに「IPアドレス教えて〜」と問い合わせを行い、応答が返ってきたらブラウザに受け取ったIPアドレスを返すというお仕事をします。

## フル

元記事を表示

セキュリティ・キャンプ全国大会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

元記事を表示

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

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

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

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

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

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

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

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

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

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

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

元記事を表示

【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)

元記事を表示

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

元記事を表示

OTHERカテゴリの最新記事