タグ

patternとalgorithmに関するraimon49のブックマーク (9)

  • Log4jで話題になったWAFの回避/難読化とは何か

    はじめに 2021年12月に発見されたLog4jCVE-2021-44228は、稀に見るレベル、まさに超弩級の脆弱性となっています。今回、私はTwitterを主な足がかりとして情報収集を行いましたが、(英語・日語どちらにおいても)かなりWAFそのものが話題になっていることに驚きました。ある人は「WAFが早速対応してくれたから安心だ!」と叫び、別の人は「WAFを回避できる難読化の方法が見つかった。WAFは役に立たない!」と主張する。さらにはGitHubに「WAFを回避できるペイロード(攻撃文字列)一覧」がアップロードされ、それについて「Scutumではこのパターンも止まりますか?」と問い合わせが来るなど、かなりWAFでの防御とその回避方法について注目が集まりました。 実はWAFにおいては、「回避(EvasionあるいはBypass)」との戦いは永遠のテーマです。これは今回Log4jの件で

    Log4jで話題になったWAFの回避/難読化とは何か
  • 様々なrate limitアルゴリズム - Carpe Diem

    概要 インターネットに晒されているWebサービスでは TV等で紹介されたことによる大量流入 悪意ある人物からの攻撃 クライアントのバグに依る大量リクエスト など、来想定していた以上のトラフィックが来ることはよくあります。 単純にシステムを構築すると大規模トラフィックに対応できずシステムがスローダウンしてしまうため、何かしらrate limitをかけておいた方が良いです。 ただしrate limitと一口に入っても色々あるため、今回は主なrate limitアルゴリズムを紹介します。 Leaky bucket Leaky bucketはデータ転送レートを一定にする(=上限を設定する)アルゴリズムです。 下の図のように、様々な流量の水流がそのバケツに流れ込んでも小さな穴からは一定の水流が流れ出す仕組みです。 ref: What is the difference between token

    様々なrate limitアルゴリズム - Carpe Diem
    raimon49
    raimon49 2019/11/11
    勉強になった。
  • 「私はロボットではありません」選ぶ必要なし 新「reCAPTCHA」Googleが公開、ユーザーは何もしなくてOK

    「私はロボットではありません」選ぶ必要なし 新「reCAPTCHA」Googleが公開、ユーザーは何もしなくてOK 人間とbotを識別するための新API「reCAPTCHA v3」を公開。リスク分析エンジンでユーザーのアクティビティを分析し、どれぐらい不審かをスコア化して示す。ゆがんだ文字を読み取るなどの操作は一切不要だ。 米Googleは10月29日、人間とbotを識別するための新API「reCAPTCHA v3」を公開したと発表した。従来のreCAPTCHAは、ゆがんだ文字を読み取ったり、チェックボックスにチェックを入れるなどユーザーによる操作が必要だったが、v3は操作が不要。リスク分析エンジンでユーザーのアクティビティを分析し、どれぐらい不審かをスコア化して示すことで、Webサイトオーナーが対策を講じられるようにした。 reCAPTCHA v1では、アクセスした全ユーザーに対して、ゆ

    「私はロボットではありません」選ぶ必要なし 新「reCAPTCHA」Googleが公開、ユーザーは何もしなくてOK
  • Redisアプリケーションパターン | おそらくはそれさえも平凡な日々

    この記事は、はてなエンジニアアドベントカレンダー2016の12日目の記事です。 先日こういうツイートをしました。 Redisはキャッシュ用途のミドルウェアだと思わない方が良いと思う — songmu (@songmu) 2016年12月10日 言いたかったのは、Redisはキャッシュのためだけのミドルウェアだと誤解されがちなのですが実際はそうではないということです。実際、公式サイト を見に行くと以下の様なことが書かれています。 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. つまり、Redisは多彩なデータ構造を保持できるインメモリーのデータストアで、様々な活用法があり、キャッシュとして「も」使える、とい

    Redisアプリケーションパターン | おそらくはそれさえも平凡な日々
    raimon49
    raimon49 2016/12/14
    コレクションデータセットとしての用途。
  • Rebuild: 129: The Art Of Procrastination (Naoya Ito)

    Naoya Ito さんをゲストに迎えて、Twitter, ソーシャルメディア、Parse, mBaaS, 採用面接などについて話しました。 Show Notes Jack Dorsey Addresses Algorithmic Timeline Changes 閉じこもるインターネット――グーグル・パーソナライズ・民主主義 ソーシャルメディアにおける他人との関係性がコンテンツ価値に影響を与える ぼくらの仮説が世界をつくる Moments: What's Happening Now on Twitter Parse: Moving On Introducing Parse Server and the Database Migration Tool ミクシィと「nohana」、Parseを利用して写真をカタチに Batch Now Integrates With Firebase To

    Rebuild: 129: The Art Of Procrastination (Naoya Ito)
  • プログラミング .NET Framework 第4版座談会でGCの話をしてきました - 銀の光と碧い空

    というわけで、GCの話をしてきました。自分にとっては、ここまで言語機能というかRuntimeの中身について話したのは始めてかなあという感じです。 発売初日に買って、今日までGCの章だけずっと読んでいました。 参考文献です。 プログラミング.NET Framework 第4版 (プログラミングシリーズ) 作者: Jeffrey Richter,藤原雄介出版社/メーカー: 日経BP社発売日: 2013/10/10メディア: 単行(ソフトカバー)この商品を含むブログ (4件) を見る C#プログラマのための.NETアプリケーション最適化技法 (Programmer's SELECTION) 作者: Sasha Goldshtein,Dima Zurbalev,Ido Flatow,サシャ・ゴルドシュタイン,ディマ・ズルバレフ,イド・フラトー,株式会社プロシステムエルオーシー出版社/メーカー:

    raimon49
    raimon49 2013/10/27
    ファイナライザとDispose、WeakReference
  • MapReduce Patterns, Algorithms, and Use Cases

    In this article I digested a number of MapReduce patterns and algorithms to give a systematic view of the different techniques that can be found on the web or scientific articles. Several practical case studies are also provided. All descriptions and code snippets use the standard Hadoop’s MapReduce model with Mappers, Reduces, Combiners, Partitioners, and sorting. This framework is depicted in th

    MapReduce Patterns, Algorithms, and Use Cases
  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
    raimon49
    raimon49 2009/11/09
    Rubyと幾つかの言語(C, C++, Lisp, Java)の比較を交えながらプログラミング言語の変遷を解説。
  • 1