North Detail / ノースディテール

BLOG ブログ

ブログ
CATEGORY
勉強会

第17回ライトニングトーク~他者と働く・セキュリティと攻撃手法・輪読会に参加~

現在ノースディテールでは月に2回のペースで社内ライトニングトークを開催しています。
1人持ち時間5分でテーマは自由です。
ぜひ過去のライトニングトークのブログもご覧ください!

本日の3つのコンテンツ

  1. 「他者と働く」を5分で解説(できるのか?)
  2. セキュリティと攻撃手法について①
  3. 輪読会に参加してみた

「他者と働く」を5分で解説(できるのか?)  増川さん

最初の発表は 増川さんの『 「他者と働く」を5分で解説(できるのか?) 』です。

久しぶりに発表者として参加してくださった増川さん。

会社の本棚『他者と働く「わかりあえなさ」から始める組織論』という本があるそうです。
今回はこの本の内容をご紹介してくださいました!

他者とわかりあえないのはお互いに「ナラティブの溝」というものがあるそうです。

ナラティブとは「物語」や「話術」という意味がある英単語で、「語ること」を意味しているそうです。
一人ひとりが主体となって語るイメージを持つ言葉のようです。

また、溝とは「既存の知識だけでは解決できない課題のこと」と定義づけているようです。

つまりナラティブの溝とは「相手と自分が語ること(=ナラティブ)の間に既存の知識・技術だけでは解決できない関係性からくる問題がある」ということです。

具体的にどういうことが例を挙げてご紹介します。

上司から見たAさんは「もっとできる!」と思われています。
一方でAさんは「自分なりに頑張っているのに評価されていない」と感じています。
この認識の差がナラティブの溝ということです。
確かにこのような認識の差は職場だけでなく家庭でも友人同士でもよくある話ですね。

この溝を改善するためには、まず「このような溝が存在している」ということを認識するところから始めます。
溝の存在を認識した後は相手のナラティブを観察し、相手から見た自分を想像してみることで溝を埋めていきます。

先ほどの上司の場合だと、Aさんの立場に立って自分側を見てみることで
「評価の観点がかみ合っていないな」や「逐次評価の内容も共有すれば励みになるかな」などヒントが見えてくるそうです。

会社の本棚に置いてありますので、ご興味がある方はぜひご覧になってみてください!

セキュリティと攻撃手法について①  近藤さん

続いては近藤さんの「 セキュリティと攻撃手法について① 」という発表です。

毎度おなじみの近藤さん。いつもライトニングトークの運営ありがとうございます!

セキュリティと攻撃手法についてシリーズの第1弾として今回は SQLインジェクション について発表していただきました。

SQLとはデータベース言語の中で、最も普及している言語です。
インジェクションとは、直訳すると「注入」「投入」という意味になります。
つまり 「SQLインジェクション」とは 不正なSQLの命令をウェブサイトに注入することです。

攻撃対象は主にWebアプリケーションで、入力値にSQLクエリを混ぜることで、そのクエリを実行させて本来ユーザーに許可されていないデータベース操作を行うといったものです
そんなことができるなんて…怖いですね;;

例えば以下のようなコードはSQLインジェクションの攻撃を受ける可能性があります。

// パラメータを取得する
string userName = this.TextBoxName.Text;
string itemName = this.TextBoxItemName.Text;
// SQLクエリを作成
string query = “SELECT * FROM items WHERE owner = ‘” + userName + “‘ AND itemname = ‘” + itemName + “‘”;
sda = new SqlDataAdapter(query, conn);
DataTable dt = new DataTable();
sda.Fill(dt);

パラメータを取得してクエリを実行してしまうため、例えばitemNameに以下のような値を入れると…

 ‘name’ OR ‘a’=’a’

「OR ‘a’=’a’」はitemnameの値に関係なく、検索条件が真として成立してしまい、itemnameが常に返ってくる構文になるため、ログインを許可されていないユーザでもログイン可能な状態になってしまうというわけです。

対策としてSQL文の組立を穴埋めにせず、パラメーターバインドを使うというものです。
例えば以下のようなコードになります。

// パラメータを取得する
string userName = this.TextBoxName.Text;
string itemName = this.TextBoxItemName.Text;
// プレースホルダでSQLクエリを作成
string query = “SELECT * FROM items WHERE owner = @userName AND itemname=@itemName”;
// プレースホルダにパラメータを設定
SqlCommand command = new SqlCommand( query, con );
SqlpParameter parUserName = new SqlParamenter( “@userName”, userName );
command.Parameters.Add( parUserName );
SqlpParameter parItemName = new SqlParamenter( “@itemName”, itemName );
command.Parameters.Add( parItemName );
sda = new SqlDataAdapter( command.SqlValue, conn );
DataTable dt = new DataTable();
sda.Fill(dt);

セキュリティについては知識が乏しいのでとても勉強になりました!
第2弾の OSコマンドインジェクション も楽しみです^^

輪読会に参加してみた  尾久さん

最後は尾久さんの「 輪読会に参加してみた 」という発表です。

先日行われた輪読会に参加された尾久さん。早速ライトニングトークで発表してくださいました!

このライトニングトークの1週間前に開催された輪読会。
輪読会とは第15回ライトニングトークのブログで木原さんが発表してくださった「ISTQBテスト技術者資格制度 Foundation Level シラバス 日本語版 」の輪読会のことです。

第1回の輪読会の参加者は6名。
それぞて担当範囲を決めて、「ISTQBテスト技術者資格制度 Foundation Level シラバス」の概要を紹介し、そのあと質疑応答の流れで進んだそうです。

参加してみた感想は以下だとおっしゃっていました。

  • 他の参加者の経験から内容の説明が行われるため、文章を読んだだけの学びよりも理解しやすかった
  • 発表するために内容を深追いすることで理解が深まった
  • 知ってるつもりだった内容や、そもそも知らなかったことを学べた

また、 名前は聞いたことあるけど、意味はよくわかっていない単語が複数出て来たそうです。

  • テストハーネス
  • 早期テスト
  • イテレーティブ開発モデル
  • テストスイート
  • BDD
  • ATDD

とても勉強になりそうですね!
輪読会にご興味のある方は木原さんまでご連絡お願いします!

あとがき 

今回もたくさんの方が聞きに来てくれました!

今回もとても勉強になることばかりでとても有意義でしたね!
特に増川さんのお話を聞いて、会社の本棚にある本も読んでみようと思いました。

本棚にはビジネス、技術、デザイン、マネジメントなどの本が沢山あります!

せっかく無料で読めるので積極的に借りようと思いました!
以前近藤さんも「測りすぎ~なぜパフォーマンス評価は失敗するのか? 」という本をライトニングトークでご紹介してくださっていたので、ご興味のある方はぜひ借りてみてください♪
その時のライトニングトークのブログもぜひご覧ください^^

まるのみさき
WRITER:まるのみさき
北海道の最北端、礼文島生まれ利尻町育ちの29歳。
大学卒業後、北海道の観光情報誌の広告営業として5年間勤務したのち、ノースディテールに入社しました。
現在はWebディレクターとして自治体サイトの制作をしています。
主な記事 一覧へ

一覧へ

IS 501383 / ISO 27001